本文安裝Linux + Apache + MySQL + PHP / PhpMyAdmin 環(huán)境
MariaDB(取代MySQL)請移步CentOS7 安裝lamp環(huán)境 (1):http://www.reibang.com/p/435eb53a5b28/
LAMP指Linux+Apache+MySQL/MariaDB+Perl/PHP/Python,是一組常用來搭建動態(tài)網(wǎng)站或者服務(wù)器的開源軟件。它們本身都是各自獨立的程序暖侨,但是因為常被放在一起使用,擁有了越來越高的兼容度李茫,共同組成了一個強大的Web應(yīng)用程序平臺规辱。
前提條件
在部署之前绿鸣,需要確認:
-
實例所在安全組已經(jīng) 放行了服務(wù)所需的端口:
| 服務(wù) | SSH | HTTP | MySQL |
| 端口 | TCP 22 | TCP 80 | TCP 3306 |
準備工作
設(shè)置防火墻
CentOS 7.2系統(tǒng)默認開啟防火墻firewalld疚沐。您可以關(guān)閉firewalld放行80、22等端口潮模。
說明:您也可以參考 firewalld 官方文檔 在防火墻里放行這些端口亮蛔。
- 運行命令關(guān)閉防火墻。
systemctl stop firewalld.service
- 運行命令關(guān)閉防火墻開機自啟動再登。
systemctl disable firewalld.service
安裝軟件
運行命令下載軟件尔邓、編輯和解壓文件晾剖。
yum install -y wget vim unzip
操作步驟
按以下步驟部署LAMP。
步驟1. 編譯安裝Apache
- 運行命令安裝相關(guān)依賴包梯嗽。
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配置文件參數(shù):
運行
cd /etc/httpd/
切換到/etc/httpd/目錄。運行
vim httpd.conf
打開httpd.conf文件炎疆,按i
鍵進入編輯模式卡骂。-
找到
Directory
參數(shù),注釋掉Require all denied
形入,并添加Require all granted
全跨。
修改Directory參數(shù) -
找到
ServerName
參數(shù),添加ServerName localhost:80
亿遂。
修改ServerName參數(shù) 設(shè)置
PidFile
路徑:在文件最后添加PidFile "/var/run/httpd.pid"
浓若。按
Esc
鍵退出編輯模式,輸入:wq
保存并關(guān)閉 httpd.conf 文件蛇数。
依次執(zhí)行以下命令啟動Apache服務(wù)并驗證挪钓。
cd /usr/local/apache/bin/
./apachectl start
netstat -tnlp #查看服務(wù)是否開啟`
如果返回以下結(jié)果,說明Apache服務(wù)已經(jīng)成功啟動耳舅。
在本地機器的瀏覽器中輸入ECS實例公網(wǎng)IP地址碌上,如果出現(xiàn)如圖所示信息,說明Apache服務(wù)安裝成功浦徊。
- 設(shè)置開機自啟動馏予。
首先備份 /etc/rc.d/rc.local
mv /etc/rc.d/rc.local /etc/rc.d/rc.local.bak
1、運行 vim /etc/rc.d/rc.local 打開rc.local文件盔性,按 i 進入編輯模式吗蚌。
2、添加 /usr/local/apache/bin/apachectl start纯出。
3、可以用快捷寫入方式
echo '/usr/local/apache/bin/apachectl start' >> /etc/rc.d/rc.local
按 Esc 鍵退出編輯模式敷燎,輸入 :wq 保存并關(guān)閉rc.local文件暂筝。
- 設(shè)置環(huán)境變量。
運行 vi /root/.bash_profile 打開文件硬贯,按 i 進入編輯模式焕襟。
將 PATH=$PATH:$HOME/bin 修改為 PATH=$PATH:$HOME/bin:/usr/local/apache/bin。
按 Esc 鍵退出編輯模式饭豹,輸入 :wq 保存并關(guān)閉文件鸵赖。
運行 source /root/.bash_profile 重新執(zhí)行文件务漩。
步驟2. 編譯安裝MySQL
依次執(zhí)行以下命令檢查系統(tǒng)中是否存在使用rpm安裝的MySQL或者MariaDB。
rpm -qa | grep mysql
rpm -qa | grep mariadb
如果已經(jīng)安裝它褪,則運行以下任一個命令刪除饵骨。
rpm -e 軟件名 #注意:這里的軟件名必須包含軟件的版本信息,如rpm -e mariadb-libs-5.5.52-1.el7.x86_64茫打。一般使用此命令即可卸載成功居触。
rpm -e --nodeps 軟件名 #卸載不成功時使用此命令強制卸載
卸載后,再用 rpm -qa|grep mariadb 或者 rpm -qa|grep mysql 查看結(jié)果老赤。
- 依次運行以下命令安裝 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數(shù)據(jù)庫弊予。
/usr/local/mysql/bin/mysqld --initialize-insecure --datadir=/usr/local/mysql/data/ --user=mysql
更改MySQL安裝目錄的屬性:
chown -R mysql:mysql /usr/local/mysql。
依次運行以下命令設(shè)置開機自啟動开财。
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld # 添加執(zhí)行權(quán)限
echo "/etc/init.d/mysqld start" >> /etc/rc.d/rc.local # 設(shè)置開機啟動
- 設(shè)置環(huán)境變量汉柒。
運行 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的環(huán)境變量的基礎(chǔ)上再進行修改竭翠。
按 Esc 鍵退出編輯模式减途,輸入 :wq 保存并關(guān)閉文件顾腊。
# 執(zhí)行文件使配置生效
source /root/.bash_profile
- 啟動 MySQL 數(shù)據(jù)庫。
/etc/init.d/mysqld start
出現(xiàn)如下截圖所示信息央星,表示MySQL啟動成功啃洋。(也可能是其他樣式)
- 修改MySQL的root用戶密碼:初始化后MySQL為空密碼可直接登錄传货,為了保證安全性需要修改MySQL的root用戶密碼。運行以下命令宏娄,并按界面提示設(shè)置密碼问裕。
mysqladmin -u root password
- 測試登錄MySQL數(shù)據(jù)庫。
mysql -uroot -p #-p和密碼之間無空格
- 運行 \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
# 先安裝依賴
# 解決php編譯報錯configure: error: mcrypt.h not found. Please reinstall libmcrypt.
yum install -y epel-release
yum install -y libmcrypt-devel
# 兩個不能一起安裝,因為CentOs默認的yum源沒有 libmcrypt-devel這個包,只能借助epel的yum源,所以先安裝epel,再安裝libmcrypt。
./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
- 運行命令復(fù)制配置文件卖宠。
cp php.ini-production /etc/php.ini
- 編輯Apache配置文件 httpd.conf巍杈,以Apache支持PHP。
vim /etc/httpd/httpd.conf
在配置文件最后添加如下二行代碼扛伍。
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 保存并關(guān)閉文件吼砂。
- 重啟Apache服務(wù):
/usr/local/apache/bin/apachectl restart
- 測試是否能夠正常解析PHP。
cd /usr/local/apache/htdocs/
vim index.php
添加以下內(nèi)容
<?php
phpinfo();
重啟Apache服務(wù):
/usr/local/apache/bin/apachectl restart
在本地機器的瀏覽器里輸入 http://實例公網(wǎng) IP/index.php鼎文。
如果出現(xiàn)以下頁面表示PHP解析成功渔肩。
步驟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://實例公網(wǎng) IP/phpmyadmin 訪問phpMyAdmin登錄頁面漂问。如果出現(xiàn)以下頁面赖瞒,說明phpMyAdmin安裝成功。輸入MySQL的用戶名和密碼即可登錄蚤假。
配置虛擬主機
一栏饮、備份httpd.conf
cd /etc/httpd/
cp httpd.conf httpd.conf.bak
1、在Apache配置文件httpd.conf中開啟虛擬主機功能:即:Include etc/extra/httpd-vhosts.conf把前面的#去掉磷仰;
vim httpd.conf
:/httpd-vhosts.conf # 查找該行
2袍嬉、在extra目錄下找到文件httpd-vhosts.conf,先備份灶平,然后清空后添加如下配置:
<VirtualHost _default_:80>
DocumentRoot "/usr/local/apache/htdocs"
<Directory "/usr/local/apache/htdocs">
Options -Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/usr/local/apache/htdocs/test"
ServerName test.com
ServerAlias
<Directory "/usr/local/apache/htdocs/test">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
3伺通、重啟Apache;
/usr/local/apache/bin/apachectl restart
4逢享、修改host文件罐监,讓虛擬主機的IP指向該域名。
vim /etc/hosts
# 追加
127.0.0.1 test.com
5瞒爬、瀏覽器訪問 test.com