Windows Azure上にLinuxインスタンスを立ち上げる(クエスト5)

2012年11月23日(金)
Think IT編集部

始める前に

このクエストでは、Windows AzureでUbuntu Linuxが駆動する仮想マシンを作成し、WordPressをインストールします。このクエストを行う前に、かならずクエスト1~3までを終わらせておいてください。

11/23開催のセミナー動画を以下に追加しました。記事とあわせて参考にしてください。

1. SSHクライアントの準備

1.1. Windowsの場合

Windows環境では、デフォルトではSSHクライアントは用意されていませんので、SSHクライアントをインストールしてください。この記事ではTeraTermを前提に解説しています。

SourceForgre.JP TeraTerm Projectから、teraterm-4.75.exeをダウンロードしてインストールしてください。

1.2. Mac OS Xの場合

Mac OS X環境ではデフォルトでSSHクライアントが用意されています。ターミナルを起動します。アプリケーション > ユーティリティにありますので、画面下のドックに登録するなどして、すぐ起動できるようにしてください。

画像をクリックすると拡大表示します

2. Windows Azure管理ポータルへのアクセス

Windows Azure管理ポータルへアクセスします、サイトはHTML5ベースで開発されており、プラットフォームを問わず多くのブラウザで動作します。
→ Windows Azure 管理ポータル

以下の画面がブラウザに表示されていることを確認してください。

画像をクリックすると拡大表示します

3. WordPressをインストールするまでの流れ

今回はWindows AzureにLAMP(Linux Apache MySQL PHP)の環境を構築して、その環境にWordPressをインストールします。

この環境を以下の手順で構築します。

  1. Linux仮想マシンを構築
  2. SSHクライアントでアクセス
  3. LAMP環境の構築
  4. HTTPエンドポイント仮想マシンに追加
  5. WordPressのインストール
  6. WordPressの初期設定

4. Linux仮想マシンを構築

早速、仮想マシンを作成してみましょう。

画像をクリックすると拡大表示します

管理ポータル一番下から[+新規]-[コンピューティング]-[仮想マシン]-[簡易作成]の順でクリックしてから、以下の任意の値を入力してください。

4.1. DNS名

DNS 名は 3 ~ 15 文字のアルファベット、数字、およびハイフンのみです。 名前の先頭にはアルファベット、末尾にはアルファベットまたは数字を使用する必要があり、Windows Azureで既に使用されているDNS名は使うことはできません。

4.2. イメージ

VMの作成に使うベースイメージを指定します。Linuxでは

  • Ubuntu Server12.04 LTS
  • Ubuntu Server12.04.1
  • OpenLogic CentOS 6.2
  • openSUSE 12.1
  • SUSE Linux Enterprise Server

現在5種類のイメージと4種類のLinuxディストリビューションが提供されています。この記事ではUbuntu Server 12.04.1を使用します。

4.3. サイズ

起動する仮想マシンのサイズを指定します。サイズはCPUコアやメモリなどの違いから[極小]から[極大]までのサイズが提供されています。インストールマニアックスファイナルで指定されているインスタンスサイズは[小]インスタンスになります。
間違って他のサイズを使うと、規定外で失格になりますので、必ず[小(1コア、1.75GBメモリ)]を指定してください。

4.4. ユーザー名

今回のクイック作成では、あらかじめユーザー名はazureuserで作成されます。

4.5. 新しいパスワード・確認

Linux仮想マシンのユーザー(azureuser)のパスワードを入力します、確認の欄にも同じパスワードを入力してください。
パスワードは最低8文字で、且つ次の4つの要件から、少なくとも3つの要件を満たすパスワードである必要があります。

  • 小文字1文字
  • 大文字1文字
  • 数値1文字
  • 記号1文字

4.6. 場所

Windows Azureが提供されているデータセンターの場所です。日本からもっとも近い場所は東アジアになりますので、東アジアを選択してください。

必要な情報を記入したら[仮想マシン作成]をクリックしてください。仮想マシンが準備されるまでしばらく時間がかかりますので、10分ほど休憩しましょう。仮想マシンを作成する過程で、仮想マシンのハードディスクイメージを保持するストレージアカウントも作成されます。

画像をクリックすると拡大表示します

仮想マシンの状態が[実行中]になったら作成完了です。

※仮想マシンが表示されなかったら?

Windows Azureの「仮想マシン」を選択しようとすると、使えない状態になっている場合があります。その場合は、プレビュー機能を申し込みましょう。

管理ポータル上部のバー右側にある自分のプロフィールアイコン(デフォルトは人の形のアイコン)をクリックして展開されたメニューから[明細の表示]をクリックしてください。

画像をクリックすると拡大表示します

すると、現在契約しているサブスクリプションや課金状況を確認する画面が表示されます。この画面の[プレビュー機能]をクリックしてください。

画像をクリックすると拡大表示します

プレビュー機能として提供されている一覧が表示されます。今回は仮想マシンを使いますので[Virtual Machines & Virtual Networks]の[try it now]をクリックして有効化してください。

