CentOS 7下Apache + PHP + MySQL環境(LAMP)的安裝

Step 1:更換阿里雲 yum 源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  yum update

Step 2:Apache 部分

安裝Apacheyum -y install httpd

啟動Apache服務systemctl start httpd

檢查Apache服務狀態是否runningsystemctl status httpd

設置Apache服務自啟動守衛systemctl enable httpd

此時,訪問伺服器的80埠,應可以看到Apache的默認頁。如果不能訪問,請檢查防火牆設置。

Apache的默認網頁資源目錄是/var/www/html,默認配置文件位置是/etc/httpd/conf/httpd.conf

Step 3:MySQL 5.7 部分

安裝MySQL及伺服器:由於需要下載文件,請在合適的目錄下執行下列操作。若系統沒有wget,請先yum install wget安裝之。

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm  yum -y install mysql57-community-release-el7-10.noarch.rpm  yum -y install mysql-community-server

啟動MySQL服務systemctl start mysqld.service

檢查MySQL服務是否runningsystemctl status mysqld.service

設置MySQL服務自啟動守衛systemctl enable mysqld.service

獲取MySQL初始隨機密碼grep "password" /var/log/mysqld.log

使用該密碼進入資料庫mysql -uroot -p,輸入密碼進入

執行查詢,修改默認密碼ALTER USER 'root'@'localhost' IDENTIFIED BY '[NEWPASSWORD]';

注意,依據安全性政策,過於簡單的密碼無法通過要求。

新增最高許可權用戶:實際操作中,我們不可能將root用戶暴露到%域來做資料庫操作,所以添加一個新用戶。執行下列查詢:

CREATE USER '[USERNAME]'@'%' IDENTIFIED BY '[PASSWORD]';  GRANT ALL ON *.* TO '[USERNAME]'@'%';  FLUSH PRIVILEGES;

至此,使用配置好的用戶名和密碼,應可以使用Navicat連接上資料庫。

Step 4: PHP 7 部分

注意,直接yum安裝PHP會安裝5.4版本。如果不慎安裝,請執行

yum remove php  yum remove php-fpm  yum remove php-common

然後reboot伺服器,再進行後續安裝。

為安裝PHP 7,需要配置一下新的源:

yum install epel-release  rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安裝PHPyum -y install php72w

安裝PHP依賴yum -y install php72w-fpm

安裝常用的PHP插件yum -y install php72w-cli php72w-common php72w-devel php72w-mbstring php72w-mysqlnd

重啟伺服器和資料庫,使相關插件生效

systemctl restart httpd.service  systemctl restart mysqld.service

驗證PHP版本是否為7.0+php -v

測試PHP能否正常解釋

cd /var/www/html  vi test.php

內容為<?php phpinfo(); ?>

在瀏覽器訪問之。若出現診斷頁,則安裝成功。

Step 5: 檢查 MySQLi 支援

test.php中搜索mysqli,若能看到類似表格,則MySQLi支援已啟動。PHP 7.2版本默認啟用MySQLi。

Step 6: 安全性配置

關閉Apache的目錄索引許可權:訪問Apache的httpd.conf文件,去除<Directory /var/www/html>OptionsIndexes屬性

在正式上線時,關閉PHP錯誤提示:編輯php.ini,修改display_errors選項到Off。

一些在Ubuntu下需要做的但在CentOS下好像不需要了的操作(僅供參考):

MySQL的默認配置文件路徑為/etc/my.cnf,其中的具體配置項目請參看https://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

  • 取消MySQL的地址綁定(否則會導致外網無法連接資料庫):[mysqld]bind_address=0.0.0.0
  • 禁止MySQL進行域名解析(否則會導致外網連接資料庫極慢無比):[mysqld]下添加skip-name-resolve

  • 設置資料庫默認編碼UTF-8:[mysqld]下添加character_set_server=utf8init_connect='SET NAMES utf8'

Step 7: FTP 伺服器

使用xShell聯合xFtp即可直接連接。

Step 8: 啟用HTTPS

安裝SSL支援yum install mod_ssl openssl

依據https://help.aliyun.com/knowledge_detail/95493.html的說明配置證書文件,注意:

  • 第2步若找不到對應配置項,無視該步驟
  • 第3步配置文件位置為/etc/httpd/conf.d/ssl.conf
  • 第4步所給指令不再有效,請使用systemctl restart httpd

現在,可以以域名方式https訪問相應埠。

至此,LAMP環境搭建完成。後續PHP程式碼上傳到/var/www/html目錄下即可。