キーワード  
☆ カテゴリー ☆
  序章
  動作環境
  インストール
    ├OS
    ├FreeBSDへのログイン
    ├Webminサーバー
    ├SSHサーバー
    ├Webサーバー
    ├  Mailサーバー
    ├DBサーバー
    ├FTPサーバー
    ├ファイルサーバー
    ├Usermin
    └その他
  設定
  Webminでの設定
  チューニング
  ウィンドウシステム
  ウィンドウマネージャー
  スクリプト言語
  システム管理
  デスクトップアプリケーション
  サーバーサイドアプリケーション
  コマンド
  印刷
  シェル・シェルスクリプト
  落書き
  備考
  HD-BSD
  基本操作
  自宅サーバー
  postfixadminを利用する。
   戻る


Postfix Dovecot Mysql

外国旅行に日本のテレビを連れて行こう。

ネット環境さえあれば、どこからでも テレビが見えます。

観るだけでなく 録る 操る 操作する

 新しい 生活が始まる!!

     ロケーションフリー



・・・管理モードON・・・

インストール
Mailサーバー

postfixadminを利用する。

To Install and use postfixadmin:

1. Create the MySQL Tables
--------------------------
In /usr/local/www/postfixadmin/DATABASE.TXT you can find the table
structure that you need in order to configure Postfix Admin and Postfix
in general to work with Virtual Domains and Users

※ 最初にWEBMINにて postfixを作成した後

/usr/local/www/postfixadmin/DATABASE.TXTの
CREATE DATABASE postfix;をコメントアウトして
WEBMINから SQLコマンドを利用すれば 楽勝!!



2. Configure
------------
Check the /usr/local/www/postfixadmin/config.inc.php file. There you
can specify settings that are relevant to your setup.

The default password for the admin part of Postfix Admin is admin/admin.
This is specified in the .htpasswd file in the admin directory. Make sure
that the location of the .htpasswd file matches your path.

3. Configure Apache
-------------------
Add a line in your httpd.conf to allow the use of .htaccess file.


Options Indexes
AllowOverride AuthConfig

===> Registering installation for postfixadmin-2.1.0_7
===> Cleaning for postfixadmin-2.1.0_7










# mysql -uroot -p < DATABASE_MYSQL.TXT

データベースはpostfixという名前で、ユーザ名postfix、パスワードpostfixで

アクセスできるように設定されている。

変更したい場合にはDATABASE_MYSQL.TXTに適宜変更を加える。



# ee /usr/local/www/postfixadmin/config.inc.php 以下を編集

$CONF['default_language'] = 'ja'; //日本語化する場合は編集
$CONF['database_password'] = 'postfixadmin'; //Postfix Adminで使用するデータベースのパスワード
$CONF['admin_email'] = 'postmaster@change-this-toyour.domain.tld'; //管理者のメールアドレス
$CONF['default_aliases'] = array ( ); //デフォルトのメールエイリアス
$CONF['encrypt'] = 'md5crypt';




/postfixadmin/setup.phpをブラウザでアクセスしてセットアップの確認を行う。

問題がなければ、setup.phpを削除またはリネームした上で、

admin sectionにアクセスして初期設定を行う。(admin adminでアクセスできる。)



postfixadmin 日本語化

# cd /usr/local/www/postfixadmin/languages
# wget http://www.aconus.com/~oyaji/suse9.2/ja.lang
# chmod 640 ja.lang
# cd ../
# sed -i "s/$CONF['default_language'] = 'en'/$CONF['default_language'] = 'ja'/g" config.inc.php
# cd ./templates
# sed -i "s/iso-8859-1/Shift_JIS/g" header.tpl



# cd /usr/port/mail/postfix

# make install clean


MySQLがenableになっていなければならない。


無事にインストールできたら、下記をurlを利用して設定ファイルを編集する。

http://www.819410.com/FreeBSD6/shop/-98.html

問題なく postfixが起動したならば


