0
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?

GCP の VM で Web サーバー立てた (VM作成からVirtualHost立てるまで)

Posted at

備忘録。

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 サーバーを立てる

公式ガイドを見ながら進める。

  1. VM インスタンスのページから ssh ボタンをクリック。Authorize する。いちいちパスワードとか要らないしめっちゃ便利。
  2. Apache をインストール。
    sudo apt update && sudo apt -y install apache2
  3. Apache のステータス確認。
    sudo systemctl status apache2
    ちゃんと Active: active (running)であることを確認。
  4. とりまデフォルトのページを書き換える。
    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
  5. VM インスタンス一覧の External IP Address をクリックして Hello world が表示されていることを確認。
    普通に IP アドレスのリンクをクリックしちゃうと HTTPS 通信で表示されないので、ちゃんと http:// に直すこと。

このときなにげにめんどかったのがいちいち sudo しないとファイルが変えられないこと。
sudo chown -R $USER:$USER /var/www とかしておくと便利。

3. DNS サーバーに IP アドレスと URL のマッチングを設定

  1. 今回ドメインを Squarespace で取得していたので Squarespace の管理画面へ。
    Account dashboard > Domains タブ > 該当ドメインをクリック > DNS Settings > Custom records の [Add Record] ボタンをクリック。
  2. host = @, Type = A, Data = VM インスタンスの External IP address をコピペ。
  3. しばらく経ってからドメインを 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 を入れて、動くことを確認っ!

0
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
0
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?