CentOs9 phpListを構築する手順

CentOs9 phpListを構築する手順

CentOs9環境にWEBのメール配信ツールである「phpList」を構築するまでの手順を記述してます。事前に「php」と「mysql」と「apache」のインストールと、DBのユーザーの作成もあるので、そこそこ時間がかかります。

環境

  • OS CentOS Stream release 9
  • php 8.2.0RC4 (cli)
  • mysql 8.0.30
  • Apache Apache/2.4.53 (CentOS Stream)

事前環境準備

事前に必要なツールをインストールしておきます。

まずは、webサーバー「Apache」をインストールしておきます。
※ここでは起動と自動起動も有効しておきます。

$ sudo dnf install httpd -y

$ sudo systemctl enable httpd --now

次に「php」をインストールします。

$ sudo dnf https://rpms.remirepo.net/enterprise/remi-release-9.rpm

$ sudo dnf config-manager --set-enabled remi

$ sudo dnf update

$ sudo dnf module list php ← インストールできるバージョンを確認

$ sudo dnf module enable php:8.2 -y ← 8.2 をインストール

$ sudo dnf install php-gd php-curl php-fpm php-mysql php-mbstring php-zip php-xml

次に「mysql」をインストールします。手順が長いので以下を参照下さい。

インストールが終われば、phpList用の「ユーザー」と「DB」を作成しておきます。
※ここでは、ユーザー「phpList」とDB「phpList」を作成してます。

mysql> create user 'phplist'@'localhost' identified with mysql_native_password by 'phplist123!!!';

mysql> create database phplist;

mysql> grant all on phplist.* to 'phplist'@'localhost' with grant option;

phpListダウンロード

こちらのサイトからダウンロード用のURLを取得して「wget」でダウンロードします。
※ここでは「3.6.10」が最新バージョンでした。

$ wget --content-disposition https://sourceforge.net/projects/phplist/files/phplist/3.6.10/phplist-3.6.10.zip/download

「/var/www/phplist」に解凍します。

$ sudo unzip phplist-3.6.10.zip -d /var/www/phplist

権限を変更しておきます。

$ sudo chmod -R 775 /var/www/phplist/phplist-3.6.10/public_html

「apache」の「DocumentRoot」も変更しておきます。

$ sudo nano /etc/httpd/conf/httpd.conf

DocumentRoot "/var/www/phplist/phplist-3.6.10/public_html"

「DirectoryIndex」にも「index.php」を追加しておきます。

$ sudo nano /etc/httpd/conf/httpd.conf

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

設定を反映させるため再起動します。

$ sudo systemctl restart httpd

「/var/www/phplist/phplist-3.6.10/public_html/lists/config」の「config.php」に「DB」への接続情報などを記載しておきます。

// what is your Mysql database server hostname
$database_host = 'localhost';

// what is the name of the database we are using
$database_name = 'phplist';

// what user has access to this database
$database_user = 'phplist';

// and what is the password to login to control the database
$database_password = 'phplist123!!!';

// 日本語に設定
$default_system_language = "ja";

外部のメールサーバーを使用する場合は、以下も追加します。

define('PHPMAILERHOST', '外部サーバー');

// MTAサーバーへアクセスするユーザ名を設定
$phpmailer_smtpuser = 'testuser';

// MTAサーバーへアクセスするユーザのパスワードを設定
$phpmailer_smtppassword = 'pass';

phpList初期設定

ブラウザから「http://プライベートIP or サーバーアドレス/lists/admin」 にアクセスすると以下の画面が表示されると思います。

「Initialize Database」をクリックしてDBを初期化します。

以下の警告がでている場合は「/var/www/phplist/phplist-3.6.10/public_html/lists」の「config.php」に
最後の方にでも「$default_system_language = “ja”;」を追加します。

リロードすると警告が消えます。

名前やメールアドレスやパスワードを入力し「Continue」をクリックします。

問題なければ全てOKと表示されます。

newを受信するかどうか選択して「phpListSetup」をクリックすれば構築は完了です。

後は、ユーザー「admin」で設定した「パスワード」でログインすることが可能です。