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目錄下即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM