Gitを使用してcPanelでDrupalワークフローを設定する方法-OSTraining

公開: 2022-06-29

他のCMSとは異なり、Drupalコアの更新は難しくありませんが、すべての詳細が関係しているため、どういうわけか複雑です。 このチュートリアルでは、ローカルのDrupal 9インストールを実装してから、このコードベースをBitbucketの中央リポジトリにアップロード(プッシュ)します。 次に、このリポジトリからWebサイトが保存されるライブサーバーにコードベースをダウンロード(プル)します。

この(端末指向の)プロセスを使用すると、Drupalコアとモジュールの更新を高速化でき、ベストプラクティスに従うことができます。

システムにLAMPスタックがすでにインストールされていることを前提としています。 さらに、Webサーバーでターミナルアクセスが必要です。

方法を学ぶために読み続けてください!

ステップ1:Drupal9をローカルにインストールする

システムのターミナルアプリケーションを開き、ローカルサーバーディレクトリ(通常は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のrootパスワードを入力します。

 create database my_drupal; exit;

これにより、コードベースにリンクするデータベースが作成されます。

  • Webブラウザを開きます
  • タイプ:localhost / my_drupal / web

ローカルインストールプロセスを終了します。


ステップ2:キーを作成してリモートリポジトリに追加する

このチュートリアルでは、Bitbucketを使用します。 手順はGithubプロファイルと非常によく似ています。

Bitbucketアカウントにログインしたら、(この記事の執筆時点で)左下隅にあるプロフィールアイコンをクリックします。

  • 個人設定を選択
  • SSHキーをクリックします
  • [キーを追加]をクリックします

ラベルとキーの入力を求めるポップアップウィンドウが表示されます。

  • MyLaptop 、BobsPC 、またはBitbucketで自分のマシンを識別するために好きなものを入力します
  • ターミナルアプリケーションを開きます
  • タイプls -al ~/.ssh

名前が示す前の期間、これは隠しディレクトリです。 2つの可能性があります:

  1. ファイルのリストが表示されます。これらのファイルの1つの拡張子は.pubです。
  1. 「ファイルまたはディレクトリが見つかりません」というメッセージが表示されます。

拡張子が.pubのファイルは、システムの公開鍵です。 このファイルが表示されない場合は、作成する必要があります。 ファイルが表示された場合は、とにかく読み続けてください。

  • タイプssh-keygen -t rsa -C "my_email@my_domain.com"
  • Enterキー押して、キーが保存されるデフォルトのディレクトリ(.ssh)を選択します。
  • 同じパスフレーズを2回入力します( Enterキーを2回押すと、これを空のままにすることができます)。

システムは、公開鍵の場所とその指紋について通知します。 システムにすでに.pubキーがある場合は、ここに戻ってください。

  • 好みのコードエディタでファイル.ssh/id_rsa.pubを開きます
  • メールアドレスを含む全文をコピーする
  • ブラウザを開き、テキスト領域に貼り付けます
  • [キーを追加]をクリックします

これで、ローカルマシンがBitbucketに接続できるようになりました。


ステップ3:リモートリポジトリを作成する

Bitbucketプロファイル:

  • [リポジトリの作成]をクリックします
  • ワークスペースとプロジェクト名を選択します(初めての場合は作成します
  • リポジトリに適切な名前を付けます
  • READMEファイルを含めないでください
  • .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ステージング領域に追加し、最後にこれらの「変更」をコミットします(リポジトリは最初は空)リポジトリに。

  • タイプ
 git remote add origin [email protected]:[MY_PROJECT]/my-drupal.git git push -u origin master

これらの2つのコマンドは、Bitbucketのリポジトリのページからコピーして貼り付けることができます。

  • プロンプトが表示されたら、yesと入力します
  • パスフレーズを入力してください

Bitbucketのリポジトリを確認してください。 Webディレクトリ(ローカルリポジトリ)内のほとんどすべてのファイルがリモートリポジトリにコピーされています。 sites/defaultディレクトリを見てください。

settings.phpファイルが欠落していることに注意してください。 これは、.gitignoreファイルに含まれているためです。

  • ターミナルを開い
  • タイプ:nano .gitignore
  • Ctrl + xと入力して、nanoエディターを閉じます

このチュートリアルの最初の画像のカードを見ると、カード1のタスクはすでに完了しており、カード2にはタスクが1つしか残っていないことがわかります。このプロセスの最後の部分に進みましょう。 。


ステップ5:ライブデータベースを作成する

ホスティングプロバイダーでダッシュボードを開き、ドメイン名を使用して新しいDrupalアカウントを作成します。

  • Drupalの「ワンボタンインストーラー」をクリックします。
  • [アカウントを作成]をクリックします

これはプロバイダーごとに異なる可能性があるため、ここから抜け出す方法を見つける必要があります。

Drupalユーザー(admin)とDrupalパスワードが記載されたメールが届きます。 さらに、cPanelアカウントのユーザー名とパスワードも受け取ります。 これらは私たちが必要とするものです。 これらは、ホスティングプロバイダーのダッシュボードでも利用できます。

  • [ 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ダッシュボードを開きます
  • 検索ボックスにphpMyAdminphpMyAdminして、選択します
  • データベースの名前をクリックして選択します。 空である必要があります(データベースにテーブルが見つかりません
  • [インポート]をクリックします
  • [ファイルを選択]をクリックします
  • デスクトップからデータベースを選択します
  • 下にスクロールして[移動]をクリックします

これには数分かかりますので、しばらくお待ちください。


ステップ7:ドメインをリダイレクトする

DrupalはWebディレクトリ内に保存されているため、サイトにアクセスするには、次のURLを入力する必要があります: https://yoursite.xxx/web ://yoursite.xxx/web

クラウドサービスを使用している場合、これは問題ありません。hostsファイルを編集できます。 cPanelでは、これは不可能です(私が知る限り)。 永続的なURLリダイレクトを作成する必要があります。

  • cPanelダッシュボードを開きます
  • 検索ボックスに「リダイレクト」と入力しRedirects
  • Enterキーを押します
  • 永続的なリダイレクト(301)を選択します
  • ドロップダウンからドメインの名前を選択します
  • リダイレクトリンクを追加する
  • [追加]をクリックします
  • 検索ボックスに「 Domainsと入力します
  • Enterキーを押します
  • [ HTTPSリダイレクトを強制する]トグルをクリックします

ステップ8:コードベースをアップロードする

  • cPanelダッシュボードを開きます
  • 検索ボックスに「ファイルマネージャー」と入力します
  • Enterキーを押します
  • public_htmlディレクトリをダブルクリックします
  • 画面右上の[設定]ボタンをクリックします
  • [隠しファイル(ドットファイル)を表示する]をオンにします
  • [保存]をクリックします
  • [すべて選択]をクリックします
  • [削除]をクリックします
  • システムのファイルマネージャーを開きます
  • my_drupalフォルダー全体を圧縮します
Gitを使用してcPanelでDrupalワークフローを設定する方法
  • cPanelファイルマネージャーを開きます
  • public_htmlディレクトリ内でアップロードクリックします
  • [ファイルの選択]をクリックします
  • zipファイルをアップロードする
  • ファイルがサーバーにアップロードされたら、[戻る]をクリックします
  • zipファイルを右クリックし、[抽出] >[ファイルの抽出]>[閉じる]選択します
  • my_drupalフォルダーをダブルクリックします
  • [隠しファイルを表示する]オプションが有効になっていることを確認してください
  • [すべて選択]をクリックします
  • [移動]をクリックします
  • public_htmlディレクトリを選択します
  • [ファイルを移動]をクリックします
  • 1つ上のレベルをクリックします
  • zipファイルを右クリックし、[削除]をクリックします
  • ローカルサーバーからもzipファイルを削除します
  • ターミナルまたはファイルマネージャーを開きます
  • ローカルインストールのsettings.phpファイルをデスクトップにコピーします
  • お好みのコードエディタでファイルを開きます
  • ユーザー名をホスティングプロバイダーから提供されたユーザー名に置き換えます(データベースの名前とパスワードについても同じようにします。手順5を参照してください)。
  • ファイルを保存して閉じます
  • cPanelダッシュボードでファイルマネージャーを開きます
  • public_html / web / sites/defaultをクリックします
  • [アップロード]をクリックします
  • デスクトップからsettings.phpファイルを選択します
  • [はい]をクリックしてファイルを上書きします
  • [戻る]をクリックします
  • 下の画像に従って、ファイルとディレクトリのアクセス許可を変更します
  • 1つ上のレベルをクリックします
  • デフォルトフォルダの権限を0755に変更します

ステップ9:サーバーにPHPバージョンを設定する

Drupalには少なくともPHP7.3が必要です。

  • cPanelダッシュボードを開きます
  • 検索ボックスに「 PHPSelect PHPと入力します
  • Enterキーを押します
  • 7.4を選択します
  • [現在に設定]をクリックします
  • opcache拡張機能を確認してください
  • ブラウザのアドレスバーに[ yoursite.xxx/web [yoursite.xxx/web]と入力します
  • ローカルのDrupalインストールのユーザー名とパスワードでログインクリックします
  • [編集]タブをクリックし、必要に応じてパスワードを変更します

ステップ10:本番サーバーキーをBitbucketに追加します

  • cPanelダッシュボードを開きます
  • 検索ボックスに「 Terminalと入力します
  • Enterをクリックします
  • [理解して続行します]をクリックします
  • ステップ2で詳述されているプロセスを繰り返します
  • タイプ: less ~/.ssh/id_rsa.pub

lessはターミナルエディタです

  • ステップ2に示すように、今度はサーバーマシン用にキーをコピーして貼り付けます
  • タイプq

それはあなたがより少なく終了できるようになります。

Bitbucketに接続されているマシン(または仮想マシン)ごとに1つのキーがあります。


手順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 cd webと入力して、Webディレクトリに移動します
  • タイプ
 git add . git commit -m 'Bootstrap theme installation' git status
  • gitpushと入力git push
  • 必要に応じてパスフレーズを入力してください
  • リモートサーバーでターミナルを開きます。
  • 次のように入力します(必要に応じてパスフレーズを入力します):
 git fetch git status

次のような場合:ブランチは「origin / master」より1コミット遅れており、早送りできます。

  • タイプgit merge

これにより、サーバー内のコードがリモートリポジトリから取得されたコードとマージされます。

  • Drupalバックエンドのテーマセクションに移動します。Bootstrapテーマがそこにあるはずです

注:モジュールをダウンロードしたり、Drupalコアを更新したり、テーマのCSSコードを編集したりするたびに、この最後の手順を繰り返すだけで済みます。


トラブルシューティング

Drupalを本番サーバーにインストールした後に404エラーページが表示された場合は、

  • .htaccessファイルを削除します
  • サーバーに再度アップロードします

このチュートリアルが気に入っていただけたでしょうか。 読んでくれてありがとう!