您现在的位置是:首页 >技术教程 >EduSoho 网校系统部署网站首页技术教程

EduSoho 网校系统部署

云计算-Security 2024-06-24 00:01:03
简介EduSoho 网校系统部署

image-20230524094717828



一、初始化环境

1、安装wget

如果系统已安装wget,请跳过此步骤

yum install wget

2、关闭防火墙/Selinux

systemctl stop firewalld.service
systemctl disable firewalld.service

在命令行输入:

setenforce 0

或者修改配置文件:

sudo vi /etc/selinux/config

SELINUX=enforcing改为:SELINUX=disabled

二、安装 Nginx

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

2、安装配置nginx包

#安装nginx
yum install -y nginx

#修改nginx默认配置
vim /etc/nginx/nginx.conf

#在http{}配置中加入:
client_max_body_size 1024M;

3、启动nginx

systemctl start nginx.service

4、设置nginx为开机启动

systemctl enable nginx.service

三、安装 MySQL

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

2、建立 Yum 缓存

yum clean all
yum makecache

3、安装mysql包

yum install -y mysql mysql-server

4、启动mysql

systemctl start mysqld.service

5、设置mysql为开机启动

systemctl enable mysqld.service

6、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 修改密码操作请自行搜索解决。

修改密码:

mysqladmin -u root -p'<初始密码>'  password '<新密码>'

四、安装 PHP

参考:https://www.myfreax.com/install-php-7-on-centos-7/

1、安装php源

yum install -y epel-release yum-utils
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

2、启用 73 版本

yum-config-manager --enable remi-php73

3、安装php包

# 上一步源中,可供安装的php版本有很多,本文安装的php73
yum install -y 
  php 
  php-cli 
  php-common 
  php-fpm 
  php-gd 
  php-mbstring 
  php-intl 
  php-mcrypt 
  php-mysql 
  php-pdo 
  php-xml

4、修改PHP配置

编辑 php.ini , 将以下配置的值修改为1024M

vi /etc/php.ini

post_max_size = 1024M
memory_limit = 1024M
upload_max_filesize = 1024M

5、启动php-fpm

systemctl start php-fpm.service

6、设置fpm开机启动

systemctl enable php-fpm.service

五、上线 EduSoho

1、创建EduSoho数据库

这里创不创建无所谓,在浏览器访问的时候会自动创建。

  • 登录mysql

    mysql -uroot -p
    #按照提示,如果设置了密码,请输入正确的密码,`Enter`键登录mysql;如果未设置密码,请直接`Enter`键登录mysql.
    
  • 创建数据库

    CREATE DATABASE edusoho DEFAULT CHARACTER SET utf8;
    GRANT ALL PRIVILEGES ON `edusoho`.* TO 'esuser'@'%' IDENTIFIED BY 'Zhurs@123';
    flush privileges;
    

2、下载解压EduSoho

资源包下载:http://www.edusoho.com/open/show

安装文档:http://www.qiqiuyu.com/my/course/20

image-20230524093931660

3、增加 EduSoho nginx 配置

注意1:教培版和企培版的项目包目录有些许不一样,稍微更改即可。

注意2:edusoho访问目录是edusoho/web,只有在nginx或者Apache配置里面把根目录定位到web目录下,才不会出现奇怪的问题,否则就会出现图片不能显示或者文件无法上传的问题。

vim /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;
    }
}

4、重启nginx服务

systemctl restart nginx.service

六、验证

本地浏览器访问:http://192.168.56.153/

FAQ

访问 http://192.168.56.153/ 后,在预检查阶段显示 web 不可写:

image-20230524004417917

解决方案:对项目edusoho目录 777 权限即可

chmod 777 -R edusoho

# 或
chown apache.apache -R edusoho
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。