如何在 Lightsail 執行個體上手動安裝 LAMP 堆疊?

4 分的閱讀內容
0

我想在我的 Amazon Lightsail 執行個體上手動安裝 Lamp (Linux、Apache、MySQL、PHP) 堆疊。

解決方法

**注意:**以下解決方法適用於 Amazon Lightsail 中 OS Only 選項下可用的大多數主要 Linux 發行版。這些包括 Ubuntu 20.04、Ubuntu 18.04、Debian 10 和 9 以及 CentOS 8 和 7。

如需如何在 Amazon Linux 2 上安裝 LAMP 堆疊的資訊,請參閱在 Amazon Linux 2 上安裝 LAMP Web 伺服器

如需如何在 Amazon Linux 上安裝 LAMP 堆疊的資訊,請參閱在 Amazon Linux 上安裝 LAMP Web 伺服器

安裝 Apache

Ubuntu 20.04 和 18.04、Debian 9 和 10

執行下列命令以安裝 Apache Web 伺服器:

sudo apt update -y
sudo apt install apache2 -y

CentOS 7 和 CentOS 8

執行下列命令以安裝 Apache Web 伺服器:

sudo yum update -y
sudo yum install httpd wget -y
sudo systemctl enable httpd
sudo systemctl start httpd

安裝 PHP

**注意:**以下步驟會安裝最新的套件版本 PHP 8.0。依預設,PHP 8.0 在大多數發行版中不存在。若要安裝 PHP 8.0,請開啟第三方儲存庫。

Ubuntu 20.04 和 Ubuntu 18.04

執行下列命令以安裝 PHP:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update -y
sudo apt install php8.0 php8.0-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} libapache2-mod-php8.0 -y

Debian 10 和 Debian 9

執行下列命令以安裝 PHP:

sudo apt install -y gnupg2 ca-certificates apt-transport-https software-properties-common
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
sudo apt update
sudo apt install php8.0 php8.0-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} libapache2-mod-php8.0 -y

CentOS 7

執行下列命令以安裝 PHP:

sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install -y yum-utils
sudo yum-config-manager --enable remi-php80
sudo yum install php php-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} -y

CentOS 8

執行下列命令以安裝 PHP:

sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf module enable php:remi-8.0 -y
sudo yum install php php-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} -y

開啟 PHP-FPM 模組

PHP-FPM 模組可提供更快的網站。儘管 PHP-FPM 是可選的,但在大多數網站建立和管理中使用它是最佳做法。

Ubuntu 20.04 和 18.04、Debian 10 和 9

執行下列命令以安裝 PHP-FPM:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.0-fpm
sudo a2dismod php8.0
sudo systemctl enable php8.0-fpm
sudo service apache2 restart;sudo service php8.0-fpm restart

CentOS 7

  1. 更新 Apache 組態以使用 mpm_event_module 而不是 mpm_prefork_module

    [centos@ip ~]# sudo vi /etc/httpd/conf.modules.d/00-mpm.conf
    # LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
    LoadModule mpm_event_module modules/mod_mpm_event.so
  2. 在 Apache 中備份目前的 PHP 組態檔,然後建立一個具有下列內容的新檔案:

    sudo mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_bak
    sudo vi /etc/httpd/conf.d/php.conf
    
    <Files ".user.ini">
        <IfModule mod_authz_core.c>
            Require all denied
        </IfModule>
        <IfModule !mod_authz_core.c>
            Order allow,deny
            Deny from all
            Satisfy All
        </IfModule>
    </Files>
    
    <FilesMatch \.php$>
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
    
    AddType text/html .php
    DirectoryIndex index.php
  3. 重新啟動 Apache 和 PHP-FPM 以使變更生效:

    sudo systemctl restart php-fpm
    sudo systemctl restart httpd