画像をクリックすると拡大表示します

これでプレビュー機能の申し込みが完了しました。

5. SSHクライアントでアクセス

作った仮想マシンにSSHクライアントを使ってアクセスします。作った仮想マシンの名前をクリックすると仮想マシンの管理パネルの概要画面になります。ここではdeploy-prince.cloudapp.netです。

画像をクリックすると拡大表示します

右の概要部分のDNSがSSHやウェブブラウザでアクセスする際のホスト名となります。以下は今回の作例の仮想マシンの概要です。

5.1. Windowsの場合

インストールしたTeraTermを起動してください。

画像をクリックすると拡大表示します

起動をしたらホストに概要部分のDNSを入力し、OKをクリックします。

アクセスするホストが初めての場合は、ホスト鍵指紋の確認を求められます。仮想マシン概要の[SSH証明書サムプリント]と同じであるか確認をしてください。

画像をクリックすると拡大表示します

接続するとSSH認証ダイアログが表示されます。

ユーザー名azureuserと仮想マシン作成時に設定した任意のパスワードを入力してログインしてください。

画像をクリックすると拡大表示します

このようにバナーが出たら、ログインできています。

5.2. MAC OS Xの場合

Mac OS Xの場合は1-2で説明したターミナルを起動します。

画像をクリックすると拡大表示します

起動したら、以下のように入力して接続してください。

azuresuer@[概要のDNSに記載された文字列]

例では、DNSがdeploy-prince.cloudappp.netですので以下となります。

azureuser@deploy-prince@cloudappp.net

接続に成功すると、パスワードを確認されますので、仮想マシン作成時に設定したパスワードを入力してください。

6. LAMP環境の構築

以後はSSHでログインしている事を前提に進めます。sudoが先頭に書かれているコマンドは、管理者権限で実行をしますので、適宜パスワードを入力してください。

   [sudo] password for azureuser: ßここでazureuserのパスワード入力

6.1. パッケージ情報の更新

まずは、取得できるパッケージ情報を最新の状態に更新しましょう。

  azureuser@deploy-prince:~$ sudo apt-get update
  [sudo] password for azureuser:

6.2. LAMPパッケージのインストール

次にLAMP環境の構築を行います、以下のコマンドを入力してください。

  $ sudo tasksel install lamp-server
画像をクリックすると拡大表示します

途中、MySQLサーバの管理者パスワードの入力を求められますので、任意のパスワードを入力してください(2回あります)。

画像をクリックすると拡大表示します

7. HTTPエンドポイントを仮想マシンに追加

LAMP環境が構築され、すでにウェブサーバーが起動しています。この確認の為に、HTTPポートを仮想マシンに追加して、外部からブラウザで参照できるようにします。

仮想マシンの概要画面の上部にある[エンドポイント]をクリックしてください。

画像をクリックすると拡大表示します

エンドポイントの編集画面に移動します。画面にはすでに解放されているSSH TCP 22番が追加されています。

画像をクリックすると拡大表示します

管理画面下部の[エンドポイントの追加]ボタンをクリックしてください。

画像をクリックすると拡大表示します

クリックすると仮想マシンへのエンドポイントの追加を行うダイアログが表示されます。エンドポイントの追加を選択して、次へ進めてください。

エンドポイントは以下の情報で登録してください。

  • 名前 HTTP(任意ですが、ここではHTTPとしました)
  • プロトコル TCP
  • パブリックポート 80
  • プライベートポート 80

パブリックポートは外部からアクセスしたときのポート番号、プライベートは転送する仮想マシンのポート番号です。

画像をクリックすると拡大表示します

入力が終わったら、チェックをクリックして追加を完了させてください。追加には数分程度の時間がかかります。

7.1. ブラウザから確認

任意のブラウザを起動し、確認を行ってください。DNS名でそのままアクセスします。http://DNS名/でアクセスします。今回の例では http://deploy-prince.cloudapp.net/ になります。アクセスに成功すると以下の画面が表示されます。

画像をクリックすると拡大表示します

動作を確認できたら、PHPなど変更されたコンフィグを反映する為に一度reloadをしておきます。

  azureuser@deploy-prince:~$ sudo /etc/init.d/apache2 reload

8. WordPressのインストール

環境が整いましたので、WordPressをインストールします、SSHでアクセスしてください。

8.1. WordPress用のMySQLユーザーとデータベースの追加

SSHでログインして、mysqlコマンドを使って追加します。パスワードはLAMP環境の構築の際に設定したパスワードになります。

  azureuser@deploy-prince:~$ mysql -u root  -p
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or \g.
  Your MySQL connection id is 47
  Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu)
  
  Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
  
  Oracle is a registered trademark of Oracle Corporation and/or its
  affiliates. Other names may be trademarks of their respective
  owners.
  
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  
  mysql>

WordPress用のデータベースの作成

  mysql> create database wordpressdb;
  Query OK, 1 row affected (0.00 sec)