# ee /usr/local/etc/postfix/main.cf を以下に編集

alias_maps =
alias_databases =


/usr/local/etc/postfix/main.cfの末尾に以下をざっくり追加する。

local_transport = virtual

virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_base = /var/mail
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_limit = 51200000
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 125
virtual_uid_maps = static:125
virtual_gid_maps = static:6
virtual_transport = virtual

# Additional for quota support
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
virtual_overquota_bounce = yes







この設定では、Maildir形式のメールスプールが/var/mail/username@my.domain/というディレクトリに作られる。 /var/mailのもともとのパーミッションに合わせて、ユーザpostfix(UID=125)、グループmail(GID=6)の権限で書き込むように設定している。/etc/passwd, /etc/groupを見て異なる値になっていたらその値に合わせる必要がある。

次にmain.cfで使っている4つのmysql_virtual_XX.cfファイルを用意する。各々の内容は以下の通り。

# ee /usr/local/etc/postfix/mysql_virtual_alias_maps.cf

user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active='1'

# ee /usr/local/etc/postfix/mysql_virtual_domains_maps.cf

user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s'
#optional query to use when relaying for backup MX
#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx='0' AND active='1'

# ee /usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf

user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s' and active='1'

# ee /usr/local/etc/postfix/mysql_virtual_mailbox_limit_maps.cf

user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT quota FROM mailbox WHERE username='%s'

4つのファイルを作ったらmysql_virtual_XX.cfを人様に見られないようにchmod & chgrpしておく。

# chmod 640 mysql_*
# chgrp postfix mysql_*

SASLの設定などは後からでもできるので省略。
起動の設定

インストールが完了したならば 下記コメントに従って
/etc/rc.conf /etc/periodic.conf を編集して下さい。

To enable postfix startup script please add postfix_enable="YES" in
your rc.conf

If you not need sendmail anymore, please add in your rc.conf:

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

And you can disable some sendmail specific daily maintenance routines in your
/etc/periodic.conf file:

daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"




# ee /etc/rc.conf 以下を追加

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

# ee /etc/periodic.conf 以下を追加

daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"















□dovecot編 (上級者向け)

# cd /usr/ports/mail/dovecot

# make install clean

--------------------------------------------------------------------

You can get basic IMAP and POP3 services running by enabling
dovecot in /etc/rc.conf.

In this basic configuration Dovecot will authenticate users against
the system's passwd file and use the default /var/mail/$USER mbox
files.

echo dovecot_enable="YES" >> /etc/rc.conf

---------------------------------------------------------------------

設定ファイルの設置

# cp /usr/local/etc/dovecot-example.conf /usr/local/etc/dovecot.conf <= サンプル設定ファイルのコピー
# chmod 644 /usr/local/etc/dovecot.conf <= 設定ファイルに書き込み権限付加
# ee /usr/local/etc/dovecot.conf <= 設定ファイルの編集

#ssl_disable = no

ssl_disable = yes <= 変更


# disable_plaintext_auth = yes

disable_plaintext_auth = no


※ メール保存形式の指定
mail_location = maildir:~/Maildir




ファイルの設置

# cp /etc/pam.d/ftpd /etc/pam.d/dovecot
# cp /etc/pam.d/ftpd /etc/pam.d/pop3
# cp /etc/pam.d/ftpd /etc/pam.d/imap


マシンを再起動すれば インストールは 完了しています。



#cd /usr/ports/mail/dovecot-sieve
# make install clean

※ mysqlを有効にしておく


■dovecot-mysql.conf を作成

# ee /usr/local/etc/dovecot-mysql.conf

# MySQL を使用(mysql, pgsql が選択可能)
driver = mysql
# 認証方法の指定(PLAIN, PLAIN-MD5, DIGEST-MD5, CRYPT)
default_pass_scheme = PLAIN-MD5
# Postfix Admin から使用するデータベースの情報
connect = host=localhost dbname=postfix user=postfix password=postfix
password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
# 10000 AS uid ,10000 AS gid の 10000 はメールボックス用ユーザー、グループのIDです。
user_query = SELECT maildir, 10000 AS uid, 10000 AS gid FROM mailbox WHERE username = '%u' AND active = '1'




