如何使用 Git 在 cPanel 中設置 Drupal 工作流 - OSTraining
已發表: 2022-06-29與其他 CMS 不同,Drupal 核心的更新並不困難,但由於涉及到所有細節,因此有些複雜。 在本教程中,我們將實現本地 Drupal 9 安裝,然後我們將上傳(推送)此代碼庫到 Bitbucket 上的中央存儲庫。 然後,我們將從該存儲庫下載(拉取)代碼庫到將存儲網站的實時服務器。

使用這個(面向終端的)流程,您將能夠加速 Drupal 核心和模塊更新,並且您將遵循最佳實踐。
假設您的系統上已經安裝了 LAMP 堆棧。 此外,您需要在 Web 服務器上進行終端訪問。
繼續閱讀以了解如何操作!
第 1 步:在本地安裝 Drupal 9
打開系統的終端應用程序,並將光標放在本地服務器目錄上,通常是 Linux 系統上的/var/www/html
。
- 類型:
composer create-project drupal/recommended-project my_drupal
這會將最新的穩定 Drupal 版本下載到您的機器上。
- 類型:
cd my_drupal/ mkdir config cd web/sites/default/ cp default.settings.php settings.php cd .. sudo chmod -R 777 default/
這些終端命令按順序執行以下操作:
- 訪問my_drupal 目錄
- 創建一個名為 config 的目錄
- 訪問默認目錄
- 複製文件 default.settings.php 並將其名稱更改為 settings.php
- 返回站點目錄
- 為默認目錄分配全局權限,以便系統完成安裝過程

完成後,我們需要創建一個數據庫。
- 類型:
mysql -u root -p
輸入您的 MySQL 根密碼。
create database my_drupal; exit;
這將創建您將鏈接到代碼庫的數據庫。

- 打開您的網絡瀏覽器
- 類型:localhost/my_drupal/web
完成本地安裝過程。

步驟 2:創建密鑰並將其添加到遠程存儲庫
出於本教程的目的,我將使用 Bitbucket。 這些步驟與 Github 配置文件非常相似。
登錄到您的 Bitbucket 帳戶後,單擊位於左下角(在撰寫本文時)的個人資料圖標。
- 選擇個人設置
- 單擊SSH 密鑰

- 單擊添加密鑰
您將看到一個彈出窗口,提示您輸入標籤和密鑰。
- 鍵入MyLaptop、BobsPC或任何您喜歡在 Bitbucket 識別您自己的機器

- 打開您的終端應用程序
- 類型:
ls -al ~/.ssh
名字前的那段時間告訴我們,這是一個隱藏目錄。 有兩種可能:
- 您會得到一個文件列表,其中一個文件的擴展名為 .pub。

- 您收到消息“找不到文件或目錄”。
擴展名為 .pub 的文件是系統的公鑰。 如果您沒有看到此文件,則必須創建一個。 如果您確實看到了該文件,請繼續閱讀。
- 類型:
ssh-keygen -t rsa -C "my_email@my_domain.com"
- 按Enter 鍵選擇存儲密鑰的默認目錄 (.ssh)。
- 輸入相同的密碼兩次(您可以按兩次Enter將其留空。)
系統將通知您您的公鑰及其指紋的位置。 如果您的系統上已有 .pub 密鑰,請返回此處。
- 使用您喜歡的代碼編輯器打開文件 .ssh/id_rsa.pub
- 複製整個文本,包括您的電子郵件地址

- 打開瀏覽器並將其粘貼到文本區域
- 單擊添加密鑰

您的本地計算機現在可以連接到 Bitbucket。
第 3 步:創建遠程存儲庫
在您的 Bitbucket 個人資料中:
- 單擊創建存儲庫
- 選擇一個工作區和一個項目名稱(如果這是第一次創建它們)
- 給你的回購一個合適的名字
- 不要包含自述文件
- 不要包含 .gitignore 文件
- 單擊創建存儲庫

