CentOS7 安裝lamp環(huán)境 (2)

本文安裝Linux + Apache + MySQL + PHP / PhpMyAdmin 環(huán)境

MariaDB(取代MySQL)請移步CentOS7 安裝lamp環(huán)境 (1):http://www.itdecent.cn/p/435eb53a5b28/

LAMP指Linux+Apache+MySQL/MariaDB+Perl/PHP/Python,是一組常用來搭建動態(tài)網(wǎng)站或者服務器的開源軟件。它們本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程序平臺。

前提條件

在部署之前,需要確認:

準備工作

設置防火墻

CentOS 7.2系統(tǒng)默認開啟防火墻firewalld。您可以關閉firewalld放行80、22等端口。

說明:您也可以參考 firewalld 官方文檔 在防火墻里放行這些端口。

  1. 運行命令關閉防火墻。
    systemctl stop firewalld.service
  1. 運行命令關閉防火墻開機自啟動。
systemctl disable firewalld.service

安裝軟件

運行命令下載軟件、編輯和解壓文件。

yum install -y wget vim unzip

操作步驟

按以下步驟部署LAMP。

步驟1. 編譯安裝Apache

  1. 運行命令安裝相關依賴包。
yum install -y gcc gcc-c++ autoconf libtool
  1. 依次運行以下命令安裝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
  1. 依次運行以下命令安裝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
  1. 依次運行以下命令安裝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
  1. 依次運行以下命令編譯安裝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
  1. 修改httpd.conf配置文件參數(shù):

    1. 運行 cd /etc/httpd/ 切換到/etc/httpd/目錄。

    2. 運行 vim httpd.conf 打開httpd.conf文件,按 i 鍵進入編輯模式。

    3. 找到 Directory 參數(shù),注釋掉 Require all denied,并添加 Require all granted。

      修改Directory參數(shù)

    4. 找到 ServerName 參數(shù),添加 ServerName localhost:80

      修改ServerName參數(shù)

    5. 設置 PidFile 路徑:在文件最后添加 PidFile "/var/run/httpd.pid"。

    6. Esc 鍵退出編輯模式,輸入 :wq 保存并關閉 httpd.conf 文件。

  2. 依次執(zhí)行以下命令啟動Apache服務并驗證。

cd /usr/local/apache/bin/
./apachectl start
netstat -tnlp #查看服務是否開啟`

如果返回以下結果,說明Apache服務已經(jīng)成功啟動。



在本地機器的瀏覽器中輸入ECS實例公網(wǎng)IP地址,如果出現(xiàn)如圖所示信息,說明Apache服務安裝成功。


  1. 設置開機自啟動。
    首先備份 /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 保存并關閉rc.local文件。

  1. 設置環(huán)境變量。

運行 vi /root/.bash_profile 打開文件,按 i 進入編輯模式。
將 PATH=$PATH:$HOME/bin 修改為 PATH=$PATH:$HOME/bin:/usr/local/apache/bin。
按 Esc 鍵退出編輯模式,輸入 :wq 保存并關閉文件。
運行 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 查看結果。

  1. 依次運行以下命令安裝 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/
  1. 依次運行以下命令建立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。

依次運行以下命令設置開機自啟動。

cd /usr/local/mysql/support-files/
cp mysql.server  /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld             # 添加執(zhí)行權限
echo "/etc/init.d/mysqld start" >> /etc/rc.d/rc.local   # 設置開機啟動
  1. 設置環(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)境變量的基礎上再進行修改。
按 Esc 鍵退出編輯模式,輸入 :wq 保存并關閉文件。

# 執(zhí)行文件使配置生效
source /root/.bash_profile
  1. 啟動 MySQL 數(shù)據(jù)庫。
/etc/init.d/mysqld start

出現(xiàn)如下截圖所示信息,表示MySQL啟動成功。(也可能是其他樣式)


  1. 修改MySQL的root用戶密碼:初始化后MySQL為空密碼可直接登錄,為了保證安全性需要修改MySQL的root用戶密碼。運行以下命令,并按界面提示設置密碼。
mysqladmin -u root password
  1. 測試登錄MySQL數(shù)據(jù)庫。
mysql -uroot -p                           #-p和密碼之間無空格
  1. 運行 \q 退出MySQL。

步驟3. 編譯安裝 PHP

  1. 依次運行以下命令安裝依賴。
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
  1. 運行命令復制配置文件。
cp php.ini-production /etc/php.ini
  1. 編輯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 保存并關閉文件。

  1. 重啟Apache服務:
/usr/local/apache/bin/apachectl restart
  1. 測試是否能夠正常解析PHP。
cd  /usr/local/apache/htdocs/
vim index.php

添加以下內(nèi)容

<?php
phpinfo();

重啟Apache服務:

/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

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 再強勢的女人也會私下里對閨蜜說這樣的話:“誰不想做小女人?他若能征服我,我自甘心相夫教子洗手作羹湯,當一個滿足的小...
    步綰閱讀 765評論 3 6
  • 荊軻刺秦 戰(zhàn)國中后期,經(jīng)過反復的兼并戰(zhàn)爭,諸侯國中最強大的共有七個,即函谷關以西的秦,和以東的三晉(韓、趙、魏)、...
    赤軍閱讀 1,051評論 0 2
  • 人一出生,就有了生命!那么命是什么呢?命,就是一個人一生的氣運,一個人氣運好,那么她的人生就沒有苦難,安享晚年!一...
    忘憂熊閱讀 291評論 0 0
  • public class PayCommonUtil { //定義簽名,微信根據(jù)參數(shù)字段的ASCII碼值進行排序 ...
    1992xuxiang閱讀 3,384評論 0 6
  • 如果我是嬌爺, 我會拾起昨日他留給我的雨滴裝進他的傘中 如果我是嬌爺, 我不會安于此時的生活, 一種一眼望穿一輩子...
    等候前行不停留閱讀 245評論 0 0

友情鏈接更多精彩內(nèi)容