GNU/Linux >> Belajar Linux >  >> Panels >> Panels

Server Sempurna - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3)

Server Sempurna - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3)

Tutorial ini menunjukkan cara menyiapkan server CentOS 7 x86_64 untuk instalasi ISPConfig 3, dan cara menginstal ISPConfig 3 di dalamnya. ISPConfig 3 adalah panel kontrol webhosting yang memungkinkan Anda untuk mengonfigurasi layanan berikut melalui browser web:server web nginx, server surat Postfix, MySQL, server nama BIND, PureFTPd, SpamAssassin, ClamAV, Mailman, dan banyak lagi. Sejak versi 3.0.4, ISPConfig hadir dengan dukungan penuh untuk server web nginx selain Apache; tutorial ini mencakup pengaturan server yang menggunakan nginx, bukan Apache. Tutorial server sempurna Apache ISPConfig 3 tersedia di sini.

Panduan ISPConfig 3

Untuk mempelajari cara menggunakan ISPConfig 3, saya sangat menyarankan untuk mengunduh Manual ISPConfig 3.

Pada sekitar 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.

1. Persyaratan

Untuk menginstal sistem seperti itu, Anda memerlukan yang berikut

  • Unduh dua DVD CentOS 7.0 dari mirror di sebelah Anda (daftar mirror dapat ditemukan di sini:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7.0-1406-x86_64 -DVD.iso.
  • Koneksi internet yang cepat

2. Catatan Awal

Dalam tutorial ini saya menggunakan hostname server1.example.com dengan alamat IP 192.168.0.100 dan gateway 192.168.0.1. Pengaturan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu. Silakan instal instalasi CentOS 7 minimal dari tautan tutorial ini sebelum melanjutkan.

3 Instal editor nano dan sesuaikan /etc/hosts

yum -y instal nano wget

Selanjutnya kita edit /etc/hosts. Jadikan seperti ini:

nano /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.100   server1.example.com     server1

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

dan atur nama host ke server1.example.com:

echo 'server1.example.com'> /etc/hostname

4 Konfigurasi Firewall dan instal beberapa perangkat lunak jaringan dasar

(Anda dapat melewati bab ini jika Anda telah menonaktifkan firewall di akhir penginstalan sistem dasar.)

Saya ingin menginstal ISPConfig di akhir tutorial ini yang dilengkapi dengan firewallnya sendiri. Itu sebabnya saya menonaktifkan firewall CentOS default sekarang. Tentu saja, Anda bebas untuk membiarkannya dan mengonfigurasinya sesuai kebutuhan Anda (tetapi Anda tidak boleh menggunakan firewall lain di kemudian hari karena kemungkinan besar akan mengganggu firewall CentOS).

Jalankan

systemctl stop firewalld.service
systemctl nonaktifkan firewalld.service

[[email protected] ~]# systemctl nonaktifkan firewalld.service
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/ basic.target.wants/firewalld.service'
[[email protected] ~]#

dan menonaktifkan firewall.

Untuk memeriksa apakah firewall benar-benar telah dinonaktifkan, Anda dapat menjalankan

firewall-cmd --state

setelah itu. Outputnya akan terlihat seperti ini:

[[email protected] ~]# firewall-cmd --state
tidak berjalan
[[email protected] ~]#

yum -y install net-tools NetworkManager-tui

5 Nonaktifkan SELinux

SELinux adalah ekstensi keamanan CentOS yang seharusnya memberikan keamanan yang diperluas. Menurut pendapat saya Anda tidak memerlukannya untuk mengkonfigurasi sistem yang aman, dan biasanya menyebabkan lebih banyak masalah daripada keuntungan (pikirkan setelah Anda melakukan pemecahan masalah selama seminggu karena beberapa layanan tidak berfungsi seperti yang diharapkan, dan kemudian Anda mengetahui bahwa semuanya baik-baik saja, hanya SELinux yang menyebabkan masalah). Oleh karena itu saya menonaktifkannya (ini adalah suatu keharusan jika Anda ingin menginstal ISPConfig nanti).

Edit /etc/selinux/config dan atur SELINUX=disabled:

nano /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Setelah itu kita harus me-reboot sistem:

mulai ulang

6 Aktifkan Repositori Tambahan Dan Instal Beberapa Perangkat Lunak

Kami akan mengaktifkan repositori EPEL pada sistem CentOS kami karena banyak paket yang akan kami instal selama tutorial ini tidak tersedia di repositori resmi CentOS 7.0:

yum -y install epel-release

yum -y instal prioritas yum

Edit /etc/yum.repos.d/epel.repo...

nano /etc/yum.repos.d/epel.repo

... dan tambahkan baris priority=10 ke bagian [epel]:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[...]

Kemudian kami memperbarui paket kami yang ada di sistem:

pembaruan yum

Sekarang kita install beberapa paket software yang dibutuhkan nantinya:

yum -y groupinstall 'Alat Pengembangan'

7 Kuota

(Jika Anda telah memilih skema partisi yang berbeda dari saya, Anda harus menyesuaikan bab ini sehingga kuota berlaku untuk partisi yang Anda butuhkan.)

Untuk memasang kuota, kita jalankan perintah ini:

yum -y kuota instal

Sekarang kita periksa apakah kuota sudah diaktifkan untuk sistem file tempat situs web (/var/www) dan data maildir (var/vmail) disimpan. Dalam contoh pengaturan ini, saya memiliki satu partisi root besar, jadi saya mencari ' / ':

gunung | grep ' / '

[[email protected] ~]# mount | grep ' / '
/dev/mapper/centos-root aktif / ketik xfs (rw,relatime,attr2,inode64,noquota)
[[email protected] ~]#

Jika Anda memiliki partisi /var terpisah, gunakan:

gunung | grep ' /var '

sebagai gantinya. Jika baris berisi kata "tidak ada kuota ", lalu lanjutkan dengan langkah-langkah berikut untuk mengaktifkan kuota.

Mengaktifkan kuota pada partisi / (root)

Biasanya Anda akan mengaktifkan kuota di file /etc/fstab, tetapi jika sistem file adalah sistem file root "/", maka kuota harus diaktifkan oleh parameter boot Kernel Linux.

Edit file konfigurasi grub:

nano /etc/default/grub

cari fole baris yang dimulai dengan GRUB_CMDLINE_LINUX dan tambahkan rootflags=uquota,gquota ke parameter commandline sehingga baris yang dihasilkan terlihat seperti ini:

[...]

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap=us rhgb quiet rootflags=uquota,gquota"
[...]

dan terapkan perubahan dengan menjalankan perintah berikut.

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
grub2-mkconfig -o /boot/grub2/grub.cfg

dan reboot server.

mulai ulang

Sekarang periksa apakah kuota diaktifkan:

gunung | grep ' / '

[[email protected] ~]# mount | grep ' / '
/dev/mapper/centos-root pada / ketik xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[[email protected] ~]#

Saat kuota aktif, kita bisa melihat "usrquota,grpquota " dalam daftar opsi pemasangan.

Mengaktifkan kuota pada partisi /var terpisah

Jika Anda memiliki partisi /var terpisah, edit /etc/fstab dan tambahkan ,uquota,gquota ke / partisi (/dev/mapper/centos-var):

nano /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sun Sep 21 16:33:45 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        1 1
/dev/mapper/centos-var /var                     xfs     defaults,uquota,gquota        1 2
UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot                   xfs     defaults        1 3
/dev/mapper/centos-swap swap                    swap    defaults        0 0

Kemudian jalankan

mount -o remount /var

quotacheck -avugm
quotaon -avug

untuk mengaktifkan kuota.

8 Menyinkronkan Jam Sistem

Sebaiknya sinkronkan jam sistem dengan NTP (n etwork t ime p rotocol) server melalui Internet. Cukup jalankan

yum -y install ntp

dan waktu sistem Anda akan selalu sinkron.

9 Instal MariaDB

Kami akan menginstal MariaDB-server dan klien sebagai berikut:

yum -y instal mariadb mariadb-server

Kami ingin layanan Mariadb berjalan saat dan setelah boot, dan memulai layanan sebagai:

systemctl aktifkan mariadb.service
systemctl start mariadb.service

Setel kata sandi untuk akun root MySQL:

mysql_secure_installation

[[email protected] ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation:baris 379:find_mysql_client:perintah tidak ditemukan

CATATAN:MENJALANKAN SEMUA BAGIAN SKRIP INI DIREKOMENDASIKAN UNTUK SEMUA MariaDB
      SERVER YANG DIGUNAKAN PRODUKSI! HARAP BACA SETIAP LANGKAH DENGAN SEKSAMA!

Untuk masuk ke MariaDB untuk mengamankannya, kita memerlukan
sandi saat ini untuk pengguna root. Jika Anda baru saja menginstal MariaDB, dan
Anda belum mengatur kata sandi root, kata sandi akan kosong,
jadi Anda cukup menekan enter di sini.<--ENTER

Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada):<--ENTER
Oke, kata sandi berhasil digunakan, lanjutkan...

Menyetel kata sandi root memastikan bahwa tidak ada yang bisa masuk ke MariaDB
pengguna root tanpa otorisasi yang tepat.

Tetapkan kata sandi root? [Y/n]<--ENTER
Password baru:<--yourmariadbpassword
Masukkan kembali sandi baru:<--yourmariadbpassword
Sandi berhasil diperbarui!
Memuat ulang tabel hak istimewa..
 ... Berhasil!


Secara default, penginstalan MariaDB memiliki pengguna anonim, memungkinkan siapa saja
untuk masuk ke MariaDB tanpa harus membuat akun pengguna untuk
mereka. Ini dimaksudkan hanya untuk pengujian, dan untuk membuat penginstalan
berjalan sedikit lebih lancar. Anda harus menghapusnya sebelum pindah ke
lingkungan produksi.

Hapus pengguna anonim? [Y/n] <--ENTER
 ... Berhasil!

Biasanya, root hanya boleh terhubung dari 'localhost'. Ini
memastikan bahwa seseorang tidak dapat menebak kata sandi root dari jaringan.

Larang login root dari jarak jauh? [Y/n]<--ENTER
 ... Sukses!

Secara default, MariaDB hadir dengan database bernama 'test' yang dapat
akses siapa saja. Ini juga dimaksudkan hanya untuk pengujian, dan harus dihapus
sebelum pindah ke lingkungan produksi.

Hapus database pengujian dan akses ke sana? [Y/n]<--ENTER
 - Menghapus database pengujian...
 ... Berhasil!
 - Menghapus hak istimewa pada database pengujian...
 ... Berhasil!

Memuat ulang tabel hak istimewa akan memastikan bahwa semua perubahan yang dibuat sejauh ini
akan segera berlaku.

Muat ulang tabel hak istimewa sekarang? [Y/n] <--ENTER
 ... Sukses!

Bersihkan...

Selesai! Jika Anda telah menyelesaikan semua langkah di atas, instalasi MariaDB
Anda seharusnya sudah aman.

Terima kasih telah menggunakan MariaDB!
[[email protected] ~]#

10 Instal Dovecot

Dovecot dapat diinstal sebagai berikut:

yum -y instal dovecot dovecot-pigeonhole dovecot-mysql

Buat file dovecot-sql.conf kosong dan symlink:

sentuh /etc/dovecot/dovecot-sql.conf
ln -s /etc/dovecot/dovecot-sql.conf /etc/dovecot-sql.conf

Sekarang buat tautan startup sistem dan mulai Dovecot:

systemctl aktifkan dovecot.service
systemctl start dovecot.service

11 Instal Postfix

Postfix dapat diinstal sebagai berikut:

yum -y instal postfix

Kemudian matikan Sendmail dan mulai Postfix:

systemctl aktifkan mariadb.service
systemctl start mariadb.service
systemctl stop sendmail.service
systemctl nonaktifkan sendmail.service
systemctl aktifkan postfix.service
systemctl restart postfix.service

12 Instal Getmail

Getmail dapat diinstal sebagai berikut:

yum -y instal getmail

13 Instal Amavisd-new, SpamAssassin, Dan ClamAV

Untuk menginstal amavisd-new, spamassassin dan clamav, jalankan perintah berikut:

yum -y install amavisd-new spamassassin clamav clamd clamav-update unzip bzip2 unrar perl-DBD-mysql

Edit file konfigurasi freshclam /etc/freshclam.conf

nano /etc/freshclam.conf

dan beri komentar pada baris "Contoh"

[....]
# Contoh
[....]

Kemudian kita mulai freshclam, amavisd, dan clamd.amavisd:

sa-update
freshclam
systemctl aktifkan amavisd.service

14 Instal Nginx, PHP5 (PHP-FPM), Dan Fcgiwrap

Nginx tersedia sebagai paket untuk CentOS 7.0 (dari EPEL) yang dapat kita instal sebagai berikut:

yum -y instal nginx

Jika Apache2 sudah terinstal di sistem, hentikan sekarang...

systemctl stop httpd.service

... dan hapus tautan startup sistem Apache:

systemctl menonaktifkan httpd.service

Kemudian kami membuat tautan startup sistem untuk nginx dan memulainya:

systemctl aktifkan nginx.service
systemctl start nginx.service

(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 PHP5 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). Kita dapat menginstal php-fpm bersama-sama dengan php-cli dan beberapa modul PHP5 seperti php-mysql yang Anda butuhkan jika Anda ingin menggunakan MySQL dari skrip PHP Anda sebagai berikut:

yum -y install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-magickwand php-mbstring php-mcrypt php- mssql php-snmp php-soap php-tidy

Selanjutnya kita buka /etc/php.ini...

nano /etc/php.ini

... dan ubah pelaporan kesalahan (agar pemberitahuan tidak ditampilkan lagi):

[...]
;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
error_reporting = E_ALL & ~E_NOTICE
[...]

Setel juga cgi.fix_pathinfo=0:

nano /etc/php.ini

[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=0
[...]

(Silakan baca http://wiki.nginx.org/Pitfalls untuk mengetahui mengapa Anda harus melakukan ini.)

Selain itu, untuk menghindari kesalahan seperti

[08-Aug-2011 18:07:08] PHP Peringatan:phpinfo():Tidak aman untuk mengandalkan pengaturan zona waktu sistem. Anda *diwajibkan* untuk menggunakan pengaturan date.timezone atau fungsi date_default_timezone_set(). Jika Anda menggunakan salah satu metode tersebut dan Anda masih mendapatkan peringatan ini, kemungkinan besar Anda salah mengeja pengidentifikasi zona waktu. Kami memilih 'Europe/Berlin' untuk 'CEST/2.0/DST' sebagai gantinya di /usr/share/nginx/html/info.php pada baris 2

... di /var/log/php-fpm/www-error.log ketika Anda memanggil skrip PHP di browser Anda, Anda harus mengatur date.timezone di /etc/php.ini:

[...]
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = "Europe/Berlin"
[...]

Selanjutnya buat tautan startup sistem untuk php-fpm dan mulai:

systemctl aktifkan php-fpm
systemctl restart php-fpm

PHP-FPM adalah proses daemon (dengan skrip init /etc/init.d/php-fpm) yang menjalankan server FastCGI pada port 9000.

Untuk 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.

Karena tidak ada paket fcgiwrap untuk CentOS 7.0, kita harus membuatnya sendiri. Pertama kita install beberapa prasyarat:

yum -y instal fcgi-devel

Sekarang kita dapat membangun fcgiwrap sebagai berikut:

cd /usr/local/src/
git clone git://github.com/gnosek/fcgiwrap.git
cd fcgiwrap
autoreconf -i
./configure
buat
buat pasang

Ini akan menginstal fcgiwrap ke /usr/local/sbin/fcgiwrap.

Selanjutnya kita menginstal paket spawn-fcgi yang memungkinkan kita untuk menjalankan fcgiwrap sebagai daemon:

yum -y instal spawn-fcgi

Buka /etc/sysconfig/spawn-fcgi...

nano /etc/sysconfig/spawn-fcgi

... dan ubah file sebagai berikut:

# You must set some working options before the "spawn-fcgi" service will work.
# If SOCKET points to a file, then this file is cleaned up by the init script.
#
# See spawn-fcgi(1) for all possible options.
#
# Example :
#SOCKET=/var/run/php-fcgi.sock
#OPTIONS="-u apache -g apache -s $SOCKET -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"

FCGI_SOCKET=/var/run/fcgiwrap.socket
FCGI_PROGRAM=/usr/local/sbin/fcgiwrap
FCGI_USER=apache
FCGI_GROUP=apache
FCGI_EXTRA_OPTIONS="-M 0770"
OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- $FCGI_PROGRAM"

Sekarang tambahkan pengguna nginx ke grup apache:

usermod -a -G apache nginx

Buat tautan startup sistem untuk spawn-fcgi...

chkconfig spawn-fcgi aktif

... dan mulai sebagai berikut:

systemctl start spawn-fcgi

Anda sekarang harus menemukan soket fcgiwrap di /var/run/fcgiwrap.socket, yang dimiliki oleh apache pengguna dan grup (beberapa skrip, misalnya Mailman, diharapkan dijalankan oleh pengguna/grup apache, itu sebabnya kami tidak menjalankan spawn -fcgi sebagai pengguna/grup nginx, tetapi sebagai gantinya tambahkan nginx ke grup Apache).

14.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 FastCGI dan PHP-FPM. Prosedur membangun versi PHP tambahan di CentOS dijelaskan dalam tutorial ini:Cara Menggunakan Beberapa Versi PHP (PHP-FPM &FastCGI) Dengan ISPConfig 3 (CentOS 6.3)

Server Sempurna - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3) - Halaman 2

15 Instal phpMyAdmin

Selanjutnya kita install phpMyAdmin:

yum -y instal phpmyadmin

Selanjutnya kita ubah otentikasi di phpMyAdmin dari cookie menjadi http:

nano /etc/phpMyAdmin/config.inc.php

[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Anda sekarang dapat menemukan phpMyAdmin di direktori /usr/share/phpMyAdmin/.

Setelah Anda menginstal ISPConfig 3, 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 untuk 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:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Jika Anda menggunakan https alih-alih http untuk vhost Anda, Anda harus menambahkan baris fastcgi_param HTTPS di; ke konfigurasi phpMyAdmin Anda seperti ini:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS on; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Jika Anda menggunakan http dan https untuk vhost, Anda dapat menggunakan variabel $https - buka lagi bidang Arahan nginx, dan alih-alih fastcgi_param HTTPS aktif; Anda menambahkan baris fastcgi_param HTTPS $https; sehingga Anda dapat menggunakan phpMyAdmin untuk permintaan http dan https:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS $https; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

16 Instal Mailman

Sejak versi 3.0.4, ISPConfig juga memungkinkan Anda untuk mengelola (membuat/memodifikasi/menghapus) milis Mailman. Jika Anda ingin menggunakan fitur ini, instal Mailman sebagai berikut:

yum -y instal tukang pos

Sebelum kita dapat memulai Mailman, milis pertama yang disebut mailman harus dibuat:

sentuh /var/lib/mailman/data/aliases
sentuh /etc/mailman/aliases
/usr/lib/mailman/bin/newlist mailman

[[email protected] tmp]# /usr/lib/mailman/bin/newlist mailman
Masukkan email orang yang menjalankan daftar: <-- alamat email admin, mis. [email protected]
Sandi mailman awal: <-- admin password for the mailman list
Untuk menyelesaikan pembuatan milis, Anda harus mengedit file /etc/aliases (atau
setara) Anda dengan menambahkan baris berikut, dan mungkin menjalankan program
`newaliases':

## mailman milis
mailman:            "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:       "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:     "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:       "|/usr/lib/mailman/mail/mailman join mailman"
mailman -leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:       "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:     " |/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailma n-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Tekan enter untuk memberi tahu pemilik mailman... <-- ENTER

[example @unixlinux.online tmp]#

Buka /etc/aliases setelahnya...

nano /etc/alias

... dan tambahkan baris berikut:

[...]
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Jalankan

alias baru

setelah itu dan mulai ulang Postfix:

systemctl restart postfix.service

Buat tautan startup sistem untuk Mailman dan mulai:

systemctl aktifkan mailman.service
systemctl start mailman.service

Sekarang kita perlu membuat symlink ini untuk membuat Mailman bekerja dengan ISPConfig:

cd /usr/lib/mailman/cgi-bin/
ln -s ./ mailman

Jika Anda ingin menggunakan Mailman dari situs web Anda yang dibuat melalui ISPConfig, 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 dari mana Anda ingin mengakses Mailman.

Untuk melakukannya, rekatkan yang berikut ini ke bidang Arahan nginx pada tab Opsi situs web di ISPConfig:

        location /cgi-bin/mailman {
               alias /usr/lib/mailman/cgi-bin;
               fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
               include /etc/nginx/fastcgi_params;
               fastcgi_param SCRIPT_FILENAME /usr/lib/mailman$fastcgi_script_name;
               fastcgi_param PATH_INFO $fastcgi_path_info;
               fastcgi_param PATH_TRANSLATED /usr/lib/mailman$fastcgi_path_info;
               fastcgi_intercept_errors on;
               fastcgi_pass unix:/var/run/fcgiwrap.socket;
        }

        location /images/mailman {
               alias /usr/lib/mailman/icons;
        }

        location /pipermail {
               alias /var/lib/mailman/archives/public;
               autoindex on;
        }

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.

17 Instal PureFTPd

PureFTPd dapat diinstal dengan perintah berikut:

yum -y install pure-ftpd

Kemudian buat tautan startup sistem dan mulai PureFTPd:

systemctl aktifkan pure-ftpd.service
systemctl start pure-ftpd.service

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.

OpenSSL dibutuhkan oleh TLS; untuk menginstal OpenSSL, kita cukup menjalankan:

yum -y install openssl

Buka /etc/pure-ftpd/pure-ftpd.conf...

nano /etc/pure-ftpd/pure-ftpd.conf

Jika Anda ingin mengizinkan sesi FTP dan TLS, setel TLS ke 1:

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      1
[...]

Untuk 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.pem

Nama Negara (kode 2 huruf) [XX]:<-- Masukkan Nama Negara Anda (mis., "DE").
Nama Negara Bagian atau Provinsi (nama lengkap) []:<-- Masukkan Nama Negara Bagian atau Provinsi Anda .
Nama Lokalitas (mis., kota) [Kota Bawaan]:<-- Masukkan Kota Anda.
Nama Organisasi (mis., perusahaan) [Perusahaan Default Ltd]:<-- Masukkan Nama Organisasi Anda (mis. , nama perusahaan Anda).
Nama Unit Organisasi (mis., bagian) []:<-- Masukkan Nama Unit Organisasi Anda (mis. "Departemen TI").
Nama Umum (mis., nama Anda atau nama host server Anda) []:<-- Masukkan Nama Domain yang Memenuhi Syarat dari sistem (misalnya "server1.example.com").
Alamat Email []:<-- Masukkan Alamat Email Anda.

Ubah izin sertifikat SSL:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Akhirnya restart PureFTPd:

systemctl restart pure-ftpd.service

Itu dia. Anda sekarang dapat mencoba terhubung menggunakan klien FTP Anda; namun, Anda harus mengonfigurasi klien FTP Anda untuk menggunakan TLS.

18 Instal BIND

Kita dapat menginstal BIND sebagai berikut:

yum -y install bind bind-utils

Selanjutnya buka /etc/sysconfig/named...

nano /etc/sysconfig/named

... dan pastikan bahwa baris ROOTDIR=/var/named/chroot dikomentari:

# BIND named process options
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# OPTIONS="whatever"     --  These additional options will be passed to named
#                            at startup. Don't add -t here, enable proper
#                            -chroot.service unit file.

Buat cadangan file /etc/named.conf yang ada dan buat yang baru sebagai berikut:

cp /etc/named.conf /etc/named.conf_bak
cat /dev/null> /etc/named.conf
nano /etc/named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        recursion no;
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.conf.local";

Buat file /etc/named.conf.local yang disertakan di akhir /etc/named.conf (/etc/named.conf.local nantinya akan diisi oleh ISPConfig jika Anda membuat zona DNS di ISPConfig):

sentuh /etc/named.conf.local

Kemudian kami membuat tautan startup dan memulai BIND:

systemctl aktifkan bernama.layanan
systemctl mulai bernama.layanan

19 Instal Webalizer Dan AWStats

Webalizer dan AWStats dapat diinstal sebagai berikut:

yum -y instal webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

20 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!):

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit-2.17
./configure
make
make install
cd ..
rm -rf jailkit-2.17*

21 Instal fail2ban

Ini opsional tetapi disarankan, karena monitor ISPConfig mencoba menampilkan log:

yum -y instal fail2ban

Kita harus mengkonfigurasi fail2ban untuk masuk ke file log /var/log/fail2ban.log karena ini adalah file log yang dipantau oleh modul Monitor ISPConfig. Buka /etc/fail2ban/fail2ban.conf...

nano /etc/fail2ban/fail2ban.conf

... dan pastikan logtarget =/var/log/fail2ban.log :

[...]
# Option: logtarget
# Notes.: Set the log target. This could be a file, SYSLOG, STDERR or STDOUT.
#         Only one log target can be specified.
#         If you change logtarget from the default value and you are
#         using logrotate -- also adjust or disable rotation in the
#         corresponding configuration file
#         (e.g. /etc/logrotate.d/fail2ban on Debian systems)
# Values: [ STDOUT | STDERR | SYSLOG | FILE ]  Default: STDERR
#
logtarget = /var/log/fail2ban.log

[...]

Kemudian buat tautan startup sistem untuk fail2ban dan mulai:

systemctl aktifkan fail2ban.service
systemctl start fail2ban.service

22 Instal rkhunter

rkhunter dapat diinstal sebagai berikut:

yum -y instal rkhunter

Server Sempurna - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3) - Halaman 3

23 Instal RoundcubeMail

Untuk menginstal klien webmail Roundcube, jalankan...

yum -y instal roundcubemail

ISPConfig berisi alias webmail default untuk squirremail di dalam aplikasi vhost. Kami akan menggunakan alias itu untuk roundcube yang lebih modern, jadi kami membuat symlink dengan nama squirrelmail di /usr/share

ln -s /usr/share/roundcubemail /usr/share/squirrelmail

Setelah Anda menginstal ISPConfig 3, Anda dapat mengakses RoundcubeMail sebagai berikut:

Aplikasi ISPConfig vhost pada port 8081 untuk nginx dilengkapi dengan konfigurasi alias /webmail, sehingga Anda dapat menggunakan  http://server1.example.com:8081/webmail untuk mengakses RoundcubeMail.

Jika Anda ingin menggunakan /webmail atau /roundcubemail 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 menentukan alias ini untuk masing-masing vhost tempat Anda ingin mengakses SquirrelMail.

Untuk melakukannya, tempel kode berikut ke dalam bidang nginx Directives pada tab Opsi situs web di ISPConfig:

Untuk melakukannya, rekatkan yang berikut ini ke bidang Arahan nginx pada tab Opsi situs web di ISPConfig:

        location /roundcubemail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcubemail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcubemail last;
        }

Jika Anda menggunakan https alih-alih http untuk vhost Anda, Anda harus menambahkan baris fastcgi_param HTTPS di; ke konfigurasi RoundcubeMail Anda seperti ini:

        location /roundcubemail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcubemail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS on; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcubemail last;
        }

Jika Anda menggunakan http dan https untuk vhost, Anda dapat menggunakan variabel $https - buka lagi bidang Arahan nginx, dan alih-alih fastcgi_param HTTPS aktif; Anda menambahkan baris fastcgi_param HTTPS $https; sehingga Anda dapat menggunakan RoundcubeMail untuk permintaan http dan https:

        location /roundcubemail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcubemail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS $https; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /squirrelmail last;
        }

Sekarang kita membutuhkan database untuk surat roundcube, kita akan menginisialisasinya sebagai berikut:

mysql -u root -p

Saat mariadb gunakan prompt:

BUAT DATABASE roundcubedb;
BUAT contoh [email protected] DIIDENTIFIKASI OLEH 'roundcubepassword';
BERIKAN SEMUA HAK ISTIMEWA di roundcubedb.* ke [email protected];
HAK ISTIMEWA FLUSH;
keluar

Saya menggunakan detail untuk database roundcube sebagai ujian, harap ganti nilainya sesuai pilihan Anda untuk alasan keamanan. Kami akan menyelesaikan instalasi roundcube setelah menginstal ISPConfig.

24 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...

systemctl stop httpd.service

... dan hapus tautan startup sistem Apache:

systemctl menonaktifkan httpd.service

Pastikan nginx berjalan:

systemctl restart nginx.service

(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.)

Unduh versi ISPConfig 3 saat ini dan instal. Penginstal ISPConfig akan mengonfigurasi semua layanan seperti Postfix, Dovecot, dll. untuk Anda. Pengaturan manual seperti yang diperlukan untuk ISPConfig 2 tidak diperlukan lagi.

Anda sekarang juga memiliki kemungkinan untuk membiarkan penginstal membuat vhost SSL untuk panel kontrol ISPConfig, sehingga ISPConfig dapat diakses menggunakan https:// alih-alih http://. Untuk mencapai ini, cukup tekan ENTER ketika Anda melihat pertanyaan ini:Apakah Anda menginginkan koneksi yang aman (SSL) ke antarmuka web ISPConfig (y,n) [y]:.

Untuk menginstal ISPConfig 3 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 /instal/

Langkah selanjutnya adalah menjalankan

php -q install.php

Ini akan memulai penginstal ISPConfig 3:

[[email protected] install]# php -q install.php


----------------------- -------------------------------------------------- -------
 _____ _________   _____            __ _        ____
|_   _/  ___| _ \ /  __ \           / _(_)       /__  \
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
  | | `--. \  __/  | | / _ \| '_ \| _| |/ _` | |_ |
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
 \___/\____/\_|     \____/\___/|_| |_|_| |_|\__, | \____/
                                                      |
                                      |___/
-------------------------------------- --------------------------------------------------


>> Konfigurasi awal

Sistem Operasi: Redhat atau versi yang kompatibel, tidak diketahui.

    Berikut adalah beberapa pertanyaan untuk konfigurasi utama jadi hati-hati.
    Nilai default di [kurung] dan dapat diterima dengan .
    Ketuk dalam "keluar" (tanpa tanda kutip) untuk menghentikan pemasang.


Pilih bahasa (en,de) [en]: <-- ENTER

Mode instalasi (standard,expert) [standard]: <-- ENTER

Hostname berkualifikasi lengkap (FQDN) dari server, misalnya server1.domain.tld  [server1.example.com]: <-- ENTER

MySQL server hostname [localhost]: <-- ENTER

MySQL root username [root]: <-- ENTER

MySQL root password []: <- - yourrootsqlpassword

MySQL database untuk membuat [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Apache dan nginx terdeteksi. Pilih server yang akan digunakan untuk ISPConfig:(apache,nginx) [apache]:<-- nginx

Membuat kunci pribadi RSA 2048 bit
.......... ........................................................ .........+++
.................................. .............+++
menulis kunci pribadi baru ke 'smtpd.key'
-----
Anda akan diminta untuk masukkan informasi yang akan dimasukkan ke dalam permintaan sertifikat Anda.
Yang akan Anda masukkan adalah apa yang disebut Nama Terhormat atau DN. beberapa kosong
Untuk beberapa bidang akan ada nilai default,
Jika Anda memasukkan '.', bidang akan dikosongkan.
-----
Nama Negara ( 2 kode huruf) [XX]: <-- ENTER
Nama Negara atau Provinsi (nama lengkap) []: <-- ENTER
Nama Lokal (mis., kota) [Kota Default]: <-- MASUKKAN
Nama Organisasi (mis., perusahaan) [Default Perusahaan Ltd]: <-- MASUKKAN
Nama Unit Organisasi (mis., bagian) []: <-- ENTER
Nama Umum (mis., Anda n ame atau nama host server Anda) []: <-- ENTER
Email Address []: <-- ENTER
Mengonfigurasi Jailkit
Mengonfigurasi Dovecot
Mengonfigurasi Spamassassin
Mengonfigurasi Amavisd
Mengonfigurasi Getmail
Mengonfigurasi Pureftpd
Mengonfigurasi BIND
Mengonfigurasi nginx
Mengonfigurasi Vlogger
Mengonfigurasi Apps vhost
Mengonfigurasi Bastille Firewall
Mengonfigurasi Fail2ban
Memasang ISPConfig
ISPConfig Port [8080]: <-- ENTER

Apakah Anda ingin koneksi (SSL) aman ke antarmuka web ISPConfig (y,n) [y] : <-- ENTER

Membuat kunci pribadi RSA, modulus panjang 4096 bit
........................ ...................................++
......... ........................................................ ................++
e adalah 65537 (0x10001)
Anda akan diminta untuk memasukkan informasi yang akan digabungkan
ke dalam permintaan sertifikat Anda.
Yang akan Anda masukkan adalah apa yang disebut dengan Nama Terhormat atau DN.
Di sana ada beberapa bidang tetapi Anda dapat mengosongkan beberapa 
Untuk beberapa bidang akan ada nilai default,
Jika Anda masuk '.', bidang akan dikosongkan.
---- --
Nama Negara (2 kode huruf) [XX]: <-- ENTER
Nama Negara atau Provinsi (nama lengkap) []: <-- ENTER
Nama Lokal (mis., kota ) [Kota Default]: <-- MASUKKAN
Nama Organisasi (mis., perusahaan) [Perusahaan Default Ltd]: <-- MASUKKAN
Nama Unit Organisasi (mis., bagian) []: <-- ENTER
Nama Umum (misalnya, nama Anda atau nama host server Anda) []: <-- ENTER
Alamat Email []: <-- ENTER

Masukkan tambahan berikut ' atribut
untuk dikirim dengan permintaan sertifikat Anda
Sandi tantangan []: <-- ENTER
Nama perusahaan opsional []: <-- ENTER
menulis kunci RSA
Mengonfigurasi DBServer
Menginstal ISPConfig crontab
no crontab for root
no crontab for getmail
Memulai ulang layanan ...
Menghentikan mysqld:                        >Mulai mysqld:[ok]
Mematikan postfix:[ok]
Mulai postfix:[ok]
Menghentikan saslauthd:[gagal]
Memulai saslauthd:[ok]
Mematikan AMAVISD:Daemon [1554] Diakhiri oleh Sigterm
[OK]
AMAVISD Berhenti
Memulai AMAVISD:[OK]

Menghentikan clamd.AmAVISD:[OK]
Mulai clamd.amavisd:[ok]
Menghentikan dovecot imap:[ok]
Memulai dovecot imap:[ok]
Muat ulang php-fpm:[ok]
Memuat ulang nginx:                        [OK]
Menghentikan Pure-FTPD:[OK]
Memulai Pure-FTPD:[OK]
Instalasi selesai.
[[email protected] Instal]#

Untuk memperbaiki kesalahan Mailman yang mungkin Anda dapatkan selama instalasi ISPConfig, buka /usr/lib/mailman/Mailman/mm_cfg.py...

vi /usr/lib/mailman/Mailman/mm_cfg.py

... dan atur DEFAULT_SERVER_LANGUAGE ='en':

[...]
#-------------------------------------------------------------
# The default language for this server.
DEFAULT_SERVER_LANGUAGE = 'en'
[...]

Mulai ulang Mailman:

systemctl restart mailman.service

Sekarang saya akan menyelesaikan instalasi RoundcubeMail. Buka URL berikut di browser Anda:

http://192.168.0.100:8081/roundcubemail/installer

Anda akan disambut oleh penginstal web RoundcubeMail, gulir ke bawah halaman dan klik berikutnya:

Kemudian masukkan detail database dari database roundcubedb yang kita buat di bab 23 di sini:

Atur server SMTP ke localhost dan atur bahasa pilihan Anda

dan klik "Buat konfigurasi" untuk membuka halaman berikutnya.

Buka file /etc/roundcubemail/config.inc.php pada shell:

nano /etc/roundcubemail/config.inc.php

dan rekatkan konfigurasi yang ditampilkan di penginstal web ke dalam file itu dan simpan file tersebut.

<?php

/* Local configuration for Roundcube Webmail */

// ----------------------------------
// SQL DATABASE
// ----------------------------------
// Database connection string (DSN) for read+write operations
// Format (compatible with PEAR MDB2): db_provider://user:[email protected]/database
// Currently supported db_providers: mysql, pgsql, sqlite, mssql or sqlsrv
// For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php
// NOTE: for SQLite use absolute path: 'sqlite:////full/path/to/sqlite.db?mode=0646'
$config['db_dsnw'] = 'mysql://roundcubeuser:[email protected]/roundcubedb';

// ----------------------------------
// IMAP
// ----------------------------------
// The mail host chosen to perform the log-in.
// Leave blank to show a textbox at login, give a list of hosts
// to display a pulldown menu or set one host as string.
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// Supported replacement variables:
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
// %s - domain name after the '@' from e-mail address provided at login screen
// For example %n = mail.domain.tld, %t = domain.tld
// WARNING: After hostname change update of mail_host column in users table is
//          required to match old user data records with the new host.
$config['default_host'] = 'localhost';

// ----------------------------------
// SMTP
// ----------------------------------
// SMTP server host (for sending mails).
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// If left blank, the PHP mail() function is used
// Supported replacement variables:
// %h - user's IMAP hostname
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
// %z - IMAP domain (IMAP hostname without the first part)
// For example %n = mail.domain.tld, %t = domain.tld
$config['smtp_server'] = 'localhost';

// provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config['support_url'] = '';

// this key is used to encrypt the users imap password which is stored
// in the session record (and the client cookie if remember password is enabled).
// please provide a string of exactly 24 chars.
$config['des_key'] = 'lsd7O6Xl_SAPcDf*yH4rL$&h';

// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$config['plugins'] = array();

// the default locale setting (leave empty for auto-detection)
// RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR
$config['language'] = 'en_US';

// Set the spell checking engine. Possible values:
// - 'googie'  - the default
// - 'pspell'  - requires the PHP Pspell module and aspell installed
// - 'enchant' - requires the PHP Enchant module
// - 'atd'     - install your own After the Deadline server or check with the people at http://www.afterthedeadline.com before using their API
// Since Google shut down their public spell checking service, you need to 
// connect to a Nox Spell Server when using 'googie' here. Therefore specify the 'spellcheck_uri'
$config['spellcheck_engine'] = 'pspell';

Kemudian kembali ke penginstal web dan klik tombol lanjutkan. Pada halaman ini, klik "inisialisasi database":

Halaman akan terlihat seperti ini setelah inisialisasi database berhasil:

Untuk melindungi konfigurasi RoundcubeMail dari modifikasi yang tidak sah, saya akan menghapus folder penginstal dengan menjalankan perintah ini di shell:

rm -rf /usr/share/roundcubemail/installer

25 Login ISPConfig Pertama

Setelah itu Anda dapat mengakses ISPConfig 3 di bawah http(s)://server1.example.com:8080/ atau http(s)://192.168.0.100:8080/ (http atau https tergantung pada apa yang Anda pilih saat instalasi). Masuk dengan nama pengguna admin dan kata sandi admin (Anda harus mengubah kata sandi default setelah login pertama Anda):

Selanjutnya kita harus menyesuaikan jalur konfigurasi BIND di ISPConfig. Klik "Sistem" di menu atas, lalu "Konfigurasi server" di menu kanan. Pada daftar yang muncul kemudian di sisi kiri, klik nama server.

Buka tab "DNS" pada formulir:

dan masukkan jalur DNS sebagai berikut:

Direktori file zona BIND:/var/named
BIND bernama.conf jalur:/etc/named.conf
BIND bernama.conf.local jalur:/etc/named.conf.local

Sistem sekarang siap digunakan.

Jika Anda ingin menggunakan alamat IPv6 dengan nginx vhost Anda, lakukan hal berikut sebelum Anda membuat vhost IPv6 di ISPConfig:

Buka /etc/sysctl.conf...

vi /etc/sysctl.conf

... dan tambahkan baris net.ipv6.bindv6only =1:

[...]
net.ipv6.bindv6only = 1

Jalankan...

sysctl -p

... setelah itu agar perubahan diterapkan.

25.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.

  • CentOS:http://www.centos.org/
  • ISPConfig:http://www.ispconfig.org/

Panels
  1. Server Sempurna – CentOS 7 (Apache2, Dovecot, ISPConfig 3)

  2. Server Sempurna - OpenSUSE 12.3 x86_64 (nginx, Dovecot, ISPConfig 3)

  3. Server Sempurna - CentOS 5.6 x86_64 [ISPConfig 2]

  1. Server Sempurna - CentOS 6.1 x86_64 Dengan Apache2 [ISPConfig 3]

  2. Server Sempurna - OpenSUSE 12.1 x86_64 Dengan Nginx [ISPConfig 3]

  3. Server Sempurna - CentOS 5.7 x86_64 [ISPConfig 2]

  1. Server Sempurna - CentOS 5.7 x86_64 [ISPConfig 3]

  2. Server Sempurna - CentOS 6.0 x86_64 [ISPConfig 2]

  3. Server Sempurna - CentOS 6.0 x86_64 [ISPConfig 3]