8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

対話形式で設定していたことをコマンドで設定する

Last updated at Posted at 2015-06-28

サーバーを設定していると対話型になるところがあるけど、それを文章化するのも面倒だし、スクリーンショットを撮るのも面倒だし、何よりも自動化できないので、可能な限りコマンドだけで設定を完了しておきたい。

コマンドで各種設定をする

環境は Ubuntu 14.04
インストールするアプリの都合で今回はこのバージョンを使っている。

ホスト名

ホスト名の変更と hosts の書き換え。

export HOSTNAME=example.jp
hostname $HOSTNAME
sed -i "s/^\(127\.0\.0\.1.\+localhost\)/\1 $HOSTNAME/" /etc/hosts

エディタ

デフォルトエディタの設定を変更する。
エディタは nano よりも vim の方が好み。

sudo update-alternatives --set editor /usr/bin/vim.basic

対話形式でエディタを選択したい場合はこうする。

sudo update-alternatives --config editor

タイムゾーン

sudo sh -c 'echo "Asia/Tokyo" > /etc/timezone'
sudo dpkg-reconfigure -f noninteractive tzdata

対話形式でタイムゾーンを選択したい場合はこうする。

sudo dpkg-reconfigure tzdata

NTP

sudo cp /etc/ntp.conf /etc/ntp.conf.org
sudo sed -i "s/^\(server\) \(.*\)/\1 ntp.nict.jp/" /etc/ntp.conf

server 1.time.constant.com
server 2.time.constant.com
server 3.time.constant.com

上記が次のようになる。

server ntp.nict.jp
server ntp.nict.jp
server ntp.nict.jp

MySQL

export MYSQLPW=INPUT_PASSWORD
echo "mysql-server mysql-server/root_password password $MYSQLPW" | sudo debconf-set-selections
echo "mysql-server mysql-server/root_password_again password $MYSQLPW" | sudo debconf-set-selections
sudo apt-get -y install mysql-server

sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.org
sudo sed -i "/\[mysqld\]/i default-character-set=utf8\n" /etc/mysql/my.cnf
sudo sed -i "/\[mysqldump\]/i character-set-server=utf8\n" /etc/mysql/my.cnf
sudo sed -i "/\[mysql\]/i default-character-set=utf8\n" /etc/mysql/my.cnf

debconf-set-selections を設定せずに mysql をインストールするとrootのパスワードを聞かれる。

Supervisor

Supervisor用の設定ファイルもコマンドで作成。
Supervisorにかぎらず、ファイルを作成する場合に使える。
sudoにコマンドを渡したいときは sudo sh -c "command" とするとパイプなども期待通りに使える。

sudo sh -c "cat <<EOF > /etc/supervisor/conf.d/xvfb.conf
[program:xvfb]
priority=1
user=MYAPP
command=Xvfb :1 -screen 0 800x600x24
autostart=true
autorestart=true
directory=/opt/visionect
stdout_logfile=/var/log/xvfb-stdout.log
stderr_logfile=/var/log/xvfb-stderr.log
EOF"

sudo supervisorctl reread
sudo supervisorctl add xvfb
sudo supervisorctl status

Supervisor用の設定ファイルを作成したら、読み込ませることを忘れずに。

8
8
1

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
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?