##イントロ
色々あって、Azure上にLinuxサーバを構築してWordPressを入れてみる事にした。
Azure上からSSH接続出来ちゃえば、後は他環境と同じかな、と思う。
##VM構築
###SSHキー作成
まずはSSHで繋ぐためのキーを作成する。
Azure Cloud Shellに以下を入力
ssh-keygen -t rsa -b 4096
save the key :(空白Enter)
passphrase :<Passphrase>
これで"/.ssh/id_rsa.pub"というファイルが作成され、公開鍵が保存される。
公開鍵をゲットするためにcatコマンドをCloud Shellに入力。
ここで出力される"ssh-rsa"以下を全部コピーしてどこかに保存しておく事。
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCsVFLtX17czgrdl7g0oak+(以下略)
###Linux VMのデプロイ
次にAzure Portalで「リソースの作成」を選択
「Cent OS」で検索(今回はCent OS7.6を指定したが、好みで選んで良い)
諸々のパラメータ(リソースグループとか)は環境によって異なるので、ここでは割愛。
「管理者アカウント」について、以下を選択する。
認証の種類:SSH公開キー
ユーザ名:お好きなユーザ名
SSH公開キー:先ほどコピーした、"ssh-rsa"から始まるキー
「ディスク」部分はお好みで。(データディスクをつける場合、後続でフォーマットが必要)
「ネットワーク」はNSGの受信ポートに「SSH」を含めることを忘れずに。
それ以外の項目は環境に合わせて大きく変わるので割愛。
すべて選択したら「確認および作成」を押下して、マシンを作成する。
###仮想マシンへの接続
デプロイが完了したら、「Virtual Machine」で作成したVMの管理画面を開き、
画面上部にある「接続」を押下する。
ここに表示される「VMローカルアカウントを利用してログインする」をコピーして、Cloud Shellに張り付け、ログインする。
※この時、SSHキーを作成し時に登録したパスフレーズが必要となる。
※アクセスできない場合、NSGでSSHが許可されているかを確認する事。
データディスクを追加している場合、ログイン後に以下のコマンドでデータドライブをフォーマットする。
(echo n; echo p; echo 1; echo ; echo ; echo w) | sudo fdisk /dev/sdc
sudo mkfs -t ext4 /dev/sdc1
sudo mkdir /data & sudo mount /dev/sdc1 /data
Apacheインストール
以下のコマンドを入力する。
sudo su -
yum -y install httpd
その後、以下を入力してApacheの起動及びOS起動時のオートスタートを設定する。
systemctl start httpd.service
systemctl enable httpd.service
起動確認には以下のコマンドを入力。
※active (running) と表示されればOK。
systemctl status | grep "httpd"
起動出来たら、動作確認。ファイルを作成し、インターネットからアクセスできるか試してみる。
まずはファイル作成。
vi /var/www/html/test.html
viで開いたファイルに、以下を入力。
<html><body> Hellow World! </body></html>
"Esc"⇒":wq"で保存して終了し、一度Azure Portalに戻る。
NSGで80番ポートのアクセスを許可したいため、VMの「ネットワーク」ブレードを開く
右上にある「受信ポートの規則を追加する」を押下し、以下パラメータでInternetからの80番ポートアクセスを許可。
※ソースは"Any"じゃなくて"Service Tag"から"Internet"を指定してもOK。
この設定が終わったら、グローバルIPアドレス指定でアクセスし、画面が表示されることを確認する。
URL:"http://(GrobalIP)/test.html"
###DBのインストール
まずは既定でインストールされているmariaDBをアンインストールする。
yum remove mariadb-libs
rm -rf /var/lib/mysql/
次に以下のコマンドで、MySQLのインストール。
yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum -y install mysql-community-server
インストール出来たら、OS起動時のオートスタートを設定した後に起動する。
systemctl enable mysqld.service
systemctl start mysqld.service
次に初期セットアップを行う。ログファイルにパスワードが記載されているため、ログファイルを開く。
cat /var/log/mysqld.log
以下のような形で保存されているので、コピーしておく。
A temporary password is generated for root@localhost: Lp:*cH<u)8Jr
SQLサーバの設定を変更する。パスワードは上記で入手したものを利用。
New Passwordはお好みで。それ以外の選択肢はすべて"y"を選択。
mysql_secure_installation
###PHPの導入
次にPHPをゲットして、Apacheを再起動する。以下のコマンドを入力。
yum -y install php php-mbstring php-gd php-mysql
systemctl restart httpd.service
###DBのセットアップ
DBのセットアップを行う。以下のコマンドを入力していく。
mysql -u root -p
<設定したパスワードでログイン>
create database wordpressdb;
grant all privileges on wordpressdb.* to "wordpressuser"@"localhost" identified by "<Password>";
flush privileges;
###WordPressの導入
最後にWordPressを導入する。以下のコマンドを実行。
wget https://ja.wordpress.org/wordpress-4.4.2-ja.tar.gz
mv wordpress /var/www/html/wordpress
chown -R apache:apache /var/www/html/wordpress
設定ファイルを変更する。
cd /var/www/html/wordpress/
mv wp-config-sample.php wp-config.php
vi wp-config.php
VIで開いたエディタの30行目前後に、DB名等を入力する箇所がある。
この部分を上記DB設定で設定したパラメータ通りに入力。
###仕上げ
ここまで出来たら、以下のURLにアクセスすることでGUI上でブログ設定が行えるようになる。
http://(GlobalIP)/WordPress