はじめに
IBM CloudのVPCでUbuntu Linux仮想サーバーを立ち上げ、Apache Webサーバー、MySQLデータベース、及びPHPをインストールすることでLAMPスタックを構築しました。作成の流れについて初心者目線で作成しています。
今回の内容にはIBM Cloudの有料アカウントが前提となっています。
VPC設定の全体の流れ
1. VPCの作成
IBM Cloudにログインすると表示されるダッシュボード画面で、左上の「ナビゲーション・メニュー」をクリックし、「VPCインフラストラクチャー」で「VPC」をクリックします。
新たなVPCの作成が必要な場合には「作成」ボタンにて作成できます。
具体的な作成の流れは、こちらを参考に作成できるかと思います。
今回は予め作成した「commonvpc」で作業を行いました。
2. サブネットの作成
VPCの作成が完了しましたら、次は「サブネット」ボタンをクリックしVPC用サブネットの作成を行います。
ロケーションや詳細項目に必要項目を選択し、求めるIP範囲を設定します。今回は東京リージョン、東京2ゾーン、IP範囲は28、IPアドレス数は16個に設定しています。また、今回は特定のIPアドレスからのみアクセスできるように設定したいため、パブリック・ゲートウェイの設定は行いません。
3. セキュリティーグループ作成
サブネットの作成後、メニューから「セキュリティー・グループ」ボタンをクリックし、VPC用のセキュリティー・グループの作成を行います。サブネットの作成時と同様、ロケーションや詳細を設定し、VPCは対象VPCを設定します。繰り返しとなりますが、今回は予め作成しました「commonvpc」で設定しています。
また、特定のIPのみアクセスできるように、インバウンド/アウトバウンド・ルールを設定します。
インバウンド・ルールとしてはプロトコルTCP'22'と'80'をそれぞれ設定し、プロトコルICMPに同様にIPアドレスを設定します。
参考:ポート番号一覧
(*ポート番号は1024までは共通規格として決められていて、それ以降の番号は自由に使用できる番号です。)
ここでIPアドレスはインバウンド許可IPアドレスを入力しますが、今回は私の自宅でのグローバルIPアドレスを入力しました。(もし、特定の特定のServerからアクセスしたい場合は、そのサーバーのIPアドレスを記入する形となります。)
自宅のIPアドレスはコロコロ変わるため、都度確認し設定する必要があります。ご注意ください。IPアドレスの確認は以下のリンクで確認できます。
参考:IPアドレス確認
全ての設定が完了したら、右側の「セキュリティー・グループの作成」ボタンをクリックし作成します。
4. SSH鍵の作成
VPCでは、VSIへの管理者アクセスに、パスワードではなくSSH鍵を使用します。SSH鍵の作成はターミナル(MACユーザー)で行います。以下のコマンドを用いてターミナルにてSSH鍵の作成及びアカウントへの追加を行います。
$ ssh-keygen -t rsa -b 4096
$ SSHKEY_ID=$(ibmcloud is key-create sshkey-lamp-tutorial @$HOME/.ssh/id_rsa.pub --json | jq -r '.id')
5. サーバー作成
SSH鍵の作成が完了しましたら、サーバーの作成を行います。今までと同様、左のメニューから「仮想サーバー・インスタンス」をクリックし、VPC用の仮想サーバー・インスタンスの画面で作成ボタンをクリックします。
必要なサーバー・タイプやホスティング・タイプ、ロケーションなどの設定を行います。今回はIntel x86サーバーとシングル・テナントでの専用ホスティング、東京2ゾーンで設定しました。
OSは Ubuntu Linuxにし、最も最新バージョンを選択しました。
プロファイルのスペック設定欄にはIntel x86の基本値(2vCPU|8GiB|4Gbps)にしていますが、「全てのプロファイルを表示」をクリックすると、多彩なオプションから選ぶこともできます。
また、SSH鍵の設定欄が表示されているので、上記で作成されたSSH鍵を選びます。
ここまで設定すると、右側のサマリーに金額とともに「仮想サーバーの作成」ボタンが表示されるので、作成を行います。
もう一度仮想サーバー・インスタンス画面に戻り、作成したサーバーが稼働中になったら、VPCの準備は完了となります。
Apache、MySQL、および PHP のインストール
Apache、MySQL、PHPのインストールはターミナルにてコマンド入力することでインストールが可能です。
以下のコマンドの流れに沿ってインストールを行います。
$ export DEBIAN_FRONTEND=noninteractive
$ apt update
$ apt install apache2 -y
$ apt install mysql-server -y
$ apt install php libapache2-mod-php php-mysql php-common php-cli -y
コマンドにてインストールが問題なくされたかどうか、以下の流れで確認します。
1. Ubuntuの確認
まず、ブラウザーを開いて、浮動IP(Floating IP)アドレスを入力しアクセスします。今回はLinux Ubuntuにて立ち上げているため、Ubuntuのウェルカム・ページが表示されます。
2. AMPのバージョン確認
以下のコマンドを使用して、インストールされたApache、MySQL、PHPのバージョンを確認します。
$ apache2 -v
$ mysql -V
$ php -v
3. MySQLデータベース保護
以下のコマンドを用いて、MySQLデータベースを保護します。
$ mysql_secure_installation
4. PHP情報ページの作成及び確認
また、以下のコマンドを用いて、PHP情報ページを作成します。
$ echo "<?php phpinfo(); ?>" > /var/www/html/info.php
コマンド入力が完了すると、作成したPHPページを確認します。ブラウザーを開き、http://{FloatingIPAddress}/info.php (*FloatingIPAddressにはアクセス許可を設定したGlobal IPを置き換えます。) に移動します。そうすると、以下の画面が表示されます。
最後に
今回はIBM Cloud VPCを用いてLinux仮想サーバーを立ち上げてみました。チュートリアルではLAMP環境を構築後、WordPressをインストールしドメインを構成するなどの作業が残っていますが、「mysql_secure_installation」を途中で止めてしまったことが原因で、うまく進めることができませんでした。WordPressの稼働確認がうまくいきましたら、改めて記事に追記したいと思います。