======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に登録.
なかったら[[http://wiki.pky.jp/doku.php?id=server:ssh|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
レポジトリ置き場[[http://rpms.famillecollet.com/|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
レポジトリ置き場[[http://pkgs.repoforge.org/rpmforge-release/|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
[[http://www.wandisco.com/subversion/download|Apache Subversion Downloads You Can Trust]]
[[http://www.collab.net/downloads/subversion|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
[[http://nginx.org/en/linux_packages.html|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
[[http://rpm.typesafe.com/|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
もしかしたら他にも消さなきゃいけない。\\
次に[[http://blog.famillecollet.com/pages/Config-en|ここ]]に書いてあるとおりに、
# 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
減った。