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つの拡張子は.pubです。
- 「ファイルまたはディレクトリが見つかりません」というメッセージが表示されます。
拡張子が.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ダッシュボードを開きます
- 検索ボックスにphpMyAdminと
phpMyAdmin
して、選択します - データベースの名前をクリックして選択します。 空である必要があります(データベースにテーブルが見つかりません)
- [インポート]をクリックします
- [ファイルを選択]をクリックします
- デスクトップからデータベースを選択します
- 下にスクロールして[移動]をクリックします
これには数分かかりますので、しばらくお待ちください。
ステップ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フォルダー全体を圧縮します
- 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ダッシュボードを開きます
- 検索ボックスに「 PHPの
Select 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ファイルを削除します
- サーバーに再度アップロードします
このチュートリアルが気に入っていただけたでしょうか。 読んでくれてありがとう!