ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
検索
オンライン状況
6 人のユーザが現在オンラインです。 (2 人のユーザが ニュース を参照しています。)

登録ユーザ: 0
ゲスト: 6

もっと...
投稿者: f-otake 投稿日時: 2013-11-14 7:58:53 (604 ヒット)
CentOS 6.3(6.4)に挑戦

ある時サブのホストの時刻を見ていたら、メインのホストの時間とずれていた。以前Xenでdomain Uを作っていた時は合っていたのでサブドメインには時刻合わせの設定をしていなかった。
どうもKVMでは合わせてくれない見たいなので、時刻合わせを設定する。
KVMのメインホストではNTPサーバーが動いているので、cronで1日一回そこに行って時刻合わせをする。
# gedit /etc/cron.dairy/ntp.sh

#!/bin/sh
ntpdate -s 192.168.xxx.xxx

xxx.xxxは自分の環境に合わせる
実行権を与える
# chmod +x ntp.sh


投稿者: f-otake 投稿日時: 2013-8-29 14:43:42 (1024 ヒット)
CentOS 6.3(6.4)に挑戦

KVMでゲストOSの自動起動、自動停止はホストOSの/etc/sysconfig/libvirt-guestsを修正する。

START_DELAY=20 ←コメントを外し、0を20に[/color]
ON_SHUTDOWN=shutdown ←コメントを外し、suspendをshutdownに[/color]
SHUTDOWN_TIMEOUT=180 ←コメントを外し、300を180に[/color]

後、acipdをゲストOSにインストールしておくが、私の環境ではインストール済みであった。
これらの設定の意味は、confファイルを読むと分かると思う。
この設定は、ホストOSが停止する時、ゲストOSは一つづつシーケンシャルに停止し(つまり2番目のゲストOSは一番目が停止してから、停止動作に入る)すべてのゲストOSが停止後、ホストOSの停止動作が始まる。
PARALLEL_SHUTDOWN=0 と言う設定もあるが、これはゲストOSの停止動作を一斉にする場合だと思うが、今の所一斉停止に入っても問題なさそうだが、(各ゲストOSが、他のゲストOSとの相関関係はなさそう)試していない。


投稿者: f-otake 投稿日時: 2013-8-29 13:31:19 (467 ヒット)
CentOS 6.3(6.4)に挑戦

ipv6を無効化したくて、ググって見ると、/etc/modprobe.confに設定を書けとあるが、CentOS には/etc/modprobe.confが無い。
どうもVer6から変更された様で、/etc/modprobe.d/以下に任意のファイル名(多分拡張子は.confでないとダメ)で、ファイルを作り、そこに設定を記入するみたい。
さっそくipv6off.conf と言うファイルにoptions ipv6 disable=1と記入し、
# chkconfig ip6tables off
でip6tablesを起動し無い様にし、再起動をすると出来たみたい。
# ifconfig
で見ると、inet6 addr: で始まる行はなくなっていた。
参考URL:http://192168111.blog71.fc2.com/blog-entry-67.html


投稿者: f-otake 投稿日時: 2013-8-28 10:13:33 (461 ヒット)
CentOS 6.3(6.4)に挑戦

予備のサーバーをCentOS6.4で作成中、ブリッジを作ると名前の解決が出来ない。
/etc/resolve.confの設定は正しいし、NetworkManagerは止めてあるので、resolve.confは書き換わっていない。digやnslookupは応答しない。
何のことはない、作った/etc/sysconfig/network-scripts/ifcfg-br0にDNSの設定が抜けていた。 このファイルにDNS1=192.168.xxx.1と設定し
(203/8/31訂正)これは /etc/sysconfig/network-scripts/ifcfg-eth0に DEFROUTE=yes と設定があり、これではdefaultのルートになってしまい、br0と矛盾するのが原因、これをコメントアウトし
# service network restart
でネットワークを再起動するとOKになった。


投稿者: f-otake 投稿日時: 2013-3-28 21:10:09 (1163 ヒット)
CentOS 6.3(6.4)に挑戦

Centos 5.3の時はSquireelMailを使っていたが、今回はRoundcubeに挑戦してみる。
参考URL:http://unixlife.jp/unixlife/linux/s-roundcube.jsp
http://roundcube.net/download から complete: 0.8.6 をダウンロードする。
ダウンロードしたdirectoryに移り、
# tar -xzvf roundcubemail-0.8.6.tar.gz
次はwebにコピー
# mv roundcubemail-0.8.6/ WEBのルートディレクトリー
ディクトリー名が長すぎるので変更
# cd WEBのルートディレクトリー
# mv roundcubemail-0.8.6 webmail
所有者の変更
# chown -R root.apache webmail
.htaccessの削除
# rm webmail/.htaccess
足りないモジュールをインストール
# yum install php-xml php-intl php-gd
# cd
mysqlを使うのでその設定
# mysql -u root -pXXXXXX ←XXXXXXはパスワードで-pとの間にスペースを入れてはいけない。
mysql> create database webmail;
mysql> grant all privileges on webmail.* to webmail@localhost identified by 'XXXXXX;
mysql> exit
この意味は"webmail"というデーターベースを作り、その権利をwebmailと言うユーザーに与える。
テーブルをインポートする
# mysql -u root -pXXXXXX webmail < WEBのルート/webmail/SQL/mysql.initial.sql
apacheとmysqlをリスタートしておく
# service httpd restart
# service mysqld restart
localhost/webmail にブラウザでアクセスすると、画面1になる
 
 
    
