WordPress コース 2nd Stage を攻略しよう(Linux 仮想マシン編)
Microsoft Azure上にLinuxインスタンスを立ち上げてWordPressをインストール
「Tuning Maniax 2014 - 蒼き調律者たち」の攻略に役立つ情報をお届けする今回の連載。前回のWindows仮想マシン編に続き、今回の記事ではLinux仮想マシンで WordPress を立ち上げるまでの手順について紹介します。
前提条件
事前準備として、以下の環境をそろえてください。
※Microsoft Azureの管理ポータルにログインする際に必要です。
- Microsoft アカウントの登録
- Microsoft Azureのアカウント開設
- インターネットに接続できるPC(OSの種類は問いません)
作業の流れ
- SSHクライアントの準備
- Microsoft Azureの管理ポータルへログイン
- Linux仮想マシンの作成(CentOS)
- OSの更新
- WordPress実行環境(LAMP)の構築
- MySQLの設定
- WordPressのインストール
- エンドポイントの設定
- WordPressの設定
SSHクライアントの準備
Windowsの場合
Windows OS には、デフォルトで「SSHクライアント」が用意されていません。SSHクライアントを別途インストールしてください。
この解説では日本では人気の高いTeraTermを使って解説します。
「ダウンロード - Tera Term (テラターム) - SourceForge.JP」 より、「teraterm-[バージョン番号].exe」をダウンロードしてインストール
※ 以降はこのTeraTerm使って解説します。
Mac 「OS X」の場合
Macの「OS X」には、デフォルトで「SSHクライアント」が用意されています。
「ターミナル.app」を起動し、Dock(ドック)に登録して”すぐに”起動できるようにします。
Microsoft Azureの管理ポータルへログイン
早速、Microsoft Azure 管理ポータル にアクセスして、「Linux仮想マシン」を作成していきます。
特にブラウザのプラグインはいりませんが、最新のブラウザを利用してください。
Linux仮想マシンの作成
それでは、「Linux仮想マシン」を作成していきます。
左下の「新規」から
「コンピューティング」 ⇒ 「仮想マシン」を選択します。
次に「ギャラリーから」を選択します。
すると、作成する「OSイメージ」の一覧が表示されます。
今回は例として「CentOS」を使用します。
左のメニューから「CENTOS」を選択すると「OpenLogic」と出てきます。
こちらを「選択」して、右下の矢印を選択します。
【参考】 Microsoft Azureで使えるLinux
Microsoft Azureでは、もちろんWindowsサーバーとLinuxを利用することが出来ます。
執筆時点で利用できるLinuxは以下のようになっています。
- Ubuntu
- 12.04LTS
- 12.10
- 13.10
- 14.04LTS
- CentOS 6.5(OpenLogic)
- openSUSE 13.1
- SUSE Enterprise Server 11 SP3
- Oracle Linux 6.4
- WebLogic同梱
- Oracle同梱
- Puppet Enterprise
次に仮想マシンの構成をしていきます。
仮想マシン名 | 仮想マシンの名前 短くてわかりやすい物 |
---|---|
階層 | 「基本」を選択します ※ |
サイズ | 「A1」を選択 |
新しいユーザー名 | デフォルトでは「azureuser」ですが、変更をおすすめします! |
パスワードの指定 | 今回は「SSHキー」がないので、パスワードを指定します! |
※ 仮想マシンの「階層」ですが、「基本」が機能が制限されていて少し安価に設定されています。自分の構成をお好みで選択してください。
詳細は以下の記事が参考になります。
- Microsoft Azure – 革新、品質、そして料金 | S/N Ratio (by SATO Naoki)
- Basic (基本) レベルの仮想マシン - Microsoft Azure Japan Team Blog (ブログ) - Site Home - MSDN Blogs
パスワードには以下の制約があります。
パスワードは 8 文字以上である必要があります
かつ
パスワードには、次のうち 3 種類の文字を含める必要があります:
- 小文字
- 大文字
- 数字
- 記号
設定が完了したら、右下の矢印を選択します。
さらに構成が続きます。
クラウド サービス | 「新しいクラウド サービスの作成」を選択 |
---|---|
クラウドサービスDNS名 | 「好きなDNS名」.cloudapp.net |
リージョン | 「日本(東)or(西)」 |
ストレージアカウント | 「自動的に生成されたストレージアカウントを使用」 |
可用性セット | 「可用性セットの作成」 |
可用性セット名 | 「好きな名前」 |
エンドポイント | 「SSH」が自動で選ばれていますので、そのまま |
設定が完了したら、右下の矢印を選択します。
「VMエージェント」はチェックのまま、右下のチェックを選択します。
すると、先ほどの構成で「Linux仮想マシン」が作成されます。
エンドポイント
Microsoft Azureが標準で備えているファイアーウォールの設定です。
アクセスしたいポートを変える場合は、「パブリックポート」の番号を変更すれば、そのポート番号でアクセス可能です。
また、他のプロトコルを追加することも可能です。設定は後から追加変更出来ます!
OSの更新
「Microsoft Azure 管理ポータル」から、「DNS名」をコピーしてきて、SSHで接続してみます。
TeraTermの「ホスト」先ほどコピーしたDNS名を入れて「OK」
すると、セキュリティ警告が出ます。
ダッシュボードの「SSH 証明書のサムプリント」と同じであることを確認して、「続行」します。
次に、先ほど「仮想マシンの構成」で設定した「ユーザ名」、「パスワード」を入力して「OK」で接続します。
まず、最初にLinuxOS自体の「アップデート」を行ってください。
sudo yum update -y
この時、パスワードが求められます。
ここでは、「仮想マシンの構成」で設定した「パスワード」を入力します。
We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for unagiuser:
一度再起動します。
sudo /sbin/shutdown -r now
MacOSXには標準でsshクライアントがありますので、そちらを利用して接続します。
「アプリケーション」→「ユーティリティ」から「ターミナル」を立ち上げます。
「Microsoft Azure 管理ポータル」から、「DNS名」をコピーしてきて、SSHで接続してみます。
ssh 先ほど設定した[新しいユーザー名]@先ほど設定した[DNS名]
例としてこのようになります。
質問には「yes」で回答して、以下のように表示が変われば接続完了です。
ssh motounagiya@tuningmaniaxwq.cloudapp.net
Windowsと同様にOSの更新を行ってください。
WordPress実行環境(LAMP)の構築
WordPressを実行するためには、以下のソフトウェアが必要です。
- Apache HTTPd Server (Webサーバー)
- MySQL
- PHP
導入していきます!
sudo yum install -y httpd mod_ssl php php-mysql php-xml mysql-server
MySQLの設定
MySQLを起動します。
sudo service mysqld start
以下のようなメッセージが出て、起動すると思います。
Initializing MySQL database: Installing MySQL system tables... OK Filling help tables... OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h motounagiya password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd /usr ; /usr/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd /usr/mysql-test ; perl mysql-test-run.pl Please report any problems with the /usr/bin/mysqlbug script! [ OK ] Starting mysqld: [ OK ]
次にDBのパスワード設定などを行います。
以下のコマンドを実行します。
sudo /usr/bin/mysql_secure_installation
MySQLのrootパスワードを設定します。
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): ← 最初は空なので何も入力せずEnter OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. Set root password? [Y/n] Y ← ここでrootのパスワードを設定します New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!
WordPress用のMySQLユーザーとデータベース作成
以下の内容でMySQLデータベースを作成します。あくまで“サンプル”ですので、本番では複雑なパスワードを設定されることをオススメします!
DB名 | wordpressdb |
---|---|
DBユーザー名 | wpdbuser |
DBパスワード | Password |
例:
サンプル情報を元に「SQLファイル」を以下のように作成します。
wpcreate.sql:
CREATE DATABASE wordpressdb DEFAULT CHARACTER SET utf8; CREATE USER 'wpdbuser'@'localhost' IDENTIFIED BY 'Password'; GRANT ALL PRIVILEGES ON wordpressdb.* TO wpdbuser@localhost; flush privileges;
MySQLに接続して、上記SQLを実行します。
mysql -u root -p < wpcreate.sql
上記が一番簡単な方法ですが、以下の方法でも作成可能です。
mysql -u root -p mysql> 先ほどのSQLを貼りつける
完了したら、以下のコマンドでMySQLの接続を切っておきましょう。
mysql> quit ← mysqlから抜ける
WordPressのインストール
今回、
http://DNS名/wordpress/
へインストールを行います、以下の手順で進めます。
- Webサーバのルートディレクトリ「/var/www/html」に移動
- WordPressの最新版をwgetコマンドでダウンロード
- tarコマンドでダウンロードしたファイルを展開
- chownコマンドで所有者権限をapacheユーザーへ変更
以下、コマンドのみで記載します。
cd /var/www/html sudo wget http://ja.wordpress.org/latest-ja.tar.gz sudo tar zxf latest-ja.tar.gz sudo chown -R apache.apache wordpress
エンドポイントの設定
WordPressの公開及び管理のために、エンドポイントを追加します。
- HTTP (80)
- HTTPS (443)
を追加します。
再度「Microsoft Azure 管理ポータル」にアクセスして、自分が作成した「Linux仮想マシン名」をクリックして以下の画面を表示します。
メニューから「エンドポイント」を選択します。
この画面に切り替わります。ここでは、「+ 追加」を選択します。
ここでは、「スタンドアロン エンドポイントの追加」を選択して、右下の矢印で「次へ」
「名前」から「HTTP」を選択します。
「HTTP」です。
他の項目は自動で入力されます。ので、このまま右下の「チェック」をクリックします。
この画面に切り替わって、完了まで数秒待ちます。
完了したら同様に「HTTPS」も追加します。
ブラウザで「DNS名」にアクセスして、アクセス可能か確認してみます。
この画面が表示されれば、完了です。
WordPressの管理の安全上の設定は実施しておきましょう。
- IPアドレスで制限
- SSLで管理画面ログイン
WordPressの設定
それでは、WordPressのインストール設定をしていきます。
httpdとmysqldを起動します。
sudo service httpd start sudo service mysqld start
その後、
http://DNS名/wordpress/
へアクセスして、以下の画面が表示されることを確認します。
「設定ファイルを作成する」で次の画面へ
ここは先ほど設定した、データベースの情報用意します。
そして、「さあ、始めましょう!」で次の画面へ
こちらにデータベースの接続情報を入力します。
- データベース名
- ユーザー名
- パスワード
が入力の項目で、他はそのままで大丈夫です。「送信」で次へ
今度は、「インストール実行」で次へ
次に、サイトの設定です。
サイト名 | 好みのものを入力(例:Tuning Maniax) |
---|---|
ユーザー名 | 好みのものを入力(admin以外が好ましい) |
パスワード | 複雑なもので設定しましょう |
メールアドレス | 自分のメールアドレス(パスワードを忘れた時に必要です) |
プライバシー | 今回はコンテスト用なので、「チェックを外します」 |
以下は、例です。
すべての項目が入力完了したら、「WordPressをインストール」で次へ
この画面が出れば、WordPressのインストールは完了です!
念の為に管理画面にログインしておきましょう。
https://DNS名/wordpress/wp-admin/
と、HTTPSでアクセスを推奨します。
先ほど設定した、
- データベース名
- ユーザー名
を使って、ログインしましょう
この画面が表示されば、問題ありません!
最後に、サイトのトップページにアクセスしてみます。 http://DNS名/wordpress/
ここまで、表示されればインストールに問題はありません。
競技用データのインポート
WordPressのインストール後、公式サイトに掲載されている手順に沿ってWordPressのデータをインポートしましょう。
WordPressのデータをインポートする - Tuning Maniax 2014
※上記手順でデータがうまくインポートできない場合、PHPのXMLモジュールがインストールされていない可能性があります。例えばCentOSであれば以下のようにXMLモジュールをインストールして、Apacheをリスタートしてください。
sudo yum -y install php-xml
sudo service httpd restart
これが終われば競技前の準備完了です。お疲れ様でした!
【参考リンク】
Windows Azure 自習書シリーズ - 仮想マシン (IaaS) 編 | MSDN
<編集部より> MacからのSSH接続やSQLファイルの作成など、わかりづらかった箇所の追記を行いました。その他、一部の間違いを修正しました。(2014.05.17)
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Windows AzureにPerlのアプリケーションをインストールする(クエスト9)
- Windows Azure上にLinuxインスタンスを立ち上げる(クエスト5)
- MySQL、PHPの設定とデータベース作成
- ownCloud導入はじめの一歩(仮想マシンイメージとCentOS 7のインストール手順)
- Windows Azure仮想マシンでLinuxサーバーを構築しよう
- 「FreeIPA」の機能を試してみよう
- Windows Azure上にWindowsインスタンスを立ち上げる(クエスト4)
- Ansibleのインストールとサンプルコードの実行
- WebMatrixを使ってWordPressを動かそう
- WordPress コース 2nd Stage を攻略しよう(Windows 仮想マシン編)