全部產品
Search
文件中心

Elastic Compute Service:部署LAMP環境(Alibaba Cloud Linux/CentOS 7.x)

更新時間:Oct 13, 2024

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

  1. 遠端連線需要部署LAMP環境的ECS執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Linux執行個體

  2. 運行以下命令,安裝Apache服務及擴充包。

    sudo yum -y install httpd httpd-manual mod_ssl mod_perl
  3. 運行以下命令,查看Apache的版本號碼。

    httpd -v

    返回結果類似如下所示,表示Apache安裝成功。

    httpd -v

  4. 依次運行以下命令,啟動Apache服務並設定服務開機自啟動。

    sudo systemctl start httpd
    sudo systemctl enable httpd
  5. 運行以下命令,查看Apache狀態。

    sudo systemctl status httpd

    返回結果如下所示,表示Apache服務已啟動。

    image.png

步驟二:安裝並配置MySQL

安裝MySQL

  1. 當ECS執行個體作業系統為Alibaba Cloud Linux 3,需安裝MySQL依賴包。

    sudo yum install compat-openssl10
  2. 運行以下命令,更新YUM源。

    sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
  3. 運行以下命令,安裝MySQL。

    sudo yum -y install mysql-community-server
  4. 運行以下命令,查看MySQL版本號碼。

    mysql -V

    返回結果如下所示,表示MySQL安裝成功。

    mysql  Ver 8.0.36 for Linux on x86_64 (MySQL Community Server - GPL)
  5. 運行以下命令,啟動MySQL。

    sudo systemctl start mysqld
  6. 依次運行以下命令,設定開機啟動MySQL。

    sudo systemctl enable mysqld
    sudo systemctl daemon-reload

配置MySQL

  1. 運行以下命令,查看/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+****
  2. 運行以下命令,配置MySQL的安全性。

    sudo mysql_secure_installation
    1. 輸入MySQL的初始密碼。

      說明

      在輸入密碼時,系統為了最大限度地保證資料安全,命令列將不做任何回顯。您只需要輸入正確的密碼資訊,然後按Enter鍵即可。

      Securing the MySQL server deployment.
      
      Enter password for user root: #輸入上一步擷取的root使用者初始密碼
    2. 設定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,再次確認使用新密碼。
    3. 輸入Y刪除匿名使用者。

      Remove anonymous users? (Press y|Y for Yes, any other key for No) :Y
      Success.
    4. 輸入Y禁止使用root使用者遠程登入MySQL。

      Disallow root login remotely? (Press y|Y for Yes, any other key for No) :Y
      Success.
    5. 輸入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.
    6. 輸入Y重新載入授權表。

      Reload privilege tables now? (Press y|Y for Yes, any other key for No) :Y
      Success.
      
      All done!

更多資訊,請參見MySQL文檔

步驟三:安裝並配置PHP

安裝PHP

  1. 安裝PHP。

    Alibaba Cloud Linux 3

    1. 運行以下命令,更新YUM源。

      sudo rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-8.rpm  --nodeps
    2. 運行以下命令,啟用php:remi-8.0模組流。

      sudo yum module enable -y php:remi-8.0
    3. 運行以下命令,安裝PHP。

      sudo yum install -y php php-cli php-fpm php-common php-mysqlnd php-gd php-mbstring php-xml

    Alibaba Cloud Linux 2

    1. 運行以下命令,更新YUM源。

      sudo rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
    2. 運行以下命令,修改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
    3. 運行以下命令,啟用PHP 8.0倉庫。

      sudo  sed -i '1,10s/enabled=0/enabled=1/' /etc/yum.repos.d/remi-php80.repo
    4. 運行以下命令,安裝PHP。

      sudo yum install -y php php-cli php-fpm php-common php-mysqlnd php-gd php-mbstring

    CentOS 7.x

    1. 更新YUM源。

      1. 運行以下命令,安裝EPEL源和Remi倉庫。

        sudo yum install -y epel-release
        sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
      2. 運行以下命令,啟用PHP 8.0倉庫。

        sudo yum install -y yum-utils
        sudo yum-config-manager --enable remi-php80
    2. 運行以下命令,安裝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
  2. 運行以下命令,查看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

  1. 運行以下命令,備份Apache設定檔。

    sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
  2. 修改Apache設定檔,添加Apache對PHP的支援。

    重要

    若不添加此配置資訊,後續您使用瀏覽器訪問PHP頁面時,頁面將無法顯示。

    1. 運行以下命令,開啟Apache設定檔。

      sudo vim /etc/httpd/conf/httpd.conf
    2. i進入編輯模式。

    3. 添加下列配置資訊。

      <FilesMatch \.php$>
          SetHandler "proxy:fcgi://127.0.0.1:9000"
      </FilesMatch>
    4. Esc鍵,輸入:wq,按Enter鍵關閉並儲存設定檔。

    5. 運行以下命令,重啟PHP-FPM.

      sudo systemctl restart php-fpm
  3. 運行以下命令,在Apache網站根目錄建立測試檔案。

    sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php'
  4. 運行以下命令,重啟Apache服務。

    sudo systemctl restart httpd
  5. 在本地機器的瀏覽器地址欄中,輸入http://執行個體公網IP/phpinfo.php並按Enter鍵。

    顯示類似如下頁面表示安裝成功。

    image

  6. 成功搭建LAMP環境後,建議您刪除phpinfo.php測試檔案,以消除資料泄露風險。

    sudo rm -rf <網站根目錄>/phpinfo.php

    本教程中網站根目錄為/var/www/html,則需要運行以下命令刪除測試檔案。

    sudo rm -rf /var/www/html/phpinfo.php