ノート:

MySQLデータベースを使用したOracle LinuxへのDrupal CMSのインストール

イントロダクション

Drupalは、PHPで記述されたWebコンテンツ管理システム(CMS)です。Drupalは、個人ブログから企業、政治、政府サイトまで、世界中のWebサイトのインフラストラクチャを提供します。非常に拡張可能でモジュール式で、さまざまなシナリオで使用できます。

このワークショップを開始ポイントとして使用し、Oracle LinuxおよびOracle MySQL Database Service上に構築された完全なインストールを行います。

成功へのステップ

このワークショップでは、次の方法を学習します。

前提条件

VCNおよびサブネットの作成

Linuxインスタンスをインターネットに接続するように、Virtual Cloud Network (VCN)を設定します。仮想ネットワークの作成に必要なすべてのコンポーネントを構成します。

  1. ナビゲーション・メニューを開きます。「コア・インフラストラクチャ」の下で、「ネットワーキング」に進み、「Virtual Cloud Networks」をクリックします。

    左側の「コンパートメント」リストで、コンパートメント(または指定されたコンパートメント)が選択されていることを確認してください。

  2. 「VCNウィザードの起動」をクリックします。

  3. 「インターネット接続性を持つVCN」を選択し、「VCNウィザードの起動」をクリックします。

  4. 次のように入力します(説明は斜体で、シナリオの値に置き換えます)。

    • Name: クラウド・ネットワークの名前を入力します

    • COMPARTMENT: 目的のコンパートメントを選択します

    • VCN CIDRブロック: 10.0.0.0/16

    • パブリック・サブネットCIDRブロック: 10.0.0.0/24

    • プライベート・サブネットCIDRブロック: 10.0.1.0/24

    • DNS解決: チェック済

      ノートパブリック・サブネットとプライベート・サブネットには異なるCIDRブロックがあります。

  5. 「次へ」をクリックします。

    「インターネット接続を使用したVCNの作成」構成ダイアログが表示され、入力したすべての値が確認され、作成される追加のコンポーネントがリストされます。

  6. 作成」をクリックして、ワークフローを開始します。

  7. ワークフローが完了したら、「Virtual Cloud Networksの表示」をクリックすると、作成したVCNの詳細ページが表示されます。

HTTP受信接続を許可するようにセキュリティ・リストを構成します

デフォルトのセキュリティ・リストに、ポート80/TCPおよび443/TCPでの受信接続を許可するルールを作成します。

  1. 「仮想クラウド・ネットワークの表示」をクリックして、新しいVCNを表示します。

  2. 新しいVCNが表示された状態で、「パブリック・サブネット」リンクをクリックします。

    パブリック・サブネット情報は、ページの下部にあるセキュリティ・リストとともに表示されます。VCNのデフォルト・セキュリティ・リストへのリンクが表示されます。

  3. 「デフォルト・セキュリティ・リスト」リンクをクリックします。

    VCNのデフォルトのイングレス・ルールが表示されます。

  4. 「イングレス・ルールの追加」をクリックします。

    「イングレス・ルールの追加」ダイアログが表示されます。

  5. 次を入力します。

    • ステートレス: 選択しないでください

    • ソース・タイプ: CIDR

    • ソースCIDR: 0.0.0.0/0

    • IPプロトコル: TCP

    • ソース・ポート範囲: (空白のまま)

    • 宛先ポート範囲: 80

    • 説明: HTTP接続の許可

      「イングレス・ルールの追加」をクリックすると、インバウンドHTTP接続が許可されます。

  6. 1- 4のステップを繰り返し、次のように入力します。

    • ステートレス: 選択しないでください

    • ソース・タイプ: CIDR

    • ソースCIDR: 0.0.0.0/0

    • IPプロトコル: TCP

    • ソース・ポート範囲: (空白のまま)

    • 宛先ポート範囲: 443

    • 説明: HTTPS接続の許可

      「イングレス・ルールの追加」をクリックすると、インバウンドHTTPS接続が許可されます。

MySQL着信接続を許可するようにセキュリティ・リストを構成します

プライベート・サブネットのセキュリティ・リスト- VCN名セキュリティ・リストに、ポート3306/TCPおよび33060/TCPでの受信接続を許可するルールを作成します。

  1. 「仮想クラウド・ネットワークの表示」をクリックして、新しいVCNを表示します。

  2. 新しいVCNが表示された状態で、「プライベート・サブネット」リンクをクリックします。

    プライベート・サブネット情報は、ページの下部にあるセキュリティ・リストとともに表示されます。プライベート・サブネットのプライベート・サブネットのセキュリティ・リスト- VCN名へのリンクが必要です。

  3. 「プライベート・サブネットのセキュリティ・リスト- VCN名リンクをクリックします。

    VCNのデフォルトのイングレス・ルールが表示されます。

  4. 「イングレス・ルールの追加」をクリックします。

    「イングレス・ルールの追加」ダイアログが表示されます。

  5. 次を入力します。

    • ステートレス: 選択しないでください
    • ソース・タイプ: CIDR
    • ソースCIDR: 10.0.0.0/24
    • IPプロトコル: TCP
    • ソース・ポート範囲: (空白のまま)
    • 宛先ポート範囲: 3306
    • 説明: MySQL接続の許可

    「イングレス・ルールの追加」をクリックすると、パブリック・サブネットからのインバウンドMySQL接続が許可されます。

  6. 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の作成」セクションに移動できます。

  1. ナビゲーション・メニューを開きます。「ガバナンスと管理」で、「アイデンティティ」に移動して「ポリシー」をクリックします。

  2. 「ポリシー」ページの「リスト範囲」で、「コンパートメント(ルート)」を選択し、「ポリシーの作成」ボタンをクリックします。

  3. 次の情報を入力します:

    • 名前: policy name
    • コンパートメント: (root)
  4. 「ポリシー・ビルダー」で、「カスタマイズ(拡張)」をクリックします。

  5. 次の必須の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
  6. 作成」をクリックする。

Oracle MySQL Database Serviceの作成

  1. ナビゲーション・メニューを開きます。「データベース」で、MySQLに移動し、「DBシステム」をクリックします。

  2. 「DBシステム」ページで、コンパートメントを選択し、「MySQL DB Systemの作成」をクリックします。

  3. 次の情報を入力します:

    • 名前: DBシステム名
    • 説明: MySQL system Description
    • コンパートメント: コンパートメントを選択します
    • 可用性ドメインの選択: 可用性ドメインの選択
    • フォルト・ドメイン: オプション。チェックを外したままにできます。
    • シェイプの選択: 「シェイプの変更」をクリックして、目的のシェイプを選択します
    • Data Storage Size (GB): 目的のストレージ・サイズを入力します
    • メンテナンス・ウィンドウの開始時間: なし
  4. 「次へ」をクリックすると「データベース情報」画面に移動します。

  5. 次の情報を入力します:

    • ユーザー名: administrator user name
    • パスワード: admin password
    • パスワードの確認: admin password
    • Virtual Cloud Network: VCNコンパートメントを選択
    • Virtual Cloud Network: プライベートVCNを選択します
    • ホスト名: hostname name
    • MySQLポート: 3306
    • MySQL Xプロトコル・ポート: 33060
  6. 「次へ」をクリックして「バックアップ情報」画面に進みます。

  7. 次の情報を入力します:

    • 自動バックアップの有効化: 選択
    • バックアップ保存期間: 7
    • デフォルトバックアップウィンドウ: checked
  8. MySQL DB Systemの詳細ページが表示されます。黄色の16角形が緑色になると、DBシステムがプロビジョニングされ、稼働状態になります。

VMコンピュート・インスタンスの作成とApacheおよびPHPの構成

Apache WebサーバーをホストするOracle Linuxインスタンスを作成します。

  1. Oracle Cloud Infrastructureのメイン・メニューを開きます。

  2. 「コンピュート」「インスタンス」の順に選択します。

  3. インスタンスのリスト画面で、「インスタンスの作成をクリックします。

  4. インスタンスの名前を入力します。

  5. インスタンスを作成するコンパートメントを選択します。

  6. 「配置とハードウェアの構成」セクションで、次の手順を実行します。

    • 可用性ドメイン: インスタンスを作成する可用性ドメインを選択します
    • フォルト・ドメイン: オプション。チェックを外したままにできます。
    • イメージ: 最新のOracle Linux (デフォルトでは、サポートされている最新バージョンがすでに選択されています)
    • Shape: 目的のシェイプを選択します
  7. 「ネットワーキングの構成」セクションで、次の手順を実行します。

    • ネットワーク既存の仮想クラウド・ネットワークを選択
    • 仮想クラウド・ネットワーク: 目的のVCNがあるコンパートメントの選択
    • ネットワーク: 仮想ネットワーク・クラウド・ネットワークの選択
    • サブネット: 目的のVCNがあるコンパートメントの選択
    • サブネット: パブリック・サブネットの選択 *
    • ネットワーク・セキュリティ・グループを使用してトラフィックを制御: 選択解除
    • パブリックIPアドレス: パブリックIPv4アドレスの割当て
  8. 「SSHキーの追加」セクションで:

    SSHキー・ペアを保持していない場合:

    1. 「SSHキー・ペアの生成」を選択します。
    2. 「秘密キーの保存」をクリックし、ブラウザ・プロンプトに従って秘密キーを保存します。
    3. 「公開キーの保存」をクリックし、ブラウザ・プロンプトに従って公開キーを保存します。

    公開キーがある場合は、次のことができます。

    1. 「公開キー・ファイルの選択」を選択します
    2. 公開キー・ファイルを上にドラッグ・アンド・ドロップするか、または場所を参照します。、場所を見つけてファイルを選択します。または
    3. 「公開キーの貼付け」を選択します。
    4. 公開キー値をSSHキーに貼り付けます(「別のキー」をクリックして複数のキーを追加できます)。
  9. 「ブート・ボリュームの構成」で、すべてのオプションを選択しないままにします。

  10. 作成」をクリックする。

  11. インスタンスの詳細ページが表示されます。黄色の四角形が緑色になると、インスタンスがプロビジョニング、起動および実行されます。

