[PR]100万円が無料で当たる!:今すぐ応募して現金を当てよう!

土素人が 立ち上げたメールサーバー!

postfixadmin-2.3beta
踏み台にならないようISPのSMTPサーバーを使用したつもりです。

 

WEB会議室

 

このページは、自分にとってのサーバー立ち上げで検索して得た情報をここにメモしておきます。
他の方がこれを見て頂いても一向に構いませんがこちらに責任はございません。質問に対する返答もございませんので
ご了承ください。わたしの環境は、CentOS5.3を使用しISPは、DIONを使用しております。
まったくの素人ですのでダイブ苦戦致しました。

例えばポート開放ですが25番が開かず苦労しました。

ポートに関しての私の敗因は、
1.ファイヤーウォールの確認ミス   (ポートの確認を怠らない!)
2.SElinuxの確認 (permissiveを指定)
3.ソフトの起動確認
4.ポート開放は、ルーターに直接設定しても私の場合うまくいきませんでした。
  ですのでポート開放ソフトUPnPCJを使用しWindowsXPで設定致しました。(私の環境では、これはお薦めです)
5.ポート確認の為のサイト選びの失敗 (http://www.cman.jp/network/support/port.htmlを愛用しています)

私の場合メールサーバーを構築するために試行錯誤し windowsXP(Xammp) fedora CentOS5.3 とOSを変えました。
最初の関門がポート開放だったんで簡単なXammpで勉強をし飽き足らずにlinuxへ移行しました。

次の関門は、最近のOutbound Port 25 Blockingに悩まされ本を買うはめになりました。
ポートが開放されているのかOP25Bのし技なのかど素人の私にはさっぱり理解できず苦戦致しました。

そう言う過程がありlinuxに入った為postfixは、簡単に発信受信と成功しましたがそこで満足いかない私の正確で次の難関は、
マルチドメインのサーバーをweb上でホスティン会社のようにしたいなと思いもんもんとしていたらpostfixadminの存在を知りました。
またここからの長いキーボードとのニラメッコ、生も根もつきはてました。私のようにちょっとかじったlinux知識で無謀立ったのか
ほんと悩みに悩みました。

以下に私がpostfixadminを立ち上げるまでをメモします。

CentoOSのインストール
これは、http://mizushima.ne.jp/さん にあります。
 


# yum install httpd mod_perl
# yum install postfix system-switch-mail
# yum install dovecot

# /usr/sbin/system-switch-mail  postfixを指定する。      


忘れずにポートの確認をしましょう
21 25 80 110 143 465 993 995
ファイアーウォールとSELinuxの確認も忘れずに! 

httpd(Apache)とpostfixの基本設定は他のサイトで調べてください。
http://mizushima.ne.jp/さんやhttp://www.crimson-snow.net/さん
有名なのは、http://www.aconus.com/~oyaji/さん です。

プロバイダーのsmtpサーバーを使う場合下記の設定をpostfixにて追加しておく

isp_account ファイルを新規で作り etc/postfixのフォルダーに入れる

プロバイダーで借りてるsmtpサーバー名   smtpサーバーのパスワード
↓   ↓
[smtp.mail.yahoo.co.jp] username :paswrd 1234abcd ← 1行で入れる(絶対に全角が入らないように注意してね)

etc/postfix/main.cf これは、postfixの設定ファイルです。
relayhost = [pop.mail.yahoo.co.jp] ← 追加(インターネットサービスプロバイダーのサーバーアドレス)例えば pop.mail.yahoo.co.jp とか

# cd /etc/postfix
# chmod 600 isp_account
# /usr/sbin/postmap isp_account

 

また、現在稼動しているデフォルトでのPostfixはMySQLに対応していないので、MySQLに対応するように再構築します
更に、通信の暗号化対策としてSSLを運用します。

再構築後の動作環境

Postfix(今回MySQL対応に再構築) Dovecot もともとMySQL化しています   Apache は PHP + SSL 

mysqlのインストール確認  
# yum list | grep mysql

インストール済み libdbi-dbd-mysql.i386 0.6.5-10.RHEL4.1 installed
インストール済み mysql.i386 4.1.10a-2.RHEL4.1 installed
インストール済み mysql-devel.i386 4.1.10a-2.RHEL4.1 installed
インストール済み mysql-server.i386 4.1.10a-2.RHEL4.1 installed
インストール済み mysqlclient10.i386 3.23.58-4.RHEL4.1 installed
インストール済み php-mysql.i386 4.3.9-3.6 installed
インストールが必要 freeradius-mysql.i386 1.0.1-3.RHEL4 update
インストールが必要 mod_auth_mysql.i386 1:2.6.1-2.2 base
インストールが必要 mysql-bench.i386 4.1.10a-2.RHEL4.1 base

mysqlclient10は、mysqlに統合されたため5つでOK!
# yum install libdbi-dbd-mysql mysql mysql-devel mysql-server php-mysql php

日本語関係 # /etc/php.ini のコメント ";"を削除!下記のパラメーターに変更。
mbstring.language = Japanese
mbstring.internal_encoding = UTF8
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
追加設定 postfixadmin 2.1.1の場合は以下を追加設定
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On

/var/www/html/ に 私は index.html と phpinfo.php をよそからもらってきてそこに放りこみました。
# service httpd restart   →  Apache の再起動
変更完了後 httpdを再起動して確認します。 これでダメならググってみて。

一休みあると便利なwebmin インストールしてみると良いかも!
     Webminのインストール

# wget http://jaist.dl.sourceforge.net/sourceforge/webadmin/webmin-1.420-1.noarch.rpm
# rpm -ivh webmin-1.420-1.noarch.rpm
下記にアセス
http://localhost:10000/   localhostは、自分のドメイン名にしてもOK その場合 ネットワークのホストのところに
 アドレス 192.***.***.*** ホスト名はドメイン名 エイリアス wwwなど
 入れないとルーター設定になっちゃうよ!


次にmysqlを起動し設定します。
mysqlの設定をコピペでしていく場合一度下記の設定文を
     他のテキストにコピーしてから行った方が重大事故にならずにすみます。
****は自分のパスワードを代入してください。

# chkconfig mysqld on
# /etc/init.d/mysqld start

# mysqladmin -u root password '***********'

# mysql -u root -p
Enter password: ******** [Enter]

    こうなればOK!

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.0.15

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

mysql> \q   <終了>

 

[root@server www]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select host,user,password from mysql.user;
+----------------------------------------+------------+--------------------+
| host | user | password |
+----------------------------------------+------------+--------------------+
| localhost | root | 1dd1fae8070 |
| server.hogehoge.net        | root | |
| 127.0.0.1 | root | |
+----------------------------------------+------------+--------------------+
3 rows in set (0.04 sec)

匿名ユーザーがあったら削除
mysql> delete from mysql.user where user="";
Query OK, 0 rows affected (0.21 sec)
mysql> set password for root@'server.hogehoge.net'=password('*******');   パスワードを追加する
Query OK, 0 rows affected (0.01 sec)

mysql> set password for root@'127.0.0.1'=password('*******');    パスワードを追加する
Query OK, 0 rows affected (0.00 sec)

 

mysql> select host,user,password from mysql.user;
+----------------------------------------+------------+--------------------+
| host | user | password |
+----------------------------------------+------------+--------------------+
| localhost | root | 1dd1fae8070 |
| server.hogehoge.net | root | 1dd1fae8070 |
| 127.0.0.1 | root | 1dd1fae8070 |
+----------------------------------------+------------+--------------------+
3 rows in set (0.00 sec)

@PostfixAdminが使用するデータベース作成 

    # mysql -u ユーザ名 -p パスワード(例: mysql -u root -p mysql )
                      →  MySQLへログイン

     mysql> create DATABASE postfix;
                      →  postfix データベース作成(環境により名前は変更)

     mysql> use postfix;   → postfix デーダースへ接続

     mysql> grant all privileges on postfix.* to postfix@localhost identified by '**********';
                      → ユーザpostfixに全ての権限を付与しパスワードを設定

     mysql> exit;

バージョンごとに同梱のINSTALL.TXTを確認すること2.3.7は、違ってましたよ確か?
mysql> CREATE DATABASE postfix;
mysql> CREATE USER 'postfix'@'localhost' IDENTIFIED BY '**********';
mysql> GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';

mysql> select host,user,password from mysql.user;
+----------------------------------------+------------+-----------------------+
| host | user | password |
+----------------------------------------+------------+-----------------------+
| localhost | root | 0689f0cb7bc899b1 |
| server.hogehoge.net        | root | 0689f0cb7bc899b1 |
| 127.0.0.1 | root | 0689f0cb7bc899b1 |
| localhost | postfix | 1dd1f0460eae8070 |
+----------------------------------------+------------+-----------------------+
4 rows in set (0.00 sec)

*postfixadmin 2.2.0 から DATABASE_MYSQL.TXT や DATABASE_PGSQL.TXT が無くなり、
postfixadmin の setup ページから、今までの DATABASE_MYSQL.TXT と同等? の sql文が発
行されるように変更されたようです。

 

APostfixAdmin用のバーチャルドメインユーザーと専用ディレクトリを作成

     * PostfixAdminでは、データベース化されたユーザーにメールを配送します。

# groupadd -g 10000 vuser
     # useradd -g vuser -u 10000 vuser
     # mkdir /home/mailvirtual
     # chown vuser:vuser /home/mailvirtual
     # chmod 771 /home/mailvirtual


 

BpostfixをMySQLに対応させる

      * postfixのデフォルトパッケージはMySQLに対応していない為下記の操作を行う

    # cd /usr/local/src/  →  で作業します。
     # wget http://ftp.riken.jp/Linux/centos/5.3/os/SRPMS/postfix-2.3.3-2.1.el5_2.src.rpm
     # mkdir -p /usr/src/redhat/SOURCES  →  SOURCESは大文字で!!
     # rpm -ihv postfix-2.3.3-2.1.el5_2.src.rpm

      * 「警告:mockbuild は存在しません -root を使用します」と出ますが、
          ユーザー名 mockbuild が存在しないというだけで影響無いので無視します。

    # cd /usr/src/redhat/SOURCES
     # wget http://vda.sourceforge.net/VDA/postfix-2.3.3-vda.patch.gz
     # gunzip postfix-2.3.3-vda.patch.gz

    # cd /usr/src/redhat/SPECS/
     # cp postfix.spec postfix.spec.df  →  コピーしておきます。
     # vi postfix.spec  →  MySQLを有効にする設定とパッチの追加設定を行います。

      %define MYSQL 0  →  %define MYSQL 1 に変更 
          (省略)
       Patch10: postfix-2.3.3-vda.patch  →  追加
  以前にあった Patch10をPatch11変更
          (省略)
       %patch10 -p1 -b .vda   →  追加
  以前にあった %Patch10を$Patch11変更

    # yum -y install rpm-build db4-devel zlib-devel openldap-devel cyrus-sasl-devel pcre-devel mysql-devel openssl-devel
                        →  Postfixをリビルドする準備をします。(必要なものだけ)

       * リビルドするには下記パッケージが必要となります。

    # yum list | grep ファイル名(名前の一部でも可)

         としてインストール対象の確認をします。
               (installedと出たものは既にインストールされています。)

             ・ yum list | grep gcc
              ・ yum list | grep rpm-build
              ・ yum list | grep pkgconfig
              ・ yum list | grep db4-devel
              ・ yum list | grep zlib-devel
              ・ yum list | grep openldap-devel
              ・ yum list | grep cyrus-sasl-devel
              ・ yum list | grep pcre-devel
              ・ yum list | grep mysql-devel
              ・ yum list | grep openssl-devel

 

# cd /usr/src/redhat/SPECS/

    # rpmbuild -ba postfix.spec  →  パッチをあてPostfixをリビルドします。

      * 暫し、先達たちの開発者に感謝しながら待ちます。 15分位

    # rpm -e postfix-2.3.3-2.1.el5_2  →  既にあるpostfixをアンインストールします。

      * 先の構築によりインストールしたpostfix関連のファイルで編集したものは、
                    xxx.xxx.rpmsave として保存されます。(同一ディレクトリ)

    # rpm -Uhv /usr/src/redhat/RPMS/i386/postfix-2.3.3-2.1.i386.rpm
                     →  出来上がったMySQL対応のpostfixをインストールします。

      * rpm -Uhv --force /usr/src/redhat/RPMS/i386/postfix-2.3.3-2.1.i386.rpm
         とすれば同一バージョンの場合はアンインストールとインストールが続けて行われます。

    # yum list | grep postfix  →  バージョンが変わっていることを確認。

    # vi /etc/yum.conf  →  postfixを自動アップデートしないように設定します。
                              (ここを飛ばすと後で大変なことになります。)

      exclude=postfix*  →  最後の行に追加

    # chkconfig sendmail off  →  sendmail の自動起動を停止
     # chkconfig postfix on  →  postfix の自動起動を開始

mysqlに対応しているかを確認  mysql の文字があれば
# postconf -m
btree
cidr
environ
hash
ldap
mysql  ここ!
nis
pcre
proxy
regexp
static
unix

 

Cバーチャル対応Postfixの設定(main.cfの編集)---右端の数値はおおよその行番号

      * postfixをアンインストールしたので新規の作成になります。
       * セーブ版より全コピーし修正すると間違いが発生する可能性大なので、
         ここは新規に作成としましょう。部分的に旧と同じところは、
                               rpmsave版 よりコピーします。

    # cd /etc/pki/tls/certs/
     # make mail.pem →  環境にあわせます。
Cochkconfig postfix onuntry Name (2 letter code) [GB]:JP ← 国名応答
State or Province Name (full name) [Berkshire]:Tokyo ← 都道府県名応答
Locality Name (eg, city) [Newbury]:Shinjuku ← 市区町村名応答
Organization Name (eg, company) [My Company Ltd]: ← サイト名応答(なんでもいい)
Organizational Unit Name (eg, section) []: ← 空ENTER
Common Name (eg, your name or your server's hostname) []:  ← メールサーバー名応答※
Email Address []:postmaster@c****

    # /etc/postfix/main.cf

      myhostname = server.hogehoge.net →  追加71
       mydomain = hogehoge.net →  追加79
       myorigin = $mydomain →  修正(アンコメント削除;必ず追加します)95 
       myorigin = $myhostname →  修正(アンコメント削除)96
       inet_interfaces = all →  修正(アンコメント削除)114
       #inet_interfaces = localhost →  修正(アンコメント追加)115
       #mydestination = $myhostname, localhost.$mydomain, localhost
                                    →  修正(アンコメント追加)159
     mydestination =
         →  空を追加(仮想サイトに登録したアドレス宛以外は受けない様にします。)163

      mynetworks = 192.168.0.0/24, 127.0.0.0/8 →  追加263
       relay_domains = $mydestination →  修正(アンコメント削除)294
       home_mailbox = Maildir/ →  修正(アンコメント削除)418
       smtpd_banner = $myhostname ESMTP unknown →  追加570
       #sendmail_path = /usr/sbin/sendmail.postfix →  修正(アンコメント追加)643
       sendmail_path = /usr/sbin/sendmail →  追加(CGIの挙動合わせ)644

----------------- 追加 ------------------------

     local_transport = virtual
      virtual_transport = virtual

     virtual_mailbox_base = /home/mailvirtual →  環境にあわせます。
      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 →  環境にあわせます。

     smtpd_sasl_auth_enable = yes
      smtpd_sasl_type = dovecot
      smtpd_sasl_path = private/auth
      smtpd_sasl_local_domain = $myhostname
      smtpd_client_restrictions = server.hogehoge.net
                                        →  環境にあわせます。
      smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
      smtpd_sasl_security_options = noanonymous
      broken_sasl_auth_clients = yes

     smtpd_use_tls = yes
      smtpd_tls_cert_file = /etc/pki/tls/certs/mail.pem →  環境にあわせます。
      smtpd_tls_key_file = /etc/pki/tls/certs/mail.pem →  環境にあわせます。
      smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
      tls_daemon_random_source = dev:/dev/urandom

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

DPostfixにあわせMySQL認証用ファイルを作成

    
   # vi /etc/postfix/mysql_virtual_alias_maps.cf

     user = postfix
      password = ************
      hosts = localhost
      dbname = postfix
      table = alias
      select_field = goto
      where_field = addressldd /usr/sbin/postfix

 

    # vi /etc/postfix/mysql_virtual_domains_maps.cf

     user = postfix
      password = ************
      hosts = localhost
      dbname = postfixldd

     table = domain
      select_field = domain
      where_field = domain
      additional_conditions = and active = '1'

    # vi /etc/postfix/mysql_virtual_mailbox_maps.cfldd

     user = postfix
      password = ************
      hosts = localhost
      dbname = postfix
      table = mailbox
      select_field = maildir
      where_field = username

 

アクセス権を指定

# cd /etc/postfix
# chown root:postfix ./mysql_*
# chmod 640 ./mysql_*

EMySQL用設定ファイル作成

    # vi /etc/dovecot-mysql.conf

     driver = mysql
      default_pass_scheme = PLAIN
      connect = dbname=postfix user=postfix host=/var/lib/mysql/mysql.sock password=********
         →  環境にあわせ user host password を設定します。

     password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
      user_query = SELECT concat('/home/mailvirtual/', maildir) as home, 10000 as uid, 10000 as gid FROM mailbox WHERE username = '%u' AND active = '1'

postfixの動作確認 postfix check

FTLS セッションキャッシュマネージャの設定(master.cf の編集)

     * SSLの利用に必要です。

    # vi /etc/postfix/master.cf

      submission inet n - n - - smtpd  →  アンコメントを外します。
       smtps inet n - n - - smtpd  →  アンコメントを外します。
       -o smtpd_tls_wrappermode=yes  →  アンコメントを外します。
       -o smtpd_sasl_auth_enable=yes  →  アンコメントを外します。

GDovecot の設定(dovecot.confの編集)

    # cd /etc/pki/tls/certs/
     # make mail.pem  →  鍵を作成します。

    # openssl x509 -in mail.pem -outform DER -out mail.der
                     →  クライアント向けインポート用サーバー証明書作成
     # cp /etc/dovecot.conf /etc/dovecot.conf.saveldd

    # vi /etc/dovecot.conf

----------------- 修正内容--右端の数値はおおよその行番号--------------------------------

      protocols = imap imaps pop3 pop3s  →  変更(アンコメントを外す)

      listen = [::]  →  変更(アンコメントを外す)39
       log_path = /var/log/dovecot.log  →  変更(アンコメントを外しパス追加)61
       ssl_disable = no  →  変更(アンコメントを外す。)85
       ssl_cert_file = /etc/pki/tls/certs/mail.pem  →  変更(追加。鍵ファイルを指定)93
       ssl_key_file = /etc/pki/tls/certs/mail.pem  →  変更(追加。鍵ファイルを指定)94
       verbose_ssl = yes  →  変更(アンコメントを外しno→yes;ログ解析用)119
       mail_location = maildir:/home/mailvirtual/%d/%u  →  変更(追加)

      first_valid_uid = 10000  →  変更(アンコメントを外し数値は環境に合わせ変更)330
       first_valid_gid = 10000  →  変更(アンコメントを外し数値は環境に合わせ変更)338
       protocol pop3 {  →  変更しません。575
       pop3_uidl_format = %08Xu%08Xv  →  変更(アンコメントを外す)626
       } →  変更しません。652
       auth_verbose = yes  →  変更(アンコメントを外しno→yes;ログ解析用)740
       auth_debug = yes  →  変更(アンコメントを外しno→yes;ログ解析用)745
       auth_debug_passwords = yes  →  変更(アンコメントを外しno→yes;ログ解析用)750 
       auth default {  →  そのまま。762
       #mechanisms = plain  →  変更(アンコメントを付ける)766
       mechanisms = plain login digest-md5 cram-md5 apop  →  追加771
       passdb pam {  →  そのまま。805
       }  →  そのまま。838
       passdb sql {  →  変更(アンコメントを外す)879
       args = /etc/dovecot-mysql.conf  →  変更(アンコメントを外しパス追加)881
       }  →  変更(アンコメントを外す)882
       userdb passwd {  →  そのまま。906
       }  →  そのまま。913
       userdb sql {  →  変更(アンコメントを外す)940
       args = /etc/dovecot-mysql.conf  →  変更(アンコメントを外しパス追加)942
       }  →  変更(アンコメントを外す)943
       socket listen {  →  変更(アンコメントを外す)988
       client {  →  変更(アンコメントを外す)999
       path = /var/spool/postfix/private/auth  →  追加(authは自動的に生成される)999
       mode = 0660  →  変更(アンコメントを外す)1005
       user = postfix  →  追加1006
       group = postfix  →  追加1007
       }  →  変更(アンコメントを外す)1008
       }  →  変更(アンコメントを外す)1009
       }  →  そのまま。1010
--------------------------------------------------------------

H認証ライブラリ関連のインストール

    # yum -y install cyrus-sasl-md5 cyrus-sasl-sql cyrus-sasl-plain

      *  cyrus-sasl-plain も必要ですが、インストール済みでした。

# yum list | grep

Ipostfixadmin のインストール

    # cd /var/www/html   →  環境により変更
     # wget http://nchc.dl.sourceforge.net/sourceforge/postfixadmin/postfixadmin-2.3beta.tar.gz   →  ダウンロード
# wget http://jaist.dl.sourceforge.net/sourceforge/postfixadmin/
      * postfixadmin の最新版を確認します。バージョンpostfixadmin-2.3rc7が最新版でした。 
  しかしインストールして見たら使いかたがわからずパスワードの入れ方などがチンプンカンプンでした。(汗)
     # tar zxvf postfixadmin-2.3beta.tar.gz    →  展開
     # mv tar zxvf postfixadmin-2.3beta.tar.gz /var/www/html/postfixadmin   →  ディレクトリ名変更
     
Jコンフィグファイルの編集

    # vi /var/www/postfixadmin/config.inc.php
----------------------------------------------------
      //$CONF['configured'] = false;
        $CONF['configured'] = true;   →  変更

     //$CONF['default_language'] = 'en';
        $CONF['default_language'] = 'ja';   →  変更

     $CONF['database_type'] = 'mysql';   →  既に登録されています。(mysqlの場合)
      $CONF['database_host'] = 'localhost';   →  既に登録されています。
      $CONF['database_user'] = 'postfix';   →  登録
      $CONF['database_password'] = '********';   →  登録
      $CONF['database_name'] = 'postfix';   →  登録
      $CONF['database_prefix'] = '';   →  空のまま

     //$CONF['encrypt'] = 'md5crypt';
      $CONF['encrypt'] = 'cleartext';   →  変更

     $CONF['page_size'] = '100';   →  変更

     //$CONF['domain_path'] = 'NO';
      $CONF['domain_path'] = 'YES';   →  変更

     // Default Domain Values
      // Specify your default values below. Quota in MB.
      $CONF['aliases'] = '100';   →  変更
      $CONF['mailboxes'] = '100';   →  変更
      $CONF['maxquota'] = '300';   →  変更

     // Quota
      // When you want to enforce quota for your mailbox users set this to 'YES'.
      $CONF['quota'] = 'NO';   →  YESより変更
      $CONF['backup'] = 'NO';   →  YESより変更
      $CONF['sendmail'] = 'NO';   →  YESより変更
      $CONF['fetchmail'] = 'NO';   →  YESより変更
      $CONF['footer_text'] = 'Postfix Admin Top';   →  変更
      $CONF['footer_link'] = 'http://www./server.hogehoge.net/postfixadmin/';   →  変更
      $CONF['emailcheck_resolve_domain']='NO';   →  YESより変更
----------------------------------------------------

KApache用の設定ファイル作成

    # vi /etc/httpd/conf.d/postfixadmin.conf

--------------  追加内容  (注:<>は大文字になっています。)--------------------------

     Alias /postfixadmin "/var/www/html/postfixadmin"

     <Directory "/var/www/html/postfixadmin">
      Order allow,deny
      Allow from all
      </Directory>

     <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteLog "logs/rewrite_log"
      RewriteLogLevel 0
      RewriteCond %{SERVER_PORT} !^443$
      RewriteRule ^/postfixadmin/(.*)?$ https://%{HTTP_HOST}/postfixadmin/$1 [L,R]
      </IfModule>
------------------------------------------------------------------------------------------

    # service dovecot start   →  dovecot の再起動
     # service postfix start   →  postfix の再起動
     # service httpd restart   →  Apache の再起動

Lファイアウォールの設定

   サーバーとルーターのポートへ設定

    465 番  SMTP over SSL
     993 番  IMAP over SSLyum
     995 番  POP3 over SSL

   を開けます。

    まさかと思いますが、25番(SMTP)、110番(POP3)、443番(https)もお忘れなく。

     * /etc/services にサービス名とポート番号の関連リストがあります。

Lpostfixadminのセットアップと管理者情報の登録

 クライアントpcより

   http://www.ホスト名ドメイン名/postfixadmin/setup.php を入力

     Postfix Admin Setup Checker が動作し環境のチェックをします。

      他はOKだったのですが

Error: Depends on: multibyte string - NOT FOUND
To install multibyte string support, install php5-mbstring

Warning: Depends on: IMAP functions - NOT FOUND
To install IMAP support, install php5-imap
Without IMAP support, you won't be able to create subfolders when creating mailboxes.

        と表示された(Warning情報は環境により違ってきます)ので、

# yum -y install php-imap  としてインストール
             →  php5-imap の インストール。
# yum -y install php-mbstring php-imap
→  php5-mbstring の インストール。
# yum list | grep php

   再度    # service httpd restart   →  Apache の再起動

   http://localhost/postfixadmin/setup.php を入力 

     Checking for dependencies:の項目全て OK となりました。

   次にサーバーより

     # service httpd restart

   次にクライアントPCに戻り

      Postfix Admin Setup Checkerの最後にある、

       Admin(管理者のメールアドレス:唯のidなので架空アドレスでもok)、
        Password(パスワード) 
                                 を入力しAdd Admin(登録)します。

         * 次の画面で表示された中にある click here からログインします。

M不要ファイルの削除

    # rm -f /var/www/postfixadmin/setup.php
     # rm -f /var/www/postfixadmin/motd*  →  不必要な表示をするので削除。

Nパーミッションおよびオーナーを変更します
これをしないとメールボックスが作れないようです。

# cd /var/www/html/postfixadmin
# chown -R apache *
# chmod -R 400 *

# chmod 500 css
# chmod 500 images
# chmod 500 languages
# chmod 500 templates
# chmod 500 admin
# chmod 500 users

 

動作確認

 クライアントpcより

   http://サイト名ドメイン名/postfixadmin/ を入力しログイン

私のトラブルは、 メールボックスができない! これは、Nの処理で解決しました。

その後メールボックスができてもメールが送れない事dovecotで
  Error: Can't write to log directory /var/log: Permission deniedなlogを吐いちゃって動かない!
SElinuxの確認をして permissiveを指定

インストールに日にちがかかりバージョンが変わって先人のページがお手本にならなくヒントになってしまった!
一番ショックだったのはリビルトのパッチの追加設定変更など

私がはまった最大の原因は、postfixの設定とmysqlのあたりですので要注意です!(私が素人だからのミスですよね!)

ダイナミックDNSを使用してサブドメインをpostfixadminに登録すると携帯からは、受信ができますが他のインターネット
メールからは、受信できない様でした。当たり前っちゃ当たり前ですが携帯でテストしているとあれっ!ってことがあるので
ダイナミックDNSの問題ですよ!postfixadminの問題では、ありませんのでMX設定をしましょうね!

ありがとうございました下記のサイトが私にとってこの欲求を叶えてくれた感謝すべきHPです。

http://jamspoon.no-ip.biz/server/さん
http://mizushima.ne.jp/さん
http://www.crimson-snow.net/さん
http://www.aconus.com/~oyaji/さん
http://www.system-act.com/mail/postfixadmin.html
http://www.yanbe.net/blog/archives/000230.html
 
 
 
 

 

 

ポートアタック 侵入 確認    netstat -an --tcp

cyrus の動作確認
# postconf -a
cyrus ←が出ればOK
dovecot

WEB会議室

 

「Apache」の設定

LAN内からアクセス出来るように「Apache」を設定します。

[root@CentOS ~]# vi /etc/httpd/conf.d/phpmyadmin.conf <= 設定ファイルの編集
<Directory "/usr/share/phpmyadmin">
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0 <= 追加
</Directory>

「Apache」を再起動し、設定を反映させます。

[root@CentOS ~]# /etc/rc.d/init.d/httpd restart

https://サーバのIPアドレス/phpMyAdmin/
とアクセスすれば、以下のように表示されるので、「MySQL」に登録されているユーザの「ユーザ名」と「パスワード」を入力してログインします。

 

 

 

phpMyAdminインストール

リポジトリの設定

「phpMyAdmin」はdagのリポジトリにあるので、dagのパッケージを利用しインストールします。
なお、今後の競合を避ける為、基本的にdagのリポジトリは無効にし、インストール時に一時的に有効にします。

[root@CentOS ~]# vi /etc/yum.repos.d/CentOS-Base.repo <= ミラーサイト設定ファイルの編集
以下を追加
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag/
gpgcheck=1
enabled=0

GPGキーのインポート

dagのリポジトリを利用する為にGPGキーをインポートします。

[root@CentOS ~]# wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt <= GPGキーのダウンロード
[root@CentOS ~]# rpm --import RPM-GPG-KEY.dag.txt <= GPGキーのインポート

必要なパッケージのインストール

「phpMyAdmin」に必要なだけならphp-mysqlだけで構いません。
自分の場合、その他に必要なものも併せてインストールしました。

[root@CentOS ~]# yum -y install php-mysql php-mcrypt php-mbstring <= 「phpMyAdmin」関連のインストール
[root@CentOS ~]# yum clean packages <= ダウンロードしたパッケージの削除

 

dagのリポジトリを有効にして「phpMyAdmin」をインストールします。

[root@CentOS ~]# yum -y install --enablerepo=dag phpmyadmin <= 「phpMyAdmin」のインストール
[root@CentOS ~]# yum clean packages <= ダウンロードしたパッケージの削除

「phpMyAdmin」の設定

[root@CentOS ~]# vi /usr/share/phpmyadmin/config.inc.php <= 設定ファイルの編集
「phpMyAdmin」内部で利用されるパスワードを指定する。
どこかで入力する訳ではないが、単純なバスワードは避けるべき。
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

$cfg['blowfish_secret'] = 'パスワード'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ <= パスワードを指定

$cfg['Servers'][$i]['auth_type'] = 'cookie'; <= 確認(認証方法にcookieを指定していること)

 

匿名ユーザーがあったら削除
mysql> delete from mysql.user where user="";
Query OK, 0 rows affected (0.21 sec)

ユーザーの削除
mysql> delete from mysql.user where user="postfix";
Query OK, 0 rows affected (0.21 sec)

パスワードなしも削除 127.0.0.1
mysql> delete from mysql.user where host="127.0.0.1";
Query OK, 1 row affected (0.06 sec)
パスワードなしも削除 localhost.localdomain
mysql> delete from mysql.user where host="localhost.localdomain";
Query OK, 1 row affected (0.01 sec)

 

 


[PR]アナタのウラ県民性をチェック:こっそり一人で?ワイワイ皆で?診断しょ