======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 減った。