PostfixAdminは、WebブラウザからPostfixメールサーバーを管理するために使用される無料のオープンソースのWebベースのインターフェイスです。これにより、ユーザー、エイリアスの追加、ディスククォータの設定、Webベースのインターフェイスへのドメインの追加と削除が可能になります。 PostgreSQL、MySQL、MariaDB、SQLiteなどのいくつかのデータベースバックエンドをサポートしています。プラグインを介してSquirrelmailおよびRoundcubeと統合できます。
この記事では、Debian11にPostfixAdminをインストールする方法を説明します。
- postfixがインストールされたDebian11を実行しているサーバー。
- 有効なドメイン名はサーバーのIPアドレスで示されます。
- 有効なMXレコードはサーバーのIPアドレスで示されます。
まず、次のコマンドを使用して、システムパッケージを最新バージョンに更新します。
apt-get update -y
システムが更新されたら、サーバーの完全修飾ホスト名を設定します。
hostnamectl set-hostname mail.domain.com
次に、次のコマンドを実行して変更を適用します。
hostname -f
完了したら、次のステップに進むことができます。
Nginx、MariaDB、PHPをインストール
次に、Nginx Webサーバー、MariaDB、PHP、およびその他の必要なPHP拡張機能をサーバーにインストールする必要があります。次のコマンドですべてをインストールできます:
apt-get install nginx mariadb-server php-fpm php-cli php-imap php-json php-mysql php-opcache php-mbstring php-readline unzip sudo -y
すべてのパッケージがインストールされたら、次のステップに進むことができます。
PostfixAdminデータベースを作成する
次に、PostfixAdminのデータベースとユーザーを作成する必要があります。まず、次のコマンドを使用してMariaDBコンソールにログインします。
mysql
接続したら、次のコマンドを使用してデータベースとユーザーを作成します。
MariaDB [(none)]> CREATE DATABASE postfixadmin;
MariaDB [(none)]> GRANT ALL ON postfixadmin.* TO 'postfixadmin'@'localhost' IDENTIFIED BY 'securepassword';
次に、特権をフラッシュし、次のコマンドを使用してMariaDBシェルを終了します。
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
この時点で、PostfixAdmin用にMariaDBデータベースが作成されます。これで、次のステップに進むことができます。
PostfixAdminをインストール
まず、SourceforgeのWebサイトから最新バージョンのPostfixAdminをダウンロードする必要があります。次のコマンドでダウンロードできます:
wget https://webwerks.dl.sourceforge.net/project/postfixadmin/postfixadmin-3.3.8/PostfixAdmin%203.3.8.tar.gz
ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを抽出します。
tar -xvzf PostfixAdmin\ 3.3.8.tar.gz
次に、抽出したディレクトリをNginxWebルートディレクトリに移動します。
mv postfixadmin-postfixadmin-7d04685 /var/www/html/postfixadmin
次に、PostfixAdminのインストールに必要なディレクトリを作成します:
mkdir /var/www/html/postfixadmin/templates_c
次に、適切な所有権をPostfixAdminディレクトリに設定します:
chown -R www-data: /var/www/html/postfixadmin/
次に、config.local.phpファイルを作成します:
nano /var/www/html/postfixadmin/config.local.php
次の行を追加します:
<?php $CONF['configured'] = true; $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfixadmin'; $CONF['database_password'] = 'securepassword'; $CONF['database_name'] = 'postfixadmin'; $CONF['default_aliases'] = array ( 'abuse' => '[email protected]', 'hostmaster' => '[email protected]', 'postmaster' => '[email protected]', 'webmaster' => '[email protected]' ); $CONF['fetchmail'] = 'NO'; $CONF['show_footer_text'] = 'NO'; $CONF['quota'] = 'YES'; $CONF['domain_quota'] = 'YES'; $CONF['quota_multiplier'] = '1024000'; $CONF['used_quotas'] = 'YES'; $CONF['new_quota_table'] = 'YES'; $CONF['aliases'] = '0'; $CONF['mailboxes'] = '0'; $CONF['maxquota'] = '0'; $CONF['domain_quota_default'] = '0'; ?>
ファイルを保存して閉じてから、次のコマンドを使用してPostfixAdminデータベースのスキーマを作成します。
sudo -u www-data php /var/www/html/postfixadmin/public/upgrade.php
次に、PostfixAdminのスーパー管理者アカウントを作成する必要があります。次のコマンドで作成できます:
bash /var/www/html/postfixadmin/scripts/postfixadmin-cli admin add
以下に示すように、管理者のユーザー名、パスワード、およびドメインを入力します。
Welcome to Postfixadmin-CLI v0.3 --------------------------------------------------------------- Admin: > [email protected] Password: > [email protected] Password (again): > [email protected] Super admin: (Super admins have access to all domains, can manage domains and admin accounts.) (y/n) > y Domain: > domain.com Active: (y/n) > y The admin [email protected] has been added! ---------------------------------------------------------------
PostfixAdmin用にNginxを構成する
次に、PostfixAdmin用のNginx仮想ホスト構成ファイルを作成する必要があります。次のコマンドで作成できます:
nano /etc/nginx/conf.d/domain.com.conf
次の行を追加します:
server { listen 80; root /var/www/html/postfixadmin/public; index index.html index.htm index.php; server_name mail.domain.com; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; fastcgi_connect_timeout 600; fastcgi_send_timeout 600; fastcgi_read_timeout 600; } location / { try_files $uri $uri/ =404; } }
ファイルを保存して閉じてから、Nginxサービスを再起動して変更を適用します。
systemctl restart nginx
次のコマンドを使用して、Nginxのステータスを確認することもできます。
systemctl status nginx
次の出力が得られるはずです:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-08-28 08:13:22 UTC; 7s ago Docs: man:nginx(8) Process: 74644 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 74645 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 74646 (nginx) Tasks: 2 (limit: 2341) Memory: 3.2M CPU: 57ms CGroup: /system.slice/nginx.service ??74646 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??74647 nginx: worker process Aug 28 08:13:22 mail.domain.com systemd[1]: Starting A high performance web server and a reverse proxy server... Aug 28 08:13:22 mail.domain.com systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Aug 28 08:13:22 mail.domain.com systemd[1]: Started A high performance web server and a reverse proxy server.
この時点で、PostfixAdminがインストールおよび構成されています。これで、URL http://mail.domain.comを使用してアクセスできます。 。 PostfixAdminログインページにリダイレクトされます:
管理者のメールアドレスとパスワードを入力し、ログインをクリックします ボタン。次の画面にPostfixAdminダッシュボードが表示されます。
おめでとう!これで、Debian 11にPostfixAdminが正常にインストールされました。これで、WebブラウザからPostfixメールサーバーを簡単に管理できます。ご不明な点がございましたら、お気軽にお問い合わせください。