画面1からはみ出して見えないが、PostgrelSQLが無いなどと言っているが、もちろんmysqlはOKなので問題無い。一番したに NEXTがあるのでクリックすると
画面2。これは webmail/config/main.inc.phpやdb.inc.phpを作ってくれるのも。かなり長いので、デフォルトから変更したものだけ記入する。
Product_name は Webmail だけにした。
Data base Setup はmysqlに設定したものを記入
IMAP Settingの(私はIMAPをsslで使っているので)
default_host は ssl://localhost
default_port は 993
username_domain は ブランク(これはログイン画面にドメイン名を表示してくれるが、私はvirtual mail で5個のドメインを使っているので設定しない)
SMTP Settings は(SMTPもssl)
smtp_server は ssl://localhost
smtp_port は 465
smtp_user/smtp_pass はブランクのままにして、use the current IMAP ...... にチェックを入れる。
CREATE CONFIG をクリックすると
画面3になり、設定文が表示される。2つの設定ファイルの上にdownload(画面3では紫色)があるのでここをクリックすると保存出来るようになるので、場所を指定し(WEBのルート/webmail/config)それぞれ保存する。CONTINEUE をクリックすると
画面4になるがエラーが出ている。
一番目の Missing config option はこのWEBに置いておくroundcubeのヘルプページのURLだが取りあえず置かないのでそのままにする。
二番目はdirectoryのパーミッションの問題。これを直す。
# chmod 775 WEBのルート/webmail/logs
# chmod 775 WEBのルート/webmail/temp
三番目はデータベースの設定でエラーが出ている(パスワードは白抜きしている)。良く見ると@localhost/webmai となっており最後がの l(エル)が抜けているので、 WEBのルート/webmail/config/db.inc.phpを編集する(25行目くらいの$rcmail_config['db_dsnw'] = で始まる所)。
ブラウザを再読み込みすると画面5になる。
相変わらずMissing config option が出ているが無視、スクロールダウンし(画面6)、Test SMTP config の所で、User: にメールユーザー、Password: にそのパスワード、送信者受信者ともそのユーザにして、Send test mail をクリックし、
画面7の赤のアンダーラインの様に SMTP send OK になればよい。
次は Test IMAP config の Username にメールユーザー、Password にそのパスワードを記入し、Check login をクリックすると、
画面8になり、赤いアンダーラインの様に IMAP connect: OK(SORT capability: yes) になればOK。
下の注意書きには installer folder をdeleteするか、enable_installer option を disableにしろとあるが、main.inc.php は $rcmail_config['enable_installer'] = false; となっていたので、そのままにした。
いよいよブラウザで localhost/webmail にアクセスすると、画面9になり、ログインすると画面10になる。
少し main.inc.php を手直しする(抜粋)

$rcmail_config['default_charset'] = 'ISO-2022-JP';
$rcmail_config['create_default_folders'] = true;
$rcmail_config['log_driver'] = 'syslog';
$rcmail_config['log_logins'] = true;