WordPress用のユーザーの作成とDBへの権限付与

ここではユーザーをwpdbuserでパスワードをpasswordという文字列で作成しています。適宜変更を行ってください。

  mysql>grant all on wordpressdb.* to 'wpdbuser'@'localhost' identified by 'password';
  Query OK, 1 row affected (0.00 sec)

mysqlコマンドを終了します。

  mysql> quit
  Bye

8.2. WordPressの展開

今回はhttp://DNS名/wordpress/へインストールを行います、以下の手順で進めます。

  • Webサーバのルートディレクトリ/var/wwwに移動
  • WordPressの最新版をwgetコマンドでダウンロード
  • tarコマンドでダウンロードしたファイルを展開
  • chownコマンドでディレクトリの所有者権限をwww-dataユーザーへ変更
  azureuser@deploy-prince:~$ cd /var/www/
  azureuser@deploy-prince:/var/www$ sudo wget http://ja.wordpress.org/latest-ja.tar.gz
  --2012-11-20 18:45:12--  http://ja.wordpress.org/latest-ja.tar.gz
  Resolving ja.wordpress.org (ja.wordpress.org)... 72.233.56.138, 72.233.56.139
  Connecting to ja.wordpress.org (ja.wordpress.org)|72.233.56.138|:80... connected.
  HTTP request sent, awaiting response... 200 OK
  Length: 4970768 (4.7M) [application/octet-stream]
  Saving to: `latest-ja.tar.gz'
  
  100%[========================================================================>] 4,970,768   1.10M/s   in 6.1s
  
  2012-11-20 18:45:19 (796 KB/s) - `latest-ja.tar.gz' saved [4970768/4970768]
  azureuser@deploy-prince:/var/www$ sudo tar zxf latest-ja.tar.gz
  azureuser@deploy-prince:/var/www$ sudo chown -R www-data.www-data wordpress

コマンドのみ書き出すと以下となります。どうしても、操作の意味がわからない場合はそのままコピーアンドペーストしてください。

  cd /var/www/
  sudo wget http://ja.wordpress.org/latest-ja.tar.gz
  sudo tar zxf latest-ja.tar.gz
  sudo chown -R www-data.www-data wordpress

9. WordPressの初期設定

任意のブラウザを使って、http://deploy-prince.cloudapp.net/wordpress/のように、WordPressをインストールした、http://DNS名/wordpress/ というURLにアクセスしてください。

今回は設定ファイルが作成されていないので、wp-config.phpがないという画面が表示されます。設定ファイルを作成するボタンをクリックしてください。

画像をクリックすると拡大表示します
画像をクリックすると拡大表示します

さぁ、始めましょう!をクリックしてください。

画像をクリックすると拡大表示します

あらかじめ作成しておいた、データベースの設定を入力して、送信をクリックします、今回の例だと以下の情報となります。

  • データベース名 wordpressdb
  • ユーザー名 wpdbuser
  • パスワード password
  • データベースのホスト localhost
  • テーブル接頭辞 wp_

インストールの準備ができていますので、インストール実行ボタンをクリックしてください。

画像をクリックすると拡大表示します

サイトのタイトル、管理者ユーザー名、パスワード、メールアドレスを入力しWordPressをインストールのクリックをしてください。 なお、ここで設定するパスワードは、これまでとは別の新しいもので問題ありません。

画像をクリックすると拡大表示します

この画面が表示されたら、インストールは成功しています。投稿やコメントを行って、ブログが正しく動作することを確認してください。

画像をクリックすると拡大表示します
画像をクリックすると拡大表示します
画像をクリックすると拡大表示します
画像をクリックすると拡大表示します

Linux仮想マシンへのWordPressのインストールは以上です!!お疲れ様でした。他のクエストと同様、このWordPressのURLを公式サイトで報告しておきましょう。

また、クエストを順番にこなしてきた方は、このクエストで基本編終了です。審査期間終了まで動作が確認されれば、他の多くのLAMPを対象としたOSSも同じように駆動します、大会期間中に是非インストールをしてみてください。

“オープンソース技術の実践活用メディア” をスローガンに、インプレスグループが運営するエンジニアのための技術解説サイト。開発の現場で役立つノウハウ記事を毎日公開しています。

2004年の開設当初からOSS(オープンソースソフトウェア)に着目、近年は特にクラウドを取り巻く技術動向に注力し、ビジネスシーンでOSSを有効活用するための情報発信を続けています。クラウドネイティブ技術に特化したビジネスセミナー「CloudNative Days」や、Think ITと読者、著者の3者をつなぐコミュニティづくりのための勉強会「Think IT+α勉強会」、Web連載記事の書籍化など、Webサイトにとどまらない統合的なメディア展開に挑戦しています。

また、エンジニアの独立・起業、移住など多様化する「働き方」「学び方」「生き方」や「ITで社会課題を解決する」等をテーマに、世の中のさまざまな取り組みにも注目し、解説記事や取材記事も積極的に公開しています。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています