Free Tier: UbuntuインスタンスへのWordPressのインストール
このチュートリアルでは、Oracle Cloud Infrastructure Free Tierアカウントを使用してUbuntuインスタンスを設定します。次に、Apache Webサーバー、PHP 8、MySQL、最後にWordPressをインストールします。インストール後、インターネットから新しいWordPressインストールにアクセスします。このチュートリアルでは、仮想ネットワーク、コンピュート・インスタンスを設定し、ホストをインターネットに接続するために必要なすべてのステップについて説明します。
主なタスクは:
- 開発作業用のコンパートメントを設定します。
- Ubuntu Linuxインスタンスをインストールし、仮想クラウド・ネットワーク(VCN)に接続します。
- ホストがインターネットに接続するために必要なOracle Cloud Infrastructure仮想クラウド・ネットワークおよび関連するネットワーク・サービスを設定します。
- Ubuntu Linuxサーバーにアクセスするための
ssh
暗号化キーを設定します。
- VCNのイングレス・ルールを構成します。
- VMでApache、PHP 8、MySQLおよびWordPressを構成します。
- インターネットからインスタンスに接続します。
Linux VMの設定の簡単なダイアグラムを次に示します。
その他の情報については、次のWebサイトを参照してください。
開始する前に
1. 開発用のコンパートメントの設定
開発用のコンパートメントを構成します。
このチュートリアルで作成するリソースのコンパートメントを作成します。
- Oracle Cloud Infrastructureコンソールにサインインします。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「コンパートメント」をクリックします。
- 「コンパートメントの作成」をクリックします。
- 次の情報を入力します:
- 名前:
<your-compartment-name>
- 説明:
Compartment for <your-description>.
- 親コンパートメント:
<your-tenancy>(root)
- 名前:
- 「コンパートメントの作成」をクリックします。
参照: コンパートメントの作成
2. Ubuntu Linuxインスタンスのインストール
「VMインスタンスの作成」ワークフローを使用して、新しいコンピュート・インスタンスを作成します。
ワークフローでは、インスタンスのインストール時にいくつかのことが実行されます:
- Ubuntu Linuxを実行しているコンピュート・インスタンスを作成およびインストールします。
- Ubuntu Linuxインスタンスをインターネットに接続するために必要なサブネットおよびコンポーネントを含むVCNを作成します。
- インスタンスへの接続に使用する
ssh
キー・ペアを作成します。
「VMインスタンスの作成」ワークフローを使用してインスタンスのインストールを開始するには、次のステップに従います:
示されているステップは、Free Tierアカウント用です。有料アカウントを使用している場合は、ここに示すステップとは異なる場合があります。
3. インターネット・アクセスの有効化
「VMインスタンスの作成」ワークフローでは、VMのVCNが自動的に作成されます。ポート80でのインターネット接続を許可するイングレス・ルールをサブネットに追加します。
次のステップに従って、VCNのパブリック・サブネットを選択し、イングレス・ルールを追加します。
4. Apache、PHP 8、MySQLおよびWordPressのインストールおよび構成
次に、Ubuntu Linuxインスタンスで実行するApache WebサーバーとPHPをインストールおよび構成します。
Ubuntuインスタンスに接続し、ファイアウォール設定を構成します。次のステップに従います:
- Free Tierアカウントにサインインします。
- ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
- 前のステップで作成したインスタンスへのリンクをクリックします。
「インスタンス・アクセス」セクションから、システムによって作成されたパブリックIPアドレスを書き留めます。このIPアドレスを使用してインスタンスに接続します。
- ターミナル・ウィンドウを開きます。
- パート1で作成した
ssh
暗号化キーを格納したディレクトリに移動します。 - 次のSSHコマンドを使用してVMに接続します。
ssh -i <your-private-key-file> ubuntu@<your-public-ip-address>
VMの作成時に公開キーを特定したため、このコマンドでVMにログインします。
sudo
コマンドを発行して、サーバーをインストールおよび起動できるようになりました。 - ファイアウォール設定を更新します。
次に、HTTPトラフィックを許可するように、
iptables
構成を更新します。iptables
を更新するには、次のコマンドを実行します。sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo netfilter-persistent save
コマンドにより、HTTPトラフィックを許可するルールが追加され、変更が
iptables
構成ファイルに保存されます。
- Apacheサーバーをインストール します。
sudo apt update
sudo apt -y install apache2
- 次に、Apacheを起動します。
sudo systemctl restart apache2
- これで、サーバーをテストできます。
curl localhost
を使用して、コマンドラインからサーバーをテストできます。または、VMに割り当てられたパブリックIPアドレス(http://<your-public-ip-address>)にブラウザを接続できます。ページは次のようになります:
- 次のコマンドを使用して、PHPをインストールしてから、いくつかの有用なモジュールをインストールします。
sudo apt -y install php
sudo apt -y install php-mysql php-curl php-gd php-zip
- インストールを検証し、Apacheを再起動します。
php -v
sudo systemctl restart apache2
- PHPテスト・ファイルをVMに追加します。
sudo vi /var/www/html/info.php
- ファイルに次のテキストを入力し、ファイルを保存します:
<?php phpinfo(); ?>
- http://<your-public-ip-address>/info.phpに接続します。
ブラウザには、次のようなVM上のPHP構成のリストが生成されます。
ヒント
イメージは、オペレーティング・システムの更新により異なります。ApacheおよびPHPがOracle Cloud Infrastructureインスタンスに正常にインストールされました。
ノート
テストの完了後、info.php
ファイルを削除します。
/var/www/html
ディレクトリからの読取りおよび書込みを行うように、Apacheサーバーを設定します。
/var/www/html
ディレクトリを編集できるように、ユーザー名をwww-data
グループに追加します。sudo adduser $USER www-data
- ここで、コンテンツ・ディレクトリの所有者を変更します。
sudo chown -R www-data:www-data /var/www/html
- ファイルおよびディレクトリに対する権限を変更します。
sudo chmod -R g+rw /var/www/html
- 変更を有効にするには、マシンを再起動します。
次に、WordPressで使用できるようにMySQLサーバーおよびクライアントをインストールして構成します。
Ubuntu MySQL設定に構成の変更が加えられたため、このチュートリアルでは、
sudo mysql_secure_installation
スクリプトの前後に追加のステップが加えられています。新しいステップは、mysql_secure_installation
スクリプトが正常に完了するために必要です。- MySQL Serverパッケージをインストールします。
sudo apt -y install mysql-server
このステップにはしばらく時間がかかることがあります。
- MySQLにサインインします。
sudo mysql
- パスワード認証を許可するようにMySQL
root
ユーザーを変更します。mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<your-password>';
ノート
このパスワードは一時的なものです。rootパスワードは、後のステップでリセットします。 - MySQLを終了します。
mysql> exit
mysql_secure_installation
スクリプトを使用してMySQLを保護します。- スクリプトを実行します。
sudo mysql_secure_installation
次の出力が生成されます:
Securing the MySQL server deployment.
- 設定した一時パスワードの入力を求められます。
Enter password for user root:
パスワードを入力します。
- パスワード検証をオンにします:
VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to set up VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No:
Y
を選択します。- パスワード検証レベルを選択します。
There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
- rootパスワードを変更します。
Using existing password for root. Estimated strength of password: XX Change the password for root ? ((Press y|Y for Yes, any other key for No) :
Y
を選択します。- ルート・パスワードを設定します。
New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :
ノート
このステップでは、前に設定した初期一時パスワードを置き換えます。 Y
を選択します。- 残りのセキュリティ・オプションを選択します。
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Success. All done!
ヒント
デフォルト値(すべてのオプションに対してY
)を使用することをお薦めします。
- スクリプトを実行します。
- 新しいパスワードでMySQLにサインインします。
mysql -u root -p
- MySQLの認証方式を
auth_socket
に戻します。mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
ヒント
auth_socket
認証方式では、MySQLパスワードではなくsudo
を使用して認証できます。 - MySQLを終了します。
mysql> exit
- MySQLにサインインします。
sudo mysql
MySQLプロンプトが表示されます。
- デフォルトのデータベースをリストします。
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.01 sec)
- MySQLのユーザーを作成します。
mysql> CREATE USER '<your-user-name>'@'localhost' IDENTIFIED BY '<your-password>'; Query OK, 0 rows affected (0.01 sec)
- ユーザーを管理者にします。
mysql> GRANT ALL PRIVILEGES ON *.* TO '<your-user-name>'@'localhost'; Query OK, 0 rows affected (0.01 sec)
- WordPressデータベースを作成します。
mysql> create database wpdb; Query OK, 1 row affected (0.01 sec)
- 結果を確認します。
mysql>show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | wpdb | +--------------------+ 5 rows in set (0.00 sec)
- キャッシュされたメモリーをクリアする権限をフラッシュします。
mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye
WordPressをダウンロードし、次のステップに従ってサーバーにインストールします。
- ターミナル・ウィンドウを開き、
tmp
ディレクトリを作成します。 https://wordpress.org/download/
からWordPress Linux zipをダウンロードして解凍します。wget <url-for-download/filename>.tar.gz
tar xvfz <download-file-name>.tar.gz
このコマンドは、WordPressのPHPコードを含む
wordpress
ディレクトリを作成します。wordpress
ディレクトリの内容を/var/www/html
ディレクトリにコピーします。cp -R /home/<your-username>/tmp/wordpress/* /var/www/html
wordpress
ディレクトリの内容が/var/www/html
ディレクトリにコピーされます。このコマンドはサンプルです。コマンドは、ディレクトリの名前によって異なる場合があります。/var/www/html
ディレクトリに移動します。cd /var/www/html
- デフォルトの
index.html
ファイルの名前を変更します。mv index.html index.html.bk
これで、ルート・ディレクトリにアクセスすると、デフォルトで
index.php
がロードされるようになりました。 wp-config-sample.php
ファイルの名前を変更します。mv wp-config-sample.php wp-config.php
- MySQL設定の値を更新します。
vi wp-config.php
- ブラウザおよび次のURLを開いて、インストール・スクリプトを実行します:
http://<your-public-ip-address>/wp-admin/install.php
ノート
WordPressブログの管理者アカウントを作成します。インストール・ページから情報を確実に書き留めてください。この情報は、WordPressブログにサインインするために必要です。 http://<your-public-ip-address>
で新しいブログを開きますWordPressに必要なその他の構成を完了します。役に立つリンクを次に示します。
OCIコンピュート・インスタンスにWordPressブログを設定しました。
次の手順
Linuxインスタンスを使用して、Apache WebサーバーがOracle Cloud Infrastructureに正常にインストールおよびデプロイされました。
Oracle製品を使用した開発の詳細を確認するには、次のサイトを参照してください: