Loading... **切记** > edusoho访问目录是edusoho/web,只有在nginx或者Apache配置里面把根目录定位到web目录下,才不会出现奇怪的问题,否则就会出现图片不能显示或者文件无法上传的问题。 ## 1 安装wget 如果系统已安装wget,请跳过此步骤 ``` yum install wget ``` ## 2 更新系统 ``` #更新yum软件包 yum check-update #更新系统 yum update ``` ## 3 安装配置防火墙 ### 3-1 更改默认防火墙,开启22端口、80端口、3306端口 关闭firewall: ``` systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 ``` 安装iptables防火墙,设置端口: ``` yum install iptables-services #安装 iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT iptables-save > /etc/sysconfig/iptables ``` ### 3-2 重启防火墙 ``` #重启防火墙使配置生效 systemctl restart iptables.service #设置防火墙开机启动 systemctl enable iptables.service ``` ### 3-3 关闭SELinux: 在命令行输入: ``` setenforce 0 ``` 或者修改配置文件: ``` sudo vi /etc/selinux/config ``` 将`SELINUX=enforcing`改为:`SELINUX=disabled` ## 4 安装nginx ### 4-1 安装nginx源 ``` #下载源 wget https://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm #安装源 rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm ``` ### 4-2 安装配置nginx包 ``` #安装nginx yum install nginx //按照提示输入’y‘即可成功安装 #修改nginx默认配置 vi /etc/nginx/nginx.conf #在http{}配置中加入: client_max_body_size 1024M; ``` ### 4-3 启动nginx ``` systemctl start nginx.service ``` ### 4-4 设置nginx为开机启动 ``` systemctl enable nginx.service ``` ## 5 安装mysql ### 5-1 安装mysql官方源 注意 CentOS 7 默认mysql版本过低,这里我们采用mysql官方发行的MySQL57源,当然,也可以安装MySQL80的源。 ``` wget https://repo.mysql.com/mysql57-community-release-el7.rpm rpm -ivh mysql57-community-release-el7.rpm ``` ### 5-2 安装mysql包 ``` yum install mysql mysql-server ``` ### 5-3 启动mysql ``` systemctl start mysqld.service ``` ### 5-4 设置mysql为开机启动 ``` systemctl enable mysqld.service ``` ### 5-5 mysql 配置 默认安装结束,mysql的root密码不为空,系统默认创建临时密码,执行 ``` grep 'temporary password' /var/log/mysqld.log ``` 可以看到密码,如例子 ``` 2019-02-28T06:52:06.110216Z 1 [Note] A temporary password is generated for root@localhost: ************** ``` 后面`*`的位置就是临时密码,要手动修改mysql `root`账户密码,否则mysql会不允许创核表等操作,mysql 修改密码操作请自行搜索解决。 ## 6 安装php ### 6-1 安装php源 ``` #如果下载速度过慢,可以查找各大学的开源仓库 wget https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -ivh epel-release.rpm wget https://mirror.webtatic.com/yum/el7/webtatic-release.rpm rpm -ivh webtatic-release.rpm ``` ### 6-2 安装php包 ``` # 上一步源中,可供安装的php版本有很多,本文安装的php70,可以选择性安装php71以及最新版本 yum install php70w php70w-cli php70w-common php70w-fpm php70w-gd php70w-mbstring php70w-intl php70w-mcrypt php70w-mysql php70w-mysql php70w-pdo php70w-xml ``` ### 6-3 修改PHP配置 编辑php.ini , 将以下配置的值修改为1024M ``` vi /etc/php.ini post_max_size = 1024M memory_limit = 1024M upload_max_filesize = 1024M ``` ### 6-4 启动php-fpm ``` systemctl start php-fpm.service ``` ### 6-5 设置fpm开机启动 ``` systemctl enable php-fpm.service ``` ## 7 安装EduSoho ### 7-1 创建EduSoho数据库 登录mysql ``` mysql -uroot -p #按照提示,如果设置了密码,请输入正确的密码,`Enter`键登录mysql;如果未设置密码,请直接`Enter`键登录mysql. ``` 创建数据库 ``` CREATE DATABASE edusoho DEFAULT CHARACTER SET utf8 ; GRANT ALL PRIVILEGES ON `edusoho`.* TO 'esuser'@'localhost' IDENTIFIED BY 'Edusoho!@#123'; quit; ``` ### 7-2 下载解压EduSoho ``` #(注:将VERSION替换为当前EduSoho最新版本号,可从官网www.edusoho.com查询获取) cd /var/www/ wget http://download.edusoho.com/edusoho-Version.tar.gz tar -zxvf edusoho-Version.tar.gz chown apache:apache edusoho/ -Rf ``` ### 7-3 增加EduSoho nginx配置 ``` vi /etc/nginx/conf.d/edusoho.conf ``` ``` server { listen 80; server_name www.example.com; root /var/www/edusoho/web; access_log /var/log/nginx/edusoho.access.log; error_log /var/log/nginx/edusoho.error.log; location / { index app.php; try_files $uri @rewriteapp; } location @rewriteapp { rewrite ^(.*)$ /app.php/$1 last; } location ~ ^/udisk { internal; root /var/www/edusoho/app/data/; } location ~ ^/(app|app_dev)\.php(/|$) { fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; fastcgi_param HTTP_X-Sendfile-Type X-Accel-Redirect; fastcgi_param HTTP_X-Accel-Mapping /udisk=/var/www/edusoho/app/data/udisk; fastcgi_buffer_size 128k; fastcgi_buffers 8 128k; } location ~* \.(jpg|jpeg|gif|png|ico|swf)$ { expires 3y; access_log off; gzip off; } location ~* \.(css|js)$ { access_log off; expires 3y; } location ~ ^/files/.*\.(php|php5)$ { deny all; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; include fastcgi_params; } } ``` ### 7-4 重启nginx服务 ``` systemctl restart nginx.service ``` ## 8 完成 访问网站的域名,按照提示安装即可。 注意 * 真实配置要根据自己服务器的实际情况来斟酌修改,不能完全照搬; * 如果在命令执行过程中出现提示权限不够(permission denied),请在前面添加sudo; * 配置中出现的文件目录可以自己规定,但是要更改相应的配置文件。因为linux操作比较复杂。建议linux专业人员进行操作; > 申明:此文为 Edusoho 搬运而来,后续会按自己目前最新的安装方法出一篇教程; 最后修改:2021 年 01 月 29 日 03 : 56 PM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付