&tag(さくらのVPS); *目次 [#ob42dd52] #contents *参考情報 [#a2bae64f] -[[CentOSをサーバーとして活用するための基本的な設定 - さくらインターネット創業日記:http://tanaka.sakura.ad.jp/archives/001065.html]] -[[さくらの格安VPSを借りたらいつもやっている設定いろいろ | IDEA*IDEA:http://www.ideaxidea.com/archives/2010/11/sakura_vps_settings.html]] *基本情報 [#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にチェック)、詳細タブで証明書を検証しないにチェックして接続可能になる。 -証明書を自力で作れば警告はなくなる。