CentOS 8

  1. 更新 PHP-FPM 組態檔,以便服務監聽連接埠而不是通訊端

    sudo sed 's#listen = /run/php-fpm/www.sock#listen = 127.0.0.1:9000#g' -i /etc/php-fpm.d/www.conf
  2. 在 Apache 中備份目前的 PHP 組態檔,然後建立一個具有下列內容的新檔案:

    sudo mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_bak
    sudo vi /etc/httpd/conf.d/php.conf
    
    <Files ".user.ini">
        <IfModule mod_authz_core.c>
            Require all denied
        </IfModule>
        <IfModule !mod_authz_core.c>
            Order allow,deny
            Deny from all
            Satisfy All
        </IfModule>
    </Files>
    
    <FilesMatch \.php$>
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
    
    AddType text/html .php
    DirectoryIndex index.php
  3. 在伺服器上執行下列命令,以允許 Apache 建立傳出連線:

    sudo /usr/sbin/setsebool -P httpd_can_network_connect 1
  4. 重新啟動 Apache 和 PHP-FPM 以使變更生效:

    sudo systemctl restart php-fpm
    sudo systemctl restart httpd

安裝 MariaDB

使用 MariaDB 儲存庫安裝 MariaDB 版本 10.5。

  1. 執行下列命令以新增 MariaDB yum 儲存庫 (適用於所有 Linux 發行版):

    curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.5"
  2. 安裝 MariaDB 套件:

    Ubuntu 20.04、Ubuntu 18.04、Debian 10 和 Debian 9

    sudo apt install mariadb-server -y

    CentOS 8 和 CentOS 7

    sudo yum install MariaDB-server MariaDB-client -y
    sudo systemctl start mariadb.service
    sudo systemctl enable mariadb.service
  3. 執行下列命令以完成 MariaDB 安全安裝,以便設定根密碼:

    sudo mysql_secure_installation
  4. 出現提示時,設定根帳戶的密碼:
    輸入目前的根密碼。依預設,根帳戶未設定密碼。
    Enter 鍵。
    N 切換到 unix_socket 驗證。
    Y 設定密碼,然後輸入兩次安全密碼。將此密碼儲存在安全的地方。
    Y 移除匿名使用者帳戶。
    Y 關閉遠端根登入。
    按 ** Y** 移除測試資料庫。
    Y 重新載入權限表格並儲存變更。

將網站資料夾的權限新增至預設使用者

若要使用 SCP/SFTP 傳輸網站的執行個體,最佳做法是為其他使用者設定存取 /var/www 目錄的權限。如需如何設定權限的說明,請參閱設定檔案權限部分 (步驟 1: 準備 LAMP 伺服器中)。下列步驟為每個 Linux 發行版中的預設使用者提供所需的權限。您可以將使用者新增至 Apache 群組,然後將目錄的所有權變更為預設使用者和 Apache 群組。

完成下列步驟:

Ubuntu 20.04 和 18.04

  1. 執行下列命令:

    sudo usermod -a -G www-data ubuntu
  2. 登出,然後重新登入以取得新的群組。然後,執行 group 命令以驗證您的成員資格:

    sudo chown -R ubuntu:www-data /var/www
    sudo chmod 2775 /var/www
    find /var/www -type d -exec sudo chmod 2775 {} \;
    find /var/www -type f -exec sudo chmod 0664 {} \;

Debian 10 和 9

  1. 執行下列命令:

    sudo usermod -a -G www-data admin
  2. 登出,然後重新登入以取得新的群組。然後,執行 group 命令以驗證您的成員資格:

    sudo chown -R admin:www-data /var/www
    sudo chmod 2775 /var/www
    find /var/www -type d -exec sudo chmod 2775 {} \;
    find /var/www -type f -exec sudo chmod 0664 {} \;

CentOS 8 和 7

  1. 執行下列命令:

    sudo usermod -a -G apache centos
  2. 登出,然後重新登入以取得新的群組。執行 group 命令以驗證您的成員資格:

    sudo chown -R centos:apache /var/www
    sudo chmod 2775 /var/www
    find /var/www -type d -exec sudo chmod 2775 {} \;
    find /var/www -type f -exec sudo chmod 0664 {} \;

檢視預設網頁

在 Web 瀏覽器上存取執行個體的公有 IP 位址以檢視預設網頁。您的網站現在可以自訂。

AWS 官方
AWS 官方已更新 8 個月前