切記

我們的edusoho訪問(wèn)目錄是edusoho/web,只有在nginx或者Apache配置里面把根目錄定位到web目錄下,才不會(huì)出現(xiàn)奇怪的問(wèn)題,否則就會(huì)出現(xiàn)圖片不能顯示或者文件無(wú)法上傳的問(wèn)題。

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

修改這三個(gè)值的大小

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

4、安裝mysql

EduSoho 可以運(yùn)行在 MySQL 5.5 及以上版本,推薦安裝當(dāng)前最新穩(wěn)定版本 MySQL 5.7。

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

設(shè)置密碼

在這個(gè)過(guò)程過(guò)程中會(huì)要求您輸入MySQL數(shù)據(jù)庫(kù)的root密碼,請(qǐng)認(rèn)真填寫(xiě)。

5、配置安裝edusoho

  • 5.1 下載/解壓程序
mkdir /var/www
cd /var/www
sudo wget http://download.edusoho.com/edusoho-VERSION.tar.gz  (注:將VERSION替換為當(dāng)前EduSoho最新版本號(hào),可從官網(wǎng)www.edusoho.com查詢獲取)
sudo tar -zxvf edusoho-VERSION.tar.gz 
sudo chown www-data:www-data edusoho/ -Rf

下載版本號(hào)

這里的下載地址可以在http://www.edusoho.com/中可以獲取到,VERSION為下載來(lái)之后壓縮包后面的版本號(hào)。

  • 5.2 配置nginx的虛擬主機(jī)
sudo vim /etc/nginx/sites-enabled/edusoho

輸入內(nèi)容:

server {
    listen 80;

    # [改] 網(wǎng)站的域名
    server_name www.example.com example.com;
    
    #301跳轉(zhuǎn)可以在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;
    }
    
    # 配置設(shè)置圖片格式文件
    location ~* \.(jpg|jpeg|gif|png|ico|swf)$ {
        # 過(guò)期時(shí)間為3年
        expires 3y;
        
        # 關(guān)閉日志記錄
        access_log off;

        # 關(guān)閉gzip壓縮,減少CPU消耗,因?yàn)閳D片的壓縮率不高。
        gzip off;
    }

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

    # 禁止用戶上傳目錄下所有.php文件的訪問(wèn),提高安全性
    location ~ ^/files/.*\.(php|php7.0)$ {
        deny all;
    }

    # 以下配置允許運(yùn)行.php的程序,方便于其他第三方系統(tǒng)的集成。
    location ~ \.php$ {
        # [改] 請(qǐng)根據(jù)實(shí)際php-fpm運(yùn)行的方式修改
        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         "";
    }
}
?