切记

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

1、更新

sudo apt-get update
sudo apt-get upgrade

2、安装nginx

sudo apt-get install nginx
  • 2.2 配置Nginx

sudo vim /etc/nginx/nginx.conf

然后 在http{} 字段里添加 client_max_body_size 1024M;

 

3、安装php

  • 3.1 安装php
sudo apt-get install php-pear php7.0-cli php7.0-common php7.0-curl \
    php7.0-dev php7.0-fpm php7.0-json php7.0-mbstring php7.0-mcrypt \
    php7.0-mysql php7.0-opcache php7.0-zip php7.0-intl php7.0-gd php7.0-xml
  • 3.2 修改配置(PHP上传文件的大小限制)

终端输入:

sudo vim /etc/php/7.0/fpm/php.ini

修改这三个值的大小

post_max_size = 1024M
memory_limit = 1024M
upload_max_filesize = 1024M
  • 3.3 重启 PHP-FPM
sudo service php7.0-fpm restart

4、安装mysql

EduSoho 可以运行在 MySQL 5.5 及以上版本,推荐安装当前最新稳定版本 MySQL 5.7。

  • 下载mysql
sudo apt-get update
sudo apt-get install mysql-server

设置密码

在这个过程过程中会要求您输入MySQL数据库的root密码,请认真填写。

5、配置安装edusoho

  • 5.1 下载/解压程序
mkdir /var/www
cd /var/www
sudo wget http://download.edusoho.com/edusoho-VERSION.tar.gz  (注:将VERSION替换为当前EduSoho最新版本号,可从官网www.edusoho.com查询获取)
sudo tar -zxvf edusoho-VERSION.tar.gz 
sudo chown www-data:www-data edusoho/ -Rf

下载版本号

这里的下载地址可以在http://www.edusoho.com/中可以获取到,VERSION为下载来之后压缩包后面的版本号。

  • 5.2 配置nginx的虚拟主机
sudo vim /etc/nginx/sites-enabled/edusoho

输入内容:

server {
    listen 80;

    # [改] 网站的域名
    server_name www.example.com example.com;
    
    #301跳转可以在nginx中配置

    # 程序的安装路径
    root /var/www/edusoho/web;

    # 日志路径
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.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   unix:/var/run/php7.0-fpm.sock;
        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)$ {
        # 过期时间为3年
        expires 3y;
        
        # 关闭日志记录
        access_log off;

        # 关闭gzip压缩,减少CPU消耗,因为图片的压缩率不高。
        gzip off;
    }

    # 配置css/js文件
    location ~* \.(css|js)$ {
        access_log off;
        expires 3y;
    }

    # 禁止用户上传目录下所有.php文件的访问,提高安全性
    location ~ ^/files/.*\.(php|php7.0)$ {
        deny all;
    }

    # 以下配置允许运行.php的程序,方便于其他第三方系统的集成。
    location ~ \.php$ {
        # [改] 请根据实际php-fpm运行的方式修改
        fastcgi_pass   unix:/var/run/php7.0-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param  HTTPS              off;
        fastcgi_param  HTTP_PROXY         "";
    }
}