LAMP環境是常用的Web開發環境之一,其中LAMP分別代表Linux、Apache、MySQL和PHP。LAMP擁有龐大的社區支援和豐富的資源,適合開發、部署和維護各種規模的Web應用,由於其高度靈活性和可定製性,您可以根據專案需求調整每個組件的配置,以達到最佳效能和安全性。本文介紹如何在Alibaba Cloud Linux 3/2、CentOS 7.x作業系統的ECS執行個體內部署LAMP環境。
準備工作
建立用於部署LAMP環境的ECS執行個體,具體操作,請參見自訂購買執行個體。
該執行個體必須滿足以下條件:
執行個體已指派公網IP地址或綁定Elastic IP Address(EIP)。具體操作,請參見綁定和解除綁定Elastic IP Address。
作業系統:Alibaba Cloud Linux 3/2、CentOS 7.x。
執行個體安全性群組的入方向規則已允許存取22、80、443連接埠。具體操作,請參見添加安全性群組規則。
步驟一:安裝Apache
遠端連線需要部署LAMP環境的ECS執行個體。
具體操作,請參見通過密碼或密鑰認證登入Linux執行個體。
運行以下命令,安裝Apache服務及擴充包。
sudo yum -y install httpd httpd-manual mod_ssl mod_perl
運行以下命令,查看Apache的版本號碼。
httpd -v
返回結果類似如下所示,表示Apache安裝成功。
依次運行以下命令,啟動Apache服務並設定服務開機自啟動。
sudo systemctl start httpd sudo systemctl enable httpd
運行以下命令,查看Apache狀態。
sudo systemctl status httpd
返回結果如下所示,表示Apache服務已啟動。
步驟二:安裝並配置MySQL
安裝MySQL
當ECS執行個體作業系統為Alibaba Cloud Linux 3,需安裝MySQL依賴包。
sudo yum install compat-openssl10
運行以下命令,更新YUM源。
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
運行以下命令,安裝MySQL。
sudo yum -y install mysql-community-server
運行以下命令,查看MySQL版本號碼。
mysql -V
返回結果如下所示,表示MySQL安裝成功。
mysql Ver 8.0.36 for Linux on x86_64 (MySQL Community Server - GPL)
運行以下命令,啟動MySQL。
sudo systemctl start mysqld
依次運行以下命令,設定開機啟動MySQL。
sudo systemctl enable mysqld sudo systemctl daemon-reload
配置MySQL
運行以下命令,查看
/var/log/mysqld.log
檔案,擷取並記錄root使用者的初始密碼。sudo grep 'temporary password' /var/log/mysqld.log
命令列返回結果如下,其中
ARQTRy3+****
為MySQL的初始密碼。在下一步重設root使用者密碼時,會使用該初始密碼。2021-11-10T07:01:26.595215Z 1 [Note] A temporary password is generated for root@localhost: ARQTRy3+****
運行以下命令,配置MySQL的安全性。
sudo mysql_secure_installation
輸入MySQL的初始密碼。
說明在輸入密碼時,系統為了最大限度地保證資料安全,命令列將不做任何回顯。您只需要輸入正確的密碼資訊,然後按Enter鍵即可。
Securing the MySQL server deployment. Enter password for user root: #輸入上一步擷取的root使用者初始密碼
設定MySQL的新密碼。
The existing password for the user account root has expired. Please set a new password. New password: #輸入新密碼。長度為8至30個字元,必須同時包含大小寫英文字母、數字和特殊符號。特殊符號包含()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/ Re-enter new password: #確認新密碼。 The 'validate_password' plugin is installed on the server. The subsequent steps will run with the existing configuration of the plugin. Using existing password for root. Estimated strength of the password: 100 #返回結果包含您設定的密碼強度。 Change the password for root ? (Press y|Y for Yes, any other key for No) :Y #您需要輸入Y以確認使用新密碼。 #新密碼設定完成後,需要再次驗證新密碼。 New password:#再次輸入新密碼。 Re-enter new password:#再次確認新密碼。 Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :Y #您需要輸入Y,再次確認使用新密碼。
輸入Y刪除匿名使用者。
Remove anonymous users? (Press y|Y for Yes, any other key for No) :Y Success.
輸入Y禁止使用root使用者遠程登入MySQL。
Disallow root login remotely? (Press y|Y for Yes, any other key for No) :Y Success.
輸入Y刪除test庫以及使用者對test庫的存取權限。
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :Y - Dropping test database... Success. - Removing privileges on test database... Success.
輸入Y重新載入授權表。
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :Y Success. All done!
更多資訊,請參見MySQL文檔。
步驟三:安裝並配置PHP
安裝PHP
安裝PHP。
Alibaba Cloud Linux 3
運行以下命令,更新YUM源。
sudo rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-8.rpm --nodeps
運行以下命令,啟用
php:remi-8.0
模組流。sudo yum module enable -y php:remi-8.0
運行以下命令,安裝PHP。
sudo yum install -y php php-cli php-fpm php-common php-mysqlnd php-gd php-mbstring php-xml
Alibaba Cloud Linux 2
運行以下命令,更新YUM源。
sudo rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
運行以下命令,修改
yum-plugin-releasever-adapter
外掛程式配置以支援remi
源適配Alibaba Cloud Linux 2。sudo echo ", remi-php54.repo, remi-php71.repo, remi-php73.repo, remi-php80.repo, remi-php82.repo, remi.repo, epel.repo, remi-modular.repo, remi-php70.repo, remi-php72.repo, remi-php74.repo, remi-php81.repo, remi-php83.repo, remi-safe.repo" >> /etc/yum/pluginconf.d/releasever-adapter.conf
運行以下命令,啟用PHP 8.0倉庫。
sudo sed -i '1,10s/enabled=0/enabled=1/' /etc/yum.repos.d/remi-php80.repo
運行以下命令,安裝PHP。
sudo yum install -y php php-cli php-fpm php-common php-mysqlnd php-gd php-mbstring
CentOS 7.x
更新YUM源。
運行以下命令,安裝EPEL源和Remi倉庫。
sudo yum install -y epel-release sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
運行以下命令,啟用PHP 8.0倉庫。
sudo yum install -y yum-utils sudo yum-config-manager --enable remi-php80
運行以下命令,安裝PHP。
sudo yum install -y php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json
運行以下命令,查看PHP版本。
php -v
返回結果如下所示,表示安裝成功。
PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 ) Copyright (c) The PHP Group Zend Engine v4.0.30, Copyright (c) Zend Technologies
修改Apache設定檔以支援PHP
運行以下命令,備份Apache設定檔。
sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
修改Apache設定檔,添加Apache對PHP的支援。
重要若不添加此配置資訊,後續您使用瀏覽器訪問PHP頁面時,頁面將無法顯示。
運行以下命令,開啟Apache設定檔。
sudo vim /etc/httpd/conf/httpd.conf
按
i
進入編輯模式。添加下列配置資訊。
<FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch>
按
Esc
鍵,輸入:wq
,按Enter
鍵關閉並儲存設定檔。運行以下命令,重啟PHP-FPM.
sudo systemctl restart php-fpm
運行以下命令,在Apache網站根目錄建立測試檔案。
sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php'
運行以下命令,重啟Apache服務。
sudo systemctl restart httpd
在本地機器的瀏覽器地址欄中,輸入
http://執行個體公網IP/phpinfo.php
並按Enter鍵。顯示類似如下頁面表示安裝成功。
成功搭建LAMP環境後,建議您刪除phpinfo.php測試檔案,以消除資料泄露風險。
sudo rm -rf <網站根目錄>/phpinfo.php
本教程中網站根目錄為
/var/www/html
,則需要運行以下命令刪除測試檔案。sudo rm -rf /var/www/html/phpinfo.php