webサーバー初期設定 - Linux編

2013/02/20 加筆、修正


さくらのVPSを仕事、プライベート問わず借りることが多いのでLinux側の初期設定のメモ

sudo

sudoのコンフィグファイルにおいてグループ:wheelにsudo権限を付加するようにします。

# visudo
%wheel  ALL=(ALL)       ALL

実際にsudo権限を付加したいユーザーにグループ追加。

# usermod -G wheel sato

ssh

rootでログインできないようにします。

# vi /etc/ssh/sshd_config
PermitRootLogin no

# /etc/init.d/sshd restart

mail

root宛のメールを転送させます

# sed -i '/^root:/d' /etc/aliases
# echo "root: sample@sample.com" >> /etc/aliases
# newaliases

iptable

iptable設定
必要なポート以外は全部アクセス禁止にします

# vim /etc/sysconfig/iptables

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 80  -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 25  -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 22  -j ACCEPT
-A RH-Firewall-1-INPUT -j LOG
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT
# /etc/rc.d/init.d/iptables start
# chkconfig iptables on

yum

yumのリポジトリ編集

# vim /etc/yum.repos.d/CentOS-Base.repo
baseurl を http://ftp.riken.jp/Linux/caos/centos に変更

vim

vim拡張

# yum -y install vim-enhanced

sysstat

サーバー監視sysstatインストール

# yum install sysstat

deamontols

このサイトから最新版をダウンロードしてインストール

# wget http://www.qmailtoaster.org/download/stable/daemontools-toaster-0.76-1.3.6.src.rpm
# rpmbuild --rebuild daemontools-toaster-0.76-1.3.6.src.rpm
# rpm -ivh /usr/src/redhat/RPMS/x86_64/daemontools-toaster-0.76-1.3.6.x86_64.rpm

# vim /etc/inittab
SV:123456:respawn:/command/svscanboot      ←追加

memcached

このサイトから最新版をダウンロードしてインストール

# wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
# tar xvfz memcached-1.4.5.tar.gz
# cd memcached-1.4.5
# ./configure
# make
# make install
$ memcached -u nobody -d

# vim /etc/inittab
mem:123456:respawn:/usr/local/bin/memcached -u nobody -d

postgresql

install

# yum install postgresql postgresql-devel postgresql-server postgresql-test postgresql-contrib

contrib
起動スクリプトの initdb に --no-locale を追加

# vim /etc/init.d/postgresql
$SU -l postgres -c "$PGENGINE/initdb --encoding=UTF-8 --pgdata='$PGDATA' --auth='trust' --no-locale" >> "$PGLOG" 2>&1 < /dev/null

初期化

# /etc/init.d/postgresql initdb

起動

# /etc/init.d/postgresql start
# chkconfig postgresql on

nginx

yum install

# yum install openssl-devel zlib-devel pcre-devel

install

# cd /etc/pki/rpm-gpg/
# wget http://nginx.org/keys/nginx_signing.key
# rpm --import /etc/pki/rpm-gpg/nginx_signing.key
# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/nginx_signing.key

# yum install --enablerepo=nginx nginx nginx-debug
# chkconfig nginx on
広告を非表示にする