備忘録。
1. Google Cloud Compute Engine の VM インスタンス作成
こちらの記事を参考に、無料枠を使っていく。
気をつけたこと:
- Boot disk を危うく New balanced persistent disk のままにするところだった。危ない。Standard persistent disk に変更。
- 途中でグローバル IP アドレスを作成することも忘れずに。
Advanced Option > Networking > Network interfaces > Alias IP ranges > External IPv4 address を Ephemeral から Reserve static external IP address を選択。 - 今回 Ubuntu に慣れたかったので Ubuntu を選択。
2. Apache サーバーを立てる
公式ガイドを見ながら進める。
- VM インスタンスのページから
ssh
ボタンをクリック。Authorize する。いちいちパスワードとか要らないしめっちゃ便利。 - Apache をインストール。
sudo apt update && sudo apt -y install apache2
- Apache のステータス確認。
sudo systemctl status apache2
ちゃんとActive: active (running)
であることを確認。 - とりまデフォルトのページを書き換える。
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
- VM インスタンス一覧の External IP Address をクリックして Hello world が表示されていることを確認。
普通に IP アドレスのリンクをクリックしちゃうと HTTPS 通信で表示されないので、ちゃんと http:// に直すこと。
このときなにげにめんどかったのがいちいち sudo しないとファイルが変えられないこと。
sudo chown -R $USER:$USER /var/www
とかしておくと便利。
3. DNS サーバーに IP アドレスと URL のマッチングを設定
- 今回ドメインを Squarespace で取得していたので Squarespace の管理画面へ。
Account dashboard > Domains タブ > 該当ドメインをクリック > DNS Settings > Custom records の [Add Record] ボタンをクリック。 - host = @, Type = A, Data = VM インスタンスの External IP address をコピペ。
- しばらく経ってからドメインを URL にいれて先程の Hello World が表示されていることを確認。ここも普通に打ったら HTTPS になっちゃうので注意。
4. VirtualHost でサブドメイン作成
前回が MacOS 、今回は Ubuntu だったので結構 Config 系のファイル名とかが違った。
こちらの記事を参考に Config してく。
Step 1
どうやら Ubuntu では config 系のファイルが /etc/apache2/sites-available というパスに入ってるっぽい。 cd /etc/apache2/sites-available
する。
Step 2
Config ファイルをコピーする。 cp 000-default.conf xxx.com.conf
Step 3
nano xxx.com.conf
して以下の文言を足す / 編集する。
<VirtualHost *:80>
ServerName hoge-blog.com
DocumentRoot /var/www/root/
</VirtualHost>
Step 4
同じ用に、サブドメイン用の conf を作って VirtualHost 設定を Config する。
$ cp 000-default.conf test.xxx.com.conf
$ nano test.xxx.com.conf
----
<VirtualHost *:80>
ServerName hoge-blog.com
DocumentRoot /var/www/test/
</VirtualHost>
----
Step 5
適当な index.html を /var/www/root/ と /var/www/test/ に作成する。まずディレクトリを作って、そこにファイルいれる。
$ cd /var/www/
$ mkdir root test
$ cd root && nano index.html
----
<h1>Hello root!</h1>
----
$ cd ../test && nano index.html
----
<h1>Hello test!</h1>
----
Step 6
Ubuntu には、apache 設定ファイルを一気に有効に指せる a2ensite
というコマンドがあるらしい。
詳しくはこちらの記事を参照。
$ cd /etc/apache2/sites-available
$ a2ensite xxx.com.conf
$ a2ensite test.xxx.com.conf
Step 7
最後に apache2 をリスタートして動作確認。
systemctl restart apache2
ブラウザに URL を入れて、動くことを確認っ!