## Run `sudo yum install -y nodejs` to install Node.js 8.x LTS Carbon and npm.
## You may also need development tools to build native addons:
? ? sudo yum install -y nodejs
? ? sudo yum install gcc-c++ make
## To install the Yarn package manager, run:
? ? curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
//? ? ?sudo yum install yarn
? ? sudo npm install -g yarn
? ? sudo yum install git
**********************************************************
1、更新系統(tǒng),安裝第三方源并更換默認防火墻
1.1安裝第三方源
如果系統(tǒng)沒有安裝wget,首先安裝wget工具:
sudo yum install wget
遠程下載mysql官方源并安裝源:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
執(zhí)行ls -1 /etc/yum.repos.d/mysql-community*跺嗽,如果發(fā)現(xiàn)有兩個倉庫文件存在,如下顯示杉畜,就說明安裝成功:
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
1.2更新系統(tǒng)
#更新yum軟件包
yum check-update?
#更新系統(tǒng)
yum update
1.3更改默認防火墻锭碳,開啟3306端口欺税,80端口
關閉firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
安裝iptables防火墻:
yum install iptables-services #安裝
sudo vi /etc/sysconfig/iptables #編輯防火墻配置文件
配置文件更改如下:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
//下面是編輯添加的部分
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
//以上是編輯添加的部分
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
然后輸入:wq保存退出环肘,在命令窗口輸入以下命令使其生效:
systemctl restart iptables.service #最后重啟防火墻使配置生效
systemctl enable iptables.service #設置防火墻開機啟動
2欲虚、關閉SELINUX
命令行輸入以下內容,打開selinux配置文件:
sudo vi /etc/selinux/config
修改內容如下
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
輸入:wq!?#保存退出,然后命令行輸入以下內容悔雹,使其生效
setenforce 0 #使配置立即生效
3复哆、安裝配置nginx
3.1 安裝
yum install nginx #安裝nginx報錯請看注意↓systemctl start nginx #啟動nginxsystemctl enable nginx #加入開機啟動項
注意:如果安裝nginx的時候欣喧,提示沒有可用的軟件包nginx,需要我們手動配置下梯找,具體細節(jié)如下:
#首先下載對應當前系統(tǒng)版本的nginx包(package):
wget? http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#然后建立nginx的yum倉庫:
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
#下載并安裝nginx:
yum install nginx
#最后啟動和加入開機啟動操作:
systemctl start nginx #啟動nginx
systemctl enable nginx #加入開機啟動項
3.2配置
#打開nginx.conf
sudo vi /etc/nginx/nginx.conf
#在http{}配置中加入:
client_max_body_size 1024M;
4唆阿、安裝和配置PHP
4.1 安裝PHP和相關插件
#安裝SCL之后再安裝php55以上版本:
yum install centos-release-scl
yum install -y php55 php55-php php55-php-cli php55-php-curl php55-php-fpm php55-php-intl php55-php-mcrypt php55-php-mysql php55-php-gd php55-php-mbstring php55-php-xml php55-php-dom
注意:如果缺少部分擴展,請手動編譯php擴展锈锤,具體方法請自行搜索
4.2 修改PHP配置
編輯php.ini , 將以下配置的值修改為1024M驯鳖,命令窗口輸入
vim /etc/php.ini
編輯內容如下
post_max_size = 1024M
memory_limit = 1024M
upload_max_filesize = 1024M
4.3 配置PHP-FPM
打開php-fpm配置文件
sudo vi /etc/php-fpm.d/www.conf
修改以下內容
listen.owner = apache
listen.group = apache
listen.mode = 0666
最后
sudo systemctl start php-fpm? ? #啟動php-fpm
sudo systemctl enable php-fpm? #開機啟動fpm
5、安裝并配置mysql
5.1 安裝mysql
yum install mysql mysql-server? #安裝mysql
systemctl restart mysql? #重啟刷新mysql
注意:mysql默認用戶是root牙咏,沒有密碼,建議手動更改密碼
5.2 創(chuàng)建edusoho數(shù)據(jù)庫
#登錄數(shù)據(jù)庫
mysql -uroot -p
#輸入:
CREATE DATABASE edusoho DEFAULT CHARACTER SET utf8 ;
GRANT ALL PRIVILEGES ON `edusoho`.* TO 'esuser'@'localhost' IDENTIFIED BY 'edusoho';
quit;
注意:這里為edusoho數(shù)據(jù)庫創(chuàng)建了一個用戶名嘹裂,用戶名為:esuser妄壶,密碼為edusoho,在后面安裝的第三步需要用到寄狼,不建議直接填寫root賬戶丁寄。
6、下載并安裝配置edusoho
6.1 下載安裝edusoho
wget http://download.edusoho.com/edusoho-VERSION.tar.gz? (注:將VERSION替換為當前EduSoho最新版本號泊愧,可從官網(wǎng)www.edusoho.com查詢獲取)
tar -xzvf edusoho-VERSION.tar.gz edusoho
cp -r edusoho /var/www
cd /var/www && sudo chown -R apache:apache ./
注意:給www目錄賦予用戶權限時伊磺,如果提示沒有apache這個用戶和用戶組,請查詢服務器的用戶組來確認php-fpm進程的用戶組
6.2 edusoho的配置
創(chuàng)建配置文件:
sudo vi /etc/nginx/conf.d/edusoho.conf
將下列代碼按需修改并寫入文件:
server {
? ? listen 80;
? ? # [改] 網(wǎng)站的域名
? ? server_name www.xxxx.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? 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)$ {
? ? ? ? # 過期時間為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的程序,方便于其他第三方系統(tǒng)的集成另伍。
? ? location ~ \.php$ {
? ? ? ? # [改] 請根據(jù)實際php-fpm運行的方式修改
? ? ? ? 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;
? ? }
}
重啟nginx:
systemctl restart nginx
注意:真實配置要根據(jù)自己服務器的實際情況來斟酌修改敲街,不能完全照搬?
7团搞、完成
如果在命令執(zhí)行過程中出現(xiàn)提示權限不夠(permission denied),請在前面添加sudo;
配置中出現(xiàn)的文件目錄可以自己規(guī)定多艇,但是要更改相應的配置文件逻恐。因為linux操作比較復雜。建議linux專業(yè)人員進行操作峻黍;
因為CentOS 7 安裝源不夠穩(wěn)定复隆,安裝過程中可能會出現(xiàn)軟件源不穩(wěn)定的情況,所以建議使用Ubuntu14.04 或者 CentOS 6.x版本作為服務器姆涩;
歡迎用戶提問題昏名,我們會盡快修正問題;
ong>重啟nginx: