全部產品
Search
文件中心

Elastic Compute Service:手動搭建Drupal網站(Alibaba Cloud Linux 3/2、CentOS 7.x/8.x)

更新時間:Feb 25, 2025

Drupal是使用PHP語言編寫的開源內容管理架構(CMF),由內容管理系統(CMS)和PHP開發架構(Framework)共同構成。它用於構建提供多種功能和服務的動態網站,能支援從個人部落格到大型社區等各種不同應用的網站專案。本文介紹如何在Alibaba Cloud Linux 3/2、CentOS 7.x/8.x系統的ECS執行個體中搭建Drupal電子商務網站。

準備工作

  1. 建立用於部署Drupal網站的ECS執行個體。具體操作,請參見自訂購買執行個體

    該執行個體必須滿足以下條件:

    • 作業系統:Alibaba Cloud Linux 3/2、CentOS 7.x/8.x。

    • 執行個體已指派固定公網IP地址或綁定Elastic IP Address(EIP)。具體操作,請參見綁定EIP

    • 執行個體安全性群組的入方向規則已允許存取22、80連接埠。具體操作,請參見添加安全性群組規則

  2. 部署LAMP環境。

    重要

    Drupal對PHP的版本有依賴關係,若版本不匹配則無法安裝Drupal。具體依賴請參見Drupal官方文檔。本文檔以安裝Drupal 11.1.0、PHP 8.4或8.3為例。

    具體操作,請參見手動部署LAMP環境

操作步驟

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

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  2. 安裝所需工具及相關依賴。

    #安裝Composer,並為Composer賦予可執行許可權
    sudo php -r "copy('https://mirrors.aliyun.com/composer/composer.phar', '/usr/local/bin/composer');"
    sudo chmod +x /usr/local/bin/composer
    #安裝PHP相關擴充
    sudo yum install -y php-gd php-pdo php-opcache php-xml php-dom php-simplexml php-zip unzip
    #重啟Apache服務,使擴充生效
    sudo systemctl restart httpd
    #安裝Git
    sudo yum install -y git
  3. 下載Drupal。

    進入Apache預設的網站目錄,使用Composer下載Drupal核心軟體,該操作會在目前的目錄下建立一個新的目錄my_site,您可以通過修改命令中的版本號碼(例如11.1.0)來指定下載的Drupal版本。

    重要

    如果您的伺服器在中國內地,請執行以下命令設定阿里雲鏡像源,提升下載速度。

    sudo /usr/local/bin/composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
    #進入Apache預設的網站目錄
    cd /var/www/html
    #使用Composer下載Drupal核心軟體
    sudo /usr/local/bin/composer create-project drupal/recommended-project:11.1.0 "my_site"
  4. 配置Drupal。

    1. 下載中文翻譯包,並為Drupal安裝過程中需要的目錄和檔案賦予寫入權限,以便順利完成後續的Drupal安裝。

      說明
      • 如果您下載的是其他版本的Drupal,您可以修改下方命令中的版本號碼,以下載對應版本的中文翻譯包。例如下載10.3.0版本的Drupal時,可修改為sudo wget -P sites/default/files/translations https://ftp-origin.drupal.org/files/translations/all/drupal/drupal-10.3.0-beta1.zh-hans.po

      • 如果您想在之後安裝Drupal時,選擇安裝語言為英文,則可以不下載中文翻譯包。

      #進入my_site/web目錄
      cd /var/www/html/my_site/web
      #建立相關目錄
      sudo mkdir -p sites/default/files/translations
      #下載中文翻譯包(如果您想在之後安裝Drupal時,選擇安裝語言為英文,則可以不下載中文翻譯包)
      sudo wget -P sites/default/files/translations https://ftp-origin.drupal.org/files/translations/all/drupal/drupal-11.1.0-beta1.zh-hans.po
      #為sites/default/files目錄添加寫入權限
      sudo chmod a+w sites/default/files
      #建立Drupal安裝設定檔sites/default/settings.php並添加寫入權限
      sudo cp sites/default/default.settings.php sites/default/settings.php
      sudo chmod a+w sites/default/settings.php
    2. 為Apache服務開啟簡潔URL。

      1. 開啟Apache設定檔。

        sudo vim /etc/httpd/conf/httpd.conf
      2. i鍵進入編輯模式,將以下內容添加至設定檔中。

        <Directory "/var/www/html/my_site/web">
            AllowOverride All
            Require all granted
        </Directory>

        添加後,輸入:wq,按Enter鍵儲存並退出。

      3. 重啟Apache服務。

        sudo systemctl restart httpd
  5. 安裝Drupal。

    1. 在本地瀏覽器輸入http://<ECS執行個體公網IP地址>/my_site/web ,進入到Drupal安裝介面。

    2. 選擇安裝語言,單擊Save and continue

      image

    3. 選擇標準安裝方式,單擊儲存並繼續

      image

    4. 系統會自動檢查當前環境是否符合安裝要求。

      • 若符合要求,自動跳轉至下一步。

      • 若有未符合要求的內容,將在檢查時提出警告,您可以根據警告內容進行修複。修複後,在頁面下方單擊重試即可重新檢查。

        例如,出現如下警告,可以執行yum install -y php-mbstring命令安裝該擴充,安裝後,執行sudo systemctl restart httpd命令使擴充生效,即可修複該警告。

        image

    5. 設定資料庫檔案,單擊儲存並繼續

      image

    6. 自動安裝完成後進入網站設定介面,填寫網站資訊,單擊儲存並繼續

      image

      image

  6. 安裝完成後,進入Drupal網站頁面,您可以根據您的需求對網站進行個人化。

    後續操作

    重要

    安裝完成後,建議您執行以下命令移除sites/defaultsites/default/filessites/default/settings.php的寫入權限以避免安全風險。

    sudo chmod a-w /var/www/html/sites/default
    sudo chmod a-w /var/www/html/sites/default/files
    sudo chmod a-w /var/www/html/sites/default/settings.php

常見問題

無法訪問Drupal網站的排查思路?

  1. 排查php-fpm和MySQL是否已啟動。

    1. 執行以下命令,查看php-fpm的狀態。

      sudo systemctl status php-fpm
      • 如果狀態為Running,表示php-fpm已啟動,請繼續執行下一步。

      • 如果狀態為非Running,表示php-fpm沒有啟動,請執行以下命令啟動php-fpm。

        sudo systemctl start php-fpm
    2. 執行以下命令,查看MySQL的狀態。

      sudo systemctl status mysqld
      • 如果狀態為Running,表示MySQL已啟動,請繼續執行下一步。

      • 如果狀態為非Running,表示MySQL沒有啟動,請執行以下命令啟動MySQL。

        sudo systemctl start mysqld
  2. 排查Drupa和PHP的版本是否匹配。

    Drupal對PHP的版本有依賴關係,否則會無法安裝Drupal。具體依賴請參見Drupal官方文檔

    若您已安裝的PHP版本與Drupal版本不匹配,請先卸載不匹配版本的PHP,再安裝匹配版本的PHP。