6-2-7 初期ユーザ登録「eコミグループウェアインストールマニュアル」の「2.8 初期ユーザー登録」を参考にします。
初期ユーザー登録の前に、Linux(CentOS)ユーザがメールを受信できるようにします。「はじめての自宅サーバ構築 - Fedora/CentOS -(http://kajuhome.com/postfix.shtml)」などを参考にします。
メールサーバは、postfix を使用します。sendmail が起動しているときは停止します。
[user@centos6 ~]$ su - パスワード: [root@centos6 ~]# ps ax | grep sendmail 3814 pts/0 S+ 0:00 grep sendmailPostfix が常時起動しているか確認します。
[root@centos6 ~]# chkconfig --list postfix postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:offpostfix の基本設定をします。
[root@centos6 ~]# vim /etc/postfix/main.cf --- # ホスト名を設定します # INTERNET HOST AND DOMAIN NAMES # # The myhostname parameter specifies the internet hostname of this # mail system. The default is to use the fully-qualified domain name # from gethostname(). $myhostname is used as a default value for many # other configuration parameters. # #myhostname = host.domain.tld #myhostname = virtual.domain.tld myhostname = centos6.myhome.net
# ドメイン名を設定します # The mydomain parameter specifies the local internet domain name. # The default is to use $myhostname minus the first component. # $mydomain is used as a default value for many other configuration # parameters. # #mydomain = domain.tld mydomain = myhome.net
送信者メールアドレスの @ 以降をドメイン名にします # SENDING MAIL # # The myorigin parameter specifies the domain that locally-posted # mail appears to come from. The default is to append $myhostname, # which is fine for small sites. If you run a domain with multiple # machines, you should (1) change this to $mydomain and (2) set up # a domain-wide alias database that aliases each user to # user@that.users.mailhost. # # For the sake of consistency between sender and recipient addresses, # myorigin also specifies the default domain name that is appended # to recipient addresses that have no @domain part. # #myorigin = $myhostname #myorigin = $mydomain myorigin = $myhostname
# メールを受け取るネットワークインターフェイスのアドレス範囲を指定します # RECEIVING MAIL # The inet_interfaces parameter specifies the network interface # addresses that this mail system receives mail on. By default, # the software claims all active interfaces on the machine. The # parameter also controls delivery of mail to user@[ip.address]. # # See also the proxy_interfaces parameter, for network addresses that # are forwarded to us via a proxy or network address translator. # # Note: you need to stop/start Postfix when this parameter changes. # #inet_interfaces = all #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost #inet_interfaces = localhost inet_interfaces = all
# Postfix が使用するプロトコルを IPv4 にします # Enable IPv4, and IPv6 if supported #inet_protocols = all inet_protocols = ipv4---
# メールをローカルで受信するドメイン名を指定します # The mydestination parameter specifies the list of domains that this # machine considers itself the final destination for. # # These domains are routed to the delivery agent specified with the # local_transport parameter setting. By default, that is the UNIX # compatible delivery agent that lookups all recipients in /etc/passwd # and /etc/aliases or their equivalent. # # The default is $myhostname + localhost.$mydomain. On a mail domain # gateway, you should also include $mydomain. --- # # See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS". # #mydestination = $myhostname, localhost.$mydomain, localhost #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, # mail.$mydomain, www.$mydomain, ftp.$mydomain mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain---
# 信頼されたネットワークを CIDR(network/mask)表記で指定(ローカルネットワーク) # Alternatively, you can specify the mynetworks list by hand, in # which case Postfix ignores the mynetworks_style setting. # # Specify an explicit list of network/netmask patterns, where the # mask specifies the number of bits in the network part of a host # address. # # You can also specify the absolute pathname of a pattern file instead # of listing the patterns here. Specify type:table for table-based lookups # (the value on the table right-hand side is not used). # #mynetworks = 168.100.189.0/28, 127.0.0.0/8 #mynetworks = $config_directory/mynetworks #mynetworks = hash:/etc/postfix/network_table mynetworks = 127.0.0.0/8
# 中継を許可するドメインを指定 # The relay_domains parameter restricts what destinations this system will # relay mail to. See the smtpd_recipient_restrictions description in # postconf(5) for detailed information. --- # NOTE: Postfix will not automatically forward mail for domains that # list this system as their primary or backup MX host. See the # permit_mx_backup restriction description in postconf(5). # relay_domains = $mydestination
# メールボックスを各ユーザのホームディレクトリに配置します # DELIVERY TO MAILBOX # # The home_mailbox parameter specifies the optional pathname of a # mailbox file relative to a user's home directory. The default # mailbox file is /var/spool/mail/user or /var/mail/user. Specify # "Maildir/" for qmail-style delivery (the / is required). # #home_mailbox = Mailbox #home_mailbox = Maildir/ home_mailbox = Maildir/ ---Postfix を再起動します。
[root@centos6 ~]# service postfix restart postfix を停止中: [ OK ] postfix を起動中: [ OK ]各ユーザにメールボックスを作成し、パーミッションを 700 にします。
[root@centos6 ~]# mkdir Maildir [root@centos6 ~]# ls -l [root@centos6 ~]# chmod 700 Maildir/ [root@centos6 ~]# ls -l 合計 92 --- drwx------. 2 root root 4096 7月 20 11:11 2016 Maildir --- [root@centos6 ~]# exit
[user@centos6 ~]$ mkdir Maildir [user@centos6 ~]$ chmod 700 Maildir/ [user@centos6 ~]$ ls -l 合計 61000 drwx------. 2 user user 4096 7月 20 11:14 2016 Maildir [user@centos6 ~]$ su - gware パスワード:
[gware@centos6 ~]$ mkdir Maildir [gware@centos6 ~]$ chmod 700 Maildir/ [gware@centos6 ~]$ ls -l 合計 8 drwx------. 2 gware gware 4096 7月 20 11:17 2016 Maildirメールが送信できるか確認します。
[gware@centos6 ~]$ /usr/sbin/sendmail -t -i To: user@centos6.myhome.net Subject: TEST MAIL This is a test .最後に Ctrl + D キーを押します。 user でメールを確認します。
[gware@centos6 ~]$ exit [user@centos6 ~]$ mail -f Maildir/ Heirloom Mail version 12.4 7/29/08. Type ? for help. "Maildir/": 1 messages 1 new >N 1 gware@centos6.myhome Wed Jul 20 13:59 14/443 "TEST MAIL" &
Message 1: From gware@centos6.myhome.net Wed Jul 20 13:59:56 2016 Return-Path: <gware centos6.myhome.net> X-Original-To: nob61@centos6.myhome.net Delivered-To: nob61@centos6.myhome.net To: nob61@centos6.myhome.net Subject: TEST MAIL Date: Wed, 20 Jul 2016 13:59:10 +0900 (JST) From: gware@centos6.myhome.net Status: R This is a test . & "Maildir/" complete最後に Ctrl + D キーを押します。
php からメール送信できるか確認します。
php.ini が次のよう担っているか確認します。 また、/var/log/php/eroor_log に次のようなメッセージが出力されていたので、「date.timezone」も設定します。
[19-Jul-2016 11:09:22] PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /home/gware/public_html/includes/Logging.php on line 479
[user@centos6 ~]$ su - パスワード: [root@centos6 ~]# vim /etc/php.ini --- [Date] ; Defines the default timezone used by the date functions date.timezone = 'Asia/Tokyo' --- [mail function] SMTP = localhost smtp_port = 25 ; For Win32 only. ;sendmail_from = me@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = /usr/sbin/sendmail -t -i ---修正したときは Web サーバを再起動します。
[root@centos6 ~]# /etc/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]gware ユーザで次のようなファイルを作成し実行します。
[root@centos6 ~]# exit [user@centos6 ~]$ su - gware パスワード: [gware@centos6 ~]$ vim mailtest.php <?php $to='nob61@centos6.myhome.net'; $subject='PHP TEST MAIL'; &body='This is a PHP test mail'; echo mail($to,$subject,$body); ?> [gware@centos6 ~]$ php -f mailtest.php 1user でメールを確認します。
[gware@centos6 ~]$ exit [user@centos6 ~]$ mail -f Maildir/ Heirloom Mail version 12.4 7/29/08. Type ? for help. "Maildir/": 2 messages 1 new 1 gware@centos6.myhome Wed Jul 20 13:59 14/430 "TEST MAIL" >N 2 gware@centos6.myhome Wed Jul 20 14:32 15/488 "PHP TEST MAIL" &
Message 2: From gware@centos6.myhome.net Wed Jul 20 14:32:28 2016 Return-Path: <gware centos6.myhome.net> X-Original-To: user@centos6.myhome.net Delivered-To: user@centos6.myhome.net To: user@centos6.myhome.net Subject: PHP TEST MAIL X-PHP-Originating-Script: 502:mailtest.php Date: Wed, 20 Jul 2016 14:32:28 +0900 (JST) From: gware@centos6.myhome.net Status: R This is a PHP test mail & "Maildir/" complete最後に Ctrl + D キーを押します。
次のような HTML と PHP ファイルを作成してメール送信してみましたができませんでした。
[gware@centos6 ~]$ vim public_html/form.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>sample</title> </head> <body> <form action="send.php" method="post"> 件名:<br /> <input type="text" name="subject" size="30" value="" /><br /> 送信者名:<br /> <input type="text" name="name" size="30" value="" /><br /> メールアドレス:<br /> <input type="text" name="mail" size="30" value="" /><br /> 本文:<br /> <textarea name="message" cols="30" rows="5"></textarea><br /> <br /> <input type="submit" value="送信する" /> </form> </body> </html>
[gware@centos6 ~]$ vim public_html/send.php <?php $message = "名前:" . $_POST["name"] . "\n本文:" . $_POST["message"]; if (!mb_send_mail("user@centos6.myhome.net", $_POST["subject"], $message, "From: " . $_POST["mail"])) { exit("error"); } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>sample</title> </head> <body> <p>メールが送信されました。</p> </body> </html>
/var/log/httpd/error_log に次のようなメッセージがありました。
[root@centos6 ~]# vim /var/log/httpd/error_log --- sendmail: fatal: setrlimit: Permission denied [Mon Jul 25 14:56:01 2016] [notice] caught SIGTERM, shutting down [Mon Jul 25 21:14:30 2016] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0 [Mon Jul 25 21:14:30 2016] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Mon Jul 25 21:14:30 2016] [notice] Digest: generating secret for digest authentication ... [Mon Jul 25 21:14:30 2016] [notice] Digest: done [Mon Jul 25 21:14:31 2016] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 configured -- resuming normal operations ---
「LISENET Sendmail: fatal: setrlimit: Permission denied(https://www.lisenet.com/2016/sendmail-fatal-setrlimit-permission-denied/)」に「SELinux prevents Apache from sending emails on CentOS.」とあったので、手順を参考にしました。
[root@centos6 ~]# sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Mode from config file: enforcing Policy version: 24 Policy from config file: targeted [root@centos6 ~]# getsebool httpd_can_sendmail httpd_can_sendmail --> off [root@centos6 ~]# setsebool -P httpd_can_sendmail 1 (少し時間がかかります。) [root@centos6 ~]# getsebool httpd_can_sendmail httpd_can_sendmail --> onform.html でメール送信します。
メールを確認します。(日本語が文字化けしてしまいました。)
[nob61@centos6 ~]$ mail -f Maildir/ Heirloom Mail version 12.4 7/29/08. Type ? for help. "Maildir/": 3 messages 1 new 1 gware@myhostname.myh Wed Jul 20 11:30 14/443 "TEST MAIL" 2 gware@centos6.myhome Wed Jul 20 14:32 15/488 "PHP TEST MAIL" >N 3 gware@centos6.myhome Mon Jul 25 21:50 18/629 "test" &
Message 3: From apache@centos6.myhome.net Mon Jul 25 21:50:00 2016 Return-Path: <apache@centos6.myhome.net> X-Original-To: nob61@centos6.myhome.net Delivered-To: nob61@centos6.myhome.net To: nob61@centos6.myhome.net Subject: test X-PHP-Originating-Script: 502:send.php From: gware@centos6.myhome.net Content-Type: text/plain; charset=UTF-8 Date: Mon, 25 Jul 2016 21:50:00 +0900 (JST) Status: RO å␦␦å␦␦ï¼␦gware æ␦¬æ␦␦ï¼␦This is a test mail.& "Maildir/" complete最後に Ctrl + D キーを押します。
「eコミグループウェア」に admin でログインし、「eコミグループウェア編集画面」の「サイト・システム管理設定メニュー」の「ユーザーとグループ」の「ユーザー一覧」で、「user」アカウントを削除して、「6-2-1-2 ユーザー登録」からやり直して下さい。
初期ユーザー登録を行います。Webブラウザのアドレス欄に「http://centos6.myhome.net/gware/manager/install/setup.php」と入力し、Enter キーを押します。 「eコミグループウェア編集画面」の「サイト基本設定」(または、「サイト基本設定メニュー」)の「初期ユーザー登録」をクリックします。
「初期ユーザー登録」に次のように値を入力します。 ニックネーム: admin メールアドレス: gware@centos6.myhome.net パスワード: ●●●●●(2個とも同じもの) 「設定」ボタンをクリックします。
6-2-8 サイトの表示
「eコミグループウェアインストールマニュアル」の「2.9 設定完了」を参考にします。 「6-1-5-8 初期ユーザ登録」の作業が終了したら「設定メニュー」ボタンをクリックします。
「サイト基本設定」の一番下に「(サイト名)サイトを表示」(「eコミグループウェアサイトを表示」)リンクが表示されるので、クリックします。
次のようなページが表示されたらインストール作業完了です。
0 件のコメント:
コメントを投稿