初期設定
- 作業用ユーザーの作成
- sudoの設定
- 各種パッケージのインストール
- .bashrcの設定
- ホスト名の変更
- ロケールの変更
- /usr/local/libを共有ライブラリのパスに設定
- sshの設定
- ファイアウォールの設定
作業用ユーザーの作成
# adminという名前のユーザーを作成
useradd admin
# adminのパスワードの設定
passwd admin
sudoの設定
作成したユーザーでsudoができるように、/etc/sudoersを編集する。 ただし、このファイルはエディタで直接編集はせずに、visudoコマンドを使用して編集する。 ユーザーadminで全てのコマンドを使用できるようにするには、以下のように設定する。
root ALL=(ALL) ALL admin ALL=(ALL) ALL # この行を追加
また、sudo実行時にデフォルトでは/usr/local/binや/usr/local/sbinにPATHが通っていないので、ソースからインストールしたコマンドをsudoで実行しようとしたときに、コマンドが見つからずにエラーになってしまう。これを避けるために、デフォルトのPATHに/usr/local/binと/usr/local/sbinを追加しておく。
Defaults secure_path = /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
以後の作業は、ここで作成した作業用ユーザで行う。
各種パッケージのインストール
パッケージにダウンロードを高速化するプラグインをインストールした後で、システムをアップデート
sudo yum -y install yum-plugin-fastestmirror
sudo yum -y update
開発用のパッケージをインストール
sudo yum -y groupinstall "Development Tools"
sudo yum -y groupinstall "Additional Development"
# sudo yum -y groupinstall "Development Libraries" # 古いOSのバージョンの場合
sudo yum -y install gdbm-devel libevent-devel pcre-devel tcl-devel tk-devel libffi-devel
sudo yum -y clean all
.bashrcの設定
[ ! -e $HOME/.bashrc ] || cp $HOME/.bashrc $HOME/.bashrc.orig
wget -O $HOME/.bashrc https://gist.github.com/saitodev/6223965/raw/bashrc_min.sh
ホスト名の変更
- /etc/sysconfig/network のHOSTNAMEを追加・変更する。
- /etc/hostsを編集する。
ロケールの変更
/etc/sysconfig/i18nのLANGを"ja_JP.UTF-8"にする。
sudo cp /etc/sysconfig/i18n /etc/sysconfig/i18n.orig
sudo sed -i -e '/^LANG/c LANG="ja_JP.UTF-8"' /etc/sysconfig/i18n
/usr/local/libを共有ライブラリのパスに設定
sudo tee /etc/ld.so.conf.d/usr-local-lib.conf > /dev/null <<EOM
/usr/local/lib
/usr/local/lib64
EOM
sudo /sbin/ldconfig
sshの設定
各自で用意したSSHの公開鍵(id_rsa.pubなど、.pubがついたファイル)をcatコマンドで連結したファイルを$HOME/.ssh/authorized_keysに保存する
authorized_keysの権限を変更する
chmod 600 $HOME/.ssh/authorized_keys
/etc/ssh/sshd_config を適宜修正する
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.orig sudo sed -i -e '/^#\?PermitRootLogin/c PermitRootLogin no' \ -e '/^#\?PasswordAuthentication/c PasswordAuthentication no' \ -e '/^#\?ChallengeResponseAuthentication/c ChallengeResponseAuthentication no' \ /etc/ssh/sshd_config
また、sshのポート番号を22番から別の番号に変更する場合は、「#Port 22」の部分を適宜変更する。
sshdを再起動する
sudo /sbin/service sshd restart
念のため、現在の接続からログアウトする前に、別の端末からssh接続ができるかどうかを確認する
ファイアウォールの設定
[ -e /tmp/work/iptables ] || mkdir -p /tmp/work/iptables
cd /tmp/work/iptables
# 現在のiptablesの設定をファイルに保存
sudo /sbin/iptables-save > iptables_backup.conf
# ポート22(SSH)とポート80(HTTP)のみ許可し、それ以外の接続をすべて拒否する
wget -O setup_iptables.sh https://gist.github.com/saitodev/6217725/raw/setup_iptables.sh
sudo /bin/sh ./setup_iptables.sh
念のため、現在の接続からログアウトする前に、別の端末からssh接続ができるかどうかを確認する。
setup_iptables.sh
SSHのポート番号を変更している場合は、SSH_PORTをそれに合わせて修正する