如何使用 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

名字前的那段时间告诉我们,这是一个隐藏目录。 有两种可能:

  1. 您会得到一个文件列表,其中一个文件的扩展名为 .pub。
  1. 您收到消息“找不到文件或目录”。

扩展名为 .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 文件夹
如何使用 Git 在 cPanel 中设置 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 文件
  • 再次上传到服务器

我希望你喜欢这个教程。 谢谢阅读!