2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【IBM Cloud】IBM CloudでのLAMP立ち上げに挑戦(入門者)

Last updated at Posted at 2022-05-27

はじめに

IBM CloudのVPCでUbuntu Linux仮想サーバーを立ち上げ、Apache Webサーバー、MySQLデータベース、及びPHPをインストールすることでLAMPスタックを構築しました。作成の流れについて初心者目線で作成しています。
今回の内容にはIBM Cloudの有料アカウントが前提となっています。

VPC設定の全体の流れ

1. VPCの作成

IBM Cloudにログインすると表示されるダッシュボード画面で、左上の「ナビゲーション・メニュー」をクリックし、「VPCインフラストラクチャー」で「VPC」をクリックします。
スクリーンショット 2022-05-18 18.02.24.png
新たなVPCの作成が必要な場合には「作成」ボタンにて作成できます。
具体的な作成の流れは、こちらを参考に作成できるかと思います。
今回は予め作成した「commonvpc」で作業を行いました。
スクリーンショット 2022-05-18 18.14.50.png

2. サブネットの作成

VPCの作成が完了しましたら、次は「サブネット」ボタンをクリックしVPC用サブネットの作成を行います。
スクリーンショット 2022-05-18 18.20.34.png
ロケーションや詳細項目に必要項目を選択し、求めるIP範囲を設定します。今回は東京リージョン、東京2ゾーン、IP範囲は28、IPアドレス数は16個に設定しています。また、今回は特定のIPアドレスからのみアクセスできるように設定したいため、パブリック・ゲートウェイの設定は行いません。
スクリーンショット 2022-05-18 18.22.23.png
スクリーンショット 2022-05-18 18.22.29.png

3. セキュリティーグループ作成

サブネットの作成後、メニューから「セキュリティー・グループ」ボタンをクリックし、VPC用のセキュリティー・グループの作成を行います。サブネットの作成時と同様、ロケーションや詳細を設定し、VPCは対象VPCを設定します。繰り返しとなりますが、今回は予め作成しました「commonvpc」で設定しています。
また、特定のIPのみアクセスできるように、インバウンド/アウトバウンド・ルールを設定します。
インバウンド・ルールとしてはプロトコルTCP'22'と'80'をそれぞれ設定し、プロトコルICMPに同様にIPアドレスを設定します。

参考:ポート番号一覧 
(*ポート番号は1024までは共通規格として決められていて、それ以降の番号は自由に使用できる番号です。)

ここでIPアドレスはインバウンド許可IPアドレスを入力しますが、今回は私の自宅でのグローバルIPアドレスを入力しました。(もし、特定の特定のServerからアクセスしたい場合は、そのサーバーのIPアドレスを記入する形となります。)
自宅のIPアドレスはコロコロ変わるため、都度確認し設定する必要があります。ご注意ください。IPアドレスの確認は以下のリンクで確認できます。

参考:IPアドレス確認
スクリーンショット 2022-05-18 19.20.55.png
スクリーンショット 2022-05-18 19.26.51.png
スクリーンショット 2022-05-18 19.27.00.png
スクリーンショット 2022-05-18 19.27.17.png
全ての設定が完了したら、右側の「セキュリティー・グループの作成」ボタンをクリックし作成します。
スクリーンショット 2022-05-18 19.29.41.png

4. SSH鍵の作成

VPCでは、VSIへの管理者アクセスに、パスワードではなくSSH鍵を使用します。SSH鍵の作成はターミナル(MACユーザー)で行います。以下のコマンドを用いてターミナルにてSSH鍵の作成及びアカウントへの追加を行います。

SSHキーの作成
$ ssh-keygen -t rsa -b 4096
SSHキーをアカウントに追加
$ SSHKEY_ID=$(ibmcloud is key-create sshkey-lamp-tutorial @$HOME/.ssh/id_rsa.pub --json | jq -r '.id')

5. サーバー作成

SSH鍵の作成が完了しましたら、サーバーの作成を行います。今までと同様、左のメニューから「仮想サーバー・インスタンス」をクリックし、VPC用の仮想サーバー・インスタンスの画面で作成ボタンをクリックします。
スクリーンショット 2022-05-19 14.52.54.png
必要なサーバー・タイプやホスティング・タイプ、ロケーションなどの設定を行います。今回はIntel x86サーバーとシングル・テナントでの専用ホスティング、東京2ゾーンで設定しました。
OSは Ubuntu Linuxにし、最も最新バージョンを選択しました。
プロファイルのスペック設定欄にはIntel x86の基本値(2vCPU|8GiB|4Gbps)にしていますが、「全てのプロファイルを表示」をクリックすると、多彩なオプションから選ぶこともできます。
また、SSH鍵の設定欄が表示されているので、上記で作成されたSSH鍵を選びます。
ここまで設定すると、右側のサマリーに金額とともに「仮想サーバーの作成」ボタンが表示されるので、作成を行います。
スクリーンショット 2022-05-19 15.04.08.png
もう一度仮想サーバー・インスタンス画面に戻り、作成したサーバーが稼働中になったら、VPCの準備は完了となります。

Apache、MySQL、および PHP のインストール

Apache、MySQL、PHPのインストールはターミナルにてコマンド入力することでインストールが可能です。
以下のコマンドの流れに沿ってインストールを行います。

① 更新中の対話モードの無効化
$ export DEBIAN_FRONTEND=noninteractive
② パッケージの更新
$ apt update
③ Apacheインストール
$ apt install apache2 -y
④ MySQLインストール
$ apt install mysql-server -y
⑤ PHPインストール
$ apt install php libapache2-mod-php php-mysql php-common php-cli -y

コマンドにてインストールが問題なくされたかどうか、以下の流れで確認します。

1. Ubuntuの確認

まず、ブラウザーを開いて、浮動IP(Floating IP)アドレスを入力しアクセスします。今回はLinux Ubuntuにて立ち上げているため、Ubuntuのウェルカム・ページが表示されます。
スクリーンショット 2022-05-26 13.51.01.png

2. AMPのバージョン確認

以下のコマンドを使用して、インストールされたApache、MySQL、PHPのバージョンを確認します。

① Apache
$ apache2 -v
② MySQL
$ mysql -V
③ PHP
$ 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を置き換えます。) に移動します。そうすると、以下の画面が表示されます。
スクリーンショット 2022-05-26 13.59.59.png

最後に

今回はIBM Cloud VPCを用いてLinux仮想サーバーを立ち上げてみました。チュートリアルではLAMP環境を構築後、WordPressをインストールしドメインを構成するなどの作業が残っていますが、「mysql_secure_installation」を途中で止めてしまったことが原因で、うまく進めることができませんでした。WordPressの稼働確認がうまくいきましたら、改めて記事に追記したいと思います。

参考リンク

VPC の LAMP スタック上の PHP Web アプリケーション
IPアドレス確認
ポート番号一覧 

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?