ConoHa VPSでWebサーバーを立ち上げる

ConoHa VPSでWebサーバーを立ち上げる
目次


【はじめに】 ConohaVPSでWebサーバーを立ち上げる

今回ブログを書くためにConoha VPSを契約しました。 VPSの初期設定とWebサーバー(Apache)の立ち上げまでの備忘録です。

  • VPSサーバー : ConohaVPS
  • OS : Debian 11.0

VPSサーバーの初期設定

はじめに基本的なセキュリティ対策をやっておきます。 下記のサイトを参考にしました。CentOSとDebianで異なるところも ありますが。

ネコでもわかる!さくらのVPS講座 ~第二回「サーバーをさわってみよう!」

1. rootユーザーでのログインを禁止する。

root(管理者権限)のパスワードが流出しても、直接ログインできなくしておくことで セキュリティを高めることができます。

  1. 一般ユーザーを作成する
# adduser ユーザー名
# passwd ユーザー名
  1. /etc/ssh/sshd_configの編集
#PermitRoorLogin yes

コメントアウトされていれば#をとり、yes→noに

  1. 設定の反映
# systemctl restart sshd.service

2.sshのポート番号を変更する。

SSHポートを標準の22番のままにしておくと、不正アクセスの攻撃にあいます。 早めに変更しておきましょう。

  1. /etc/ssh/sshd_configの編集
#Port 22

コメントアウトされていれば#をとり、22を任意の番号に

  1. 設定ファイルの構文チェック # sshd -t エラーが出なければOK.

  2. 設定の反映 # service sshd restart

  3. 設定の確認 $ ssh -p xxxxx ユーザー名@aaa.bbb.ccc.ddd ポートを指定してログインできれば成功です。ポート番号22でログイン出来ないことも確認してお来ましょう。

  4. 補足

3.ファイアウォールの設定

  1. ufwのインストール apt install ufw

  2. プロファイルの設定 ポートを開放したいプロファイルを設定します。 プロファイルはufw app listコマンドで確認できます。 今回はhttpとhttpsを使用できる[WWW Full]に設定しました。 設定はufw allow "WWW Full"コマンドです。 設定した値はufw status verboseコマンドで確認できます。

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
xxx                        ALLOW IN    Anywhere
80,443/tcp (WWW Full)      ALLOW IN    Anywhere
xxx   (v6)                 ALLOW IN    Anywhere (v6)
80,443/tcp (WWW Full (v6)) ALLOW IN    Anywhere (v6)

2. Apacheをインストールする

VPSをWebサーバーとして使用するのにApacheが必要です。 Debianなのでaptでインストールします。 # apt install apache2 でインストール後、サービスが起動しているか確認します。

 # systemctl list-unit-files -t service

 ---
 apache-htcacheclean.service            disabled        enabled
 apache-htcacheclean@.service           disabled        enabled
 apache2.service                        enabled         enabled
 apache2@.service                       disabled        enabled
 ---

「apache2.service」が「enable」であればOKです。 自分の環境ではインストールしたらenabledになっていましたが、 disabledだったら# systemctl enable apache2で有効化。

表示するHTMLファイルは/var/www/htmlに格納します。 webブラウザで[http://VPSサーバーのIPアドレス]でテストページが表示されればOKです。

3. ドメインの設定

私はドメインを「お名前.com」で取得しました。下記サイトがわかりやすかったので、参考にして設定しました。 取得したドメインでブログを公開する方法【ConoHaVPS × お名前.com】

4. SSL証明書の発行

セキュリティ強化のためhttpsのページになるように設定します。

  1. ApacheにOpenSSLモジュールがあるか確認する。
# apachectl -M
ssl_module (shared) ←あればOK.

ない場合は下記コマンドでインストール (自分の環境ではインストールされていたので未確認)

# apt install openssl
# a2enmod ssl
# systemctl restart apache2
  1. certbotのインストール
# apt install certbot python3-certbot-apache
#certbot --apache -d example.com
!https://exsample.comで表示できればOK.
!3ヶ月に一度証明書の更新が必要。
!# certbot renew を実行。面倒ならcronを設定

5. rsyncの設定

※rsync以外の転送ソフトを使用する場合には不要です

データのアップロードにはrsyncを使用しています。 rsyncはクライアント、サーバー双方にインストールが必要です。

  1. rsyncをインストールします。aptでできます。 # apt install rsync
  2. 実行コマンドは下記の通り。
# rsync -e "ssh -p [ポート番号]" -urlOtcv --delete public/ [VPSユーザー名]@[VPS_IPアドレス]:/var/www/html/

おわりに

以上、VPSの初期設定とApacheのインストール方法を紹介しました。 正直静的サイトを公開するだけならGithub Pagesとかでもよさそうですが、今後やりたいこともあったのでVPSにしてみました。参考になれば幸いです。