一、更新第三方源並升級系統 (CentOS默認的標準源裏沒有nginx軟件包)php
1.一、安裝CentOS第三方yum源css
#安裝下載工具wget yum install wget #下載atomic yum源 wget http://www.atomicorp.com/installers/atomic #安裝 sh ./atomic
1.二、升級CentOS系統html
#更新yum軟件包 yum check-update #更新系統 yum update
二、安裝和配置防火牆 node
#配置防火牆,開啓80端口、3306端口 vi /etc/sysconfig/iptables #(容許80端口經過防火牆) -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #(容許3306端口經過防火牆) -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 保存後重啓防火牆: /etc/init.d/iptables restart #重啓防火牆使配置生效
注意 centos7 默認沒有安裝iptables,而是使用firewalld
具體可參考https://www.cnblogs.com/blueskyli/p/7218804.html
systemctl stop firewalld.service && systemctl disable firewalld.servicemysql
systemctl start firewalld.service && systemctl enable firewalld.servicelinux
同時使用firewalld來開放端口80和3306nginx
添加web
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,沒有此參數重啓後失效)sql
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent 數據庫
從新載入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
刪除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
若是出現遠程登陸不上mysql Error 1130的狀況,則
mysql -u root -p
vmware mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>flush privileges;
mysql>select host, user from user
關閉SELinux: 臨時關閉,在命令行輸入:setenforce 0 修改配置文件: sudo vi /etc/selinux/config SELINUX=enforcing改成: SELINUX=disabled
三、安裝和配置PHP
3.一、配置安裝包源
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
先安裝apache:
配置ServerName
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html/edusoho/web
<Directory /var/www/html/edusoho/web>
# enable the .htaccess rewrites
AllowOverride All
Order allow,deny
Allow from All
</Directory>
ErrorLog /var/log/httpd/edusoho_error.log
CustomLog /var/log/httpd/edusoho_access.log combined
</VirtualHost>
service httpd restart
安裝php
yum install php php-devel
<?php phpinfo(); ?>
3.二、安裝PHP和相關插件
yum install -y php55w php55w-cli php55w-curl php55w-fpm php55w-intl php55w-mcrypt php55w-mysql php55w-gd php55w-mbstring php55w-xml php55w-dom
3.三、修改PHP配置
#編輯php.ini , 將如下配置的值修改成1024M vi /etc/php.ini post_max_size = 1024M memory_limit = 1024M upload_max_filesize = 1024M
3.四、配置PHP-FPM
#啓動php-fpm /etc/rc.d/init.d/php-fpm start
(以上命令有可能很差用) yum install -y php-fpm
安裝完成使用systemctl start php-fpm便可啓動
#設置開機啓動 chkconfig php-fpm on
四、安裝MySql和建立EduSoho數據庫
4.一、安裝MySql
#詢問是否要安裝,輸入Y便可自動安裝,直到安裝完成 yum install mysql mysql-server
首先CentOS7 已經不支持mysql,由於收費了你懂得,因此內部集成了mariadb,而安裝mysql的話會和mariadb的文件衝突,因此須要先卸載掉mariadb,如下爲卸載mariadb,安裝mysql的步驟。
#列出全部被安裝的rpm package
rpm -qa | grep mariadb
#強制卸載,由於沒有--nodeps
rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64
可參考這個link
https://www.linuxidc.com/Linux/2016-03/129683.htm
#啓動MySQL /etc/init.d/mysqld start #設爲開機啓動 chkconfig mysqld on #拷貝配置文件(注意:若是/etc目錄下面默認有一個my.cnf,直接覆蓋便可) cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #備註:默認安裝結束,mysql的root密碼爲空
4.一、建立EduSoho數據庫
#登陸數據庫 mysql -uroot -p #輸入: CREATE DATABASE edusoho DEFAULT CHARACTER SET utf8 ; GRANT ALL PRIVILEGES ON `edusoho`.* TO 'esuser'@'localhost' IDENTIFIED BY 'edusoho'; quit;
注意:這裏爲edusoho數據庫建立了一個用戶名,用戶名爲:esuser,密碼爲edusoho,在後面安裝的第三步須要用到,不建議直接填寫root帳戶。
五、下載和解壓EduSoho
cd /usr/share/nginx wget http://download.edusoho.com/edusoho-Version.tar.gz (注:將VERSION替換爲當前EduSoho最新版本號,可從官網www.edusoho.com查詢獲取) tar zxvf edusoho-Version.tar.gz chown apache:apache edusoho/ -Rf
六、 安裝和配置Nginx
yum install nginx #啓動 service nginx start #設爲開機啓動 chkconfig nginx on vi /etc/nginx/nginx.conf 在http{}配置中加入: client_max_body_size 1024M;
vi /etc/nginx/conf.d/edusoho.conf 加入如下配置: server { listen 80; server_name www.centos.edu; root /usr/share/nginx/edusoho/web; access_log /var/log/nginx/edusoho.access.log; error_log /var/log/nginx/edusoho.error.log; location / { index app.php; try_files $uri @rewriteapp; } location @rewriteapp { rewrite ^(.*)$ /app.php/$1 last; } location ~ ^/udisk { internal; root /usr/share/nginx/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=/usr/share/nginx/edusoho/app/data/udisk; fastcgi_buffer_size 128k; fastcgi_buffers 8 128k; } location ~* \.(jpg|jpeg|gif|png|ico|swf)$ { expires 3y; access_log off; gzip off; } location ~* \.(css|js)$ { access_log off; expires 3y; } location ~ ^/files/.*\.(php|php5)$ { deny all; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; include fastcgi_params; } }
/etc/init.d/nginx restart #重啓nginx
七、安裝和注意事項目
1 配置完成後,請使用www.centos.edu訪問安裝,填寫安裝必須信息便可
2在本地host文件添加 : 服務器ip www.centos.edu
3特別注意:以上包含ip,域名的地方請根據本身狀況替換
4安裝第二步,若是數據庫連接不上,將數據庫服務器改爲localhost便可
5目錄通常狀況不須要更改
6必定要在配置文件裏面把edusoho訪問目錄定位到edusoho/web,否則會出現問題