Tutorial ini menunjukkan cara menyiapkan server Debian 9 (dengan Nginx, BIND, Dovecot) untuk penginstalan ISPConfig 3.1, dan cara menginstal ISPConfig 3.1. ISPConfig 3 adalah panel kontrol hosting web yang memungkinkan Anda untuk mengonfigurasi layanan berikut melalui browser web:server web Apache atau nginx, server email Postfix, server Courier atau Dovecot IMAP/POP3, server nama MySQL, BIND atau MyDNS, PureFTPd, SpamAssassin, ClamAV, dan banyak lagi. Pengaturan ini mencakup server web Nginx, BIND sebagai Server DNS, dan Dovecot sebagai server IMAP / POP3.
1 Catatan Awal
Dalam tutorial ini, saya menggunakan hostname server1.example.com dengan alamat IP 192.168.1.100 dan gateway 192.168.1.1. Pengaturan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu. Sebelum melanjutkan lebih jauh, Anda harus memiliki minimal penginstalan Debian 9. Ini mungkin gambar minimal Debian dari penyedia hosting Anda atau Anda menggunakan tutorial Server Debian Minimal untuk menyiapkan sistem dasar.
2 Instal Server SSH
Jika Anda tidak menginstal server OpenSSH selama instalasi sistem, Anda dapat melakukannya sekarang:
apt-get -y install ssh openssh-server
Mulai sekarang Anda dapat menggunakan klien SSH seperti Putty dan terhubung dari workstation Anda ke server Debian 9 Anda dan ikuti langkah selanjutnya dari tutorial ini.
3 Instal editor teks shell (Opsional)
Saya akan menggunakan nano editor teks dalam tutorial ini. Beberapa pengguna lebih suka editor vi klasik, oleh karena itu saya akan menginstal kedua editor di sini. Program vi default memiliki beberapa perilaku aneh di Debian dan Ubuntu; untuk mengatasinya, kita install vim-nox:
apt-get -y install nano vim-nox
(Anda tidak perlu melakukan ini jika Anda menggunakan editor teks lain seperti joe.)
4 Konfigurasikan Nama Inang
Nama host server Anda harus berupa subdomain seperti "server1.example.com". Jangan gunakan nama domain tanpa bagian subdomain seperti "example.com" sebagai nama host karena ini akan menyebabkan masalah dengan pengaturan email Anda nanti. Pertama, Anda harus memeriksa nama host di /etc/hosts dan mengubahnya bila perlu. Baris harus:"Alamat IP - spasi - nama host lengkap termasuk domain - spasi - bagian subdomain". Edit /etc/hosts. Jadikan seperti ini:
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.1.100 server1.example.com server1# Baris berikut diinginkan untuk host yang mendukung IPv6::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6 -allrouter
Kemudian edit file /etc/hostname:
nano /etc/hostname
Ini hanya akan berisi bagian subdomain, dalam kasus kami:
server1
Terakhir, boot ulang server untuk menerapkan perubahan:
boot ulang
Masuk lagi dan periksa apakah nama host sudah benar sekarang dengan perintah berikut:
nama host
nama host -f
Outputnya akan seperti ini:
[email protected]:/tmp# hostname
server1
[email protected]:/tmp# hostname -f
server1.example.com
5 Perbarui Instalasi Debian Anda
Pertama-tama pastikan bahwa /etc/apt/sources.list Anda berisi repositori stretch/updates (ini memastikan Anda selalu mendapatkan pembaruan terbaru untuk pemindai virus ClamAV - proyek ini sangat sering menerbitkan rilis, dan terkadang versi lama berhenti bekerja), dan bahwa contrib dan repositori non-free diaktifkan.
nano /etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.us.debian.org/debian/ stretch main contrib non- gratis
deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian- peregangan keamanan/pembaruan kontribusi utama tidak gratis
PENTING: Tambahkan repositori Debian Backports seperti yang ditunjukkan di atas.
Jalankan
apt-get update
untuk memperbarui database paket apt dan
apt-get upgrade
untuk menginstal pembaruan terbaru (jika ada).
6 Ubah Shell Default
/bin/sh adalah symlink ke /bin/dash, namun kita membutuhkan /bin/bash, bukan /bin/dash. Oleh karena itu kami melakukan ini:
dpkg-konfigurasi ulang tanda hubung
Gunakan tanda hubung sebagai shell sistem default (/bin/sh)? <-- Tidak
Jika Anda tidak melakukannya, penginstalan ISPConfig akan gagal.
7 Sinkronisasi Jam Sistem
Sebaiknya sinkronisasi jam sistem dengan NTP (n jaringan t waktu p rotocol) server melalui Internet. Jalankan saja
apt-get install ntp
dan waktu sistem Anda akan selalu sinkron.
8 Instal Postfix, Dovecot, MySQL, rkhunter, dan binutils
Kita dapat menginstal Postfix, Dovecot, MySQL, rkhunter, dan Binutils dengan satu perintah:
apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo
Anda akan ditanya pertanyaan berikut:
Jenis umum konfigurasi email:<-- Situs Internet
Nama email sistem:<-- server1.example.com
Untuk mengamankan instalasi MariaDB / MySQL dan untuk menonaktifkan database pengujian, jalankan perintah ini:
mysql_secure_installation
Kami tidak perlu mengubah kata sandi root MySQL karena kami hanya mengatur yang baru selama instalasi. Jawablah pertanyaan sebagai berikut:
Ubah kata sandi root? [Y/n] <-- y
Sandi baru: <-- Masukkan sandi root MySQL baru
Masukkan ulang sandi baru: <-- Ulangi sandi root MySQL
Hapus pengguna anonim ? [Y/n] <-- y
Larang login root dari jarak jauh? [Y/n] <-- y
Hapus database pengujian dan akses ke database tersebut? [Y/n] <-- y
Muat ulang tabel hak istimewa sekarang? [Y/n] <-- y
Selanjutnya, buka TLS/SSL dan port pengiriman di Postfix:
nano /etc/postfix/master.cf
Batalkan komentar pada bagian kiriman dan smtps sebagai berikut (biarkan -o milter_macro_daemon_name=ORIGINATING karena kami tidak membutuhkannya):
[...]pengajuan inet n - y - - smtpd
-o syslog_name=postfix/pengajuan
-o smtpd_tls_security_level=enkripsi
-o smtpd_sasl_auth_enable=ya
- o smtpd_client_restrictions =permit_sasl_authenticated, tolak
# -o smtpd_reject_unlisted_reciPient =no
# -o smtpd_client_restrictions =$perpikon_cestrictions
; br /># -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ASALKAN
smtps inet n - y - - sylog postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o recipt =$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_r estrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,tolak
# -o milter_macro_daemon_name=ORIGINATING[...]Mulai ulang Postfix setelahnya:
layanan postfix dimulai ulangKami ingin MariaDB mendengarkan di semua antarmuka, bukan hanya localhost, oleh karena itu kami mengedit /etc/mysql/mariadb.conf.d/50-server.cnf dan mengomentari baris bind-address =127.0.0.1 dan menambahkan baris sql-mode="NO_ENGINE_SUBSTITUTION" :
nano /etc/mysql/mariadb.conf.d/50-server.cnf[...]
# Alih-alih melewatkan jaringan, defaultnya sekarang hanya mendengarkan di# localhost yang lebih kompatibel dan tidak kurang aman.#bind-address =127.0.0.1
sql-mode="NO_ENGINE_SUBSTITUTION"
[...]Setel metode otentikasi kata sandi di MariaDB ke asli sehingga kami dapat menggunakan PHPMyAdmin nanti untuk terhubung sebagai pengguna root:
echo "perbarui mysql.user set plugin ='mysql_native_password' di mana user='root';" | mysql -u rootEdit file /etc/mysql/debian.cnf dan setel kata sandi root MYSQL / MariaDB di sana dua kali di baris yang dimulai dengan kata sandi.
nano /etc/mysql/debian.cnfKata sandi root MySQL yang perlu ditambahkan ditampilkan dengan warna merah, dalam contoh ini, kata sandinya adalah "howtoforge".
# Secara otomatis dibuat untuk skrip Debian. JANGAN SENTUH!
[klien]
host =localhost
user =root
sandi = howtoforge
socket =/var/run/mysqld/mysqld.sock
[mysql_upgrade]
host =localhost
user =root
password = howtoforge
socket =/var/run/mysqld/mysqld.sock
basedir =/usrUntuk mencegah kesalahan 'Kesalahan dalam menerima:Terlalu banyak file yang terbuka ' kami akan menetapkan batas file terbuka yang lebih tinggi untuk MariaDB sekarang.
Buka file /etc/security/limits.conf dengan editor:
nano /etc/security/limits.confdan tambahkan baris ini di akhir file.
mysql softnofile 65535
mysql hardnofile 65535Selanjutnya, buat direktori baru /etc/systemd/system/mysql.service.d/ dengan perintah mkdir.
mkdir -p /etc/systemd/system/mysql.service.d/dan tambahkan file baru di dalamnya:
nano /etc/systemd/system/mysql.service.d/limits.confrekatkan baris berikut ke dalam file itu:
[Layanan]
LimitNOFILE=infinitySimpan file dan tutup editor nano.
Kemudian kita reload systemd dan restart MariaDB:
systemctl daemon-reload
service mysql restartSekarang periksa apakah jaringan diaktifkan. Jalankan
netstat -ketuk | grep mysqlOutputnya akan terlihat seperti ini:
[email protected]:~# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* DENGARKAN 4027/mysqld
[email dilindungi>]:~
9 Instal Amavisd-new, SpamAssassin, dan ClamAV
Untuk menginstal amavisd-new, SpamAssassin, dan ClamAV, kami menjalankan:
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-s perl libnet-ident-perl zip libnet-dns-perl libdbd-mysql-perl postgreyPenyiapan ISPConfig 3 menggunakan amavisd yang memuat pustaka filter SpamAssassin secara internal, jadi kami dapat menghentikan SpamAssassin untuk mengosongkan sebagian RAM:
layanan penghentian spamassassin
systemctl nonaktifkan spamassassin9.1 Instal Server Metronom XMPP (opsional)
Langkah ini menginstal Metronome XMPP Server yang menyediakan server chat yang kompatibel dengan protokol XMPP. Langkah ini opsional, jika Anda tidak memerlukan server obrolan, maka Anda dapat melewati langkah ini. Tidak ada fungsi ISPConfig lain yang bergantung pada perangkat lunak ini.
Tambahkan repositori paket Prosody di Debian.
echo "deb http://packages.prosody.im/debian stretch main"> /etc/apt/sources.list.d/metronome.list
wget http://prosody.im/files/ prosody-debian-packages.key -O - | sudo apt-key add -Perbarui daftar paket:
apt-get updateInstal program yang diperlukan untuk proses pembuatan
apt-get install build-essentialdan instal paket dengan apt.
apt-get install git lua5.1 liblua5.1-0-dev lua-filesystem libidn11-dev libssl-dev lua-zlib lua-expat lua-event lua-bitop lua-socket lua-sec luarocks luarocksluarocks install lpcTambahkan pengguna shell untuk Metronom.
adduser --no-create-home --disabled-login --gecos metronom 'Metronome'Unduh Metronom ke direktori /opt dan kompilasi.
cd /opt; git clone https://github.com/maranda/metronome.git metronom
cd ./metronom; ./configure --ostype=debian --prefix=/usr
make
make installMetronom sekarang telah diinstal ke /opt/metronom.
10 Instal Nginx, PHP (PHP-FPM), dan Fcgiwrap
Nginx tersedia sebagai paket untuk Debian yang dapat kita instal sebagai berikut:
apt-get install nginxJika Apache2 sudah terinstal di sistem, hentikan sekarang...
layanan apache2 berhentiPesan "Gagal menghentikan apache2.service:Unit apache2.service tidak dimuat. " baik-baik saja dan tidak menunjukkan kesalahan.
... dan hapus tautan startup sistem Apache:
systemctl nonaktifkan apache2Mulai nginx setelahnya:
layanan nginx mulai(Jika Apache2 dan nginx terinstal, penginstal ISPConfig 3 akan menanyakan mana yang ingin Anda gunakan - jawab nginx dalam kasus ini. Jika hanya salah satu dari keduanya yang diinstal, ISPConfig akan melakukan konfigurasi yang diperlukan secara otomatis.)
Kita dapat membuat PHP 7 bekerja di nginx melalui PHP-FPM (PHP-FPM (FastCGI Process Manager) adalah implementasi PHP FastCGI alternatif dengan beberapa fitur tambahan yang berguna untuk situs dari berbagai ukuran, terutama situs yang lebih sibuk) yang kami instal sebagai berikut:
apt-get install php7.0-fpmPHP-FPM adalah proses daemon yang menjalankan server FastCGI pada soket /var/run/php/php7.0-fpm.sock.
Untuk mendapatkan dukungan MySQL di PHP, kita dapat menginstal paket php7.0-mysql. Ini adalah ide yang baik untuk menginstal beberapa modul PHP lain serta Anda mungkin membutuhkannya untuk aplikasi Anda. Anda dapat mencari modul PHP yang tersedia seperti ini:
pencarian apt-cache php7Pilih yang Anda butuhkan dan instal seperti ini:
apt-get install php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-imap php7.0-cli php7.0-cgi php-pear php7.0-mcrypt mcrypt imagemagick libruby php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl memcached php-memcache php-imagick php- gettext php7.0-zip php7.0-mbstring memcached php7.0-soap php7.0-opcacheSelanjutnya buka /etc/php/7.0/fpm/php.ini...
nano /etc/php/7.0/fpm/php.ini... dan atur cgi.fix_pathinfo=0 dan zona waktu Anda:
[...]cgi.fix_pathinfo=0[...]date.timezone="Europe/Berlin"[...](Anda dapat menemukan semua zona waktu yang tersedia di direktori /usr/share/zoneinfo dan subdirektorinya.)
Sekarang muat ulang PHP-FPM:
layanan php7.0-fpm reloadUntuk mendapatkan dukungan CGI di nginx, kami menginstal Fcgiwrap.
Fcgiwrap adalah pembungkus CGI yang juga berfungsi untuk skrip CGI yang kompleks dan dapat digunakan untuk lingkungan hosting bersama karena memungkinkan setiap vhost untuk menggunakan direktori cgi-bin-nya sendiri.
Instal paket fcgiwrap:
apt-get install fcgiwrapSetelah instalasi, daemon fcgiwrap seharusnya sudah dimulai; soketnya adalah /var/run/fcgiwrap.socket. Jika tidak berjalan, Anda dapat menggunakan skrip fservice fcgiwrap untuk memulainya.
Itu dia! Sekarang saat Anda membuat nginx vhost, ISPConfig akan menangani konfigurasi vhost yang benar.
10.1 Versi PHP Tambahan
Dimulai dengan ISPConfig 3.0.5, dimungkinkan untuk memiliki beberapa versi PHP pada satu server (dapat dipilih melalui ISPConfig) yang dapat dijalankan melalui PHP-FPM termasuk. PHP 5.x dan 7.x. Untuk mempelajari cara membuat versi PHP tambahan (PHP-FPM) dan cara mengonfigurasi ISPConfig, silakan lihat tutorial ini: Cara menginstal PHP 7.1, 7.2, dan 5.6 sebagai PHP-FPM &FastCGI untuk ISPConfig 3 di Debian 9
10.2 Instal phpMyAdmin
Instal phpMyAdmin sebagai berikut:
apt-get install phpmyadminJangan pilih opsi saat penginstal meminta "Server web untuk mengonfigurasi ulang secara otomatis: " dan tekan ok.
Konfigurasi database untuk phpmyadmin dengan dbconfig-common? <-- yes
Kata sandi aplikasi MySQL untuk phpmyadmin:<-- Tekan Enter
Kata sandi pengguna administratif database:<-- Masukkan kata sandi root MySQLAnda sekarang dapat menemukan phpMyAdmin di direktori /usr/share/phpmyadmin/.
Setelah Anda menginstal ISPConfig 3.1, Anda dapat mengakses phpMyAdmin sebagai berikut:
Aplikasi ISPConfig vhost pada port 8081 untuk nginx dilengkapi dengan konfigurasi phpMyAdmin, jadi Anda dapat menggunakan http://server1.example.com:8081/phpmyadmin atau http://server1.example.com:8081/phpMyAdmin untuk mengakses phpMyAdmin.
Jika Anda ingin menggunakan /phpmyadmin atau /phpMyAdmin alias yang dapat Anda gunakan dari situs web Anda, ini sedikit lebih rumit daripada Apache karena nginx tidak memiliki alias global (yaitu, alias yang dapat ditentukan untuk semua vhost). Oleh karena itu, Anda harus mendefinisikan alias ini untuk setiap vhost tempat Anda ingin mengakses phpMyAdmin.
Untuk melakukannya, rekatkan yang berikut ini ke bidang Arahan nginx pada tab Opsi situs web di ISPConfig:
lokasi /phpmyadmin { root /usr/share/; indeks index.php index.html index.htm; lokasi ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/bagikan/; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; sertakan /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors aktif; } lokasi ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } lokasi /phpMyAdmin { tulis ulang ^/* /phpmyadmin terakhir; }Jika Anda menggunakan https alih-alih http untuk vhost Anda, Anda harus menambahkan baris fastcgi_param HTTPS di; ke konfigurasi phpMyAdmin Anda seperti ini:
lokasi /phpmyadmin { root /usr/share/; indeks index.php index.html index.htm; lokasi ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/bagikan/; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_param HTTPS aktif; # <-- tambahkan baris ini fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; sertakan /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors aktif; } lokasi ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } lokasi /phpMyAdmin { tulis ulang ^/* /phpmyadmin terakhir; }Jika Anda menggunakan http dan https untuk vhost, Anda dapat menggunakan variabel $https. Buka bidang nginx Directive lagi, dan alih-alih fastcgi_param HTTPS aktif; Anda menambahkan baris fastcgi_param HTTPS $https; sehingga Anda dapat menggunakan phpMyAdmin untuk permintaan http dan https:
lokasi /phpmyadmin { root /usr/share/; indeks index.php index.html index.htm; lokasi ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/bagikan/; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_param HTTPS $https; # <-- tambahkan baris ini fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; sertakan /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors aktif; } lokasi ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } lokasi /phpMyAdmin { tulis ulang ^/* /phpmyadmin terakhir; }11 Instal Let's Encrypt
ISPConfig 3.1 memiliki dukungan untuk otoritas Sertifikat SSL gratis Let's encrypt. Fungsi Let's Encrypt memungkinkan Anda membuat sertifikat SSL gratis untuk situs web Anda dari dalam ISPConfig.
cd /usr/local/bin
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto -- instal saja12 Instal Mailman
ISPConfig memungkinkan Anda untuk mengelola (membuat/memodifikasi/menghapus) milis Mailman. Jika Anda ingin menggunakan fitur ini, instal Mailman sebagai berikut:
apt-get install mailmanPilih setidaknya satu bahasa, mis.:
Bahasa yang didukung:<-- en (Bahasa Inggris)
Daftar situs tidak ada <-- OkeSebelum kita dapat memulai Mailman, milis pertama yang disebut mailman harus dibuat:
mailman daftar baru[email protected]:~# newlist mailman
Masukkan email orang yang menjalankan daftar: <-- alamat email admin, mis. [dilindungi email]
Kata sandi pengirim awal: <-- sandi admin untuk daftar pengirim surat
Untuk menyelesaikan pembuatan milis, Anda harus mengedit file /etc/alias (atau
setara) dengan menambahkan baris berikut, dan mungkin menjalankan program
`newaliases':
## mailman milis
mailman: "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
mailman- pergi: "|/var/lib/mailman/mail/mailman tinggalkan mailman"
mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request: "| /var/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-un berlangganan: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Tekan enter untuk memberi tahu pemilik mailman... <-- ENTER
[email protected] :~#Buka /etc/aliases setelahnya...
nano /etc/aliases... dan tambahkan baris berikut:
[...]## mailman mailing listmailman:"|/var/lib/mailman/mail/mailman post mailman"mailman-admin:"|/var/lib/mailman/mail/mailman admin mailman"mailman- bounces:"|/var/lib/mailman/mail/mailman bounces mailman"mailman-confirm:"|/var/lib/mailman/mail/mailman konfirmasi mailman"mailman-join:"|/var/lib/mailman/mail /mailman bergabung dengan tukang pos"mailman-leave:"|/var/lib/mailman/mail/mailman meninggalkan tukang pos"mailman-owner:"|/var/lib/mailman/mail/mailman pemilik tukang pos"mailman-request:"|/ var/lib/mailman/mail/mailman request mailman"mailman-subscribe:"|/var/lib/mailman/mail/mailman berlangganan tukang pos"mailman-unsubscribe:"|/var/lib/mailman/mail/mailman berhenti berlangganan tukang pos"Jalankan
newaliassetelah itu dan mulai ulang Postfix:
service postfix restartKemudian jalankan daemon Mailman:
layanan tukang pos mulaiSetelah Anda menginstal ISPConfig 3, Anda dapat mengakses Mailman sebagai berikut:
Aplikasi ISPConfig vhost pada port 8081 untuk nginx dilengkapi dengan konfigurasi Mailman, sehingga Anda dapat menggunakan http://server1.example.com:8081/cgi-bin/mailman/admin/
atau http://server1.example .com:8081/cgi-bin/mailman/listinfo/ untuk mengakses Mailman. Jika Anda ingin menggunakan Mailman dari situs web Anda, ini sedikit lebih rumit daripada Apache karena nginx tidak memiliki alias global (yaitu, alias yang dapat ditentukan untuk semua vhost). Oleh karena itu, Anda harus mendefinisikan alias ini untuk setiap vhost tempat Anda ingin mengakses Mailman.
Untuk melakukannya, rekatkan yang berikut ini ke bidang Arahan nginx pada tab Opsi situs web di ISPConfig:
lokasi /cgi-bin/mailman { root /usr/lib/; fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$; sertakan /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_intercept_errors aktif; fastcgi_pass unix:/var/run/fcgiwrap.socket; } lokasi /images/mailman { alias /usr/share/images/mailman; } lokasi /pipermail { alias /var/lib/mailman/archives/public; indeks otomatis aktif; }Ini mendefinisikan alias /cgi-bin/mailman/ untuk vhost Anda, yang berarti Anda dapat mengakses antarmuka admin Mailman untuk daftar di http://
/cgi-bin/mailman/admin/ , dan halaman web untuk pengguna milis dapat ditemukan di http:// /cgi-bin/mailman/listinfo/ . Di bawah http://
/pipermail Anda dapat menemukan arsip milis. 13 Instal PureFTPd dan Kuota
PureFTPd dan kuota dapat diinstal dengan perintah berikut:
apt-get install pure-ftpd-common pure-ftpd-mysql quotatooltoolEdit file /etc/default/pure-ftpd-common...
nano /etc/default/pure-ftpd-common... dan pastikan mode start diatur ke standalone dan set VIRTUALCHROOT=true:
[...]STANDALONE_OR_INETD=mandiri[...]VIRTUALCHROOT=true[...]Sekarang kita mengkonfigurasi PureFTPd untuk mengizinkan sesi FTP dan TLS. FTP adalah protokol yang sangat tidak aman karena semua kata sandi dan semua data ditransfer dalam teks yang jelas. Dengan menggunakan TLS, seluruh komunikasi dapat dienkripsi, sehingga membuat FTP jauh lebih aman.
Jika Anda ingin mengizinkan sesi FTP dan TLS, jalankan
echo 1> /etc/pure-ftpd/conf/TLSUntuk menggunakan TLS, kita harus membuat sertifikat SSL. Saya membuatnya di /etc/ssl/private/, oleh karena itu saya membuat direktori itu terlebih dahulu:
mkdir -p /etc/ssl/private/Setelah itu, kita dapat membuat sertifikat SSL sebagai berikut:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pemNama Negara (kode 2 huruf) [AU]:<-- Masukkan Nama Negara Anda (mis., "DE").
Nama Negara Bagian atau Provinsi (nama lengkap) [Beberapa Negara Bagian]:<-- Masukkan Negara Bagian Anda atau Nama Provinsi.
Nama Lokalitas (mis., kota) []:<-- Masukkan Kota Anda.
Nama Organisasi (mis., perusahaan) [Internet Widgits Pty Ltd]:<-- Masukkan Nama Organisasi Anda (mis., nama perusahaan Anda).
Nama Unit Organisasi (mis., seksi) []:<-- Masukkan Nama Unit Organisasi Anda (mis. "Departemen TI").
Nama Umum (mis. nama ANDA) []:<-- Masukkan Nama Domain yang Memenuhi Syarat dari sistem (mis. "server1.example.com").
Alamat Email []:<-- Masukkan Alamat Email Anda.Ubah izin sertifikat SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pemKemudian restart PureFTPd:
layanan pure-ftpd-mysql restartSunting /etc/fstab. Milik saya terlihat seperti ini (saya menambahkan ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 ke partisi dengan titik mount /):
nano /etc/fstab# /etc/fstab:informasi sistem file statis.
#
# Gunakan 'blkid' untuk mencetak pengenal unik universal untuk
# perangkat; ini dapat digunakan dengan UUID=sebagai cara yang lebih kuat untuk memberi nama perangkat
# yang berfungsi bahkan jika disk ditambahkan dan dihapus. Lihat fstab(5).
#
#
# / berada di /dev/sda1 selama instalasi
UUID=f539c5cb-624f-4c27-a149-1446a251a453 / ext4 error=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
# swap aktif /dev /sda5 selama instalasi
UUID=8d3194e7-edb5-4492-937d-d066b4994baf none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0Untuk mengaktifkan kuota, jalankan perintah berikut:
mount -o remount /quotacheck -avugm
quotaon -avug14 Instal Server DNS BIND
BIND dapat diinstal sebagai berikut:
apt-get install bind9 dnsutilsJika server Anda adalah mesin virtual, maka sangat disarankan untuk menginstal daemon yang telah dimiliki untuk mendapatkan entropi yang lebih tinggi untuk penandatanganan DNSSEC. Anda juga dapat menginstal hasged di server non-virtual, tidak ada salahnya.
apt-get install haveged
systemctl enable haveged
layanan sudah dimulaiPenjelasan tentang topik tersebut dapat ditemukan di sini.
15 Instal Webalizer dan AWStats
Webalizer dan AWStats dapat diinstal sebagai berikut:
apt-get install webalizer awstats geoip-database libtimedate-perl libclass-dbi-mysql-perlBuka /etc/cron.d/awstats setelahnya...
nano /etc/cron.d/awstats... dan komentari semua yang ada di file itu:
#MAILTO=root#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] &&/usr/share/awstats/tools/update.sh# Menghasilkan statis laporan:#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] &&/usr/share/awstats/tools/buildstatic.sh
16 Instal Jailkit
Jailkit diperlukan hanya jika Anda ingin chroot pengguna SSH. Ini dapat diinstal sebagai berikut (penting:Jailkit harus diinstal sebelum ISPConfig - tidak dapat diinstal setelahnya!):
apt-get install build-essential autoconf automake libtool flex bison debhelper binutilscd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
tar xvfz jailkit-2.19.tar.gz
cd jailkit- 2.19
echo 5> debian/compat
./debian/rules binerAnda sekarang dapat menginstal paket Jailkit .deb sebagai berikut:
cd ..
dpkg -i jailkit_2.19-1_*.deb
rm -rf jailkit-2.19*17 Instal Fail2ban dan Firewall UFW
Ini opsional tetapi disarankan, karena monitor ISPConfig mencoba menampilkan log:
apt-get install fail2banUntuk membuat monitor fail2ban PureFTPd dan Dovecot, buat file /etc/fail2ban/jail.local:
nano /etc/fail2ban/jail.local[pure-ftpd]
enabled =true
port =ftp
filter =pure-ftpd
logpath =/var/log/syslog
maxretry =3
[dovecot]
enabled =true
filter =dovecot
logpath =/var/log/mail.log
maxretry =5
[postfix-sasl]
enabled =true
port =smtp
filter =postfix-sasl
logpath =/var/log/mail.log
maxretry =3Mulai ulang fail2ban setelahnya:
layanan fail2ban restartUntuk menginstal firewall UFW, jalankan perintah apt ini:
apt-get install ufw
18 Instal RoundCube
Instal RoundCube dengan perintah ini:
apt-get install roundcube roundcube-core roundcube-mysql roundcube-pluginsPemasang akan menanyakan pertanyaan berikut:
Konfigurasi database untuk roundcube dengan dbconfig.common? <-- ya
Kata sandi aplikasi MySQL untuk roundcube:<-- tekan enter
Kata sandi pengguna administratif basis data:<-- masukkan kata sandi root MySQL di sini.Kemudian edit file RoundCube /etc/roundcube/config.inc.php dan sesuaikan beberapa setelan:
nano /etc/roundcube/config.inc.phpSetel default_host dan smtp_server ke localhost.
$config['default_host'] ='localhost';
$config['smtp_server'] ='localhost';ISPConfig memiliki beberapa konfigurasi di aplikasi nginx vhost untuk squirrelmail yang juga berfungsi untuk roundcube. Kami mengaktifkannya dengan:
ln -s /usr/share/roundcube /usr/share/squirrelmailSekarang Anda dapat mengakses RoundCube sebagai berikut:
http://192.168.1.100:8081/webmail
http://server1.example.com:8081/webmail (setelah Anda menginstal ISPConfig, lihat bab berikutnya)
19 Instal ISPConfig 3
Sebelum Anda memulai instalasi ISPConfig, pastikan Apache telah dihentikan (jika diinstal - mungkin saja beberapa paket yang Anda instal telah menginstal Apache sebagai dependensi tanpa Anda sadari). Jika Apache2 sudah terinstal di sistem, hentikan sekarang...
layanan apache2 berhenti... dan hapus tautan startup sistem Apache:
update-rc.d -f apache2 hapusPastikan nginx berjalan:
layanan nginx restart(Jika Anda telah menginstal Apache dan nginx, penginstal akan menanyakan mana yang ingin Anda gunakan:Apache dan nginx terdeteksi. Pilih server yang akan digunakan untuk ISPConfig:(apache,nginx) [apache]:
Ketik nginx. Jika hanya Apache atau nginx yang diinstal, ini secara otomatis terdeteksi oleh penginstal, dan tidak ada pertanyaan yang diajukan.)
Untuk menginstal ISPConfig 3.1 dari versi rilis terbaru, lakukan ini:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/Langkah selanjutnya adalah menjalankan
php -q install.phpIni akan memulai penginstal ISPConfig 3. Pemasang akan mengonfigurasi semua layanan seperti Postfix, Niginx, Dovecot, dll. untuk Anda.
# php -q install.php
------------------------------------------- -------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | _\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
-------------------------------------- --------------------------------------------------
>> Konfigurasi awalSistem Operasi:Debian 9.0 (Peregangan) atau kompatibelBerikut akan ada beberapa pertanyaan untuk konfigurasi utama jadi berhati-hatilah.
Nilai default ada di [tanda kurung] dan dapat diterima dengan.
Ketuk "keluar" (tanpa tanda kutip) untuk menghentikan penginstal.
Pilih bahasa (en,de) [en]:<-- Tekan EnterMode penginstalan (standar,ahli) [standar]: <-- Tekan EnterNama host yang memenuhi syarat penuh (FQDN) dari server, misalnya server1.domain.tld [server1.canomi.com]: <-- Tekan EnterNama host server MySQL [localhost]: <-- Tekan EnterPort server MySQL [3306]: <-- Tekan EnterNama pengguna root MySQL [root]: <-- Tekan EnterKata sandi root MySQL []: <-- Masukkan kata sandi root MySQL AndaDatabase MySQL untuk membuat [dbispconfig]: <-- Tekan EnterMySQL charset [utf8]: <-- Tekan EnterApache dan nginx terdeteksi. Pilih server yang akan digunakan untuk ISPConfig:(apache,nginx) [apache]:<-- nginx
Mengonfigurasi Postgrey
Mengonfigurasi Postfix
Membuat kunci pribadi RSA 4096 bit
................................................................ ......................++
...................... ........................................................ ........................................................ ...............++
menulis kunci pribadi baru ke 'smtpd.key'
-----
Anda akan diminta untuk masukkan informasi yang akan dimasukkan
ke dalam permintaan sertifikat Anda.
Apa yang akan Anda masukkan adalah apa yang disebut Distinguished Name atau DN.
Ada beberapa bidang tetapi Anda dapat meninggalkannya beberapa kosong
Untuk beberapa bidang akan ada nilai default,
Jika Anda memasukkan '.', bidang tersebut akan dibiarkan kosong.
-----
Nama Negara ( 2 kode huruf) [AU]:<-- Masukkan 2 huruf kode negara
Nama Negara Bagian atau Provinsi (nama lengkap) [Some-State]:<-- Masukkan nama negara bagian
Nama Lokal (mis., kota) []:<-- Masukkan kota Anda
Nama Organisasi (mis., perusahaan) [Internet Widgits Pty Ltd]:<-- Masukkan nama perusahaan atau tekan enter
Nama Unit Organisasi (mis. , bagian) []: <-- Tekan Enter
Nama Umum (mis. server FQDN atau nama ANDA) []:<-- Masukkan nama host server, dalam kasus saya:server1.example.com
Alamat Email []: <-- Tekan Enter
Configuring Mailman
Mengonfigurasi Dovecot
Mengonfigurasi Spamassassin
Mengonfigurasi Amavisd
Mengonfigurasi Getmail
Mengonfigurasi BIND
Mengonfigurasi Jailkit
Mengonfigurasi Pureftpd
Mengonfigurasi Nginx
Mengonfigurasi vlogger
Mengonfigurasi Server Metronome XMPP
menulis kunci pribadi baru ke 'localhost.key'
-----
Nama Negara (kode 2 huruf) [AU]: <-- Enter 2 huruf kode negara
Nama Lokalitas (mis., kota) []: <-- Masukkan kota Anda
Nama Organisasi (mis., perusahaan) [Internet Widgits Pty Ltd]: <-- Masukkan nama perusahaan atau tekan masukkan
Nama Unit Organisasi (mis., bagian) []: <-- Tekan Enter
Nama Umum (mis. server FQDN atau nama ANDA) [server1.canomi.com]: <-- Masukkan nama host server , dalam kasus saya:server1.example.com
Alamat Email []: <-- Tekan EnterMengonfigurasi UFW Firewall
Mengonfigurasi layanan Fail2ban
[INFO] OpenVZ tidak terdeteksi
Mengonfigurasi Aplikasi vhost
Menginstal ISPConfig
Port ISPConfig [8080]:Kata sandi admin [admin]:<-- Masukkan kata sandi pengguna admin ISPConfig yang diinginkan di siniApakah Anda menginginkan koneksi (SSL) yang aman ke antarmuka web ISPConfig (y,n) [y]: <-- Tekan EnterMembuat kunci privat RSA, modulus panjang 4096 bit
.......................++
..... ........................................................ ........................................................ .......................++
e adalah 65537 (0x10001)
Anda akan diminta untuk memasukkan informasi yang akan dimasukkan
ke dalam permintaan sertifikat Anda.
Apa yang akan Anda masukkan adalah apa yang disebut Distinguished Name atau DN.
Ada beberapa bidang tetapi Anda dapat mengosongkannya
Untuk beberapa bidang akan ada nilai default,
Jika Anda memasukkan '.', bidang tersebut akan dibiarkan kosong.
-----
Nama Negara (kode 2 huruf) [AU]: <-- Masukkan 2 huruf kode negara
Nama Negara Bagian atau Provinsi (nama lengkap) [Some-State]: <-- Masukkan nama negara bagian
Nama Lokal (mis., kota) []: <-- Masukkan kota Anda
Nama Organisasi (misalnya, perusahaan) [Internet Widgits Pty Ltd]: <-- Masukkan nama perusahaan atau tekan enter
Nama Unit Organisasi (misalnya, bagian) [] : <-- Tekan Enter
Nama Umum (mis. server FQDN atau nama ANDA) []: <-- Masukkan nama host server, dalam kasus saya:server1.example.com
Alamat Email []: <-- Tekan EnterSilakan masukkan atribut 'ekstra' berikut
untuk dikirim bersama permintaan sertifikat Anda
Sandi tantangan []: <-- Tekan Enter
Nama perusahaan opsional []: <- - Tekan Enter
tulis kunci RSA
Mengonfigurasi DBServer
Menginstal ISPConfig crontab
tidak ada crontab untuk root
tidak ada crontab untuk getmail
Mendeteksi alamat IP
Memulai ulang layanan ...
Instalasi selesai.Pemasang secara otomatis mengonfigurasi semua layanan yang mendasarinya, jadi tidak diperlukan konfigurasi manual.
Setelah itu, Anda dapat mengakses ISPConfig 3 di http(s)://server1.example.com:8080/ atau http(s)://192.168.1.100:8080/ ( http atau https tergantung pada apa yang Anda pilih saat penginstalan). Masuk dengan nama pengguna admin dan kata sandi admin (Anda harus mengubah kata sandi default setelah login pertama Anda):
Sistem sekarang siap digunakan.
20.1 ISPConfig 3 Manual
Untuk mempelajari cara menggunakan ISPConfig 3, saya sangat menyarankan untuk mengunduh Manual ISPConfig 3.
Pada lebih dari 300 halaman, ini mencakup konsep di balik ISPConfig (admin, reseller, klien), menjelaskan cara menginstal dan memperbarui ISPConfig 3, menyertakan referensi untuk semua formulir dan bidang formulir di ISPConfig bersama dengan contoh input yang valid, dan memberikan tutorial untuk tugas paling umum di ISPConfig 3. Ini juga menjelaskan cara membuat server Anda lebih aman dan dilengkapi dengan bagian pemecahan masalah di bagian akhir.
21 Catatan Tambahan
21.1 OpenVZ
Jika server Debian yang baru saja Anda siapkan dalam tutorial ini adalah wadah OpenVZ (mesin virtual), Anda harus melakukan ini pada sistem host (saya berasumsi bahwa ID wadah OpenVZ adalah 101 - ganti dengan VPSID yang benar di sistem Anda):
VPSID=101
untuk CAP di CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS _CHROOT SYS _CHROOT
pada --save
selesai22 Unduhan gambar mesin virtual dari tutorial ini
Tutorial ini tersedia sebagai image mesin virtual siap pakai dalam format ovf/ova yang kompatibel dengan VMWare dan Virtualbox. Gambar mesin virtual menggunakan detail login berikut:
Masuk SSH / Shell
Nama pengguna:administrator
Kata sandi:howtoforgeNama pengguna: root
Sandi:howtoforgeMasuk ISPConfig
Nama pengguna:admin
Kata sandi:howtoforgeMasuk MySQL
Nama pengguna:root
Kata sandi:howtoforgeIP VM adalah 192.168.1.100, dapat diubah di file /etc/network/interfaces. Harap ubah semua kata sandi di atas untuk mengamankan mesin virtual.
23 Tautan
- Debian:http://www.debian.org/
- ISPConfig:http://www.ispconfig.org/