PHPを使用したApache HTTPサーバーのインストールおよび構成

  1. Oracle Cloud Infrastructureのメイン・メニューを開きます。

  2. 「コンピュート」「インスタンス」の順に選択します。

  3. インスタンスのリストから、HTTPサーバーを構成するインスタンス名をクリックします。

  4. インスタンスの詳細がロードされたら、右側の「パブリックIPアドレス: 」「インスタンス・アクセス」の下を確認します。パブリックIPアクセスをコピーします。

  5. ターミナル(クラウド・シェルまたはその他のSSH対応ターミナル)から、インスタンスに接続します:

    ssh -i </path/private key file> opc@<instance's public IP>
    
    
  6. Apache HTTP Serverおよびphpをインストールします。依存関係は自動的に解決され、インストールされます。

    sudo yum install -y httpd
    
    
  7. Apache HTTP Serverを有効化および起動します。

    sudo systemctl enable httpd --now
    
    
  8. ローカルiptablesファイアウォールでHTTPおよびHTTPSを許可します。

    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --permanent --add-port=443/tcp
    sudo firewall-cmd --reload
    
    
  9. 追加のリポジトリを追加します。

    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
    
  10. PHPをインストールします。

    sudo yum install -y php
    sudo systemctl restart httpd
    
  11. テストphpページを作成します。

    echo -e '<?php \nphpinfo();' | sudo tee /var/www/html/test.php
    
  12. Webブラウザから、http: //public server IP/test.phpに移動します。

MySQLおよびMySQLシェルのインストール

  1. MySQLリリース・パッケージをインストールします。

    sudo yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
    
  2. MySQLシェルをインストールします。

    sudo yum -y install mysql-shell
    

Drupal CMSのインストール

Oracle LinuxインスタンスへのDrupalのインストール

  1. SSH対応端末から、DrupalがインストールされるOracle LinuxインスタンスにSSHで接続します。

    ssh -i <path/private key> opc@<instance public IP>
    
  2. 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   
    
  3. httpd.confを編集します。

    sudo vim /etc/httpd/conf/httpd.conf
    
  4. セクション<Directory "/var/www/html">を探し、そのセクションでAllowOverride AllAllowOverride Noneに変更します。ファイルが見つかるまで、または「/」を押して、Options Indexes FollowSymLinksと入力できます。

  5. Apacheを再起動します。

    sudo systemctl restart httpd
    
  6. Drupal WebサイトからDrupalをダウンロードします。

    curl -L -o drupallatest.tar.gz  https://www.drupal.org/download-latest/tar.gz
    
  7. latest.tar.gzを/var/www/html (Apacheドキュメント・ルート)に抽出します。

    sudo tar zxf drupallatest.tar.gz -C /var/www/html/ --strip 1
    
  8. 所有権を調整します。

    sudo chown apache. -R /var/www/html/
    
  9. settings.phpを作成します。

    cd /var/www/html/sites/default/
    cp default.settings.php settings.php
    
  10. 所有権を調整します。

sudo chown apache. -R /var/www/html/
  1. SE Linuxを調整します。
sudo chcon -R -t httpd_sys_content_rw_t /var/www/html/sites/
  1. Apacheが外部データベースに接続できるようにします。
sudo setsebool -P httpd_can_network_connect_db 1
  1. MySQLシェルを使用してMDSデータベースに接続します。
mysqlsh --sql -u admin -h <MDS end point IP>
  1. Drupalデータベースおよびユーザーを作成します。
create database drupal;
create user drupaluser IDENTIFIED BY 'ComplexPass0rd!';
GRANT ALL PRIVILEGES ON drupal.* To drupaluser;
\quit
  1. ブラウザからhttp: //instance public IP/にアクセスします。

  2. 言語を選択して、「保存して続行」をクリックします。

  3. インストール・プロファイルを選択し「Standard」プロファイルを選択して「保存して続行」をクリックします。

  4. すべての設定が正しい場合は、データベース構成ページが表示されます。次の情報を入力します:

    • データベース・タイプ: MySQL、MariaDB、Perconaサーバーまたは同等のもの
    • データベース名: drupal
    • データベース・ユーザー名: drupaluser
    • データベース・パスワード: ComplexPass0rd。「拡張オプション」の拡張
    • ホスト: MDS IPアドレス
  5. 「サイトのインストール」をクリックします。

  6. 次の情報を入力してサイトを構成します。

    • サイト名: サイト名を選択します
    • サイトEメール・アドレス: サイトによって送信された自動EメールのEメール・アカウント
    • ユーザー名: Drupal管理者
    • パスワード: Drupal管理者パスワード
    • パスワードを確認: パスワードを確認
    • Email Address: あなたの電子メール アドレス
    • デフォルトの国: 国を選択します
    • デフォルト・タイムゾーン: タイム・ゾーンの選択
    • 更新を自動的にチェックします: 選択
    • Eメール通知の受信: 選択解除
  7. 「保存して続行」をクリックします。

  8. ブラウザから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を参照してください。