CentOS

linodeでCentOS5.3を使ったときの設定を忘れいないようにめも。
さくらインターネットのvpsでCentOS6.2をインストールした時のメモ

初期設定

ユーザー設定

まず管理用のユーザーの作成。ここではcentosってユーザー名。
useraddで作成して、passwdでパスワード設定して、usermodでwheelグループに入れる。

# useradd centos
# passwd centos
 
Changing password for user centos.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
 
 
# usermod -G wheel centos

wheelグループだけrootになれるように
#auth required のコメントを外す

# vi /etc/pam.d/su
 
#auth       required     pam_wheel.so use_uid
 auth       required     pam_wheel.so use_uid

sudoを使えるように。wheelグループのみで。rootでコマンド使えないようにコメントアウト。
環境変数を引き継げるようにDefaults:myuser !env_resetを追記し、Defaults secure_pathをコメントアウト

# yum -y install sudo
# visudo
 
root   ALL=(ALL)       ALL
#root   ALL=(ALL)       ALL
 
#%wheel ALL=(ALL)ALL
 %wheel ALL=(ALL)ALL
 
Defaults:myuser !env_reset #myuserに環境変数を引き継ぎたいユーザー名
#Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin  #コメントアウト

sshの設定

/etc/ssh/sshd_configを編集

Port 22222 #22だと攻撃多すぎでログがいっぱいになるので変更。
 
PermitRootLogin no #root でログインできないようにする。
 
ChallengeResponseAuthentication no  #S/KeyとOPIEを使った認証を禁止
PasswordAuthentication no  #パスワード認証を禁止
 
AllowUsers auser  #ログインできるユーザーを指定する
#DenyUsers duser #ログインを禁止するユーザを指定する
#AllowGroups agroup    #ログインできるグル−プを指定する
#DenyGroups dgroup     #ログインを禁止するグループを指定する

公開鍵の登録

もう鍵を作ってあったら公開鍵をauthorized_keysに登録. なかったらssh

# su centos #作ったユーザーでログインし直す
$ mkdir .ssh
$ chmod 700 .ssh  #この設定も必要
$ vi /.ssh/authorized_keys  #公開鍵(id_rsa.pubとか)の中身をコピー
$ chmod 600 ~/.ssh/authorized_keys

sshdの再起動

$ sudo /etc/init.d/sshd restart

登録したユーザーだけがログインできるか別ターミナルから確認

$ ssh -l centos -p 22222

この時今接続してるsshはログアウトしない。
もし間違ってたらsap提供のコンソールからとか入りなおさなきゃいけなくなって面倒。

レポジトリの登録

まず、rpmforgeとかremiがBaseに潰されないようにpriorityの追加

$ sudo yum -y install yum-priorities

priorityを追加

$ vi /etc/yum.repos.d/CentOS-Base.repo
[base]
priority=3
 
[updates]
priority=3
 
[centosplus]
priority=2

centosplus

# vi /etc/yum.repos.d/CentOS-Base.repo
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
#enabled=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=2

epel

$ wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo rpm -ivh epel-release-6-8.noarch.rpm

remi

$ wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
$ sudo rpm -ivh remi-release-6.rpm

レポジトリ置き場Les RPM de Remi - Repository

設定を編集。priorityを1に。enabledが0を確認。

# vi /etc/yum.repos.d/remi.repo
 
[remi]
name=Les RPM de remi pour Enterprise Linux 6 - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
priority=1

rpmforge

$ wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
$ sudo rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

レポジトリ置き場rpmforge-release

設定。enabledとpriorityを1に。0でもいいかも。

# vi /etc/yum.repos.d/rpmforge.repo
 