# ee /usr/local/etc/dovecot-mysql.conf

driver = mysql
default_pass_scheme = CRYPT
connect = host=localhost dbname=postfix user=postfix password=postfix
password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
user_query = SELECT maildir,125 AS uid,6 AS gid FROM mailbox WHERE username = '%u' AND active = '1'


作成したファイルにはデータベースのパスワードが含まれていますので、ファイルのパーミッションを変更しておきます。

# chmod 600 /usr/local/etc/dovecot-mysql.conf
# chgrp dovecot /usr/local/etc/dovecot-mysql.conf






Dovecot のバーチャルドメイン設定

Dovecot をバーチャルドメインに対応させるには、

'/usr/local/etc/dovecot.conf' に以下を追加します。基本的な設定は完了しているものとします。


# メールボックスの場所を指定

#mail_location = maildir:~/Maildir
mail_location = maildir:/var/mail/virtual/%u

# 認証方法の変更
# パスワードの取得を SQL に変更
#passdb shadow {
#}
passdb sql {
# Path for SQL configuration file, see doc/dovecot-sql.conf for example
args = /usr/local/etc/dovecot-mysql.conf
}
# ユーザー名の取得を SQL に変更
#userdb passwd {
#}
userdb sql {
# Path for SQL configuration file, see doc/dovecot-sql.conf for example
args = /usr/local/etc/dovecot-mysql.conf
}

first_valid_uid = 100

これを忘れるとログに
「Logins with UID 125 (hoge@hoge.com) not permitted (see first_valid_uid in config file)」と吐いて
認証してくれません。



以上の設定が完了したら Dovecot を再起動します。



# /usr/local/etc/rc.d/dovecot restart





バーチャル対応なのでドメイン名まで含めてひとつのアカウントです。


因みに、dovecotでSQLで認証周りで困ったら、/etc/dovecot.conf の最後のほうにある「auth_debug」を yesにすると細かい動きがログに残るのでデバッグしやすい。





postfixadminの利用方法
http://localhost/postfixadmin/admin/list-admin.php

1 ドメインを追加する。(ドメインにwwwは、いらない。)
2 アドレスを追加する。(ユーザー名に @以降はいらない。)








Postfixadminでメールボックス宛のメールを転送する


Postfixadminでは、デフォルトの設定だとメールボックスで作成したアドレスに送られてきたメールを別のアドレスに転送する事が出来ない。

config.inc.phpで、制御がされてる。

config.inc.php内に

$CONF['alias_control'] = 'NO';
$CONF['alias_control_admin'] = 'NO';
$CONF['special_alias_control'] = 'NO';

こんなような項目があるけど

$CONF['alias_control'] = 'YES';
$CONF['alias_control_admin'] = 'YES';
$CONF['special_alias_control'] = 'NO';
$CONF['transport'] = 'YES';

とすると、Mailboxesに表示されてるアドレスの、「edit」「del」の左側に「Alias」という項目が追加される。
(日本語訳にしてる場合はどういう表記か分からない)


http://(ドメイン)/mailadmin/
よりドメイン管理者としてログインし、メールユーザのメールボックスとメールアドレスを作成します。

http://(ドメイン)/mailadmin/users/
よりログインしてメールユーザとしてパスワードの変更、転送設定ができます。







☆☆☆☆☆   こんな記事もあります。   ☆☆☆☆☆

NO4 Webminインストール
NO6 KDEを整える
NO8 apache22のインストール
NO9 MYSQLインストール
NO11 PROFTPのインストール
TOMCATインストール
サンバをインストール
freebsdからwindowsのリモートデスクトップに接続
インプレッション         インプレッションを書く

Copyright 2006B-CITY. All rights reserved.