ホーム > CentOS >

初期設定

作業用ユーザーの作成

# 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

ホスト名の変更

  1. /etc/sysconfig/network のHOSTNAMEを追加・変更する。
  2. /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の設定

  1. 各自で用意したSSHの公開鍵(id_rsa.pubなど、.pubがついたファイル)をcatコマンドで連結したファイルを$HOME/.ssh/authorized_keysに保存する

  2. authorized_keysの権限を変更する

    chmod 600 $HOME/.ssh/authorized_keys
    
  1. /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」の部分を適宜変更する。

  2. sshdを再起動する

    sudo /sbin/service sshd restart
    
  3. 念のため、現在の接続からログアウトする前に、別の端末から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接続ができるかどうかを確認する。