????雖然我不是第一次部署LAMP,但是還是踩到了坑,我使用的云服務器是阿里云的Centos7.3 64位,感覺使用Centos7以上的版本都是可以的,阿里云的搭建動態WordPress網站是Centos6.8的版本,很多東西都不適合了。參考了阿里云官方部署LAMP教程,但是默默吐槽一句,官方教程真的不好用,一開始我還按照阿里云官方的教程嘗試搭建ghost博客,但是也失敗了。因為我之前按照阿里云官方教程搭建成功過一次LAMP,所以百思不得其解究竟是哪個環節出了岔子,于是找到阿里云文檔的GitHub倉庫,找到18年9月的一個版本,對照,這個版本才搭建成功。阿里云18年9月搭建LAMP教程,防止他之后再鬧什么幺蛾子,我就搬運一下吧。
????LAMP指Linux+Apache+MySQL/MariaDB+Perl/PHP/Python,是一組常用來搭建動態網站或者服務器的開源軟件。它們本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程序平臺。
????在部署之前,確認實例所在的安全組已經放行了服務所需的端口,主要有HTTP 22|ssh 22|MYSQL 3306,通過xshell等軟件遠程連接實例。
準備工作
設置防火墻
????關閉防火墻firewalld放行80、22等端口。
-
運行命令關閉防火墻。
systemctl stop firewalld.service
-
運行命令關閉防火墻開機自啟動。
systemctl disable firewalld.service
安裝軟件
運行命令下載軟件、編輯和解壓文件。
yum install -y wget vim unzip
操作步驟
按以下步驟部署LAMP。
步驟1:編譯安裝Apache
-
運行命令安裝相關依賴包。
yum install -y gcc gcc-c++ autoconf libtool
-
依次運行以下命令安裝apr。
cd /usr/local/src/ wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-1.5.0.tar.gz tar zxvf apr-1.5.0.tar.gz cd apr-1.5.0 ./configure --prefix=/usr/local/apr make && make install
-
依次運行以下命令安裝apr-util。
cd /usr/local/src/ wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-util-1.5.3.tar.gz tar zxvf apr-util-1.5.3.tar.gz cd apr-util-1.5.3 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install
-
依次運行以下命令安裝pcre。
cd /usr/local/src/ wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/pcre/pcre-8.38.tar.gz tar zxvf pcre-8.38.tar.gz cd pcre-8.38 ./configure --prefix=/usr/local/pcre make && make install
-
依次運行以下命令編譯安裝Apache。
cd /usr/local/src/ wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/apache/httpd-2.4.23.tar.gz tar zxvf httpd-2.4.23.tar.gz cd httpd-2.4.23 ./configure \ --prefix=/usr/local/apache --sysconfdir=/etc/httpd \ --enable-so --enable-cgi --enable-rewrite \ --with-zlib --with-pcre=/usr/local/pcre \ --with-apr=/usr/local/apr \ --with-apr-util=/usr/local/apr-util \ --enable-mods-shared=most --enable-mpms-shared=all \ --with-mpm=event make && make install
-
修改httpd.conf配置文件參數:
運行
cd /etc/httpd/
切換到/etc/httpd/目錄。運行
vim httpd.conf
打開httpd.conf文件,按i
鍵進入編輯模式。-
找到
Directory
參數,注釋掉Require all denied
,并添加Require all granted
。image -
找到
ServerName
參數,添加ServerName localhost:80
。image 設置
PidFile
路徑:在文件最后添加PidFile "/var/run/httpd.pid"
。按
Esc
鍵退出編輯模式,輸入:wq
保存并關閉 httpd.conf 文件。
-
依次執行以下命令啟動Apache服務并驗證。
cd /usr/local/apache/bin/ ./apachectl start netstat -tnlp #查看服務是否開啟
如果返回以下結果,說明Apache服務已經成功啟動。
image在本地機器的瀏覽器中輸入ECS實例公網IP地址,如果出現如圖所示信息,說明Apache服務安裝成功。
image -
設置開機自啟動。
運行
vim /etc/rc.d/rc.local
打開rc.local文件,按i
進入編輯模式。-
添加
/usr/local/apache/bin/apachectl start
。image 按
Esc
鍵退出編輯模式,輸入:wq
保存并關閉rc.local文件。
-
設置環境變量。
- 運行
vi /root/.bash_profile
打開文件,按i
進入編輯模式。 - 將
PATH=$PATH:$HOME/bin
修改為PATH=$PATH:$HOME/bin:/usr/local/apache/bin
。 - 按
Esc
鍵退出編輯模式,輸入:wq
保存并關閉文件。 - 運行
source /root/.bash_profile
重新執行文件。
- 運行
步驟2:編譯安裝MySQL
-
依次執行以下命令檢查系統中是否存在使用rpm安裝的MySQL或者MariaDB。
rpm -qa | grep mysql rpm -qa | grep mariadb
如果已經安裝,則運行以下任一個命令刪除。
rpm -e 軟件名 #注意:這里的軟件名必須包含軟件的版本信息,如rpm -e mariadb-libs-5.5.52-1.el7.x86_64。一般使用此命令即可卸載成功。 rpm -e --nodeps 軟件名 #卸載不成功時使用此命令強制卸載
卸載后,再用
rpm -qa|grep mariadb
或者rpm -qa|grep mysql
查看結果。 -
依次運行以下命令安裝 MySQL。
yum install -y libaio-* #安裝依賴 mkdir -p /usr/local/mysql cd /usr/local/src wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/mysql/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz mv mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql/
-
依次運行以下命令建立mysql組和用戶,并將mysql用戶添加到mysql組。
groupadd mysql useradd -g mysql -s /sbin/nologin mysql
-
運行命令初始化MySQL數據庫。
/usr/local/mysql/bin/mysqld --initialize-insecure --datadir=/usr/local/mysql/data/ --user=mysql
更改MySQL安裝目錄的屬性:
chown -R mysql:mysql /usr/local/mysql
。-
依次運行以下命令設置開機自啟動。
cd /usr/local/mysql/support-files/ cp mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld # 添加執行權限 vim /etc/rc.d/rc.local
在 rc.local 文件中添加
/etc/init.d/mysqld start
。 -
設置環境變量。
運行
vi /root/.bash_profile
打開文件,按i
進入編輯模式。-
將
PATH=$PATH:$HOME/bin:/usr/local/apache/bin
修改為PATH=$PATH:$HOME/bin:/usr/local/apache/bin:/usr/local/mysql/bin:/usr/local/mysql/bin
。說明: 此處是在編譯安裝 Apache的環境變量的基礎上再進行修改。
按
Esc
鍵退出編輯模式,輸入:wq
保存并關閉文件。運行
source /root/.bash_profile
重新執行文件。
-
啟動 MySQL 數據庫。
/etc/init.d/mysqld start
出現如下截圖所示信息,表示MySQL啟動成功。
image -
修改MySQL的root用戶密碼:初始化后MySQL為空密碼可直接登錄,為了保證安全性需要修改MySQL的root用戶密碼。運行以下命令,并按界面提示設置密碼。
mysqladmin -u root password
-
測試登錄MySQL數據庫。
mysql -uroot -p #-p和密碼之間無空格
image 運行
\q
退出MySQL。
步驟3. 編譯安裝 PHP
-
依次運行以下命令安裝依賴。
yum install epel-release php-mcrypt libmcrypt libmcrypt-devel libxml2-devel openssl-devel libcurl-devel libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 libjpeg-turbo-devel libmcrypt-devel mysql-devel -y wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/php/php-7.0.12.tar.gz tar zxvf php-7.0.12.tar.gz cd php-7.0.12 ./configure \ --prefix=/usr/local/php \ --enable-mysqlnd \ --with-mysqli=mysqlnd --with-openssl \ --with-pdo-mysql=mysqlnd \ --enable-mbstring \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib --with-libxml-dir=/usr \ --enable-xml --enable-sockets \ --with-apxs2=/usr/local/apache/bin/apxs \ --with-mcrypt --with-config-file-path=/etc \ --with-config-file-scan-dir=/etc/php.d \ --enable-maintainer-zts \ --disable-fileinfo make && make install
-
運行命令復制配置文件。
cp php.ini-production /etc/php.ini
-
編輯Apache配置文件 httpd.conf,以Apache支持PHP。
運行
vim /etc/httpd/httpd.conf
打開文件,按i
進入編輯模式。-
在配置文件最后添加如下二行代碼。
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
-
定位到
DirectoryIndex index.html
,修改為DirectoryIndex index.php index.html
。說明: 如果文件中沒有
DirectoryIndex index.html
,則添加上述代碼。 按
Esc
鍵退出編輯模式,輸入:wq
保存并關閉文件。
-
重啟Apache服務:
/usr/local/apache/bin/apachectl restart
-
測試是否能夠正常解析PHP。
-
依次運行以下命令,找開index.php文件。
cd /usr/local/apache/htdocs/ vim index.php
-
按
i
鍵進入編輯模式,并添加以下內容。<?php phpinfo(); ?>
按
Esc
鍵退出編輯模式,并輸入:wq
保存并關閉文件。-
重啟Apache服務:
/usr/local/apache/bin/apachectl restart
-
在本地機器的瀏覽器里輸入
http://實例公網 IP/index.php
。如果出現以下頁面表示PHP解析成功。
image
-
步驟4. 安裝phpMyAdmin
依次運行以下命令安裝phpMyAdmin。
mkdir -p /usr/local/apache/htdocs/phpmyadmin
cd /usr/local/src/
wget http://oss.aliyuncs.com/aliyunecs/onekey/phpMyAdmin-4.1.8-all-languages.zip
unzip phpMyAdmin-4.1.8-all-languages.zip
mv phpMyAdmin-4.1.8-all-languages/* /usr/local/apache/htdocs/phpmyadmin
在本地機器瀏覽器輸入 http://實例公網 IP/phpmyadmin
訪問phpMyAdmin登錄頁面。如果出現以下頁面,說明phpMyAdmin安裝成功。輸入MySQL的用戶名和密碼即可登錄。
????Centos7.3按照以上步驟正確部署好LAMP后,在瀏覽器中輸入http://實例公網 IP
默認訪問的是實例中/usr/local/apache/htdocs/index.php
文件,可以進行修改,就在步驟3第3步的第iii步,仔細體會DirectoryIndex index.php index.html
即可正確配置。完結,撒花?