とそれぞれ右辺を変更する
WEBのルート/webmail/program/include/rcube_charset.phpの変更。
// convert charset using mbstring module
 if ($mbstring_loaded) {
    $aliases['WINDOWS-1257'] = 'ISO-8859-13';
    //ここから
    $aliases['JIS']  = 'ISO-2022-JP-MS';
    $aliases['ISO-2022-JP']  = 'ISO-2022-JP-MS';
    $aliases['EUC-JP']  = 'EUCJP-WIN';
    $aliases['SJIS']  = 'SJIS-WIN';
    $aliases['SHIFT_JIS']  = 'SJIS-WIN';
    //ここまで追加
    if ($mbstring_list === null) {
       $mbstring_list = mb_list_encodings();
       $mbstring_list = array_map('strtoupper', $mbstring_list);
     }

後、ログイン後右上に設定があるので、一度見ておく方がいいと思います


投稿者: f-otake 投稿日時: 2013-2-7 22:18:16 (921 ヒット)
CentOS 6.3(6.4)に挑戦

kvmでは /etc/libvirt/qemu 以下にあるゲスト名.xmlで割り当てる領域(disk)を定義するが、その挙動がよく解らないので調べてみた。
1:最初にゲストのインストレーションで指定をすると、必ず指定した領域にさらに領域を作る。例えばvdaに指定したものを、kvmホスト側から単純な方法ではマウント出来ない。CentOS 6.3に挑戦 : 10:ゲストの領域をマウントする場合を参照。例えばインストレーション時にvdaとvdbをそれぞれルートとスワップに指定してインストールすると、それぞれの領域にさらに領域を作り、そこにルートにするext4とswapを作っている。つまり指定された領域をdiskに見立てそこにパティションを作っている感じ。
2:インストールが終わってから/etc/libvirt/qemu/ゲスト名.xmlを修正し、vdcを追加後、virsh define /etc/libvirt/qemu/ゲスト名.xmlで再定義後、起動すると、その中には領域を作らない。
3:それではと、試しにゲストをシャットダウン後、swapに指定したvdbを mkswap /dev/Swap/testSwap(これがvdbに指定した領域)で、直接swap領域に作り直したが、swapとして認識してくれない。
4:仕方なくゲスト.xmlを修正し、vdbの代わりにvdcを指定(vdbはなくなった)し、vdcはvddにして、define後、起動しても認識してくれない。それどころか /devの中を見るとあるのは、vda,vda1(これが領域の中の領域ールートになっている),vdb, vdb1となっておりvddが無い所か、指定の無いvdbがある!!!???
vddが無くなっているので、fstabで指定のある/dev/vddの部分はエラーになる。詰まりvdb等の最後のアルファベッドはxmlの指定に関わらず、aから順番に付く!!
もちろん全体を再起動しても同じ現象!
5:.xmlの指定はswapにする領域の指定はvdbに戻し、ゲストの /etc/fstab の指定を /dev/sdb swap swap defaults 0 0 にしたらOKになった。
今もって何だかよく分からない。どなたか詳しい方是非教えてください。


投稿者: f-otake 投稿日時: 2012-10-24 6:17:29 (637 ヒット)
CentOS 6.3(6.4)に挑戦

会社などでその部署のメアドを作り、その部署全員に転送するような事をやると思いますが、 25:postfixadminのインストールでは出来ませんでした。転送設定はあるのですが、それはドメイン毎の転送で、メアドの転送設定は出来ませんでした。
ググって見ると何の事は無く、config.inc.php に一つ設定するだけで出来るようになります。

$CONF['alias_control'] = ‘YES’

設定後、WEBサーバーを再起動し、postfixadminに再ログインすれば、各メアドの設定に"転送"が表示されますので、そこに転送したいメアドを追加するだけ。デフォルトで自分自身に転送がされているが、メールの保存の必要が無ければ、自分自身は消去してもいい。


投稿者: f-otake 投稿日時: 2012-10-23 9:50:00 (1919 ヒット)
CentOS 6.3(6.4)に挑戦

参考URL:http://e-garakuta.net/techinfo/doku.php/linux/postfix-virtual
参考URL:http://www.kurobuti.com/linux_server/?page_id=364
動いていますが色々な修正をして行ったので、ここに設定が反映していないとも限りません。どなたか気がついたら、お問い合わせからお知らせ下さい。又、Mailを保存するディレクトリーを変更しました。
/etc/php.ini を変更して置きます(これはpostfixadminとは直接関係ありません。)

date.timezone = Asia/Tokyo ←東京にする
post_max_size = 50M
upload_max_filesize = 50M

今のままではユーザー名が同じだと、各バーチャルドメインで同じ人になってしまう(test@domain1.comとtest@domain22.comは同じ人)ので作り直す
先ずはバーチャルドメイン用のユーザーを作る。
# groupadd -g 10000 vusers
# useradd -g 10000 -u 10000 vusers
mailを保存するディレクトリー作ってあるので(これには独立したディスク領域を割り当てています。fstabの内容:/dev/vde /Maildata ext4 defaults 0 0)オーナー等を設定
# chown vusers:vusers /Maildata
# chmod 770 /Maildata
postfixadminでmysqlを使うので、/etc/postfix/mysql_virtual_alias_maps.cfの作成
user = postfixadmin
password =XXXXX
hosts = localhost
dbname = postfix
#query= SELECT goto FROM alias WHERE address='%s'
table = alias
select_field = goto
where_field = address

以前はコメントアウトしてある行の様にmysqlのqueryを一行で書いていたのだが、変更になったのかなー。ともかく参考URL通りにした。
/etc/postfix/mysql_virtual_domains_maps.cfの作成
user = postfixadmin
password =XXXXX
hosts = localhost
dbname = postfix
table = domain
select_field = domain
where_field = domain
additional_conditions = and active = '1'

/etc/postfix/mysql_virtual_mailbox_maps.cfの作成
user = postfixadmin
password =XXXXX
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username

/etc/postfix/mysql_sender_login_maps.cfの作成
user = postfixadmin
password =XXXXX
hosts = localhost
dbname = postfix
query= SELECT goto FROM alias WHERE address='%s'

/etc/postfix/virtualの編集
22:メールサーバーのバーチャルドメイン設定で設定した物を全てコメントアウトする
#172club.net anything
#@172club.net @kinryokai.net

次に/etc/postfix/main.cfの編集をする
#mydestination = $myhostname, localhost.$mydomain, localhost  ←コメントアウトする
mydestination = ←追記
#virtual_maps = hash:/etc/postfix/virtual ←あれば、コメントアウトする
# local_transport = local ←コメントアウト
local_transport = virtual ←追記
#smtpd_sasl_local_domain = $myhostname ←コメントアウト
smtpd_sasl_path = private/auth ←追記
# ここから最後まで追記
# virtual_mailbox_domains の配送にバーチャル配送エージェントを使用
virtual_transport = virtual
# バーチャルメールボックスの場所
virtual_mailbox_base = /Maildata
# バーチャルメールボックスを使用するドメインの検索テーブル
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
# バーチャルメールボックスを使用するメールボックスのアドレス検索テーブル
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
# ローカルまたはバーチャルのエイリアス設定
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
# ローカルまたはバーチャルのエイリアスされるドメイン
virtual_alias_domains = $virtual_alias_maps
# ユーザーIDの最小値
virtual_minimum_uid = 10000
# ユーザーID
virtual_uid_maps = static:10000
# グループID
virtual_gid_maps = static:10000
virtual_mailbox_limit = 1073741824

smtpd_sender_login_maps = mysql:/etc/postfix/mysql_sender_login_maps.cf

postfixadminを使うにはmysqlを有効にしたpostfixが必要だが、
24:taRgreyによるスパム対策(taRgrey)で使用したSRPMはmysqlが有効になっている

httpd php php-mysql php-mbstring dovecot-mysql がいるので無ければyumでインストール。
postfixadminのインストール(2013年2月23日現在2.3.6が最終バージョン)
http://sourceforge.net/projects/postfixadmin/ で確認してね。
# wget http://sourceforge.net/projects/postfixadmin/files/latest/download?_test=redirect
postfixadminがmysqlを使うのでデーターベースを作る。
# mysql -u root -pXXXXX
最後のXXXXXはログインするユーザーのパスワード。この時-pとパスワードの間にスペースを入れてはいけない。
postfixと言う名前でデーターベースを作る
mysql> create database postfix;
データーベースpostfixに使用するユーザーをpostfixadminとして作成し、全ての権限を与える。
mysql> grant all privileges on postfix.* to postfixadmin@localhost identified by 'postfixadminのパスワード';
データーベース(show databases)やuser(select user from mysql.user where user="postfixadmin";)が出来たか確認後、mysqlを抜ける
mysql> exit
作ったユーザーでmysqlにログイン出来るか確認
# mysql -u postfixadmin -pXXXXX
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 65
Server version: 5.1.61 Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

出来たのでmysqlを抜けておく。
postfixadminの解凍
# tar zxvf postfixadmin-2.3.6.tar.gz
出来たDIRをrename
# mv postfixadmin-2.3.6 postfixadmin
それをWEBサーバーのデーターDIRに移動
# mv postfixadmin /webdata/public/kinryokai/
私はdefault(/var/www/html)から変えている。
postfixadminのパーミッションの変更
# cd /webdata/public/kinryokai/
# chown -R apache:apache postfixadmin/
# cd postfixadmin/
# chmod 640 *.php
# cd admin/
# chmod 640 *.php
# cd ../images/
# chmod 640 *.png
# cd ../languages/
# chmod 640 *.lang
# cd ../users/
# chmod 640 *.php
# cd ..
config.inc.phpファイルの設定
$CONF['configured'] = true; ←trueに変更
$CONF['default_language'] = 'ja'; ←jaに変更
$CONF['database_user'] = 'postfixadmin'; ←設定したデーターベースと合わせる
$CONF['database_password'] = 'xxxx'; ←設定したデーターベースと合わせる
$CONF['database_name'] = 'postfix'; ←設定したデーターベースと合わせる
$CONF['admin_email'] = 'postmaster@kinryokai.net'; ←管理者のemail
$CONF['encrypt'] = 'cleartext'; ←mysqlを使うときはcleartextしか使えない
$CONF['domain_path'] = 'YES'; ←YESに変更
$CONF['mailboxes'] = '100'; ←100に変更
$CONF['maxquota'] = '10000'; ←10000に変更
$CONF['show_footer_text'] = 'NO'; ←NOに変更
$CONF['welcome_text'] = <<<EOM
このメールは管理者があなたのメアドを作成しましたので、送信をしました。
EOM; ←日本語に変更

/etc/dovecot/dovecot-postfixadmin-mysql.confを作る
driver = mysql
connect = host=localhost dbname=postfix user=postfixadmin password=XXXXXXXX
default_pass_scheme = PLAIN
password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
user_query = SELECT concat('/Maildata/', maildir) AS home, 10000 AS uid, \
10000 AS gid FROM mailbox WHERE username = '%u' AND active = '1'

/etc/dovecot/conf.d/00-base.confの作成
# debug関係
auth_debug_passwords = yes
auth_verbose = yes
auth_debug = yes
listen = *
disable_plaintext_auth = no
auth_mechanisms = PLAIN LOGIN CRAM-MD5
mail_location = maildir:/Maildata/%d/%u 最後を%nから%uに訂正-2012-10-31 中村さん御指摘ありがとうございます。
first_valid_uid = 10000
first_valid_gid = 10000
mail_plugins = quota
protocol imap {
  imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
  mail_plugins = $mail_plugins imap_quota
}
protocol pop3 {
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
passdb {
  driver = sql
  args = /etc/dovecot/dovecot-postfixadmin-mysql.conf
}
userdb {
  driver = sql
  args = /etc/dovecot/dovecot-postfixadmin-mysql.conf
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
     mode = 0666
  }
}
plugin {
  quota = maildir:User quota
}

/etc/dovecot/conf.d/10-auth.confの設定
disable_plaintext_auth = no ←コメントを外す
#!include auth-system.conf.ext ←#を付けコメントにする

/etc/dovecot/conf.d/10-mail.confの設定
mail_location = maildir:/Maildata/%d/%n ←右辺を訂正

/etc/sasl2/smtpd.confの設定
#pwcheck_method: saslauthd
pwcheck_method: auxprop
auxprop_plugin: sql

sql_engine: mysql
sql_hostnames: localhost
sql_user: postfixadmin
sql_passwd: XXXXX
sql_database: postfix
sql_select: SELECT password FROM mailbox WHERE username = '%u@%r' AND \
active = '1' mech_list: cram-md5 digest-md5 plain
login log_level: 3

/etc/procmailrc変更
MAILDIR=/Maildata/$DOMAIN/$USER\@$DOMAIN/ ←メールDIRの場所が変更になるので反映させる


webにnoticeが表示されるので、textファイルの名前を変更しておく。
# cd positfixadminのあるdirectory
# mv motd.txt motd.txt.org
# mv motd-users.txt motd-users.txt.org

ブラウザでIPアドレス/postfixadmin/setup.phpにアクセスする

私は左の図の赤線があるIMAP FunctionsがOKになっていますが、これはphp-imapが既にインストールされていたからですが、エラーになるかもしれません。IMAPを使う時はyumでphp-imapをインストールしapacheを再起動してください。
その後ブラウザで再読み込みすると、右の図の様になります。
Setup passwordにに任意のパスワードを入力し、"Generate password hash"をクリックすると、右下の画面になりますので、赤線を引いてあるHASH値がありますので、config.inc.phpに張り付けます。下のハッシュ値は画面とは違いますがあしからず。図と文字がオーバーラップして見づらくなった時はブラウザの表示幅を狭くしていくと、オーバーラップが解消します。
$CONF['setup_password'] = '83a9a0c889b7a4d1b6179462ba38c0d3:7704bbc36ee2098e6bdaddc430910f2abc57b55c';

そして、”Setup password" に設定したパスワードを入力、ドメイン管理者のメアド、ISP等のこのメールサーバー以外のメアドが良い。そしてパスワードを設定し、”管理者を追加”をクリックし管理者を作ります。WEBの下の方に書いてありますがVer2.3からsetup.phpはdeleteしなくてもよくなった見たいですが、私はパスワードを記憶させてしまいましたので、このままでは新しい管理者を作られ、問題がありますのでsetup.phpをリネームしました。
そして、ブラウザでhttp://IPアドレス/postfixadmin/login.php にアクセスし、作成した管理者でログインできる事を確認して置きます。
ドメインやメールユーザーの追加をして行く時に注意:ドメインを作っただけでは/home/vusersに下にドメインのDIRは出来ません。そのドメインにメールユーザーを作るとその時初めてドメインのDIRが出来、その下にユーザーが出来ます。
又、サンダーバードでメールをimapで使っていて気がついたのは、初期設定では下書きと迷惑メールのDIRは出来ないが、それぞれ、作成メールを保存した時、アカウント設定で迷惑メールと....にチェックを入れ、次のアカウントの迷惑メール.....にチェックを入れると作られる。

後日、作り直そうと思ってこのページを参考にしたが、ログインは出きるもののエラーが出る。原因は以前に作ったdatabaseが残っていた為。mysqlのpostfix(database名)を削除してからやると問題ない。
又、postfixadminでメールやドメインを削除しても、mysql上にあるデータが削除されるだけで、実態のメールデーターなどは削除されないので、必要ならばマニュアル削除する。(以前はpostfixadmin-domain-postdeletion.sh等を設定してあったが、テストしたらエラーが出たので、手動にした)

テストが終了したら、以前に作っていたskel directoryに入れたMaildirを消して、ユーザーを作成してもdirectoryを作らないようにする。その人がメールアドレスがいる時はpostfixadminで作成する
# rm -rf /etc/skel/Maildir/
さらにメールデーターの移行が終わったら、各ユーザー直下のMaildirもdeleteしておく。


投稿者: f-otake 投稿日時: 2012-10-7 0:21:18 (3205 ヒット)
CentOS 6.3(6.4)に挑戦

参考URL:http://centossrv.com/postfix-targrey.shtml
これは防備録の為の記入です。サーバーは仮であり、本運用はしていませんし、本運用で別のサーバーが動いているので、スパムのチェックが出来ておりません。現在は運用中です
yumdownloaderがあるyum-utilsをインストール
# yum -y install yum-utils
インストールされていた。
次はpostfixのソースのダウンロード
# yumdownloader --source postfix
ありゃりゃ、ソースは無いって。じゃあどこにある? 下記にあった
# wget http://vault.centos.org/6.2/os/Source/SPackages/postfix-2.6.6-2.2.el6_1.src.rpm
上記はXOOPSが勝手にリンクを張り途中から文字色が変わっている、本来は全部緑。
この後もwgetの後ろの色が変化しているのは同じ理由。
前はなかったが、今は6.5にもある。但し、標準でインストールされるバージョンは 2.6.6-6.el6_5だがソースは少し古い 2.6.6-2.2.el6_1 です
今では2.6.6-6のsrc.rpmもある。場所:
http://vault.centos.org/6.6/os/Source/SPackages/postfix-2.6.6-6.el6_5.src.rpm
但し、どちらのバージョンもソースRPMをインストール後、作成される物は postfix-2.6.6.tar.gzと同じでサイズやタイムスタンプも同じですので、どちらのソースでもお好きな方を使って下さい。
# wget http://vault.centos.org/6.5/os/Source/SPackages/postfix-2.6.6-2.2.el6_1.src.rpm
ソースをインストール
# rpm -ivh postfix-2.6.6-2.2.el6_1.src.rpm
警告: グループ mockbuild は存在しません - root を使用します
と警告が出るが無視
ソースの展開先へ移動
# cd rpmbuild/SOURCES/ (VER 6.4 はrpm/SOURCES)
tar.gzの展開とDIRの移動
# tar zxvf postfix-2.6.6.tar.gz
# cd postfix-2.6.6
スリープパッチをダウンロード
# wget http://k2net.hakuba.jp/pub/postfix-2.3.3-sleep.patch
以前見たWEBにcentosのpostfixはパッチが当たっていて、標準のpostfixとは違っていると書いてたので、ダウンロードしたパッチと比較してたら、やはりパッチを当てる位置が違っていたので、/root/rpmbuild/SOURCES/postfix-2.6.6/postfix-2.3.3-sleep.patchの修正。(VER 6.4 はrpmbuildではなく rpm )

--- postfix-2.6.6/src/smtpd/smtpd_check.c	2006-11-07 15:29:24.000000000 +0900 ←最初の2行を修正
+++ postfix-2.6.6.new/src/smtpd/smtpd_check.c	2012-10-06 15:25:52.000000000 +0900

@@ -203,6 +203,7 @@ ←11行目 @@ -204,6 +204,7 @@から修正

@@ -3543,6 +3544,7 @@ ←11行目 @@ -3428,6 +3429,7 @@から修正

@@ -3638,8 +3640,35 @@ ←19行目 @@ -3523,8 +3525,35 @@から修正

(修正済のパッチのダウンロードはここをクリック
パッチを当てて、DIRの移動
# patch -p1 < postfix-2.3.3-sleep.patch
# cd ..
Postfixソース再アーカイブ
# rm -f postfix-2.6.6.tar.gz && tar czvf postfix-2.6.6.tar.gz postfix-2.6.6
DIRの削除
# rm -rf postfix-2.6.6/
DIRを移り、rpm作成
# cd
本当はrpmbuildはrootでやってはいけないのが常識のようだが(理由はここを参照)、少し面倒なのでrootで慎重に作業をする。
# rpmbuild -bb --clean --define "dist .`echo postfix-*.src.rpm |awk -F. '{print $(NF-2)}'`" /root/rpmbuild/SPECS/postfix.spec
ありゃいっぱい足りない (VER 6.4 はrpmbuildではなく rpm )
db4-devel, zlib-devel, openldap-devel, cyrus-sasl-devel pcre-devel, mysql-devel, openssl-devel なのでこれらをyumでインストールする
# yum install db4-devel zlib-devel openldap-devel cyrus-sasl-devel pcre-devel mysql-devel openssl-devel
再度挑戦
# rpmbuild -bb --clean --define "dist .`echo postfix-*.src.rpm |awk -F. '{print $(NF-2)}'`" /root/rpmbuild//SPECS/postfix.spec
出来たpostfixをインストール
# rpm -Uvh --force /root/rpmbuild/RPMS/x86_64/postfix-2.6.6-2.2.el6_1.x86_64.rpm (VER 6.4 はrpmbuildではなく rpm ) 2013/2/23 訂正
後始末
# rm -f rpmbuild/RPMS/x86_64/postfix-* (VER 6.4 はrpmbuildではなく rpm )
# rpmbuild --rmsource --rmspec /root/rpmbuild/SPECS/postfix.spec  (VER 6.4 で最後の所は /root/rpm/SPECS/postfix.spec )
# rm -f postfix-2.6.6-2.2.el6_1.src.rpm

Postgreyインストール
# wget http://pkgs.repoforge.org/postgrey/postgrey-1.34-1.rf.src.rpm
SRPMの展開
# rpm -ivh --nomd5 postgrey-1.34-1.rf.src.rpm
警告: グループ dag は存在しません - root を使用します
警告は無視し、DIRを移動 これ以降VER6.4ではrpmbuild の所は rpmに読み替えてください
# cd rpmbuild/SOURCES/
Postgreyソース展開し、DIRを移動
# tar zxvf postgrey-1.34.tar.gz
# cd postgrey-1.34
targreyパッチダウンロード
# wget http://k2net.hakuba.jp/pub/targrey-0.31-postgrey-1.34.patch
パッチを当て、DIRの移動
# patch -p0 < targrey-0.31-postgrey-1.34.patch
# cd ..
Postgreyソース再アーカイブ
# rm -f postgrey-1.34.tar.gz && tar czvf postgrey-1.34.tar.gz postgrey-1.34
パッチを当てたので、ソースに使ったDIRを消し、DIRを移動し、RPMを作る
# rm -rf postgrey-1.34
# cd
# rpmbuild -bb --clean --define "dist .`echo postgrey-*.src.rpm |awk -F. '{print $(NF-2)}'`" /root/rpmbuild/SPECS/postgrey.spec
Postgrey依存パッケージインストール
# yum -y install postgrey && rpm -e postgrey
postgreyのインストール
# rpm -Uvh rpmbuild/RPMS/noarch/postgrey-1.34-1.rf.noarch.rpm
エラー: 依存性の欠如: perl(Parse::Syslog) は postgrey-1.34-1.rf.noarch に必要とされています
とエラーが出た。Parse::Syslogのインストールは
# wget apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/perl-Parse-Syslog-1.10-1.el6.rf.noarch.rpm
# rpm -ivh perl-Parse-Syslog-1.10-1.el6.rf.noarch.rpm
警告: perl-Parse-Syslog-1.10-1.el6.rf.noarch.rpm: ヘッダ V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
と警告は出るがインストールされる。
別のホストでやったら、依存性の欠如もっと出た
perl(BerkeleyDB) は postgrey-1.34-1.rf.noarch に必要とされています
perl(IO::Multiplex) は postgrey-1.34-1.rf.noarch に必要とされています
perl(Net::DNS) は postgrey-1.34-1.rf.noarch に必要とされています
perl(Net::Server) は postgrey-1.34-1.rf.noarch に必要とされています
perl(Net::Server::Daemonize) は postgrey-1.34-1.rf.noarch に必要とされています
perl(Net::Server::Multiplex) は postgrey-1.34-1.rf.noarch に必要とされています
perl(Parse::Syslog) は postgrey-1.34-1.rf.noarch に必要とされています
これは # yum -y install postgrey && rpm -e postgrey をやり忘れた為
再度postgreyのインストール
# rpm -Uvh rpmbuild/RPMS/noarch/postgrey-1.34-1.rf.noarch.rpm
後始末
# rm -rf rpmbuild/SOURCES/*
# rm -f rpmbuild/RPMS/noarch/*
# rm -f postgrey-1.34-1.rf.src.rpm
# rm -f perl-Parse-Syslog-1.10-1.el6.rf.noarch.rpm

/etc/postfix/main.cfの設定
smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
−−追加(ここから)−−
    check_recipient_access hash:$config_directory/whitelist_recipient
    check_client_access    hash:$config_directory/whitelist_client
    check_client_access    regexp:$config_directory/permit_client_nots25r
    check_policy_service   inet:60000
    permit

smtpd_data_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    check_recipient_access hash:$config_directory/whitelist_recipient
    check_client_access    hash:$config_directory/whitelist_client
    check_client_access    regexp:$config_directory/permit_client_nots25r
    check_policy_service   inet:60000
    permit
−−追加(ここまで)−−

taRgrey用Postfix設定ファイルダウンロード
# wget http://k2net.hakuba.jp/spam/postfix.conf.2.tar.gz
解凍
# tar zxvf postfix.conf.2.tar.gz
各ファイルをコピー
# cp postfix.conf.2/whitelist_recipient /etc/postfix/
# cp postfix.conf.2/whitelist_client /etc/postfix/
# cp postfix.conf.2/permit_client_nots25r /etc/postfix/
# rm -fr postfix.conf.2/
# rm -f postfix.conf.2.tar.gz
whitelist_recipientのDB化
# postmap /etc/postfix/whitelist_recipient
whitelist_clientのDB化
# postmap /etc/postfix/whitelist_client
/etc/rc.d/init.d/postgreyの設定
#OPTIONS="--unix=$SOCKET" ←コメントアウト
OPTIONS="--dbdir=$DBPATH --inet=127.0.0.1:60000 --tarpit=125 --targrey --retry-count=2 --delay=3600" ←追記

postgreyの起動、postfix再起動など
# service postgrey start
# chkconfig postgrey on
# service postfix restart
その後メールのテストをする
postfixにパッチを当てているため、自動アップデートを無効にする。
# yum -y install yum-versionlock
# sed -i 's/enabled = 0/enabled = 1/g' /etc/yum/pluginconf.d/versionlock.conf
# touch /etc/yum/pluginconf.d/versionlock.list
# rpm -q postfix >> /etc/yum/pluginconf.d/versionlock.list
# rpm -q postgrey >> /etc/yum/pluginconf.d/versionlock.list
/etc/cron.daily/yum-check-updateの作成
#!/bin/bash

# versionlockパッケージアップデートチェックスクリプト

YUMTMP=$(mktemp)
for pkg in `cat /etc/yum/pluginconf.d/versionlock.list`
do
    chkname="$chkname `rpm -qi $pkg|grep Name|awk '{print $3}'`"
done
yum --noplugins check-update $chkname > $YUMTMP
[ $? -eq 100 ] && cat $YUMTMP
rm -f $YUMTMP

# chmod +x /etc/cron.daily/yum-check-update
アップデート検知時はroot宛にメール通知されるので、最新版で再インストールする


投稿者: f-otake 投稿日時: 2012-10-6 7:30:07 (511 ヒット)
CentOS 6.3(6.4)に挑戦

ここはhttp://centossrv.com/postfix-clamav-spamassassin.shtmlを参考にして設定した
amavisd.confの場所は /etc/amavisd/amavisd.conf に移動していた。
また、$QUARANTINEDIRなど、一部の設定の右辺が変更になっていたが、コメントアウトするから関係ない。
今日事情があってインストールし直したら、amavisd.confの場所は /etc/amavisd.conf に戻っていた。現在のバージョンは 2.6.32-358.2.1.el6.x86_64 でこれは多分 version 6.4 だと思うけど、そのせいかなー。今となっては不明。又、/usr/lib/perl5/vendor_perl/5.8.8/Archive/Tar.pm の場所は /usr/share/perl5/Archive/Tar.pm に変更になっていた。


投稿者: f-otake 投稿日時: 2012-10-4 17:09:55 (548 ヒット)
CentOS 6.3(6.4)に挑戦

参考URL:http://centossrv.com/postfix-virtualdomain.shtml
バーチャルドメインとして172club.net を追加する。
/etc/postfix/virtual の最初に下記を追記

172club.net anything
@172club.net @kinryokai.net

Postfixバーチャルドメイン設定反映
# postmap /etc/postfix/virtual
/etc/postfix/main.cf の設定変更、下記を最後に追記
virtual_maps = hash:/etc/postfix/virtual

Postfix再起動
# service postfix restart
このサブホストの親ホストで簡易DNSとしてdnsmasqが動いているので、親ホストの /etc/hostsに172club.netを追記
192.168.xxx.xxx   mail.kinryokai.net mail.172club.net mail

親ホストでdnsmasqを再起動
# service dnsmasq restart
メールソフトでバーチャルドメインのメールをテスト。この状態ではメイルサーバーが動いているlinuxのユーザーが両ドメインに属することになる。(例:test@kinryokai.netとtest@172club.netは同じユーザーである)


投稿者: f-otake 投稿日時: 2012-9-13 11:40:00 (787 ヒット)
CentOS 6.3(6.4)に挑戦

参考URL:http://www.server-world.info/query?os=CentOS_6&p=mail&f=4
SSLの証明書をhttp://www.server-world.info/query?os=CentOS_6&p=sslを参考にして設定をします。
/etc/postfix/main.cfの変更、最後に下記を追記

smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt 注:最後のcrtの"t"が抜けていました。2013/3/23
smtpd_tls_key_file = /etc/pki/tls/certs/server.key
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache

/etc/postfix/master.cf の設定。下記の3行のコメントを解除
smtps       inet   n       -       n       -       -       smtpd
   -o smtpd_tls_wrappermode=yes
   -o smtpd_sasl_auth_enable=yes

私はlinuxにアカウントを持っている人はその同じパスワードをメールのパスワードにするため一番下の -o smtpd sasl_auth... のコメントを外しています。
/etc/dovecot/conf.d/10-ssl.confの変更
ssl = yes →コメントの解除

ssl_cert = </etc/pki/tls/certs/server.crt →右辺の変更
ssl_key = </etc/pki/tls/certs/server.key →右辺の変更

psostfix,dovecot の再起動
# service postfix restart
# service dovecot restart
私はメールプログラムとして、thunderbird を使っていますが、その設定で少し迷ったので、その設定値を記入しておく。
サーバー設定の受信はIMAPを使用し、ポートは993、セキュリティ設定の接続の保護は"SSL/TLS"、認証方式は"通常のパスワード認証”
SMTPサーバはポート:465、接続の保護は"SSL/TLS"、認証方式は"通常のパスワード認証”、ユーザ名はOSにログイン出来るユーザ名
とした。


投稿者: f-otake 投稿日時: 2012-9-13 10:36:35 (1486 ヒット)
CentOS 6.3(6.4)に挑戦

2012年10月2日全面的に書き直し。参考URL
postfix:http://www.server-world.info/query?os=CentOS_6&p=mail&f=1
dovecot:http://www.server-world.info/query?os=CentOS_6&p=mail&f=2
方針はとりあえずOSのユーザをメアドにし、パスワードはOSと同じ、SMTP Authにする。
postfixはインストールされているので、まずは /etc/postfix/main.cfの設定から

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix

myhostname = mail.kinryokai.net

mydomain = kinryokai.net

myorigin = $mydomain

inet_interfaces = all
inet_protocols = all

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

home_mailbox = Maildir/
header_checks = regexp:/etc/postfix/header_checks
smtpd_banner = $myhostname ESMTP unknown

debug_peer_level = 2

debugger_command =
	 PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
	 ddd $daemon_directory/$process_name $process_id & sleep 5


sendmail_path = /usr/sbin/sendmail.postfix

newaliases_path = /usr/bin/newaliases.postfix
 
mailq_path = /usr/bin/mailq.postfix

html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.6.6/samples
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination

# size=50MB    
message_size_limit = 52428800
# mailbox=1GB
mailbox_size_limit = 1073741824

私は最後のmailbox_size_limitの設定を指定しなかったのでエラーに悩ませれた。これは指定をしないと5120000になっておりmessage_size_limitより小さいのでエラーになっていた。postfixの設定値を調べるには
# postconf →全ての設定値の表示
# postconf -n →デフォルトより変更したもの
エラーが出たらログを調べるという鉄則を忘れ、悩みつづけた自分がいやになった。ちゃんと /var/log/maillog に fatal: main.cf configuration error: mailbox_size_limit is smaller than message_size_limit と書いてある。
2013/02/23追記:今日 mailbox_size_limit = 10737418240 つまり10GBにしたら、Logにfatal: main.cf configuration error: mailbox_size_limit is smaller than message_size_limitと出た。何で?? 多分postfix自体が何かの制限をかけていて10GBのmailboxを受けてけていないと思う。後日調べて見よう。9GBまではOK
mynetworksは設定しなくてもpostconfで調べるとこのサーバーのネットワークレンジが設定してあった。多分postfix自信が調べてくれているのだろう。
/etc/postfix/header_checksの最初に下記を追記。これはアドレスなしのメールを拒否する設定。
/^From:.*<#.*@.*>/ REJECT
/^Return-Path:.*<#.*@.*>/ REJECT

SMTP-Auth設定
# service saslauthd start
# chkconfig saslauthd on
postfixの再スタート (centos 6 はデフォルトでposifixが走っている)
# /etc/rc.d/init.d/postfix restart
dovecotのインストールと設定
# yum -y install dovecot
/etc/dovecot/dovecot.confは変更しないので、/etc/dovecot/conf.d/10-auth.conf の設定
disable_plaintext_auth = no →コメントを外しnoに変更:プレーンテキストも受ける
auth_mechanisms = plain login →loginを追記

/etc/dovecot/conf.d/10-mail.conf の設定
mail_location = maildir:~/Maildir →コメントを外し、右辺を追記

/etc/dovecot/conf.d/10-master.confの設定
  # Postfix smtp-auth
     unix_listener /var/spool/postfix/private/auth { →コメントを外す
        mode = 0666 →コメントを外す
        user = postfix →追記
        group = postfix →追記
  } 

dovecotのスタート
# /etc/rc.d/init.d/dovecot start
# chkconfig dovecot on
fierewallの設定を変更して使用するポートを開ける。
私は SMTP:25, SMTPS:465, POP3:110, POP3S:995, IMAP:143, IMAPS:993を開けることにした。
ここでメールソフトthunderbirdでサーバーの設定をしてテスト。thunderbirdの設定は
受信にはpop3でなく、IMAPを使う設定
受信サーバー名:設定したサーバー名
port: 143
ユーザ名: OSに登録しているユーザー名(ドメインは入れない事)
パスワード:OSに登録しているユーザーのパスワード
接続の保護:なし
認証方式:平文
送信(SMTP)サーバー
受信サーバー名:設定したサーバー名
port:25
接続の保護:なし
認証方式:平文
ユーザ名: OSに登録しているユーザー名(ドメインは入れない事)

このサーバーはkvmでサブホストを作っている。親ホストでdnsmasqが簡易DNSサーバーとして動いているので、その親OS上にthunderbirdを使用してメールソフトを設定し、親ホストの /etc/hosts にメールサーバーの設定を書き(192.168.xxx.xx mail.kinryokai.net mail)dnsmasqをリスタートしてthunderbirdがある親ホストでmial.kinryokai.netでメールサーバーが走っているホストを参照出きるようにした。物理的に別のサーバー(仮想化ソフトはXEN)があり、現在、使用中のメールサーバーがあるので、外部とのテストは出来ない。どなたかテストするいいアイデアがあれば教えて下さい。


投稿者: f-otake 投稿日時: 2012-9-13 7:21:00 (620 ヒット)
CentOS 6.3(6.4)に挑戦

VSFTPの設定

ここは先生であるhttp://centossrv.com/vsftpd.shtmllに従い設置をします。特に違う所はありません。次にポートを開けます。/root/iptable.shを

# 外部からのTCP21番ポート(FTP)へのアクセスを日本からのみ許可 
# ※FTPサーバーを公開する場合のみ 
iptables -A INPUT -p tcp --dport 21 -j ACCEPT_COUNTRY

# sh iptables.sh
で変更を有効にしますが、時間が掛かります。
又、前にも触れましたが、phpからmysqlを操作する為に php-mysql が必要ですので、yumからインストールします。次にデフォルトのphpではアップロード出来るファイルが小さすぎますので、/etc/php.ini を
post_max_size = 50M

upload_max_filesize = 50M

date.timezone = Asia/Tokyo

にして50Mバイトまで出来るようにしました。(ついでにtime zoneの設定も入れて置いた.)
そしてFTPかNFSで現用のホスト(XENのdomU)からデーターをコピーしてきます。
WEBのデーター、cgiのDIR、iconもDIR、mysqlのデーターDIR等は前に触れたように全部デフォルトからは変更し、コピーがやり易くなっています。
その際、FTP等に必用なユーザーの設定がこのテスト用のサブホストに無い可能性があり、その場合はユーザーを作るなり、DIRのパーミッションを変更し、つじつまを合わせて下さい。
折角ですからXOOPSのバージョンを上げます。現在は 2.0.16a を使っていますが、2.2系は移行が大変ですので、JPEX系(http://www.xoops-ri.jp/modules/download/)から持ってきます。
ダウンロード後、解凍し出来たDIRのreadme.txtに従って作業すれば問題ありません。私は一度テーマをデフォルトに変更し、アップグレード後に使用しているテーマに戻しました。XOOPSのWEBがvirtualhostで4つ動いていますが、一つのみで、全てのモジュールのアップデート時に”メインメニューファイルへの書き込みに失敗しました”とエラーが出ていましたが、そのまま進み、後日、再度アップデートを試みるとエラーは出ませんでした。
私の場合はmysqlのデーターがutf8で入っており、utf8への変換も面倒なので、各XOOPSのincludeの下に ini_settings.php という名前で
<?php 
/** 
  ;Example: If your database character is EUC-JP, it should be utf8.
  ;Example: If your database character is UTF-8, it should be utf8.
  ;charcode=utf8   
*/ 
charcode=utf8 
?>

保存します。これで各WEBにアクセスすればOKな筈。


投稿者: f-otake 投稿日時: 2012-9-11 11:48:24 (1154 ヒット)
CentOS 6.3(6.4)に挑戦

新しいページを作りましたのでここを参照してください


(1) 2 3 »
テーマ選択

(4 テーマ)
ミニカレンダー
前月2018年 7月翌月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
<今日>
ピックアップ画像
藤
最近の画像
人気画像
ギャチュンカ... (4776 hits)
ギャチュンカ...
ゴーキョピー... (4705 hits)
ゴーキョピー...
タムセルク残... (4654 hits)
タムセルク残...
ばあちゃんミ... (4619 hits)
ばあちゃんミ...
ヒマラヤ壁 (4601 hits)
ヒマラヤ壁
Powered by Xoops2 Theme Modified by F-Otake
copyright (c) 2006 All rights reserved.