これはさくらインターネットでSMTPサーバーのカスタマイズ記録です。
<ホスト名変更>
・コマンドで
hostname sudomain1.mydomain1.jp domainname mydomain1.jp vi /etc/sysconfig/network HOSTNAME=sudomain1.mydomain1.jp
<RPMforgeを追加する>
こちらのサイトを参考にさせて頂きました。
http://centoshome.seesaa.net/article/117329591.html
・yum-prioritiesをインストールします。
yum install yum-priorities 結果 Installed: yum-priorities.noarch 0:1.1.16-13.el5.centos Complete!
・リポジトリの設定ファイルを編集します。
vi /etc/yum.repos.d/CentOS-Base.repo 各セクションの先頭へ以下を記載します。 priority=1
・EPEL、REMI、RPMforgeをインストールします。
EPEL
cd /usr/local/src wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm rpm -ivh epel-release-5-3.noarch.rpm 結果 warning: epel-release-5-3.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6 Preparing... ########################################### [100%] package epel-release-5-3.noarch is already installed EPELはインストールされていました。感謝。 vi /etc/yum.repos.d/epel.repo [epel]セクションへ以下を追記/変更します。 priority=1 enabled=0
RPMforge
wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt rpm -ihv rpmforge-release-0.3.6-1.el5.rf.i386.rpm rpm -import RPM-GPG-KEY.dag.txt vi /etc/yum.repos.d/rpmforge.repo [rpmforge]セクションへ以下を追記/変更します。 priority=1 enabled=0
REMI
wget http://rpms.famillecollet.com/el5.i386/remi-release-5-7.el5.remi.noarch.rpm rpm -ihv remi-release-5-7.el5.remi.noarch.rpm vi /etc/yum.repos.d/remi.repo [remi]セクションへ以下を追記/変更します。 priority=1 enabled=0
パッケージの更新
yum --enablerepo=epel,rpmforge,remi check-update 以下のようなメッセージが表示されたらyを選択します。 Importing GPG key 0x00F97F56 "Remi Collet <RPMS@FamilleCollet.com>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-remi Is this ok [y/N]:
yum install httpd 結果 Installed: httpd.i386 0:2.2.3-22.el5.centos.2 Complete!
・設定
vi /etc/httpd/conf/httpd.conf 以下を変更 ↓変更 ServerName aa.bb.cc.dd ↓変更 ErrorLog logs/error.log ↓変更 CustomLog logs/access.log combined ↓行頭の#を削除する NameVirtualHost *:80 ↓バーチャルホストを設定する。 <VirtualHost *:80> ServerName worm ServerAdmin webmaster@mydomain1.jp DocumentRoot /var/www/html SetEnvIf Request_URI favicon.ico no-log ErrorLog logs/worm.default-error.log CustomLog logs/worm.default-access.log "combined" env=!no-log Alias /admin "/var/www/admin" <Directory "/var/www/admin"> Options -Indexes AllowOverride All Order allow,deny Allow from all </Directory> LogLevel debug </VirtualHost> ↓ファイルの1番最後へ移動する。 # # Load config files from the config directory "/etc/httpd/conf.d". # Include conf.d/*.conf
・管理領域を認証で保護します。
htpasswd -c /var/www/.htpasswd admin vi /var/www/admin/.htaccess 以下を記述します。 AuthType Basic AuthName "Password Required" AuthUserFile /var/www/.htpasswd AuthGroupFile /dev/null require valid-user
・起動します。
/etc/init.d/httpd start
・サービスとして登録します。
chkconfig --level 345 httpd on
<mysqlのインストール>
・インストール
yum install --enablerepo=epel,rpmforge,remi install mysql mysql-server 結果 Installed: mysql.i386 0:5.1.37-1.el5.remi mysql-server.i386 0:5.1.37-1.el5.remi Dependency Installed: mysql-libs.i386 0:5.1.37-1.el5.remi mysqlclient15.i386 0:5.0.67-1.el5.remi perl-DBD-mysql.i386 0:4.012-1.el5.rf Complete!
vi /etc/my.cnf セクション[mysqld]と[mysql]へ以下を記載します。 default-character-set=utf8
/etc/init.d/mysqld start
・パスワードを設定します。
mysqladmin -u root password 'secret'
・起動します。
/etc/init.d/mysqld start
・サービスへ登録します。
chkconfig mysqld on
<phpmyadminのインストール>
・mysqlの管理のためにphpmyadminを、phpmyadminを利用するためにphpをインストールします。
yum --enablerepo=epel,rpmforge,remi install php phpmyadmin 結果 Installed: php.i386 0:5.3.0-2.el5.remi.2 phpmyadmin.noarch 0:2.11.9.5-1.el5.rf Dependency Installed: php-cli.i386 0:5.3.0-2.el5.remi.2 php-common.i386 0:5.3.0-2.el5.remi.2 php-mysql.i386 0:5.3.0-2.el5.remi.2 php-pdo.i386 0:5.3.0-2.el5.remi.2 sqlite2.i386 0:2.8.17-2.el5.remi Complete!
yum --enablerepo=epel,rpmforge,remi install php-mcrypt 結果 Installed: php-mcrypt.i386 0:5.3.0-2.el5.remi.2 Dependency Installed: libmcrypt.i386 0:2.5.8-4.el5.centos Complete!
・設定ファイルを変更します。
vi /etc/httpd/conf.d/phpmyadmin.conf 以下へ書き換えます。 <Directory "/usr/share/phpmyadmin"> Order Allow,Deny Allow from all </Directory> Alias /admin/phpmyadmin /usr/share/phpmyadmin
・設定ファイルを変更します。
vi /usr/share/phpmyadmin/config.inc.php 以下を変更します。 $cfg['blowfish_secret'] = 'secret';
<postfixadminのインストール>
・以下のサイトからpostfixadminを取得する。
http://sourceforge.net/projects/postfixadmin/ cd /usr/local/src wget http://ncu.dl.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.3rc7/postfixadmin_2.3rc7.tar.gz
・以下の場所に管理用ディレクトリを作成します。
mkdir -p /var/www/admin && cd /var/www/admin
・そこへpostfixadminを展開する。
tar zxvf /usr/local/src/postfixadmin_2.3rc7.tar.gz
・ディレクトリ名が長いので別名を付ける。
ln -s postfixadmin-2.3rc7 postfixadmin
・config.inc.phpを編集する。
以下を変更する。
$CONF['configured'] = true; $CONF['database_user'] = 'postfix'; $CONF['database_password'] = 'secret'; $CONF['database_name'] = 'postfix'; $CONF['admin_email'] = 'postmaster@mydomain1.jp'; $CONF['default_aliases'] = array ( 'abuse' => 'postmaster@mydomain1.jp', 'hostmaster' => 'postmaster@mydomain1.jp', 'postmaster' => 'postmaster@mydomain1.jp', 'webmaster' => 'postmaster@mydomain1.jp' ); $CONF['encrypt'] = 'cleartext'; $CONF['domain_path'] = 'YES'; $CONF['domain_in_mailbox'] = 'NO'; $CONF['vacation_domain'] = 'autoreply.mydomain1.jp'; $CONF['footer_text'] = 'Return to sudomain1.mydomain1.jp'; $CONF['footer_link'] = 'http://sudomain1.mydomain1.jp';
・セットアップを行います。
postfixadminのsetupへアクセスしてセットアップを行います。
http://aa.bb.cc.dd/admin/postfixadmin/setup.php エラーが出たら対処します。 今回はphp-mbstringとphp-imapが見つからないとエラーが出ているのでそれらをインストールします。 yum --enablerepo=epel,rpmforge,remi install php-mbstring php-imap 結果 Installed: php-imap.i386 0:5.3.0-2.el5.remi.2 php-mbstring.i386 0:5.3.0-2.el5.remi.2 Dependency Installed: libc-client.i386 0:2004g-2.2.1 Complete!
再度URLへアクセスします。
問題がなければページの最下部に「Change setup password」とメッセージが表示されているのでそれに従ってパスワードを変更します。
問題がなければ「$CONF['setup_password']」の値が表示されるのでそれをconfig.inc.phpへ記載します。
また、ドメイン管理者のメールアドレスとそのパスワードを入力します。
問題がなければ以下のように表示されます。
管理者を追加しました。
(postfix@mydomain1.jp)
・一休み
ここまで設定できればpostfixadmin側の設定は終了です。
<SASLのインストール>
・インストールします。
yum --enablerepo=epel,rpmforge,remi install cyrus-sasl 結果 Package cyrus-sasl-2.1.22-4.i386 already installed and latest version Nothing to do
インストールされていました。
・mysqlと接続するためのパッケージをインストールします。
yum --enablerepo=epel,rpmforge,remi install cyrus-sasl-sql 結果 Installed: cyrus-sasl-sql.i386 0:2.1.22-4 Complete!
・設定ファイルを編集します。
vi /usr/lib/sasl2/smtpd.conf 以下へ変更します。 pwcheck_method: auxprop auxprop_plugin: sql allowanonymouslogin: no allowplaintext: yes mech_list: plain login log_level: 3 sql_engine: mysql sql_user: postfix sql_passwd: secret sql_hostnames: localhost sql_database: postfix sql_select: SELECT password FROM mailbox WHERE username='%u@%r' AND active='1' #sql_select: SELECT password FROM mailbox WHERE username='%s' AND active='1' sql_verbose: yes
・起動します。
/etc/init.d/saslauthd start
・サービスへ登録します。
chkconfig --level 345 saslauthd on
<postfixのインストール>
yum --enablerepo=epel,rpmforge,remi install postfix
レポジトリーのpostfixはmysqlに対応していません。
正しくは次のセクションの通り、自分でsrc.rpmをビルドしてインストールします。
結果
Installed: postfix.i386 2:2.3.3-2.1.el5_2
Complete!
・ユーザー/グループを追加します。
groupadd -g 10000 vuser useradd -g vuser -u 10000 vuser -d /var/spool/virtual -s /bin/false chown vuser:vuser /var/spool/virtual chmod 771 /var/spool/virtual
・main.cfを変更します。
antispamのコメントで囲まれている箇所で指定しているファイルは空のファイルを作成してください。
vi /etc/postfix/main.cf 以下へ変更します。 myhostname = subdomain1.mydomain1.jp mydomain = mydomain1.jp myorigin = $mydomain inet_interfaces = all mydestination = $myhostname,localhost.$mydomain mynetworks = 127.0.0.0/8 disable_mime_output_conversion = yes ################################################################################ # smth auth smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination smtpd_sasl_local_domain = $myhostname,localhost.$mydomain smtpd_sasl_password_maps = mysql:/usr/lib/sasl2/smtpd.conf smdpd_sasl_type = cyrus # (start)antispam smtpd_client_restrictions = permit_mynetworks, check_client_access regexp:/etc/postfix/white-list.txt, check_client_access regexp:/etc/postfix/rejections smtpd_helo_required = yes smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname, check_helo_access regexp:/etc/postfix/helo_restrictions smtpd_sender_restrictions = permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain # (end)antispam ################################################################################ readme_directory = /usr/share/doc/postfix-2.3.6/README_FILES sample_directory = /usr/share/doc/postfix-2.3.6/samples sendmail_path = /usr/sbin/sendmail html_directory = no setgid_group = postdrop command_directory = /usr/sbin manpage_directory = /usr/share/man daemon_directory = /usr/libexec/postfix newaliases_path = /usr/bin/newaliases mail_owner = postfix mailq_path = /usr/bin/mailq queue_directory = /var/spool/postfix unknown_local_recipient_reject_code = 450 ################################################################################ # virtual setting. local_transport = virtual virtual_transport = virtual virtual_mailbox_base = /var/spool/virtual virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf virtual_alias_domains = $virtual_alias_maps virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_minimum_uid = 10000 virtual_uid_maps = static:10000 virtual_gid_maps = static:10000 ################################################################################
・
vi mysql_virtual_alias_maps.cf user = postfix password = secret hosts = localhost #hosts = /var/lib/mysql/mysql.sock dbname = postfix #table = alias #select_field = goto #where_field = address query = SELECT goto FROM alias WHERE address='%s'
・
vi mysql_virtual_domains_maps.cf user = postfix password = secret hosts = localhost #hosts = /var/lib/mysql/mysql.sock dbname = postfix table = domain select_field = description where_field = domain
・
vi mysql_virtual_mailbox_maps.cf user = postfix password = secret hosts = localhost #hosts = /var/lib/mysql/mysql.sock dbname = postfix table = mailbox select_field = maildir where_field = username
・submission port(サブミッションポート)を有効にします。
vi /etc/postfix/master.cf 以下をコメントから復活させます。 smtp inet n - n - - smtpd submission inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject
・上記mysql&認証関連ファイルのパーミッションを変更します。
chmod 644 /etc/postfix/mysql_virtual*
・エラー
ここまで設定したので動かしてみるとログファイルmaillogに以下のエラーがありました。
fatal: unsupported dictionary type: mysql
以下のコマンドでサポートされているか確認してみます。
postconf -m 結果 btree cidr environ hash ldap nis pcre proxy regexp static unix
サポートされていません。
仕方がないので自分でsrc.rpmからrpmをビルドすることにします。
・パッケージを作成する。
こちらのページを参考にしました。
http://www.kawaz.jp/pukiwiki/?Postfix%2FPostfix%A4%F2mysql%C2%D0%B1%FE%A4%CB%A4%B9%A4%EB
wget http://ftp.riken.go.jp/Linux/centos/5.3/os/SRPMS/postfix-2.3.3-2.1.el5_2.src.rpm
インストールします。
rpm -ihv postfix-2.3.3-2.1.rl5_2.src.rpm
SPECファイルを編集します。
vi /usr/src/redhat/SPECS/postfix.spec 以下の設定へ変更します。 %define MYSQL 1
ビルドします。
rpmbuild -ba /usr/src/redhat/SPECS/postfix.spec 結果 error: Failed build dependencies: db4-devel is needed by postfix-2.3.3-2.1.el5_2 zlib-devel is needed by postfix-2.3.3-2.1.el5_2 openldap-devel >= 2.0.27 is needed by postfix-2.3.3-2.1.el5_2 cyrus-sasl-devel >= 2.1.10 is needed by postfix-2.3.3-2.1.el5_2 pcre-devel is needed by postfix-2.3.3-2.1.el5_2 mysql-devel is needed by postfix-2.3.3-2.1.el5_2 postgresql is needed by postfix-2.3.3-2.1.el5_2 postgresql-devel is needed by postfix-2.3.3-2.1.el5_2 openssl-devel >= 0.9.6 is needed by postfix-2.3.3-2.1.el5_2
ビルドのためには色々足りないようです。
足りないパッケージをインストールします。
今回はPostgreSQLを使いませんがビルドのためにspecファイルを変更するのが嫌なので追加することにします。
yum --enablerepo=epel.rpmforge,remi install db4-devel zlib-devel openldap-devel cyrus-sasl-devel pcre-devel mysql-devel postgresql postgresql-devel openssl-devel 結果 Installed: cyrus-sasl-devel.i386 0:2.1.22-4 db4-devel.i386 0:4.3.29-9.fc6 mysql-devel.i386 0:5.1.37-1.el5.remi openldap-devel.i386 0:2.3.43-3.el5 openssl-devel.i386 0:0.9.8e-7.el5 pcre-devel.i386 0:6.6-2.el5_1.7 postgresql.i386 0:8.1.11-1.el5_1.1 postgresql-devel.i386 0:8.1.11-1.el5_1.1 zlib-devel.i386 0:1.2.3-3 Dependency Installed: e2fsprogs-devel.i386 0:1.39-20.el5 keyutils-libs-devel.i386 0:1.2-1.el5 krb5-devel.i386 0:1.6.1-31.el5_3.3 libselinux-devel.i386 0:1.33.4-5.1.el5 libsepol-devel.i386 0:1.15.2-1.el5 Complete!
もう一度ビルドします。
rpmbuild -ba /usr/src/redhat/SPECS/postfix.spec 結果 Wrote: /usr/src/redhat/SRPMS/postfix-2.3.3-2.1.src.rpm Wrote: /usr/src/redhat/RPMS/i386/postfix-2.3.3-2.1.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/postfix-pflogsumm-2.3.3-2.1.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/postfix-debuginfo-2.3.3-2.1.i386.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.36141 + umask 022 + cd /usr/src/redhat/BUILD + cd postfix-2.3.3 + /bin/rm -rf /var/tmp/postfix-buildroot + exit 0
なぜか四つのrpmができていますが名前のシンプルなpostfix-2.3.3-2.1.i386.rpmだけをインストールします。
rpm -Uvh /usr/src/redhat/RPMS/i386/postfix-2.3.3-2.1.i386.rpm 結果 rpm -Uvh /usr/src/redhat/RPMS/i386/postfix-2.3.3-2.1.i386.rpm Preparing... ########################################### [100%] package postfix-2.3.3-2.1.el5_2.i386 (which is newer than postfix-2.3.3-2.1.i386) is already installed
同じバージョンなのでインストールできないようでうす。今のものを削除します。
rpm -e postfix warning: /usr/lib/sasl2/smtpd.conf saved as /usr/lib/sasl2/smtpd.conf.rpmsave warning: /etc/postfix/main.cf saved as /etc/postfix/main.cf.rpmsave
インストールします。
rpm -Uvh /usr/src/redhat/RPMS/i386/postfix-2.3.3-2.1.i386.rpm 結果 Preparing... ########################################### [100%] 1:postfix ########################################### [100%]
mysqlに対応できているか確認します。
postconf -m 結果 postconf -m btree cidr environ hash ldap mysql nis pcre proxy regexp static unix
・起動
起動します。
/etc/init.d/postfix start 結果 Aug 26 22:38:05 localhost postfix/postfix-script: starting the Postfix mail system Aug 26 22:38:05 localhost postfix/master[13788]: daemon started -- version 2.3.3, configuration /etc/postfix
問題ないようです。
・内部から外部へメールを送信して正しく届くか確認します。
<MTA切り替えツール>
yum --enablerepo=epel,rpmforge,remi install system-switch-mail
<SMTP認証の確認>
SMTP認証が正常に行えるか確認します。
・プレーンテキスト認証のための文字列を作成します。
コマンド
$ perl -MMIME::Base64 -e 'print encode_base64("\0user1\@subdomain1.mydomain1.jp\0secret");' 結果 AHVzZXIxQHN1YmRvbWFpbjEubXlkb21haW4xLmpwAHNlY3JldA==
これが文字列となります。
元文字列の部分は色々書き方があるようですが、私の環境では以下のフォーマットをBase64エンコーディングしたものとなっていました。
メールアドレスがuser1@subdomain1.mydomain1.jp、パスワードがsecretの場合は以下です。
\0user1\@subdomain1.mydomain1.jp\0secret
一般的には下記のフォーマットが多いようです。
user1\0subdomain1.mydomain1.jp\0secret
二つ目のフォーマットでは私の環境ではSMTP認証に失敗しました。
しかし、メーラーを利用するとSMTPの認証に成功するのでパケットをキャプチャして確認すると一つ目のフォーマットが想像できる文字列でした。
・SMTP認証を行い、メールを送信します。
$ telnet subdomain1.mydomain1.jp 587 Trying aa.bb.cc.dd... Connected to subdomain1.mydomain1.jp (aa.bb.cc.dd). Escape character is '^]'. 220 subdomain1.mydomain1.jp ESMTP Postfix EHLO subdomain2.mydomain2.jp 250-subdomain1.mydomain1.jp 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN AUTH PLAIN AHVzZXIxQHN1YmRvbWFpbjEubXlkb21haW4xLmpwAHNlY3JldA== 235 2.0.0 Authentication successful MAIL FROM:user1@subdomain1.mydomain1.jp 250 2.1.0 Ok RCPT TO:user2@subdomain2.mydomain2.jp 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> Subje: test . 250 2.0.0 Ok: queued as 9BB74C48043 QUIT 221 2.0.0 Bye Connection closed by foreign host.
<dovecotのインストール>
・インストール
yum --enablerepo=epel,rpmforge,remi install dovecot 結果 Installed: dovecot.i386 0:1.0.7-7.el5 Complete!
・設定ファイルの場所を変更します。
元のdovecotの設定ファイルは/etc直下に置かれています。
今回はmysqlを利用するためのファイルも作成するので、dovecot関連のファイルをまとめるためにディレクトリを作成します。
mkdir /etc/dovecot mv /etc/dovecot.conf /etc/dovecot cd /etc/dovecot/ cp dovecot.conf dovecot.conf.org vi /etc/sysconfig/dovecot 以下を変更します。 OPTIONS="-c /etc/dovecot/dovecot.conf"
・設定ファイルを編集します。
cat > dovecot.conf protocols = imap pop3 login_chroot = yes login_user = dovecot ssl_disable = yes disable_plaintext_auth = no mail_location = maildir:/var/spool/virtual/%d/%n first_valid_uid = 1 last_valid_uid = 0 first_valid_gid = 1 last_valid_gid = 0 valid_chroot_dirs = /var/spool/virtual protocol imap { } protocol pop3 { pop3_uidl_format = %u } protocol lda { postmaster_address = postmaster@subdomain1.mydomain1.jp } auth default { mechanisms = plain passdb sql { args = /etc/dovecot/dovecot-mysql.conf } userdb sql { args = /etc/dovecot/dovecot-mysql.conf } user = root } dict { } plugin { }
・バーチャルホストのためのmysqlの設定ファイルを作成します。
cat > /etc/dovecot/dovecot-mysql.conf driver = mysql #connect = host=/var/lib/mysql/mysql.sock dbname=postfix user=postfix password=secret connect = host=aa.bb.cc.dd dbname=postfix user=postfix password=secret default_pass_scheme = PLAIN #user_query = SELECT concat('/var/spool/postfix', maildir) as home, 10000 as uid, 10000 as gid FROM mailbox WHERE username = '%u' AND active = '1' user_query = SELECT '/var/spool/virtual' as home, 10000 as uid, 10000 as gid FROM mailbox WHERE username = '%u' AND active = '1' password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
・サービス起動スクリプトを変更します。
vi /etc/init.d/dovecot 以下を変更。 /etc/dovecot.conf → /etc/dovecot/dovecot.conf
・ちなみに、以前利用していたdovecotの設定はこうなっています。
cat /etc/dovecot.conf | perl -e 'while(<STDIN>){if(/^\s*#/ || /^\s*$/){next;}print;}' protocols = imap pop3 login_chroot = yes login_user = dovecot ssl_disable = yes disable_plaintext_auth = no mail_location = maildir:/var/spool/virtual/%d/%n first_valid_uid = 1 last_valid_uid = 0 first_valid_gid = 1 last_valid_gid = 0 valid_chroot_dirs = /var/spool/virtual protocol imap { } protocol pop3 { pop3_uidl_format = %u } protocol lda { postmaster_address = postmaster@subdomain1.mydomain1.jp } auth default { mechanisms = plain passdb sql { args = /etc/dovecot-mysql.conf } userdb sql { args = /etc/dovecot-mysql.conf } user = root } dict { } plugin { } yum -y --enablerepo=epel,rpmforge,remi install emacs Installed: emacs.i386 0:21.4-20.el5 Dependency Installed: Xaw3d.i386 0:1.5E-10.1 emacs-common.i386 0:21.4-20.el5 giflib.i386 0:4.1.3-7.1.el5_3.1 xorg-x11-fonts-ISO8859-1-75dpi.noarch 0:7.1-2.1.el5 Complete! yum --enablerepo=epel,rpmforge,remi install fetchmail Installed: fetchmail.i386 0:6.3.6-1.1.el5 Complete! echo fetchmailrc <<EOF set daemon 600 set nobouncemail defaults protocol pop3 keep no mimedecode smtphost mail.mydns.jp mda "/usr/bin/procmail" poll mail.mydns.jp user user1 password secret EOEF yum --enablerepo=epel,rpmforge,remi install perl-DateTime-Format-DateParse Installed: perl-DateTime-Format-DateParse.noarch 0:0.04-1.el5.rf Dependency Installed: perl-Class-Singleton.i386 0:1.03-1.2.el5.rf perl-DateTime.i386 1:0.41-1.el5 perl-Params-Validate.i386 0:0.91-1.el5.rf perl-TimeDate.noarch 1:1.16-5.el5 Complete!
<ログ保存期間を伸ばす>
・ログの保存期間を延ばします。正確には保存するファイルの個数を増やします。
vi /etc/logrotate.conf rotate 105
これは約2年分を貯められるログの個数です。
105≧365×2÷7
<hostsファイル>
・
vi /etc/hosts 変更 127.0.0.1 localhost.mydomain1.jp localhost
<リソース移行>
・/homeはroot以外にアクセスできないため、rootでもsshのログインを許可します。
vi /etc/ssh/sshd_config 以下へ変更します。 PermitRootLogin yes
・/homeのリソースをすべてコピーします。
コマンド
rsync -e ssh -avzc root:ee.ff.gg.hh:/home/* /home 2>&1 | tee -a /home/sync.log 結果 sent 418132 bytes received 1255167085 bytes 1081934.70 bytes/sec total size is 1474302129 speedup is 1.17
オプションの意味は以下です。
-a: アーカイブモード。
-v: 冗長表示。
-z: 圧縮する。
-c: チェックサムを調べる。
パイプラインで標準出力をteeコマンドへ渡しているのはログを取るためです。
<パスワード生成>
yum --enablerepo=epel,rpmforge,remi install perl-String-Random
<SSL>
yum --enablerepo=epel,rpmforge,remi install mod_ssl 結果 Installed: mod_ssl.i386 1:2.2.3-22.el5.centos.2 Dependency Installed: distcache.i386 0:1.4.5-14.1 Complete! rsync -e ssh -avzc ee.ff.gg.hh:/etc/httpd/conf ./
<WevDAV>
コマンド
yum --enablerepo=epel,rpmforge,remi install mod_dav_svn 結果 Installed: mod_dav_svn.i386 0:1.6.5-0.1.el5.rf Updated: subversion.i386 0:1.6.5-0.1.el5.rf Complete!
<clamav>
以下のサイトを参考にさせていただきました。感謝。
http://centossrv.com/clamav.shtml
・インストールします。
# yum --enablerepo=epel,rpmforge,remi install clamd 結果 Installed: clamd.i386 0:0.95.2-4.el5.rf Dependency Installed: clamav.i386 0:0.95.2-4.el5.rf clamav-db.i386 0:0.95.2-4.el5.rf Complete!
・サービスへ登録します。
コマンド
chkconfig clamd on
・動かします。
コマンド
# /etc/init.d/clamd start 結果 Starting Clam AntiVirus Daemon: LibClamAV Warning: ************************************************** LibClamAV Warning: *** The virus database is older than 7 days! *** LibClamAV Warning: *** Please update it as soon as possible. *** LibClamAV Warning: **************************************************
・ウイルスDBを更新します。
コマンド
# freshclam 結果 ClamAV update process started at Tue Sep 1 22:28:34 2009 main.cvd is up to date (version: 51, sigs: 545035, f-level: 42, builder: sven) WARNING: getfile: daily-9451.cdiff not found on remote server (IP: 120.29.176.126) WARNING: getpatch: Can't download daily-9451.cdiff from db.jp.clamav.net Trying host db.jp.clamav.net (61.206.123.121)... WARNING: getfile: daily-9451.cdiff not found on remote server (IP: 61.206.123.121) WARNING: getpatch: Can't download daily-9451.cdiff from db.jp.clamav.net Trying host db.jp.clamav.net (219.106.242.51)... WARNING: getfile: daily-9451.cdiff not found on remote server (IP: 219.106.242.51) WARNING: getpatch: Can't download daily-9451.cdiff from db.jp.clamav.net WARNING: Incremental update failed, trying to download daily.cvd Trying host db.jp.clamav.net (219.94.128.99)... Downloading daily.cvd [100%] daily.cvd updated (version: 9763, sigs: 71572, f-level: 43, builder: ccordes) Database updated (616607 signatures) from db.jp.clamav.net (IP: 219.94.128.99) Clamd successfully notified about the update.
通常はcronで最新となっています。