&tag(さくらのVPS, CentOS5);
*目次 [#f67f253e]
#contents
*参考情報 [#z8df055f]
-[[CentOS5]]
-[[さくらのVPS]]
-[[ssh]]
*基本情報 [#t6381175]
-エントリープラン。
-CentOS 5.5(64bit)版がインストールされていた(2011/12/05(月)現在)。
-初期状態の使用メモリ
#pre{{
[root@www12123u ~]# free
             total       used       free     shared    buffers     cached
Mem:        510540     164284     346256          0      21580     116556
-/+ buffers/cache:      26148     484392
Swap:      2048276          0    2048276
}}
*設定 [#h562f865]
**サーバー起動 [#y3a16241]
-コントロールパネルでサーバーを起動する。
**作業用ユーザー生成 [#m6f53f04]
-sshでrootでログイン。rootのパスワードを変更しておくと良い。
 # passwd 
-初期状態でCentOS 5.5なのでアップグレードする(現在のバージョンは/etc/redhat-releaseで確認できる)。
 # yum upgrade
-作業用アカウントを作成。
 # useradd tanaka
-作業用アカウントのパスワード設定。
 # passwd tanaka
-sudoの設定。visudoを実行し最下行に追加。
#pre{{
tanaka    ALL=(ALL) NOPASSWD:ALL
}}
**公開鍵認証用にsshを設定 [#x729add6]
***公開鍵の設定 [#e44fb3f9]
-/home/tanaka/.ssh/authorized_keysを準備する。
#pre{{
# su tanaka
$ cd /home/tanaka
$ mkdir .ssh
$ chmod 700 .ssh
$ vi .ssh/authorized_keys
$ (ターミナルなどから公開鍵をはりつける)
$ chmod 600 .ssh/authorized_keys
}}

***sshdの設定変更 [#rfc7434b]
-/etc/ssh/sshd_configを編集。Portも適当に変更しておいたほうがいい。
#pre{{
Port 10100
PermitRootLogin no  
PasswordAuthentication no  
UsePAM no  
}}

***sshdを再起動し確認 [#md268d87]
-sshdを再起動する。失敗したときに備えて別にウィンドウでログインしておくこと(そのセッションはsshdを再起動しても維持される)。
 # /etc/init.d/sshd restart
-クライアントから秘密鍵を指定してログインしてみる。ログインできれば成功。
-エラーになった場合、Poderosaよりputtyのほうがもう少し詳しく原因を表示してくれる。サーバーの/var/log/secureを確認してみる。

*iptablesの設定 [#i4abb680]
-[[CentOSをサーバーとして活用するための基本的な設定:http://tanaka.sakura.ad.jp/archives/001065.html]]を参考にする。ssh/httpはどこからでも許可にした。10100は変更したsshのポート。
-/etc/sysconfig/iptables
#pre{{
*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 -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10100 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
}}
-iptablesを反映させる
 # /etc/init.d/iptables restart
-iptablesの設定を確認しておく
#pre{{
# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
RH-Firewall-1-INPUT  all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
RH-Firewall-1-INPUT  all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            icmp any 
ACCEPT     esp  --  anywhere             anywhere            
ACCEPT     ah   --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             224.0.0.251         udp dpt:mdns 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ipp 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ipp 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:10100 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 
}}

*vim [#ief874e8]
-vimじゃなくvim-enhancedパッケージ。
 yum install vim-enhanced


*MySQL [#zcd1fbdf]
-CentOS5.7でもMySQL5.0しか入っていないので、5.5系を使いたい場合は特別な処理が必要。
-[[CentOS 5.5にyumで MySQL 5.5をインストールする - hrendohの日記:http://d.hatena.ne.jp/hrendoh/20110630/1309418113]]より。remiリポジトリを追加し、enablerepoによりそのリポジトリを一時的に有効にしてmysql-serverをインストールする。
#pre{{
# rpm -ivh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
# yum --enablerepo=remi,eplp install mysql-server
}}
-自動起動させる
 # chkconfig mysqld on
-rootのパスワードを設定
 # mysqladmin -uroot password
*Java [#c56a132a]
-Oracleからjdk-6u29-linux-i586-rpm.binをダウンロードしてインストール。 
 # sh jdk-6u29-linux-i586-rpm.bin
-必要ならば/usr/java/defaultをJAVA_HOMEに設定するなどしておく。

*Postfix [#tfb4ab4c]
**インストール [#y280832a]
-まずデフォルトでインストール済みのsendmailを削除しておく。
 # yum remove sendmail
-インストールする。
 # yum install postfix
**設定変更 [#q8aa4ee5]
-/etc/postfix/main.cfを編集する。以下独自ドメインexample.comを取得済みとした場合の設定。
-本登録しないと送信用SMTPポートは使えないので注意。iptablesにも穴をあけておかないとダメ。
-[[さくらのVPSをもう少しセットアップしてみる - @blog.justoneplanet.info:http://blog.justoneplanet.info/2010/10/24/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AEvps%E3%82%92%E3%82%82%E3%81%86%E5%B0%91%E3%81%97%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/]]が参考になる。
#pre{{
myhostname = mail.example.com
mydomain = example.com
inet_interface = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP unknown
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
message_size_limit = 10485760
}}
**起動設定 [#g7f4f21e]
***saslauthdの起動 [#ub60f977]
-外部からSMTP接続を許可するときに使われる認証用サーバーを起動する
#pre{{
# /etc/init.d/saslauthd start
# chkconfig saslauthd on
}}

**postfixの起動 [#qc9c2ea9]
-postfixデーモンを起動。
#pre{{
# /etc/init.d/postfix start
# chkconfig postfix on
}}

**テスト [#dd59fb29]
***送信テスト [#n1eb0039]
-送信テストはmail foo@bar.com などmailコマンドでメールを送れるかどうか確認。

***不正中継していないかどうかの確認 [#h4222a2a]
-[[Postfixのぺーじ−Postfixでのspam対策:http://www.postfix-jp.info/origdocs/antispam.html]]が参考になる。

**転送する [#y28d1fd2]
/etc/aliasesを編集し、正しく転送されればOK。編集後newaliasesを実行しないと反映されないかも。

*Dovecot [#m610ec7b]
**参考情報 [#ia15c4e4]
-[[HowTo/CRAM-MD5 - Dovecot Wiki:http://wiki.dovecot.org/HowTo/CRAM-MD5]]
**dovecot.confの設定 [#zb0e769a]
-/etc/dovecot.confを編集し、認証方法を変更する。
#pre{{

# SSLを有効化
ssl_disable = no

# Maildir形式を使う
mail_location = maildir:~/Maildir

# 認証方法をcram-md5に変更
auth default { 
mechanisms = cram-md5

passdb passwd-file { 
  args = /etc/cram-md5.pwd 
}
}
}}
**/etc/cram-md5.pwdを作成する [#h080bb00]
-空ファイルを作る。
#pre{{
# touch /etc/cram-md5.pwd 
# chmod 0600 /etc/cram-md5.pwd
}}
-パスワード生成。
 # /usr/sbin/dovecotpw
-生成されたパスワードとユーザ名を使ってcram-md5.pwdを編集。
#pre{{
username:passwordhash
}}
**dovecotを再起動 [#a0e41a1f]
-iptablesを使っている場合は、IMAP(=143)、IMAPS(=993)の穴を開けておく。
-dovecotを再起動。
#pre{{
# /etc/init.d/dovecot restart
}}

**クライアントから接続 [#ldd3d9df]
-Beckyから接続する場合、認証方式cram-md5(IMAPSにチェック)、詳細タブで証明書を検証しないにチェックして接続可能になる。
-証明書を自力で作れば警告はなくなる。

*RVM [#ia212e31]
**前準備 [#pc88d99f]
-証明書を更新しておく。
#pre{{
# cd /etc/pki/tls/certs/
# cp ca-bundle.crt ca-bundle.crt.bak
# curl http://curl.haxx.se/ca/cacert.pem -o ca-bundle.crt
}}

-RPMForgeを有効にし、gitをインストールしておく。
-必要なライブラリをインストールしておく。
 # yum install zlib-devel openssl-devel readline-devel

**トラブルシューティング [#jf64008e]
***bundle installでエラー [#y9d46841]
-[[sqlite3のインストールとrailsアプリケーションの作成 - わしのすけ:http://d.hatena.ne.jp/URI/20120204/p1]]にあるのが原因?次のようなエラーが表示される。
#pre{{
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3:
	ERROR: Failed to build gem native extension.
}}
-libsqlite3のバージョンが低すぎるせいらしい。最新版をソースからインストールするか、sqlite3を使ってないならGemfileから取り除いてもいいかも。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS