自分が普段行っている「sakura VPS」の Ubuntu 環境作りです。
サーバーを借りてセットアップをどうするか、という疑問に対し大まかな流れを掴めればいいと思います。
OS インストール
カスタムOSインストールで「ubuntu 14.04」を選択。
インストーラーを起動して以下のさくらサポート( 公式 ) の手順に従う。
途中にでてくる『 Full name for the new user: 』『 Username for your account: 』は任意のサーバー名にした。
OSインストールが完了したら以下のことを設定する。
- ネットワーク設定
リモートコンソールで行う。
sudo vim /etc/network/interfaces
eth0だったりeth1の部分で該当のipアドレスに書き換えます。
設定を行ったらネットワーク再起動。
% sudo /etc/init.d/networking stop
% sudo service networking start
- ホスト名変更
sudo vim /etc/hostname
任意のホスト名へ変更
sudo vim /etc/hosts
127.0.1.1 ubuntu001.localdomain ubuntu001 # この行を修正
反映にはネットワーク再起動必要
-
ユーザーの追加
参考
ユーザー追加してsshログインできることを確認した後、OSインストール後にある「ubuntu(OSカスタムインストールのときにきまる)」などのユーザーは消す。userdel -r username
-
パスワードログイン禁止
/etc/ssh/sshd_config
PasswordAuthentication no
反映にはサーバー再起動が必要。 ※ stop, start としようとすると、リモートサーバーへ接続できなくなり sakura のリモートコンソールを立ち上げないといけなくなる(面倒くさい)ので必ず restart
/etc/init.d/ssh restart
初期の段階ではサーバー自体の再起でも問題ない
http://www.yamamo10.jp/yamamoto/comp/home_server/ubuntu_server/ssh/index.php
- ファイヤーウォールの設定 ( ufw )
% sudo apt-get install ufw
% sudo ufw default reject
% sudo ufw allow from 192.168.0.0/24 to any port 22
% sudo ufw allow 22
% sudo ufw enable
-
shell
※ ユーザーの追加をするときにオプションでデフォルトのシェルの設定ができる.
現在使っているシェル
echo $SHELL
使用できるシェルの確認
cat /etc/shells
シェル変更(例: bash)
chsh -s /bin/bash username
bash
と打つと設定しなくても一時的にbashを扱える -
vim
apt-get install vim
- 自動アップデート
sudo apt-get install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
sudo vim /etc/apt/apt.conf.d/50unattended-upgrades
// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. A package that provides
// 'mailx' must be installed.
Unattended-Upgrade::Mail "root@localhost";
// Do automatic removal of new unused dependencies after the upgrade
// (equivalent to apt-get autoremove)
Unattended-Upgrade::Remove-Unused-Dependencies "true";
参考: http://orangain.hatenablog.com/entry/unattended-upgrades
- DNS設定
さくらで設定を行う。
必要ならば
サーバー監視のソフトウェアなのでアプリケーションが動くサーバーとは別のサーバーも用意する。
-
munin
サーバーの様子を可視化するソフトウェア。
参考: http://pocketstudio.jp/log3/2012/08/23/munin_setup_howto_for_debian_and_ubuntu/ -
monit
サーバーが落ちているときにアラートを出して指定したメールに届けることができる。
参考: http://shanon-tech.blogspot.jp/2011/11/15monit.html
最後に
私は上記設定ができた上で Ruby をビルドしたり、Mysql, MongoDB をインストールしたりとやっていました。