サーバー導入手順

各項目をタップして開閉できます。複数行コマンドは <div class="code-block"> で囲み、実行場所を上に書きます。

各種操作方法

vi 操作

- 編集モード
i

- 編集モード終了
Esc

- 保存終了
:wq

- 保存せず終了
:q!
          
1. サーバーを借りる

・ さくらのVPS

【動けばOK】 Linux > Rocky Linux > 2Gプラン

【安心優先】 おすすめ構成 > Docker実行環境 > 4Gプラン

「管理ユーザー」と「パスワード」は初期設定後は使わないので適当でOK

・ さくらのVPSコンソールにログイン

パケットフィルター設定

ssh TCP 単一 22

Web TCP 単一 80/443

2. サーバー初期設定(ssh接続方法設定・セキュリティ面)

・ ユーザー作成

実行ローカル

ssh 初期ユーザー名@サーバーIP

実行サーバー

- ユーザー作成
adduser shu

- パスワードを設定(sshキーコピーの際、一時的に使用)
passwd shu

- sudo権限付与
usermod -aG sudo shu
or
usermod -aG wheel shu
          

・ sshキー作成 ~ 新ユーザーでssh接続

実行ローカル

- sshキー作成
ssh-keygen -t ed25519 -f ~/.ssh/sakura_vps_key

- sshキーをサーバーにコピー
パスワードを要求されるので先ほどのパスワードを入力
ssh-copy-id -i ~/.ssh/sakura_vps_key.pub shu@サーバーIP

- sshキー接続を確認
ssh shu@サーバーIP
or
ssh -i ~/.ssh/sakura_vps_key shu@サーバーIP
          

・ SSH設定変更

実行サーバー

- sshd_config を修正
sudo vi /etc/ssh/sshd_config
          

sshd_config

- 以下に変更
パスワードログイン禁止(鍵のみ)
rootログイン禁止

PasswordAuthentication no
PermitRootLogin no
          

実行サーバー

- SSH再起動
sudo systemctl restart ssh
or
sudo systemctl restart sshd
          
3. ドメインを取得

お名前ドットコムで取得

【安さ優先】 .info

【信頼優先】 .com .jp

4. DNS設定(メイン&サブドメイン)

・ お名前ドットコムNaviにログイン

ネームサーバー > ドメインDNS設定 > 該当ドメインの「ドメインDNS」ボタン > DNSレコード設定

空欄 A 3360 VPSのIP入力
www A 3360 VPSのIP入力

サブドメインもついでに登録しておく

management A 3360 VPSのIP入力

レコード情報の登録とあわせてDNSレコード設定用のネームサーバー(01.dnsv.jp / 02.dnsv.jp / 03.dnsv.jp / 04.dnsv.jp)に変更する

5. docker インストール

・ Docker 公式リポジトリ追加 &インストール

実行サーバー

- インストール
dnf install -y yum-utils
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.io

- Docker インストール確認
docker --version
docker compose version

― docker 起動
systemctl start docker
systemctl enable docker
systemctl status docker
          

以降、基本的には起動しっぱなし

6. Apache インストール

・ Apacheインストール/起動確認

実行 サーバー

sudo -i
dnf install httpd -y
systemctl start httpd
systemctl status httpd
          
7. Apache バーチャルホスト設定(ドメイン振り分け)

・ ローカルで直打ち対応用ファイル作成

index.html

no site (403)

・ ローカルで各種.conf ファイルを作成.まずはhttpのみ対応

000-default.conf(デフォルト用)

 IP直打ち・未定義ドメイン用 最初に読まれる想定

<VirtualHost *:80>
    # ここにはさくらのサーバー一覧のIPアドレス/ホスト名を入力
    ServerName ik1-123-77777.vs.sakura.ne.jp

    DocumentRoot /var/www/html/empty

    <Directory /var/www/html/empty>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog logs/default_error.log
    CustomLog logs/default_access.log combined
</VirtualHost>
          

010-project01.conf(サーバーで直接動かす場合)


<VirtualHost *:80>
    ServerName your-domain.info
    ServerAlias www.your-domain.info

    DocumentRoot /var/www/project01/public

    <Directory /var/www/project01/public>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog logs/project01_error.log
    CustomLog logs/project01_access.log combined
</VirtualHost>
          

020-project02.conf(Dockerで動かす場合)

 Apacheは中身を持たない / Proxy専用 / DocumentRoot 書かない

<VirtualHost *:80>
    ServerName management.your-domain.com

    ProxyPreserveHost On
    ProxyRequests Off

    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/

    ErrorLog logs/project02_error.log
    CustomLog logs/project02_access.log combined
</VirtualHost>
          
8. Apache 設定ファイルアップロード / 再起動

実行ローカル

- apache ディレクトリの中に全てのファイルを入れておく
scp -i /apache shu@サーバーIP:/home/shu/apache
          
/etc/httpd/conf.d
7. プロジェクトデプロイ

リポジトリの取得、環境変数、ビルド成果物の配置など、サーバ上へコードを置く手順を書きます。

実行ローカル

- zipファイルをアップロード
scp -i ~/.ssh/sakura_vps_key project.zip shu@サーバーIP:/home/shu
          

zipファイル解凍

実行サーバー(zipファイルの置いてあるディレクトリで実行)

- root ユーザーでzipファイルを移動
sudo -i
dnf install -y unzip
cd /opt
mv /home/shu/project.zip /opt/
unzip project.zip

          
8. docker でプロジェクトを起動

docker compose up など、コンテナ起動・再起動ポリシー・ログ確認を記載します。

9. https対応

Let’s Encrypt など証明書の取得、Apache の SSL 設定、HTTP から HTTPS へのリダイレクトを書きます。

※手順の詳細は環境に合わせて追記してください。