ご利用ガイド スタートアップスクリプトを作成する
目次
スタートアップスクリプトの作成の例をご紹介します。
スタートアップスクリプトを利用することでサーバーの追加時にあらかじめ設定したコマンド操作などを自動的に実行することができます。
スタートアップスクリプトによって「yumコマンドを実行しあらかじめ必要なアプリケーションをインストールする」「ユーザー追加をする」等のVPS作成時に行う初期設定を自動的に行うことができます。
コントロールパネルでスタートアップスクリプトを使用してサーバーを追加する方法は下記でご案内しています。
スタートアップスクリプト使ってサーバーを追加する
スクリプトの作成方法
サーバー追加時に一般ユーザーを追加し、rootユーザのsshログインを禁止する場合のスタートアップスクリプトの一例を紹介します。(cloud-config形式とシェルスクリプト形式の2パターンを紹介します。)
cloud-config形式
#cloud-config
merge_how:
- name: list
settings: [append]
- name: dict
settings: [no_replace, recurse_list]
users:
- default
- name: "作成したいユーザー名"
groups: wheel
runcmd:
- echo "作成したユーザーに設定したいパスワード" | passwd --stdin "作成したいユーザー名"
- sed -i /etc/ssh/sshd_config -e "s/PermitRootLogin yes/PermitRootLogin no/g"
- sed -i /etc/ssh/sshd_config -e "s/#PermitRootLogin yes/PermitRootLogin no/g"
- sed -i /etc/ssh/sshd_config -e "s/#PermitRootLogin no/PermitRootLogin no/g"
- systemctl restart sshd
シェルスクリプト形式
#!/bin/sh
USERNAME='作成したいユーザー名'
PASSWORD='作成したユーザーに設定するパスワード'
useradd -m -G wheel -s /bin/bash "${USERNAME}"
echo "${PASSWORD}" | passwd --stdin "${USERNAME}"
sed -e "s/PermitRootLogin yes/PermitRootLogin no/g" -i /etc/ssh/sshd_config
sed -e "s/#PermitRootLogin yes/PermitRootLogin no/g" -i /etc/ssh/sshd_config
sed -e "s/#PermitRootLogin no/PermitRootLogin no/g" -i /etc/ssh/sshd_config
systemctl restart sshd
次にyum upgradeを実行し、Dockerをインストールするスタートアップスクリプトの例を紹介します。
cloud-config形式
#cloud-config
merge_how:
- name: list
settings: [append]
- name: dict
settings: [no_replace, recurse_list]
runcmd:
- yum -y upgrade
- yum -y install docker
- systemctl enable --now docker
- docker swarm join --token SWARM_TOKEN SWARM_MASTERNODE_IPADDRESS
シェルスクリプト形式
#!/bin/sh
yum -y upgrade
yum -y install docker
systemctl enable --now docker
docker swarm join --token SWARM_TOKEN SWARM_MASTERNODE_IPADDRESS
- 問題は解決できましたか?
-