第 4 步:將本地存儲庫添加到 Bitbucket
- 類型:
cd /var/www/html/my_drupal/web mv example.gitignore .gitignore git init git add . git commit -m 'Fresh Drupal installation'
您正在訪問 Drupal 安裝的根目錄,將文件 example.gitignore 的名稱更改為 .gitignore,初始化本地存儲庫,將文件添加到 git 暫存區,最後提交這些“更改”(repo 最初是空)到存儲庫。
- 類型:
git remote add origin [email protected]:[MY_PROJECT]/my-drupal.git git push -u origin master
您可以從 Bitbucket 的存儲庫頁面複製並粘貼這兩個命令。


- 如果出現提示,請鍵入是
- 輸入您的密碼
檢查 Bitbucket 上的存儲庫。 Web 目錄(您的本地存儲庫)中的幾乎所有文件都已復製到您的遠程存儲庫。 查看站點/默認目錄。

請注意,缺少 settings.php 文件。 這是因為它包含在 .gitignore 文件中。
- 打開你的終端並
- 類型:納米 .gitignore

- 輸入Ctrl+x 關閉 nano 編輯器
如果你看一下本教程第一張圖片中的卡片,你會注意到我們已經完成了卡片 1 的任務,卡片 2 中只剩下一個任務。讓我們繼續這個過程的最後一部分.
第 5 步:創建實時數據庫
在您的託管服務提供商處打開您的儀表板並使用您的域名創建一個新的 Drupal 帳戶。
- 單擊Drupal “一鍵安裝程序”。
- 點擊創建賬戶
這可能因提供商而異,因此您必須在這裡找到出路。

您將收到一封包含 Drupal 用戶 (admin) 和 Drupal 密碼的電子郵件。 此外,您還將收到您的 cPanel 帳戶的用戶名和密碼。 這些是我們需要的。 它們也可以在您的託管服務提供商的儀表板上找到。

- 單擊Enable SSH ,以便我們可以訪問實時服務器上的終端。

- 點擊cPanel鏈接
- 在搜索框中鍵入
databases
- 選擇MySQL 數據庫
one-clck 安裝程序創建了一個數據庫。 刪除此數據庫。

- 輸入數據庫的正確名稱。
請注意 cPanel 自動添加的數據庫前綴(在大多數情況下是您的用戶名)。

第 6 步:導入本地數據庫
- 打開您的終端應用程序
- 類型:
mysqldump -u root p my_drupal > ~/[path/to/your/desktop]/[cpanel_sql_db_name].sql
- 輸入您的 SQL 根密碼
這將復制您的數據庫並將其放置在您的桌面上。 桌面上的這個數據庫必須與您在 cPanel 上創建的數據庫同名。
如果您的機器上有 MySQL 版本 8,您很可能必須調整數據庫以使用 MySQL 5(可在您的託管服務提供商處獲得)。
- 類型:
sed -i -e 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' [cpanel_sql_db_name].sql
這是執行此操作的 Linux 命令。

- 打開您的cPanel儀表板
- 在搜索框中輸入
phpMyAdmin
並選擇它 - 單擊數據庫的名稱以選擇它。 它應該是空的(在數據庫中沒有找到表)
- 點擊導入

- 點擊選擇文件
- 從桌面選擇數據庫
- 向下滾動並單擊Go
這將需要幾分鐘,所以請耐心等待。


第 7 步:重定向您的域
Drupal 存儲在 web 目錄中,因此要訪問您的站點,您必須輸入 URL: https://yoursite.xxx/web
://yoursite.xxx/web
如果您使用雲服務,這沒問題,您可以編輯您的主機文件。 使用 cPanel,這是不可能的(據我所知)。 您必須創建一個永久 URL 重定向。
- 打開您的 cPanel 儀表板
- 在搜索框中輸入
Redirects
- 按回車
- 選擇永久重定向 (301)
- 從下拉列表中選擇您的域名
- 添加重定向鏈接
- 點擊添加

- 在搜索框中鍵入
Domains
- 按回車
- 單擊強制 HTTPS 重定向切換器

