本教程主要分爲一下幾個步驟:更新系統、安裝並配置Nginx、安裝MySQL、安裝並配置PHP、 安裝並配置EduSoho,測試Edusoho。
更新系統
sudo apt-get update
sudo apt-get upgrade
安裝Nginx
安裝nginx
sudo apt-get install nginx
配置Nginx
sudo vim /etc/nginx/nginx.conf
然後 在http{} 字段裏添加
client_max_body_size 1024M;
sendfile on;
安裝MySQL
apt-get install mysql-server
在這個過程過程中會要求您輸入MySQL數據庫的root密碼,請認真填寫。
安裝PHP
安裝PHP
sudo apt-get install php5 php5-cli php5-curl php5-fpm php5-intl php5-mcrypt php5-mysqlnd php5-gd
修改PHP上傳文件的大小限制
sudo vim /etc/php5/fpm/php.ini
添加一下三行配置文字
post_max_size = 1024M
memory_limit = 1024M
upload_max_filesize = 1024M
配置PHP-FPM
編輯配置文件: vim /etc/php5/fpm/pool.d/www.conf
查找: listen = 127.0.0.1:9000
替換爲: listen = /var/run/php5-fpm.sock
找到:
;listen.owner = www-data
;listen.group = www-data
;listen.mode = 0660
去除最前面的分號。
然後重啓PHP-FPM
sudo /etc/init.d/php5-fpm restart
配置安裝EduSoho
下載/解壓程序
mkdir /var/www
cd /var/www
wget http://download.edusoho.com/edusoho-VERSION.tar.gz
tar zxvf edusoho-VERSION.tar.gz
chown www-data:www-data edusoho/ -Rf
rm edusoho-VERSION.tar.gz
注:這裏的下載地址可以在http://www.edusoho.com/中可以獲取到,VERSION爲下載來之後壓縮包後面的版本號。
創建數據庫
mysql -uroot -p
然後你需要輸入MySQL數據庫的root密碼。
進入數據庫命令行模式後,執行:
CREATE DATABASE `edusoho` DEFAULT CHARACTER SET utf8 ;
GRANT ALL PRIVILEGES ON `edusoho`.* TO 'esuser'@'localhost' IDENTIFIED BY 'edusoho';
quit
注: 請將YOUR_PASSWORD修改爲你的密碼,以上語句創建了名edusoho爲的數據庫,和數據庫用戶esuser,安裝EduSoho程序時需要用到。
測試數據庫是否創建成功: mysql -uesuser -p –default-character-set=utf8 edusoho
配置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/php5-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|php5)$ {
deny all;
}
# 以下配置允許運行.php的程序,方便於其他第三方系統的集成。
location ~ \.php$ {
# [改] 請根據實際php-fpm運行的方式修改
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
}
配置文件中的example.com 爲您需要指定的域名,爲了確保您的域名能被他人訪問得到, 您需要將這個域名和您當前的機器IP地址做DNS解析工作。
重啓nginx
sudo /etc/init.d/nginx restart
最後一步:
瀏覽器中打開:http://YOU_DOMAIN 安裝,當然這裏的YOU_DOMAIN是您的域名。