ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で入手できます。
- Oracle Cloud Infrastructure資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了したら、これらの値をクラウド環境に固有の値に置き換えてください。
MySQLデータベースを使用したOracle LinuxへのDrupal CMSのインストール
イントロダクション
Drupalは、PHPで記述されたWebコンテンツ管理システム(CMS)です。Drupalは、個人ブログから企業、政治、政府サイトまで、世界中のWebサイトのインフラストラクチャを提供します。非常に拡張可能でモジュール式で、さまざまなシナリオで使用できます。
このワークショップを開始ポイントとして使用し、Oracle LinuxおよびOracle MySQL Database Service上に構築された完全なインストールを行います。
成功へのステップ
このワークショップでは、次の方法を学習します。
- VCNおよびサブネットの作成
- Linuxインスタンスの作成
- Apache HTTP Serverのインストールおよび構成
- MySQL Database Serviceインスタンスの作成および移入
- Drupalのインストールおよび構成
前提条件
- Oracle Cloud Infrastructureアカウントが必要です。
- Webブラウザ
- SSHターミナル- クラウド・シェル(OCIコンソールで指定)。または、SSH (LinuxまたはMAC)を使用する端末、GitBash/PuttyまたはWSL (Linux用のWindowsサブシステム)を使用するWindowsマシン。
Virtual Cloudネットワークおよび関連コンポーネントの作成
VCNおよびサブネットの作成
Linuxインスタンスをインターネットに接続するように、Virtual Cloud Network (VCN)を設定します。仮想ネットワークの作成に必要なすべてのコンポーネントを構成します。
-
ナビゲーション・メニューを開きます。「コア・インフラストラクチャ」の下で、「ネットワーキング」に進み、「Virtual Cloud Networks」をクリックします。
左側の「コンパートメント」リストで、コンパートメント(または指定されたコンパートメント)が選択されていることを確認してください。
-
「VCNウィザードの起動」をクリックします。
-
「インターネット接続性を持つVCN」を選択し、「VCNウィザードの起動」をクリックします。
-
次のように入力します(説明は斜体で、シナリオの値に置き換えます)。
-
Name: クラウド・ネットワークの名前を入力します
-
COMPARTMENT: 目的のコンパートメントを選択します
-
VCN CIDRブロック: 10.0.0.0/16
-
パブリック・サブネットCIDRブロック: 10.0.0.0/24
-
プライベート・サブネットCIDRブロック: 10.0.1.0/24
-
DNS解決: チェック済
ノートパブリック・サブネットとプライベート・サブネットには異なるCIDRブロックがあります。
-
-
「次へ」をクリックします。
「インターネット接続を使用したVCNの作成」構成ダイアログが表示され、入力したすべての値が確認され、作成される追加のコンポーネントがリストされます。
-
「作成」をクリックして、ワークフローを開始します。
-
ワークフローが完了したら、「Virtual Cloud Networksの表示」をクリックすると、作成したVCNの詳細ページが表示されます。
HTTP受信接続を許可するようにセキュリティ・リストを構成します
デフォルトのセキュリティ・リストに、ポート80/TCPおよび443/TCPでの受信接続を許可するルールを作成します。
-
「仮想クラウド・ネットワークの表示」をクリックして、新しいVCNを表示します。
-
新しいVCNが表示された状態で、「パブリック・サブネット」リンクをクリックします。
パブリック・サブネット情報は、ページの下部にあるセキュリティ・リストとともに表示されます。VCNのデフォルト・セキュリティ・リストへのリンクが表示されます。
-
「デフォルト・セキュリティ・リスト」リンクをクリックします。
VCNのデフォルトのイングレス・ルールが表示されます。
-
「イングレス・ルールの追加」をクリックします。
「イングレス・ルールの追加」ダイアログが表示されます。
-
次を入力します。
-
ステートレス: 選択しないでください
-
ソース・タイプ: CIDR
-
ソースCIDR: 0.0.0.0/0
-
IPプロトコル: TCP
-
ソース・ポート範囲: (空白のまま)
-
宛先ポート範囲: 80
-
説明: HTTP接続の許可
「イングレス・ルールの追加」をクリックすると、インバウンドHTTP接続が許可されます。
-
-
1- 4のステップを繰り返し、次のように入力します。
-
ステートレス: 選択しないでください
-
ソース・タイプ: CIDR
-
ソースCIDR: 0.0.0.0/0
-
IPプロトコル: TCP
-
ソース・ポート範囲: (空白のまま)
-
宛先ポート範囲: 443
-
説明: HTTPS接続の許可
「イングレス・ルールの追加」をクリックすると、インバウンドHTTPS接続が許可されます。
-
MySQL着信接続を許可するようにセキュリティ・リストを構成します
プライベート・サブネットのセキュリティ・リスト- VCN名セキュリティ・リストに、ポート3306/TCPおよび33060/TCPでの受信接続を許可するルールを作成します。
-
「仮想クラウド・ネットワークの表示」をクリックして、新しいVCNを表示します。
-
新しいVCNが表示された状態で、「プライベート・サブネット」リンクをクリックします。
プライベート・サブネット情報は、ページの下部にあるセキュリティ・リストとともに表示されます。プライベート・サブネットのプライベート・サブネットのセキュリティ・リスト- VCN名へのリンクが必要です。
-
「プライベート・サブネットのセキュリティ・リスト- VCN名」リンクをクリックします。
VCNのデフォルトのイングレス・ルールが表示されます。
-
「イングレス・ルールの追加」をクリックします。
「イングレス・ルールの追加」ダイアログが表示されます。
-
次を入力します。
- ステートレス: 選択しないでください
- ソース・タイプ: CIDR
- ソースCIDR: 10.0.0.0/24
- IPプロトコル: TCP
- ソース・ポート範囲: (空白のまま)
- 宛先ポート範囲: 3306
- 説明: MySQL接続の許可
「イングレス・ルールの追加」をクリックすると、パブリック・サブネットからのインバウンドMySQL接続が許可されます。
-
1- 4のステップを繰り返し、次のように入力します。
- ステートレス: 選択しないでください
- ソース・タイプ: CIDR
- ソースCIDR: 10.0.0.0/24
- IPプロトコル: TCP
- ソース・ポート範囲: (空白のまま)
- 宛先ポート範囲: 33060
- 説明: MySQL X接続を許可します
「イングレス・ルールの追加」をクリックすると、パブリック・サブネットからのインバウンドMySQL X接続が許可されます。
Oracle MySQL Database Serviceの作成および構成
Oracle MySQL Database Service必須ポリシーの作成
ノート: 無料のOracle提供のハンズオン・ラボを使用している場合、このポリシーの作成は必要ありません。「Oracle MySQL Database Serviceの作成」セクションに移動できます。
-
ナビゲーション・メニューを開きます。「ガバナンスと管理」で、「アイデンティティ」に移動して「ポリシー」をクリックします。
-
「ポリシー」ページの「リスト範囲」で、「コンパートメント(ルート)」を選択し、「ポリシーの作成」ボタンをクリックします。
-
次の情報を入力します:
- 名前: policy name
- コンパートメント: (root)
-
「ポリシー・ビルダー」で、「カスタマイズ(拡張)」をクリックします。
-
次の必須のMySQL Databaseサービス・ポリシーを入力します。
ポリシー・ステートメント
- Allow group Administrators to {COMPARTMENT_INSPECT} in tenancy
- Allow group Administrators to {VCN_READ, SUBNET_READ, SUBNET_ATTACH, SUBNET_DETACH} in tenancy
- Allow group Administrators to manage mysql-family in tenancy
-
「作成」をクリックする。
Oracle MySQL Database Serviceの作成
-
ナビゲーション・メニューを開きます。「データベース」で、MySQLに移動し、「DBシステム」をクリックします。
-
「DBシステム」ページで、コンパートメントを選択し、「MySQL DB Systemの作成」をクリックします。
-
次の情報を入力します:
- 名前: DBシステム名
- 説明: MySQL system Description
- コンパートメント: コンパートメントを選択します
- 可用性ドメインの選択: 可用性ドメインの選択
- フォルト・ドメイン: オプション。チェックを外したままにできます。
- シェイプの選択: 「シェイプの変更」をクリックして、目的のシェイプを選択します
- Data Storage Size (GB): 目的のストレージ・サイズを入力します
- メンテナンス・ウィンドウの開始時間: なし
-
「次へ」をクリックすると「データベース情報」画面に移動します。
-
次の情報を入力します:
- ユーザー名: administrator user name
- パスワード: admin password
- パスワードの確認: admin password
- Virtual Cloud Network: VCNコンパートメントを選択
- Virtual Cloud Network: プライベートVCNを選択します
- ホスト名: hostname name
- MySQLポート: 3306
- MySQL Xプロトコル・ポート: 33060
-
「次へ」をクリックして「バックアップ情報」画面に進みます。
-
次の情報を入力します:
- 自動バックアップの有効化: 選択
- バックアップ保存期間: 7
- デフォルトバックアップウィンドウ: checked
-
MySQL DB Systemの詳細ページが表示されます。黄色の16角形が緑色になると、DBシステムがプロビジョニングされ、稼働状態になります。
VMコンピュート・インスタンスの作成とApacheおよびPHPの構成
Apache WebサーバーをホストするOracle Linuxインスタンスを作成します。
-
Oracle Cloud Infrastructureのメイン・メニューを開きます。
-
「コンピュート」、「インスタンス」の順に選択します。
-
インスタンスのリスト画面で、「インスタンスの作成をクリックします。
-
インスタンスの名前を入力します。
-
インスタンスを作成するコンパートメントを選択します。
-
「配置とハードウェアの構成」セクションで、次の手順を実行します。
- 可用性ドメイン: インスタンスを作成する可用性ドメインを選択します
- フォルト・ドメイン: オプション。チェックを外したままにできます。
- イメージ: 最新のOracle Linux (デフォルトでは、サポートされている最新バージョンがすでに選択されています)
- Shape: 目的のシェイプを選択します
-
「ネットワーキングの構成」セクションで、次の手順を実行します。
- ネットワーク既存の仮想クラウド・ネットワークを選択
- 仮想クラウド・ネットワーク: 目的のVCNがあるコンパートメントの選択
- ネットワーク: 仮想ネットワーク・クラウド・ネットワークの選択
- サブネット: 目的のVCNがあるコンパートメントの選択
- サブネット: パブリック・サブネットの選択 *
- ネットワーク・セキュリティ・グループを使用してトラフィックを制御: 選択解除
- パブリックIPアドレス: パブリックIPv4アドレスの割当て
-
「SSHキーの追加」セクションで:
SSHキー・ペアを保持していない場合:
- 「SSHキー・ペアの生成」を選択します。
- 「秘密キーの保存」をクリックし、ブラウザ・プロンプトに従って秘密キーを保存します。
- 「公開キーの保存」をクリックし、ブラウザ・プロンプトに従って公開キーを保存します。
公開キーがある場合は、次のことができます。
- 「公開キー・ファイルの選択」を選択します
- 公開キー・ファイルを上にドラッグ・アンド・ドロップするか、または場所を参照します。、場所を見つけてファイルを選択します。または
- 「公開キーの貼付け」を選択します。
- 公開キー値をSSHキーに貼り付けます(「別のキー」をクリックして複数のキーを追加できます)。
-
「ブート・ボリュームの構成」で、すべてのオプションを選択しないままにします。
-
「作成」をクリックする。
-
インスタンスの詳細ページが表示されます。黄色の四角形が緑色になると、インスタンスがプロビジョニング、起動および実行されます。
PHPを使用したApache HTTPサーバーのインストールおよび構成
-
Oracle Cloud Infrastructureのメイン・メニューを開きます。
-
「コンピュート」、「インスタンス」の順に選択します。
-
インスタンスのリストから、HTTPサーバーを構成するインスタンス名をクリックします。
-
インスタンスの詳細がロードされたら、右側の「パブリックIPアドレス: 」の「インスタンス・アクセス」の下を確認します。パブリックIPアクセスをコピーします。
-
ターミナル(クラウド・シェルまたはその他のSSH対応ターミナル)から、インスタンスに接続します:
ssh -i </path/private key file> opc@<instance's public IP>
-
Apache HTTP Serverおよびphpをインストールします。依存関係は自動的に解決され、インストールされます。
sudo yum install -y httpd
-
Apache HTTP Serverを有効化および起動します。
sudo systemctl enable httpd --now
-
ローカルiptablesファイアウォールでHTTPおよびHTTPSを許可します。
sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload
-
追加のリポジトリを追加します。
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum-config-manager --enable remi-php74
-
PHPをインストールします。
sudo yum install -y php sudo systemctl restart httpd
-
テストphpページを作成します。
echo -e '<?php \nphpinfo();' | sudo tee /var/www/html/test.php
-
Webブラウザから、http: //public server IP/test.phpに移動します。
MySQLおよびMySQLシェルのインストール
-
MySQLリリース・パッケージをインストールします。
sudo yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
-
MySQLシェルをインストールします。
sudo yum -y install mysql-shell
Drupal CMSのインストール
Oracle LinuxインスタンスへのDrupalのインストール
-
SSH対応端末から、DrupalがインストールされるOracle LinuxインスタンスにSSHで接続します。
ssh -i <path/private key> opc@<instance public IP>
-
Drupalの必須パッケージをインストールします。
sudo yum install -y php-mbstring php-gd php-xml php-pear php-fpm php-mysql php-pdo php-opcach sudo systemctl restart httpd
-
httpd.confを編集します。
sudo vim /etc/httpd/conf/httpd.conf
-
セクション<Directory "/var/www/html">を探し、そのセクションでAllowOverride AllをAllowOverride Noneに変更します。ファイルが見つかるまで、または「/」を押して、Options Indexes FollowSymLinksと入力できます。
-
Apacheを再起動します。
sudo systemctl restart httpd
-
Drupal WebサイトからDrupalをダウンロードします。
curl -L -o drupallatest.tar.gz https://www.drupal.org/download-latest/tar.gz
-
latest.tar.gzを/var/www/html (Apacheドキュメント・ルート)に抽出します。
sudo tar zxf drupallatest.tar.gz -C /var/www/html/ --strip 1
-
所有権を調整します。
sudo chown apache. -R /var/www/html/
-
settings.phpを作成します。
cd /var/www/html/sites/default/ cp default.settings.php settings.php
-
所有権を調整します。
sudo chown apache. -R /var/www/html/
- SE Linuxを調整します。
sudo chcon -R -t httpd_sys_content_rw_t /var/www/html/sites/
- Apacheが外部データベースに接続できるようにします。
sudo setsebool -P httpd_can_network_connect_db 1
- MySQLシェルを使用してMDSデータベースに接続します。
mysqlsh --sql -u admin -h <MDS end point IP>
- Drupalデータベースおよびユーザーを作成します。
create database drupal;
create user drupaluser IDENTIFIED BY 'ComplexPass0rd!';
GRANT ALL PRIVILEGES ON drupal.* To drupaluser;
\quit
-
ブラウザからhttp: //instance public IP/にアクセスします。
-
言語を選択して、「保存して続行」をクリックします。
-
インストール・プロファイルを選択し、「Standard」プロファイルを選択して「保存して続行」をクリックします。
-
すべての設定が正しい場合は、データベース構成ページが表示されます。次の情報を入力します:
- データベース・タイプ: MySQL、MariaDB、Perconaサーバーまたは同等のもの
- データベース名: drupal
- データベース・ユーザー名: drupaluser
- データベース・パスワード: ComplexPass0rd。「拡張オプション」の拡張
- ホスト: MDS IPアドレス
-
「サイトのインストール」をクリックします。
-
次の情報を入力してサイトを構成します。
- サイト名: サイト名を選択します
- サイトEメール・アドレス: サイトによって送信された自動EメールのEメール・アカウント
- ユーザー名: Drupal管理者
- パスワード: Drupal管理者パスワード
- パスワードを確認: パスワードを確認
- Email Address: あなたの電子メール アドレス
- デフォルトの国: 国を選択します
- デフォルト・タイムゾーン: タイム・ゾーンの選択
- 更新を自動的にチェックします: 選択
- Eメール通知の受信: 選択解除
-
「保存して続行」をクリックします。
-
ブラウザからhttp: //instance public IP/にアクセスし、管理ユーザーでログインし、Webサイトのカスタマイズを開始します。
関連リンク
謝辞
著者: Orlando GentilおよびFrédéricDescamps
その他の学習リソース
docs.oracle.com/learnで他のラボを探すか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Install Drupal CMS on Oracle Linux with MySQL database
F38453-06
September 2022
Copyright © 2022, Oracle and/or its affiliates.