參考原文:http://www.qiqiuyu.com/course/20/task/794/show
注意: 本教程基于Ubuntu系統(tǒng) 14.04版本并且需要以root用戶操作機(jī)器姓言,請(qǐng)?jiān)诖_保您的環(huán)境是否符合以上兩個(gè)條件之后晦鞋,再進(jìn)行后續(xù)的操作规肴。
切記:我們的edusoho訪問目錄是edusoho/web,只有在nginx或者Apache配置里面把根目錄定位到web目錄下挠蛉,才不會(huì)出現(xiàn)奇怪的問題,否則就會(huì)出現(xiàn)圖片不能顯示或者文件無(wú)法上傳的問題跑慕。
本教程主要分為一下幾個(gè)步驟:更新系統(tǒng)蜈敢、安裝并配置Nginx樟结、安裝MySQL、安裝并配置PHP易结、 安裝并配置EduSoho枕荞,測(cè)試Edusoho。
1搞动、更新系統(tǒng)
sudo apt-get update
sudo apt-get upgrade
2躏精、安裝Nginx
2.1 安裝nginx
sudo apt-get install nginx
?2.2 配置Nginx
sudo vim /etc/nginx/nginx.conf
然后 在http{} 字段里添加
client_max_body_size 1024M;
3、安裝并配置MySQL
?3.1 安裝mysql
apt-get install mysql-server
在這個(gè)過(guò)程過(guò)程中會(huì)要求您輸入MySQL數(shù)據(jù)庫(kù)的root密碼鹦肿,請(qǐng)認(rèn)真填寫矗烛。
?3.2 創(chuàng)建數(shù)據(jù)庫(kù)
mysql -uroot -p
然后你需要輸入MySQL數(shù)據(jù)庫(kù)的root密碼。
進(jìn)入數(shù)據(jù)庫(kù)命令行模式后狮惜,創(chuàng)建edusoho數(shù)據(jù)庫(kù)高诺,執(zhí)行:
CREATE DATABASE `edusoho` DEFAULT CHARACTER SET utf8 ;
GRANT ALL PRIVILEGES ON `edusoho`.* TO 'esuser'@'localhost' IDENTIFIED BY 'edusoho';
quit;
注意:這里為edusoho數(shù)據(jù)庫(kù)創(chuàng)建了一個(gè)用戶名,用戶名為:esuser碾篡,密碼為edusoho虱而,在后面安裝的第三步需要用到,不建議直接填寫root賬戶开泽。
4牡拇、安裝PHP
?4.1 安裝PHP
sudo apt-get install php5 php5-cli php5-curl php5-fpm php5-intl php5-mcrypt php5-mysqlnd php5-gd
?4.2 修改PHP上傳文件的大小限制
sudo vim /etc/php5/fpm/php.ini
添加一下三行配置文字
post_max_size = 1024M
memory_limit = 1024M
upload_max_filesize = 1024M
?4.3 配置PHP-FPM
編輯配置文件: vim /etc/php5/fpm/pool.d/www.conf,找到:
;listen.owner = www-data
;listen.group = www-data
;listen.mode = 0660
去除最前面的分號(hào)穆律。
然后重啟PHP-FPM:
sudo /etc/init.d/php5-fpm restart
5 配置安裝EduSoho
?5.1 下載/解壓程序
mkdir /var/www
cd /var/www
wget http://download.edusoho.com/edusoho-VERSION.tar.gz (注:將VERSION替換為當(dāng)前EduSoho最新版本號(hào)惠呼,可從官網(wǎng)www.edusoho.com查詢獲取)
tar -zxvf edusoho-VERSION.tar.gz
chown www-data:www-data edusoho/ -Rf
注:這里的下載地址可以在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/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;
}
# 配置設(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文件的訪問泣崩,提高安全性
location ~ ^/files/.*\.(php|php5)$ {
deny all;
}
# 以下配置允許運(yùn)行.php的程序,方便于其他第三方系統(tǒng)的集成洛口。
location ~ \.php$ {
# [改] 請(qǐng)根據(jù)實(shí)際php-fpm運(yùn)行的方式修改
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_PROXY "";
}
}
配置文件中的example.com 為您需要指定的域名矫付,為了確保您的域名能被他人訪問得到, 您需要將這個(gè)域名和您當(dāng)前的機(jī)器IP地址做DNS解析工作第焰。
?5.3 重啟nginx
sudo /etc/init.d/nginx restart
最后一步:
瀏覽器中打開:http://YOU_DOMAIN 安裝买优,當(dāng)然這里的YOU_DOMAIN是您的域名。