PostfixAdmin adalah antarmuka gratis, open-source, dan berbasis web yang digunakan untuk mengelola server email Postfix dari browser web. Ini memungkinkan Anda untuk menambahkan pengguna, alias, menetapkan kuota disk, menambah dan menghapus domain dari antarmuka berbasis web. Ini mendukung beberapa backend database termasuk PostgreSQL, MySQL, MariaDB, dan SQLite. Itu dapat diintegrasikan dengan Squirrelmail dan Roundcube melalui plugin.
Pada artikel ini, saya akan menjelaskan cara menginstal PostfixAdmin di Debian 11.
Prasyarat
- Server yang menjalankan Debian 11 dengan postfix terinstal.
- Nama domain yang valid ditunjukkan dengan alamat IP server Anda.
- Data MX yang valid ditunjukkan dengan alamat IP server Anda.
Memulai
Pertama, perbarui paket sistem Anda dengan versi terbaru menggunakan perintah berikut:
apt-get update -y
Setelah sistem Anda diperbarui, setel nama host server Anda yang sepenuhnya memenuhi syarat.
hostnamectl set-hostname mail.domain.com
Selanjutnya, jalankan perintah berikut untuk menerapkan perubahan.
hostname -f
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal Nginx, MariaDB dan PHP
Selanjutnya, Anda perlu menginstal server web Nginx, MariaDB, PHP, dan ekstensi PHP lain yang diperlukan ke server Anda. Anda dapat menginstal semuanya dengan perintah berikut:
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
Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Buat Database PostfixAdmin
Selanjutnya, Anda perlu membuat database dan pengguna untuk PostfixAdmin. Pertama, masuk ke konsol MariaDB dengan perintah berikut:
mysql
Setelah Anda terhubung, buat database dan pengguna dengan perintah berikut:
MariaDB [(none)]> CREATE DATABASE postfixadmin;
MariaDB [(none)]> GRANT ALL ON postfixadmin.* TO 'postfixadmin'@'localhost' IDENTIFIED BY 'securepassword';
Selanjutnya, flush hak istimewa dan keluar dari shell MariaDB dengan perintah berikut:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Pada titik ini, database MariaDB dibuat untuk PostfixAdmin. Sekarang Anda dapat melanjutkan ke langkah berikutnya.
Instal PostfixAdmin
Pertama, Anda perlu mengunduh PostfixAdmin versi terbaru dari situs web Sourceforge. Anda dapat mengunduhnya dengan perintah berikut:
wget https://webwerks.dl.sourceforge.net/project/postfixadmin/postfixadmin-3.3.8/PostfixAdmin%203.3.8.tar.gz
Setelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:
tar -xvzf PostfixAdmin\ 3.3.8.tar.gz
Selanjutnya, pindahkan direktori hasil ekstrak ke direktori root web Nginx:
mv postfixadmin-postfixadmin-7d04685 /var/www/html/postfixadmin
Selanjutnya, buat direktori yang diperlukan untuk menginstal PostfixAdmin:
mkdir /var/www/html/postfixadmin/templates_c
Selanjutnya, atur kepemilikan yang tepat ke direktori PostfixAdmin:
chown -R www-data: /var/www/html/postfixadmin/
Selanjutnya, buat file config.local.php:
nano /var/www/html/postfixadmin/config.local.php
Tambahkan baris berikut:
<?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'; ?>
Simpan dan tutup file kemudian buat skema untuk database PostfixAdmin dengan perintah berikut:
sudo -u www-data php /var/www/html/postfixadmin/public/upgrade.php
Selanjutnya, Anda perlu membuat akun admin super untuk PostfixAdmin. Anda dapat membuatnya dengan perintah berikut:
bash /var/www/html/postfixadmin/scripts/postfixadmin-cli admin add
Berikan nama pengguna, kata sandi, dan domain admin Anda seperti yang ditunjukkan di bawah ini:
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! ---------------------------------------------------------------
Konfigurasi Nginx untuk PostfixAdmin
Selanjutnya, Anda perlu membuat file konfigurasi virtual host Nginx untuk PostfixAdmin. Anda dapat membuatnya dengan perintah berikut:
nano /etc/nginx/conf.d/domain.com.conf
Tambahkan baris berikut:
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; } }
Simpan dan tutup file kemudian restart layanan Nginx untuk menerapkan perubahan:
systemctl restart nginx
Anda juga dapat memeriksa status Nginx dengan perintah berikut:
systemctl status nginx
Anda akan mendapatkan output berikut:
? 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.
Akses PostfixAdmin
Pada titik ini, PostfixAdmin diinstal dan dikonfigurasi. Sekarang Anda dapat mengaksesnya menggunakan URL http://mail.domain.com . Anda akan diarahkan ke halaman login PostfixAdmin:
Berikan email admin Anda, kata sandi dan klik Masuk tombol. Anda akan melihat dasbor PostfixAdmin pada layar berikut:
Kesimpulan
Selamat! Anda telah berhasil menginstal PostfixAdmin di Debian 11. Sekarang Anda dapat dengan mudah mengelola server email Postfix Anda dari browser web. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.