各項目をタップして開閉できます。複数行コマンドは <div class="code-block"> で囲み、実行場所を上に書きます。
vi 操作
- 編集モード
i
- 編集モード終了
Esc
- 保存終了
:wq
- 保存せず終了
:q!
・ さくらのVPS
【動けばOK】 Linux > Rocky Linux > 2Gプラン
【安心優先】 おすすめ構成 > Docker実行環境 > 4Gプラン
「管理ユーザー」と「パスワード」は初期設定後は使わないので適当でOK
・ さくらのVPSコンソールにログイン
パケットフィルター設定
ssh TCP 単一 22
Web TCP 単一 80/443
・ ユーザー作成
実行ローカル
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
お名前ドットコムで取得
【安さ優先】 .info
【信頼優先】 .com .jp
・ お名前ドットコム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)に変更する
・ 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
以降、基本的には起動しっぱなし
・ Apacheインストール/起動確認
実行 サーバー
sudo -i
dnf install httpd -y
systemctl start httpd
systemctl status httpd
・ ローカルで直打ち対応用ファイル作成
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>
・
実行ローカル
- apache ディレクトリの中に全てのファイルを入れておく
scp -i /apache shu@サーバーIP:/home/shu/apache
リポジトリの取得、環境変数、ビルド成果物の配置など、サーバ上へコードを置く手順を書きます。
実行ローカル
- 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
docker compose up など、コンテナ起動・再起動ポリシー・ログ確認を記載します。
Let’s Encrypt など証明書の取得、Apache の SSL 設定、HTTP から HTTPS へのリダイレクトを書きます。
※手順の詳細は環境に合わせて追記してください。