====== Centos7 安裝 phplist ======
* 安裝環境 : CentOS 7
* phplist : 3.4.0
===== 安裝程序 =====
* 安裝主要套件
yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php72w php72w-cli php72w-common php72w-imap php72w-mbstring php72w-xml php72w-mysqli php72w-gd mariadb mariadb-server httpd wget
*
su - root
wget https://jaist.dl.sourceforge.net/project/phplist/phplist/3.4.0/phplist-3.4.0.tgz
tar -xvf phplist-3.4.0.tgz
cp -a phplist-3.4.0/public_html/* /var/www/html/
* 設定與啟動 apache / mariadb
vi /etc/php.ini
:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Taipei
:
vi /etc/httpd/conf/httpd.conf
:
IfModule dir_module>
DirectoryIndex index.php index.html
:
systemctl restart httpd
systemctl start mariadb
mysql -u root
**password 要依照自己需要設定**
CREATE DATABASE phplistdb CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'phplist'@'localhost' IDENTIFIED BY '**password**';
GRANT ALL PRIVILEGES ON phplistdb.* TO 'phplist'@'localhost';
FLUSH PRIVILEGES;
exit
===== 編輯 phplist 設定檔 =====
* /var/www/html/lists/config/config.php
:
$default_system_language = "zh_TW";
:
$database_host = 'localhost';
// what is the name of the database we are using
$database_name = 'phplistdb';
// what user has access to this database
$database_user = 'phplist';
// and what is the password to login to control the database
$database_password = '**password**';
:
define('PHPMAILERHOST', '172.16.0.244');
// if TEST is set to 1 (not 0) it will not actually send ANY messages, but display what it would have sent
// this is here, to make sure you edited the config file and mails are not sent "accidentally"
// on unmanaged systems
define('TEST', 0);
:
$bounce_protocol = 'pop';
// set this to 0, if you set up a cron to download bounces regularly by using the
// commandline option. If this is 0, users cannot run the page from the web
// frontend. Read README.commandline to find out how to set it up on the
// commandline
define('MANUALLY_PROCESS_BOUNCES', 1);
// when the protocol is pop, specify these three
$bounce_mailbox_host = '172.16.0.244';
$bounce_mailbox_user = 'noreply';
$bounce_mailbox_password = '**password**';
:
define("PHPMAILER_SECURE",'tls');
define('PHPMAILERHOST', '172.16.0.244');
define('PHPMAILERPORT', 587);
$phpmailer_smtpuser = 'noreply';
$phpmailer_smtppassword = '**password**';
$phpmailer_smtpoptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
:
* 更改目錄權限
chown -R apache:apache /var/lib/php/session/
mkdir -p /var/www/html/images
chown apache:apache /var/www/html/images
===== 進入網頁設定 =====
* 網址 - http://serverIP/lists/admin
- 看到 Database has not been initialised. go to Initialise Database to continue
點 **[Initialise Database]** 建立基本資料
- 填寫基本表格資料 點 [Continue] 就自動建立資料表
- 會顯示檢查是否相關 php 套件都有安裝好 點 [Not subscribed] 才會出現繼續設定的按鈕 {{:tech:2019032601.png}}
===== 寄信設定 =====
因為現在的郵件主機 iRedMail / MailCow 都需要透過 SMTP SSL/TLS 寄信, 且信件的來源必須是該認證帳號的信箱, 因此
* config.php 內必須要設定 $phpmailer_smtpoptions 才能通過 SSL 加密協定, 否則 Mail Server 會出現類似以下的訊息
Mar 26 23:42:45 ct-edm postfix/submission/smtpd[12734]: connect from unknown[172.16.0.101]
Mar 26 23:42:45 ct-edm postfix/submission/smtpd[12734]: Anonymous TLS connection established from unknown[172.16.0.101]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
Mar 26 23:42:45 ct-edm postfix/submission/smtpd[12734]: lost connection after STARTTLS from unknown[172.16.0.101]
Mar 26 23:42:45 ct-edm postfix/submission/smtpd[12734]: disconnect from unknown[172.16.0.101]
* phplist 的 config 設定 person in charge of this system 必須是寄送 Mail Server 內的信箱 Exp. 寄送信箱是 edm.ichiayi.com 則 smtpuser 是 noreply 就要填寫 noreply@edm.ichiayi.com
* config.php 內的 $phpmailer_smtpoptions 範例
:
$phpmailer_smtpuser = 'noreply';
$phpmailer_smtppassword = '**password**';
$phpmailer_smtpoptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
:
* phplist config 設定畫面參考 {{:tech:2019032602.png}}
===== 參考網址 =====
* https://www.phplist.org/manual/ch028_installation.xhtml
* https://resources.phplist.com/system/config/phpmailer_smtpoptions
{{tag>phplist centos7}}