[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge
mirrorlist = http://mirrorlist.repoforge.org/el6/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
priority = 1

wandisco

subversionの最新を入れるために。どうせsvnしかないだろうからenabled=1,priprity=1にしとく。

[wandisco]
name=WANDisco Repository - svn-1.8 centos6
baseurl=http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/$basearch/
enabled = 1
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-WANdisco
priority = 1

Apache Subversion Downloads You Can Trust

Collabnetからでもいいかもしれない。

GPG Keyのインストール

$ sudo rpm --import http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco

nginx

nginxが提供してくれてるrepoを。おかげで最新版入れられる。

$ wget http://nginx.org/packages/rhel/6/noarch/RPMS/nginx-release-rhel-6-0.el6.ngx.noarch.rpm
$ sudo rpm -ivh nginx-release-rhel-6-0.el6.ngx.noarch.rpm 
# vi /etc/yum.repos.d/nginx.repo
 
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/6/$basearch/
gpgcheck=0
enabled=1
priority = 1

nginx: Linux packages

typesafe

sbtとか

# vi /etc/yum.repos.d/typesafe.repo
 
[typesafe]
name=Typesafe Rpm Repository
baseurl=http://rpm.typesafe.com/
enabled=1
priority = 1

rpm.typesafe.com

CR

yum-cronとかいれるために

$ sudo yum install centos-release-cr

色々インストール

# yum -y update
# yum -y install gcc gcc-c++
# yum -y install libgcc
# yum -y install compat-gcc-34
# yum -y install compat-lib
# yum -y install zlib-devel
# yum -y install rpm-build
# yum -y install wget
# yum -y install which
# yum -y install make
# yum -y install crontabs
# yum -y install vixie-cron
# yum -y install openssl-devel

はじめはwhich,make,corntabとかが入っていないのにびっくり。
もう入っているやつもある、気がする。とりあえずということで。

iptables

まず、/etc/sysconfig/iptables-configをいじる。

# vi /etc/sysconfig/iptables-config
 
#IPTABLES_MODULES="ip_conntrack_netbios_ns"

こうしないと、下記のようなエラーでる。

Loading additional iptables modules: ip_conntrack_netbios_ns         [  FAILED  ]

適当に書いたiptableのスクリプトファイルをiptable_rules.shとして

$ chmod +x iptable_rules.sh
$ sudo ./iptable_rules.sh

これでルールを適用。
そのルールを次回起動のときも適用させたいので、保存させて、iptablesの再起動。

$ sudo /etc/init.d/iptables save
Saving firewall rules to /etc/sysconfig/iptables:                    [  OK  ]
 
$ sudo /etc/init.d/iptables restart
 
Flushing firewall rules:                                             [  OK  ]
Setting chains to policy ACCEPT: security raw nat mangle filter      [  OK  ]
Unloading iptables modules:                                          [  OK  ]
Applying iptables firewall rules:                                    [  OK  ]

/etc/sysconfig/iptablesに保存されて、次回以降読み込まれる。ここらへんはif-pre-up.d/にスクリプトを突っ込んどけばいいDebian系より面倒なきがします。

確認は

$ sudo iptables -nL

タイムゾーンの変更

日本の時間に、JSTで。

$ sudo cp -p /etc/localtime /etc/localtime.old
$ sudo cp -p /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

確認

$ date
Tue Sep  1 11:43:18 JST 2009

ホスト名の変更

$ sudo vi /etc/hostname
 
example.jp
 
$ sudo hostname -F /etc/hostname
$ sudo vi /etc/hosts
 
127.0.0.1    localhost.localdomain   localhost
12.34.56.78  example.jp

その他

なんかresolv.confがいつのまにか変更されてたので修正。

$ sudo vi /etc/resolv.conf
 
domain members.linode.com
search members.linode.com
nameserver 12.34.56.78
nameserver 91.23.45.67
options rotate

emacs,zshのインストール

まずzsh。yumのzshは古いので新しいやつをインストール.

$ sudo yum -y install ncurses-devel
$ cd ~/src
$ wget http://jaist.dl.sourceforge.net/sourceforge/zsh/zsh-4.3.10.tar.gz
$ tar xzfv zsh-4.3.10.tar.gz
$ cd zsh-4.3.10
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

zshを使えるように設定

$ sudo vi /etc/shells
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/usr/local/bin/zsh  #追加
 
#chsh -s [使用するシェル] [ユーザ名]
$ sudo chsh -s /usr/local/bin/zsh centos

次にemacs。
yumのemacsは古いのであたらしいやつを。

$ sudo yum -y install texinfo
 
$ cd ~/src
$ wget http://core.ring.gr.jp/pub/GNU/emacs/emacs-23.1.tar.gz
$ tar xzfv emacs-23.1.tar.gz
$ cd emacs-23.1
$ ./configure --prefix=/usr/local --without-x --without-makeinfo
$ make bootstrap
$ make
$ sudo make install

参考http://www.miraiarcs.com/mojaxp/?page_id=623

logwatch

logwatchがうまくメールをなげてくれなかった。こんなんがでまして。

No mail for root

/usr/share/logwatch/default.conf/logwatch.confのmailerを

$ sudo emacs /usr/share/logwatch/default.conf/logwatch.conf
 
#mailer = "sendmail -t"
#mailer = "/bin/mail"
mailer = "usr/sbin/sendmail -t"

と変更したら直った。

PHPのバージョンを新しく

5.1.6じゃなんか無理。

まず、phpを消す。

# yum remove php php-common

もしかしたら他にも消さなきゃいけない。

次にここに書いてあるとおりに、

# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
# rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

で、優先順位も変更。priorityいれてなかったらいらないんじゃないかなと。

# vi /etc/yum.repo.d/CentOS-Base.repo
 
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=3
 
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=3
# vi /etc/yum.repo.d/remi.repo
 
[remi]
name=Les RPM de remi pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com/enterprise/5/remi/$basearch/
        http://iut-info.univ-reims.fr/remirpms/enterprise/5/remi/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
failovermethod=priority
priority=1
[remi-test]
name=Les RPM de remi en test pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com//enterprise/5/test/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
priority=1
# yum -y --enablerepo=remi install php
# yum -y --enablerepo=remi install php-mbstring

で,インストールするときは–enablerepo=remiで。

yumのキャッシュ削除

yumのキャッシュがすごい量になってるので削除
du -h /var/cache/yumでキャッシュの容量を見る

# du -h /var/cache/yum
 
33M     /var/cache/yum/updates/packages
59M     /var/cache/yum/updates
117M    /var/cache/yum/base/packages
157M    /var/cache/yum/base
720K    /var/cache/yum/mattmccutchen/packages
1.4M    /var/cache/yum/mattmccutchen
4.0K    /var/cache/yum/utterramblings/packages
760K    /var/cache/yum/utterramblings
4.0K    /var/cache/yum/epel/packages
8.8M    /var/cache/yum/epel
4.0K    /var/cache/yum/addons/packages
52K     /var/cache/yum/addons
4.0K    /var/cache/yum/extras/packages
3.7M    /var/cache/yum/extras
48M     /var/cache/yum/rpmforge/packages
110M    /var/cache/yum/rpmforge
4.0K    /var/cache/yum/centosplus/packages
47M     /var/cache/yum/centosplus
4.0K    /var/cache/yum/remi-test/packages
208K    /var/cache/yum/remi-test
196K    /var/cache/yum/remi/packages
916K    /var/cache/yum/remi
386M    /var/cache/yum

yum clean allで削除

# yum clean all
 
Loaded plugins: fastestmirror, priorities
Cleaning up Everything
Cleaning up list of fastest mirrors

もう一度キャッシュ容量確認

# du -h /var/cache/yum
 
4.0K    /var/cache/yum/updates/packages
8.0K    /var/cache/yum/updates
12K     /var/cache/yum/base/packages
16K     /var/cache/yum/base
4.0K    /var/cache/yum/mattmccutchen/packages
8.0K    /var/cache/yum/mattmccutchen
4.0K    /var/cache/yum/utterramblings/packages
760K    /var/cache/yum/utterramblings
4.0K    /var/cache/yum/epel/packages
8.8M    /var/cache/yum/epel
4.0K    /var/cache/yum/addons/packages
8.0K    /var/cache/yum/addons
4.0K    /var/cache/yum/extras/packages
8.0K    /var/cache/yum/extras
4.0K    /var/cache/yum/rpmforge/packages
8.0K    /var/cache/yum/rpmforge
4.0K    /var/cache/yum/centosplus/packages
8.0K    /var/cache/yum/centosplus
4.0K    /var/cache/yum/remi-test/packages
208K    /var/cache/yum/remi-test
196K    /var/cache/yum/remi/packages
916K    /var/cache/yum/remi
11M     /var/cache/yum

減った。

linux/centos.txt · 最終更新: 2014/04/01 12:39 by eiji