第 8 步:上傳代碼庫
- 打開您的 cPanel 儀表板
- 在搜索框中鍵入文件管理器
- 按回車
- 雙擊public_html 目錄
- 點擊屏幕右上角的設置按鈕
- 檢查顯示隱藏文件(dotfiles)
- 點擊保存
- 點擊全選
- 點擊刪除

- 打開系統的文件管理器
- 壓縮整個 my_drupal 文件夾
- 打開cPanel 文件管理器
- 在 public_html 目錄中點擊Upload
- 單擊選擇文件
- 上傳壓縮文件
- 文件上傳到服務器後單擊返回
- 右鍵單擊zip 文件並選擇提取 > 提取文件 > 關閉
- 雙擊my_drupal 文件夾
- 確保您已激活顯示隱藏文件選項
- 點擊全選
- 單擊移動
- 選擇public_html目錄
- 單擊移動文件

- 單擊上一級
- 右鍵單擊zip 文件,然後單擊刪除
- 也從本地服務器中刪除zip 文件

- 打開終端或文件管理器
- 將本地安裝的settings.php文件複製到桌面

- 使用您喜歡的代碼編輯器打開文件
- 將用戶名替換為您的託管服務提供商提供的用戶名(對數據庫名稱和密碼執行相同操作 - 參見第 5 步)
- 保存並關閉文件

- 在cPanel儀表板中打開文件管理器
- 點擊public_html/web/sites/default
- 點擊上傳
- 從桌面選擇settings.php 文件
- 單擊是覆蓋文件
- 點擊返回
- 根據下圖更改文件和目錄權限

- 單擊上一級
- 將默認文件夾的權限更改為0755
第 9 步:在您的服務器上設置 PHP 版本
Drupal 至少需要 PHP 7.3。
- 打開您的cPanel儀表板
- 在搜索框中輸入
Select PHP
- 按回車
- 選擇7.4
- 單擊設置為當前
- 檢查opcache擴展

- 在瀏覽器地址欄中輸入
[yoursite.xxx/web]
- 單擊使用本地 Drupal 安裝的用戶名和密碼登錄
- 如有必要,單擊編輯選項卡並更改密碼
第 10 步:將生產服務器密鑰添加到 Bitbucket
- 打開您的cPanel儀表板
- 在搜索框中輸入
Terminal
- 點擊進入
- 單擊我了解並希望繼續
- 重複步驟#2中詳述的過程

- 類型:
less ~/.ssh/id_rsa.pub
less是一個終端編輯器
- 複製並粘貼密鑰,如步驟#2所示,這次是服務器機器
- 類型:
q
這將使您退出更少。
連接到 Bitbucket 的每台機器(或虛擬機)都有一個密鑰。

步驟 11:將遠程存儲庫克隆到生產服務器
- 打開服務器的終端應用程序
- 類型:
cd public_html rm -rf web git clone [email protected]:[YOUR_PROJECT]/my-drupal.git web

您正在刪除 web 文件夾並將其替換為遠程存儲庫。 如果您打開 Bitbucket 存儲庫並單擊克隆按鈕,您將獲得最後一個終端命令(不要忘記在命令末尾添加 web! ) 。

第 12 步:安裝模塊或主題
- 打開本地系統的終端應用程序
- 類型:
cd /var/www/html/my_drupal composer require drupal/bootstrap

- 輸入
cd web
進入 web 目錄 - 類型:
git add . git commit -m 'Bootstrap theme installation' git status

- 輸入
git push
- 如果需要,請輸入密碼

- 打開遠程服務器上的終端。
- 輸入(如果需要,輸入密碼):
git fetch git status

如果您看到:您的分支落後於 'origin/master' 1 次提交,並且可以快進,
- 類型:
git merge
這會將您服務器中的代碼與從遠程存儲庫中提取的代碼合併。
- 轉到Drupal 後端的主題部分,Bootstrap 主題應該在那裡

注意:每次下載模塊、更新 Drupal 核心或編輯主題的 CSS 代碼時,您只需重複最後一步。
故障排除
如果在生產服務器上安裝 Drupal 後出現 404 錯誤頁面,
- 刪除.htaccess 文件
- 再次上傳到服務器

我希望你喜歡這個教程。 謝謝閱讀!