GNU/Linux >> Belajar Linux >  >> Cent OS

Server Sempurna CentOS 8 dengan Apache, PHP, Postfix, Dovecot, Pure-FTPD, BIND dan ISPConfig 3.2

Tutorial ini menunjukkan instalasi ISPConfig 3.2 pada server CentOS 8 (64Bit). ISPConfig adalah panel kontrol hosting web yang memungkinkan Anda mengonfigurasi layanan berikut melalui browser web:server web Apache, PHP, server email Postfix, MySQL, server nama BIND, PureFTPd, SpamAssassin, ClamAV, Mailman, dan banyak lagi.

1 Persyaratan

Untuk menginstal sistem seperti itu, Anda memerlukan yang berikut:

  • Sistem server minimal Centos 8. Ini bisa berupa server yang diinstal dari awal seperti yang dijelaskan dalam tutorial server minimal Centos 8 kami atau server virtual atau root-server dari perusahaan hosting yang menginstal minimal konfigurasi Centos 8.
  • 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. Setelan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.

3 Siapkan server

Menyetel tata letak keyboard

Jika tata letak keyboard server tidak cocok dengan keyboard Anda, Anda dapat beralih ke keyboard yang tepat (dalam kasus saya "de" untuk tata letak keyboard Jerman, dengan perintah localectl:

locallectl set-keymap de

Untuk mendapatkan daftar semua peta kunci yang tersedia, jalankan:

locallectl list-keymaps

Saya ingin menginstal ISPConfig di akhir tutorial ini, ISPConfig dikirimkan dengan skrip firewall Bastille yang akan saya gunakan sebagai firewall, oleh karena itu saya menonaktifkan firewall CentOS default sekarang. Tentu saja, Anda bebas untuk membiarkan firewall CentOS menyala dan mengonfigurasinya sesuai kebutuhan Anda (tetapi Anda tidak boleh menggunakan firewall lain di kemudian hari karena kemungkinan besar akan mengganggu firewall CentOS).

Jalankan...

dnf -y install net-tools wget rsyslog curl
systemctl stop firewalld.service
systemctl nonaktifkan firewalld.service

untuk menghentikan dan menonaktifkan firewall CentOS. Tidak apa-apa jika Anda mendapatkan kesalahan di sini, ini hanya menunjukkan bahwa firewall tidak diinstal.

Maka Anda harus memeriksa apakah firewall benar-benar telah dinonaktifkan. Untuk melakukannya, jalankan perintah:

iptables -L

Outputnya akan terlihat seperti ini:

[[email protected] ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt ​​source destination
Rantai MAJU (kebijakan DITERIMA)
target tujuan sumber opt prot
Rantai OUTPUT (kebijakan ACCEPT)
target tujuan sumber opt prot

Atau gunakan perintah firewall-cmd:

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

Sekarang saya akan menginstal editor konfigurasi jaringan dan editor berbasis shell "nano" yang akan saya gunakan pada langkah selanjutnya untuk mengedit file konfigurasi:

dnf -y install nano wget NetworkManager-tui yum-utils

Jika Anda tidak mengonfigurasi kartu jaringan Anda selama penginstalan, Anda dapat melakukannya sekarang. Jalankan...

nmtui

... dan pergi ke Edit koneksi:

Pilih antarmuka jaringan Anda:

Kemudian isi detail jaringan Anda - nonaktifkan DHCP dan isi alamat IP statis, netmask, gateway Anda, dan satu atau dua server nama, lalu tekan Ok:

Selanjutnya pilih OK untuk mengonfirmasi perubahan yang Anda buat di pengaturan jaringan

dan Keluar untuk menutup alat konfigurasi jaringan nmtui.

Anda harus menjalankan

ifconfig

sekarang untuk memeriksa apakah penginstal mendapatkan alamat IP Anda dengan benar:

[[email protected] ~]# ifconfig
ens33:flags=4163  mtu 1500
        inet 192.168.0.100  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::20c:29ff:feee:b665  prefixlen 64  scopeid 0x20
        inet6 2003:e1:bf22:1b00:20c:29ff:feee:b665  prefixlen 64  scopeid 0x0
        ether 00:0c:29:ee:b6:65  txqueuelen 1000  (Ethernet)
        Paket RX 2874  byte 1369892 (1,3 MiB)
        Kesalahan RX 0  menjatuhkan 546    paket TX melebihi 0    paket melebihi 0         ether 00:0c:29:ee:b6:65  txqueuelen 1000 968  byte 160901 (157.1 KiB)
        Kesalahan TX 0  menjatuhkan 0 melampaui 0  pembawa 0  tabrakan 0
lo:flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
    tx  1000  (Loopback Lokal)
        Paket RX 0  byte 0 (0,0 B)
        Kesalahan RX 0  turun 0  melampaui 0  frame 0
        Paket TX 0  byte 0 (0,0 B)  TX 0  menjatuhkan 0 melampaui 0  pembawa 0  tabrakan 0

Jika kartu jaringan Anda tidak muncul di sana, maka itu tidak diaktifkan saat boot. Dalam hal ini, buka file /etc/sysconfig/network-scripts/ifcfg-eth0

nano /etc/sysconfig/network-scripts/ifcfg-ens33

dan atur ONBOOT ke ya:

[...]
ONBOOT=ya
[...]

dan reboot server.

Periksa /etc/resolv.conf Anda jika daftar semua server nama yang telah Anda konfigurasikan sebelumnya:

cat /etc/resolv.conf

Jika server nama tidak ada, jalankan

nmtui

dan tambahkan lagi server nama yang hilang.

Sekarang, ke konfigurasi...

Menyesuaikan /etc/hosts dan /etc/hostname

Selanjutnya, kita akan mengedit /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

Setel nama host di file /etc/hostname. File harus berisi nama domain yang sepenuhnya memenuhi syarat (misalnya server1.example.com dalam kasus saya) dan bukan hanya nama pendek seperti "server1". Buka file dengan editor nano:

nano /etc/hostname

Dan atur nama host di file tersebut.

server1.example.com

Simpan file dan keluar dari nano.

Setel SELinux ke permisif

SELinux adalah ekstensi keamanan CentOS yang seharusnya memberikan keamanan yang diperluas. ISPConfig tidak dikirimkan dengan kumpulan aturan SELinux, oleh karena itu saya menyetelnya ke permisif (ini adalah suatu keharusan jika Anda ingin menginstal ISPConfig nanti).

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

nano /etc/selinux/config
# File ini mengontrol status SELinux pada sistem.# SELINUX=dapat mengambil salah satu dari tiga nilai berikut:# enforcing - Kebijakan keamanan SELinux diberlakukan.# permissive - SELinux mencetak peringatan alih-alih menegakkan.# dinonaktifkan - Tidak ada SELinux kebijakan dimuat.SELINUX=permissive# SELINUXTYPE=dapat mengambil salah satu dari dua nilai ini:# tertarget - Proses yang ditargetkan dilindungi,# mls - Perlindungan Keamanan Multi Level.SELINUXTYPE=targeted

Setelah itu kita harus me-reboot sistem:

boot ulang

4 Aktifkan Repositori Tambahan dan Instal Beberapa Software

Pertama, kami mengimpor kunci GPG untuk paket perangkat lunak:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

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

dnf -y install epel-release

Aktifkan Alat-Alat Listrik:

dnf config-manager --set-enabled powertools

Kemudian kami memperbarui paket kami yang ada di sistem:

dnf -y update

Sekarang kita install beberapa paket software yang dibutuhkan nantinya:

dnf -y groupinstall 'Alat Pengembangan'

5 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:

dnf -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 ' / ':

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

Jika Anda memiliki partisi /var terpisah, gunakan:

pasang | 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 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="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap 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.

boot ulang

Sekarang periksa apakah kuota diaktifkan:

pasang | grep ' / '
[[dilindungi email] ~]# mount | grep ' / '
/dev/mapper/centos-root on / 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
# Dibuat oleh anaconda pada Minggu 21 Sep 16:33:45 2014
#
# Sistem file yang dapat diakses, dengan referensi , dipertahankan di bawah '/dev/disk'
# Lihat halaman manual fstab(5), findfs(8), mount(8) dan/atau blkid(8) untuk info lebih lanjut
#
/dev/mapper/centos-root / xfs default 1 1
/dev/mapper/centos-var /var xfs defaults,uquota,gquota 1 2
UUID=9ac06939-7e43-4efd-957a- 486775edd7b4 /boot xfs default 1 3
/dev/mapper/centos-swap swap swap default 0 0

Kemudian jalankan

mount -o remount /var
quotacheck -avugm
quotaon -avug

untuk mengaktifkan kuota. Ketika Anda mendapatkan kesalahan bahwa tidak ada partisi dengan kuota diaktifkan, reboot server sebelum melanjutkan.

6 Instal Apache, PHP, MySQL, dan phpMyAdmin

Aktifkan repositori Remi untuk mendapatkan versi PHP yang lebih baru (saat ini PHP 7.4):

dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf -y install yum-utils
dnf -y modul reset php
dnf -y modul instal php:remi-7.4
dnf update

Kita dapat menginstal paket yang dibutuhkan dengan satu perintah:

dnf -y install httpd mod_ssl mariadb-server php php-mysqlnd php-mbstring

Untuk memastikan bahwa server tidak dapat diserang melalui kerentanan HTTPOXY, kami akan menonaktifkan header HTTP_PROXY di Apache secara global.

Tambahkan aturan header Apache di akhir file httpd.conf:

echo "RequestHeader unset Proxy lebih awal">> /etc/httpd/conf/httpd.conf

Dan restart httpd untuk menerapkan perubahan konfigurasi.

layanan httpd restart

Instal phpMyAdmin:

cd /tmp
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.tar.gz
tar xzvf phpMyAdmin-5.0. 2-all-languages.tar.gz
mkdir /usr/share/phpmyadmin
mv phpMyAdmin-5.0.2-all-languages/* /usr/share/phpmyadmin/
mkdir /usr /share/phpmyadmin/tmp
chown -R apache:apache /usr/share/phpmyadmin
chmod 777 /usr/share/phpmyadmin/tmp

Opsional:Ubah Modul Apache MPM

CentOS 8 menggunakan modul Apache MPM Event secara default, ini bagus di satu sisi, karena memungkinkan Anda untuk menggunakan protokol HTTP/2. Di sisi lain, itu tidak memungkinkan Anda untuk menggunakan modul apache mod_php. Secara umum, seseorang harus menggunakan PHP-FPM sebagai default hari ini dan ISPConfig mendukungnya. Jika Anda memerlukan mode mod_php lama untuk alasan kompatibilitas, maka Anda dapat mengganti Apache MPM seperti ini:

nano /etc/httpd/conf.modules.d/00-mpm.conf

Tambahkan # di depan baris acara MPM sehingga terlihat seperti ini:

# LoadModule mpm_event_module modules/mod_mpm_event.so

Kemudian hilangkan tanda # in dari baris MPM Prefork, sehingga menjadi seperti ini:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Kemudian restart httpd untuk menerapkan perubahan konfigurasi.

layanan httpd restart

7 Instal Dovecot

Dovecot dapat diinstal sebagai berikut:

dnf -y instal dovecot dovecot-mysql dovecot-pigeonhole

Buat file dovecot-sql.conf kosong dan buat symlink:

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

Sekarang buat tautan startup sistem dan mulai Dovecot:

systemctl aktifkan dovecot
systemctl start dovecot

8 Instal Postfix

Postfix dapat diinstal sebagai berikut:

dnf -y install postfix postfix-mysql

Selanjutnya, buka TLS/SSL dan port pengiriman di Postfix:

nano /etc/postfix/master.cf

Batalkan komentar pada bagian pengiriman dan smtps sebagai berikut dan tambahkan baris jika perlu sehingga bagian file master.cf ini terlihat persis seperti di bawah ini. PENTING: Hapus # di depan baris yang dimulai dengan smtps dan submit juga dan bukan hanya dari baris -o setelah baris ini!

[...]
pengajuan inet n - n - - 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=tidak
# -o smtpd_client_restrictions=$mua_client_restrictions
# =$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smt -o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=ya
-o smtpd_sasl_auth_enable=ya
-o smtpd_client_restrictions=izin_sasl_# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_se nder_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,tolak
# -o milter_macro_daemon_name
[...ORIGINATING]

Kemudian matikan Sendmail dan mulai Postfix dan MariaDB (MySQL):

systemctl aktifkan mariadb.service
systemctl start mariadb.service
systemctl aktifkan postfix.service
systemctl restart postfix.service

Kami menonaktifkan sendmail untuk memastikan bahwa itu tidak memulai jika diinstal di server Anda. Jadi pesan kesalahan "Gagal mengeluarkan panggilan metode:Unit sendmail.service tidak dimuat." dapat diabaikan.

Untuk mengaktifkan dukungan bagi perangkat lama/usang, jalankan perintah ini (opsional, hanya gunakan saat Anda ingin perangkat email lama terhubung karena melemahkan penyiapan SSL/TLS dengan mengizinkan sandi yang kurang aman):

perbarui-crypto-policies --set LEGACY

9 Instal Getmail

Getmail dapat diinstal sebagai berikut:

dnf install python2
cd /tmp
wget http://pyropus.ca/software/getmail/old-versions/getmail-5.14.tar.gz
tar xvfz getmail-5.14 .tar.gz
cd getmail-5.14
python2 setup.py build
python2 setup.py install

10 Mengatur Kata Sandi MySQL dan Konfigurasi phpMyAdmin

Setel kata sandi untuk akun root MySQL:

mysql_secure_installation
[[email protected] tmp]# mysql_secure_installation


CATATAN:MENJALANKAN SEMUA BAGIAN SKRIP INI DIREKOMENDASIKAN UNTUK SEMUA SERVER MariaDB
PADA PENGGUNAAN PRODUKSI! HARAP BACA SETIAP LANGKAH DENGAN SEKSAMA!
Untuk masuk ke MariaDB untuk mengamankannya, kita memerlukan kata 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.
Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada):
Oke, kata sandi berhasil digunakan, lanjutkan...
Menyetel sandi root memastikan bahwa tidak seorang pun dapat login ke MariaDB
pengguna root tanpa otorisasi yang sesuai.

Setel sandi root? [Y/n] <-- ENTER
Sandi baru: <-- yourrootsqlpassword
Masukkan kembali sandi baru: <-- yourrootsqlpassword
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 memiliki akun pengguna dibuat 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 diizinkan untuk terhubung dari 'localhost'. Ini
memastikan bahwa seseorang tidak dapat menebak kata sandi root dari jaringan.

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

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

Hapus basis data pengujian dan akses ke sana? [Y/n] <-- MASUKKAN
 - Menghapus basis data pengujian...
 ... Berhasil!
 - Menghapus hak istimewa pada basis data 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
 ... Berhasil!

Membersihkan...



Selesai! Jika Anda telah menyelesaikan semua langkah di atas, penginstalan
MariaDB Anda sekarang seharusnya aman.

Terima kasih telah menggunakan MariaDB!

[[email protected] tmp ]#

Sekarang kita mengkonfigurasi phpMyAdmin. Buat file konfigurasi phpMyAdmin ini:

nano /etc/httpd/conf.d/phpmyadmin.conf

Tambahkan konten ini ke file:

# phpMyAdmin - Peramban MySQL berbasis web yang ditulis dalam php## Hanya mengizinkan localhost secara default## Tetapi mengizinkan phpMyAdmin kepada siapa pun selain localhost harus dianggap# berbahaya kecuali diamankan dengan benar oleh SSLAlias ​​/phpMyAdmin /usr/share/phpmyadminAlias ​​/phpmyadmin /usr/share/phpmyadmin  # Apache 2.4 #  # Require ip 127.0.0.1 # Require ip ::1 #    # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1  

Selanjutnya kita ubah otentikasi di phpMyAdmin dari cookie menjadi http:

cp -pf /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
nano /usr/share/phpmyadmin/config.inc.php
[...]/* Jenis otentikasi */$cfg['Servers'][$i]['auth_type'] ='http';[...]

Kemudian kami membuat tautan startup sistem untuk Apache dan memulainya:

systemctl aktifkan httpd
systemctl restart httpd

Sekarang Anda dapat mengarahkan browser Anda ke http://server1.example.com/phpmyadmin/ atau http://192.168.0.100/phpmyadmin/ dan masuk dengan nama pengguna root dan kata sandi MySQL root Anda yang baru.

11 Instal Amavisd-new, SpamAssassin, ClamAV, dan Postgrey

Untuk menginstal amavisd-new, SpamAssassin dan ClamAV, jalankan perintah berikut:

dnf -y install amavisd-new spamassassin clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd unzip bzip2 perl-DBD-mysql postgrey re2c 

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

sa-update
freshclam
systemctl aktifkan amavisd.service
systemctl start amavisd.service
systemctl start [email protected]
systemctl aktifkan postgrey.service
systemctl start postgrey.service

Pada langkah selanjutnya, kita mengkonfigurasi postgrey. Buka file /etc/sysconfig/postgrey di editor:

nano /etc/sysconfig/postgrey

dan ubah barisnya:

POSTGREY_TYPE="--unix=/var/spool/postfix/postgrey/socket"

untuk

POSTGREY_TYPE="--inet=10023"

Simpan file dan mulai ulang postgrey:

layanan dimulai ulang setelah abu-abu

Untuk mengkonfigurasi amavisd, edit file /etc/clamd.d/amavisd.conf:

nano /etc/clamd.d/amavisd.conf

dan ubah barisnya:

LocalSocket /run/clamd.amavisd/clamd.sock

untuk

LocalSocket /var/spool/amavisd/clamd.sock

Simpan file konfigurasi yang diubah dan mulai ulang ClamAV:

systemctl restart [dilindungi email]

Sekarang kita harus membuat unit sistem untuk layanan freshclam. Buat file baru /usr/lib/systemd/system/freshclam.service:

nano /usr/lib/systemd/system/freshclam.service

dan masukkan konten berikut ke dalam file itu:

[Unit]Description =ClamAV ScannerAfter =network.target[Service]Type =forking# jika Anda ingin memindai lebih dari satu dalam sehari ubah angka 1 dengan nomor yang Anda inginkan di baris di bawah ini.ExecStart =/usr/bin /freshclam -d -c 1Restart =on-failurePrivateTmp =true[Install]WantedBy=multi-user.target

Simpan file, lalu aktifkan dan mulai layanan.

systemctl aktifkan freshclam.service
systemctl start freshclam.service
systemctl status freshclam.service

12 Menginstal Apache dengan mod_php, mod_fcgi/PHP, PHP-FPM

ISPConfig 3 memungkinkan Anda untuk menggunakan mod_php, mod_fcgi/PHP, cgi/PHP, dan PHP-FPM per situs web.

Kita dapat menginstal Apache2 dengan mod_php, mod_fcgid, dan PHP sebagai berikut:

dnf -y install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mbstring php-mcrypt php-snmp php -soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel php-fpm php-intl php-imagick php-pspell wget

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

nano /etc/php.ini

... dan ubah pelaporan kesalahan (agar pemberitahuan tidak ditampilkan lagi), atur zona waktu dan batalkan komentar cgi.fix_pathinfo=1:

[...];error_reporting =E_ALL &~E_DEPRECATEDerror_reporting =E_ALL &~E_NOTICE &~E_DEPRECATE &~E_STRICT[...]; cgi.fix_pathinfo memberikan dukungan *real* PATH_INFO/PATH_TRANSLATED untuk CGI. PHP; perilaku sebelumnya adalah menyetel PATH_TRANSLATED ke SCRIPT_FILENAME, dan bukan grok; apa PATH_INFO itu. Untuk informasi lebih lanjut tentang PAppp.tldTH_INFO, lihat spesifikasi cgi. Pengaturan; ini ke 1 akan menyebabkan PHP CGI memperbaiki jalurnya agar sesuai dengan spesifikasi. Sebuah pengaturan; dari nol menyebabkan PHP berperilaku seperti sebelumnya. Standarnya adalah 1. Anda harus memperbaiki skrip Anda; untuk menggunakan SCRIPT_FILENAME daripada PATH_TRANSLATED.; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfocgi.fix_pathinfo=1
[...]
date.timezone ='Eropa /Berlin'[...]

Aktifkan httpd dan PHP-FPM untuk memulai saat boot dan memulai layanan PHP-FPM.

systemctl start php-fpm.service
systemctl aktifkan php-fpm.service
systemctl aktifkan httpd.service

Terakhir, kita restart Apache:

systemctl restart httpd.service

Sekarang kami akan menambahkan dukungan untuk Let's encrypt. ISPConfig menggunakan acme.sh sekarang sebagai klien Let's Encrypt. Instal acme.sh menggunakan perintah berikut:

curl https://get.acme.sh | sh -s

13 Instalasi mod_python

Modul Apache mod_python tidak tersedia sebagai paket RPM, oleh karena itu kami akan mengompilasinya dari sumber. Langkah pertama adalah menginstal file pengembangan python dan mengunduh versi mod_python saat ini sebagai file .tar.gz

dnf -y install python3-devel
cd /usr/local/src/
wget http://dist.modpython.org/dist/mod_python-3.5.0.tgz
tar xfz mod_python-3.5.0.tgz
cd mod_python-3.5.0

lalu konfigurasikan dan kompilasi modul.

./configure --with-python=/usr/bin/python3
make

Ada kesalahan dalam modul yang dikompilasi yang akan menyebabkan instalasi gagal dengan kesalahan "version ="fatal:Not a git repository (atau direktori induk mana pun):.git ". Untuk mengatasinya, jalankan perintah sed ini (perintahnya adalah satu baris!).

sed -e 's/(git menjelaskan --always)/(git menjelaskan --selalu 2>\/dev\/null)/g' -e 's/`git menjelaskan --always`/`git jelaskan --always 2>\/dev\/null`/g' -i $( find . -type f -name Makefile\* -o -name version.sh )

Kemudian instal modul dengan perintah ini.

lakukan pemasangan

dan aktifkan modul di Apache:

echo 'LoadModule python_module modules/mod_python.so'> /etc/httpd/conf.modules.d/10-python.conf
systemctl restart httpd.service

14 Instal PureFTPd

PureFTPd dapat diinstal dengan perintah berikut:

dnf -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:

dnf 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 dengan menghapus # di depan baris TLS. Sangat disarankan untuk mengaktifkan TLS.

[...]# Opsi ini dapat menerima tiga nilai :# 0 :menonaktifkan lapisan enkripsi SSL/TLS (default).# 1 :menerima sesi tradisional dan terenkripsi.# 2 :menolak koneksi yang tidak menggunakan SSL /Mekanisme keamanan TLS,# termasuk sesi anonim.# Jangan _jangan_ batalkan komentar ini secara membabi buta. Pastikan bahwa :# 1) Server Anda telah dikompilasi dengan dukungan SSL/TLS (--with-tls),# 2) Sertifikat yang valid telah tersedia,# 3) Hanya klien yang kompatibel yang akan masuk.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 Bawaan 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 Sepenuhnya 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.pem

Buat file DHParam:

openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048

Terakhir, mulai ulang 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.

15 Instal BIND

Kita dapat menginstal BIND sebagai berikut:

dnf -y install bind bind-utils hasged

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//// Disediakan oleh paket bind Red Hat untuk mengkonfigurasi ISC BIND bernama(8) DNS// server sebagai server nama caching saja (sebagai resolver DNS localhost saja)./// / Lihat /usr/share/doc/bind*/sample/ misalnya bernama file konfigurasi.//options { listen-on port 53 { any; }; mendengarkan-di-v6 port 53 { apa saja; }; direktori "/var/bernama"; dump-file "/var/named/data/cache_dump.db"; statistik-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { apa saja; }; izinkan-rekursi {"tidak ada";}; rekursi no;};logging { saluran default_debug { file "data/named.run"; dinamis keparahan; };};zona "." DI { ketik petunjuk; 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.service
systemctl mulai bernama.service
systemctl aktifkan haveged.service
systemctl start haveged.service

16 Instal AWStats

AWStats dapat diinstal sebagai berikut:

dnf -y install awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

Aplikasi statistik web alternatif 'webalizer' tidak lagi tersedia untuk CentOS 8, jadi Anda hanya dapat menggunakan AWStats.

17 Instal Jailkit

Jailkit digunakan untuk chroot pengguna SSH dan cronjobs. Itu dapat diinstal sebagai berikut:

ln -s /usr/bin/python2 /usr/bin/python
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.21.tar.gz
tar xvfz jailkit-2.21.tar.gz
cd jailkit-2.21
./configure
make
make install
cd ..
rm -rf jailkit-2.21*

18 Instal Fail2Ban

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

dnf -y install iptables-services fail2ban fail2ban-systemd
systemctl stop firewalld.service
systemctl mask firewalld.service
systemctl nonaktifkan firewalld.service

Selanjutnya kita membuat file /etc/fail2ban/jail.local dan mengaktifkan pemantauan untuk layanan ssh, email, dan ftp.

nano /etc/fail2ban/jail.local

Tambahkan konten berikut ke file jail.local:

[sshd]
enabled =true
action =iptables[name=sshd, port=ssh, protocol=tcp]

[pure-ftpd]
diaktifkan =true
action =iptables[name=FTP, port=ftp, protocol=tcp]
maxretry =3

[dovecot]
enabled =true
action =iptables-multiport[name=dovecot, port="pop3,pop3s,imap,imaps", protocol=tcp]
maxretry =5

[postfix-sasl]
enabled =true
action =iptables-multiport[name=postfix-sasl, port="smtp,smtps,submission", protocol=tcp]
maxretry =3

Kemudian buat tautan startup sistem untuk fail2ban dan mulai:

systemctl aktifkan fail2ban.service
systemctl start fail2ban.service

19 Instal rkhunter

rkhunter dapat diinstal sebagai berikut:

dnf -y install rkhunter

20 Instal Mailman

Jika Anda ingin mengelola milis dengan Mailman di server Anda, maka instal mailman sekarang. Mailman didukung oleh ISPConfig, sehingga nanti Anda dapat membuat milis baru melalui ISPConfig.

dnf -y install mailman

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

touch /var/lib/mailman/data/aliases
postmap /var/lib/mailman/data/aliases
/usr/lib/mailman/bin/newlist mailman
ln - s /usr/lib/mailman/mail/mailman /usr/bin/mailman

[[email protected] tmp]# /usr/lib/mailman/bin/newlist mailman
Masukkan email orang yang menjalankan daftar: <-- alamat email admin, mis. [email protected]
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:            "|/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- tinggalkan:        "|/usr/lib/mailman/mail/mailman tinggalkan 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-unsub scribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

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

[[email protected ] tmp]#

Buka /etc/aliases setelahnya...

nano /etc/aliases

... 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 memantul tukang pos"mailman-confirm:"|/usr/lib/mailman/mail/mailman konfirmasi tukang pos"mailman-join:"|/usr/lib/mailman/mail/mailman bergabung dengan tukang pos "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 berlangganan tukang pos"mailman-unsubscribe:"|/usr/lib/mailman/mail/mailman berhenti berlangganan tukang pos"

Jalankan

newalias

setelah itu dan mulai ulang Postfix:

systemctl restart postfix.service

Sekarang buka file konfigurasi Mailman Apache /etc/httpd/conf.d/mailman.conf...

nano /etc/httpd/conf.d/mailman.conf

... dan tambahkan baris ScriptAlias ​​/cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/. Komentar Alias ​​/pipermail/ /var/lib/mailman/archives/public/ dan tambahkan baris Alias ​​/pipermail /var/lib/mailman/archives/public/:

## Pengaturan konfigurasi httpd untuk digunakan dengan tukang pos.#ScriptAlias ​​/mailman/ /usr/lib/mailman/cgi-bin/ScriptAlias ​​/cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/ AllowOverride Tidak Ada Pilihan ExecCGI Perintahkan izinkan, tolak Izinkan dari semua#Alias ​​/pipermail/ /var/lib/mailman/archives/public/Alias ​​/pipermail /var/lib /mailman/archives/public/ Opsi Indeks MultiViews FollowSymLinks AllowOverride Tidak Ada Pesan izinkan, tolak Izinkan dari semua AddDefaultCharset Off# Batalkan komentar pada baris berikut, untuk mengarahkan kueri ke / mailman ke# halaman info daftar (disarankan).# RedirectMatch ^/mailman[/]*$ /mailman/listinfo

Mulai ulang Apache:

systemctl restart httpd.service

Buat tautan startup sistem untuk Mailman dan mulai:

systemctl aktifkan mailman.service
systemctl start mailman.service

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

Anda dapat menggunakan alias /cgi-bin/mailman untuk semua vhost Apache (harap dicatat bahwa suExec dan CGI harus dinonaktifkan untuk semua vhost dari mana Anda ingin mengakses Mailman!), 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.

21 Instal webmail Roundcube

Untuk menginstal klien webmail RoundCube, download versi terbaru dengan wget ke folder /tmp:

cd /tmp
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz

Buka paket arsip tar.gz dan pindahkan sumber RoundCube ke /usr/share/roundcubemail

tar xfz roundcubemail-1.4.3-complete.tar.gz
mkdir /usr/share/roundcubemail
mv /tmp/roundcubemail-1.4.3/* /usr/share/roundcubemail/
chown -R root:root /usr/share/roundcubemail
chown apache /usr/share/roundcubemail/temp
chown apache /usr/share/roundcubemail/logs

Buat file konfigurasi roundcubemail.conf dengan editor nano:

nano /etc/httpd/conf.d/roundcubemail.conf

Dan tambahkan konten berikut ke file itu:

## Round Cube Webmail adalah klien IMAP multibahasa berbasis browser#Alias ​​/roundcubemail /usr/share/roundcubemail
Alias ​​/webmail /usr/share/roundcubemail# Tentukan siapa yang dapat mengakses Webmail# Anda dapat memperbesar izin setelah dikonfigurasi Opsi tidak ada AllowOverride Batas Wajibkan semua diberikan# Tentukan siapa yang dapat mengakses penginstal# simpan ini aman setelah dikonfigurasi Opsi tidak ada AllowOverride Limit Mewajibkan semua diberikan# Direktori tersebut tidak boleh dilihat oleh klien Web. Pesan Izinkan,Tolak Tolak dari semua Pesan Izinkan, Tolak Tolak dari semua

Mulai ulang Apache:

systemctl restart httpd.service

Sekarang kita membutuhkan database untuk email RoundCube, kita akan menginisialisasinya sebagai berikut:

mysql -u root -p

Di MariaDB, gunakan prompt:

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

Saya menggunakan detail untuk database RoundCube sebagai contoh, harap ganti nilainya sesuai pilihan Anda demi alasan keamanan.

Sekarang kita akan menginstal RoundCube di browser di http://192.168.0.100/roundcubemail/installer

Sekarang buat file config.inc.php:

nano /usr/share/roundcubemail/config/config.inc.php

/* Konfigurasi lokal untuk Roundcube Webmail */

// ----------------- -----------------
// SQL DATABASE
// ------------------- ---------------
// Database connection string (DSN) untuk operasi baca+tulis
// Format (kompatibel dengan PEAR MDB2):db_provider:// user:[email protected]/database
// Saat ini didukung db_providers:mysql, pgsql, sqlite, mssql, sqlsrv, oracle
// Untuk contoh lihat http://pear.php.net/manual/ en/package.database.mdb2.intro-dsn.php
// CATATAN:untuk SQLite gunakan jalur absolut (Linux):'sqlite:////full/path/to/sqlite.db?mode=0646 '
// atau (Windows):'sqlite:///C:/full/path/to/sqlite.db'
$config['db_dsnw'] ='mysql://roundcubeuser:[email protected]/roundcubedb';

// -------------------------------- --
// IMAP
// ----------------------------------
// Host IMAP yang dipilih untuk melakukan login.
// Biarkan kosong untuk menampilkan kotak teks saat login, berikan daftar host
// untuk ditampilkan menu pull-down atau menetapkan satu host sebagai string.
// Untuk menggunakan koneksi SSL/TLS, masukkan nama host dengan awalan ssl:// atau tls://
// Variabel pengganti yang didukung:
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname tanpa bagian pertama
// %d - domain (http hostname $_SERVER['HTTP_HOST'] tanpa bagian pertama)
// %s - nama domain setelah '@' dari alamat email yang disediakan di layar login
// Misalnya %n =mail.domain.tld, %t =domain .tld
// PERINGATAN:Setelah perubahan nama host, pembaruan kolom mail_host di tabel pengguna
// diperlukan untuk mencocokkan catatan data pengguna lama dengan host baru.
$config['default_host'] ='localhost';
$config['smtp_server'] ='localhost';
$config['smtp_port'] =25;

// menyediakan URL tempat pengguna bisa mendapatkan dukungan untuk instalasi Roundcube ini
// JANGAN LINK KE WEBSITE ROUNDCUBE.NET DI SINI!
$config['support_url'] ='';

/ / Kunci ini digunakan untuk tujuan enkripsi, seperti sto dering kata sandi imap
// di sesi. Untuk alasan historis ini disebut DES_key, tetapi digunakan
// dengan cipher_method yang dikonfigurasi (lihat di bawah).
$config['des_key'] ='pb0UucO0eqjgvhrqYlFTBVjE';

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

// Set the spell checking engine. Possible values:
// - 'googie' - the default (also used for connecting to Nox Spell Server, see 'spellcheck_uri' setting)
// - '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, the default settings
// connect to http://spell.roundcube.net which is a hosted service provided by Roundcube.
// You can connect to any other googie-compliant service by setting 'spellcheck_uri' accordingly.
$config['spellcheck_engine'] ='pspell';
$config['enable_installer'] =true;

Then press "continue" in the web installer. On the following page, press on the button "Initialize database".

Finally, disable the Roundecubemail installer. Change the RoundCube config.inc.php configuration file

nano /usr/share/roundcubemail/config/config.inc.php

dan ubah barisnya:

$config['enable_installer'] =true;

ke:

$config['enable_installer'] =false;

Roundcube is available now under the aliases /webmail and /roundcubemail on your server:

http://192.168.0.100/webmail

The RoundCube login is the email address and password of an email account that you create later in ISPConfig.

22 Install ISPConfig 3.2

The ISPConfig installer will configure all services like Postfix, Dovecot, etc. for you.

You now also have the possibility to let the installer create an SSL vhost for the ISPConfig control panel so that ISPConfig can be accessed using https:// instead of http://. To achieve this, just press ENTER when you see this question:Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:.

To install ISPConfig 3.2 nightly build, do this:

cd /tmp 
wget -O ispconfig.tar.gz https://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ispconfig.tar.gz
cd ispconfig3*/install/

The next step is to run:

php -q install.php

Ini akan memulai penginstal ISPConfig 3. Pemasang akan mengonfigurasi semua layanan seperti Postfix, Dovecot, dll. untuk Anda.

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

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

>> Konfigurasi awal
Operating System:CentOS 8.2
Berikut 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 Enter
Mode penginstalan (standar,ahli) [standar]: <-- Tekan Enter
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <-- Hit Enter
Nama host server MySQL [localhost]: <-- Tekan Enter
Port server MySQL [3306]: <-- Tekan Enter
Nama pengguna root MySQL [root]: <-- Tekan Enter
MySQL root password []: <-- Ente the MySQL root password here
Database MySQL untuk membuat [dbispconfig]: <-- Tekan Enter
MySQL charset [utf8]: <-- Tekan Enter
Configuring Postgrey
Configuring Postfix
Generating a 4096 bit RSA private key
................................++
.....................................................................................................................................................................................................................................................................................................................................................++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:<-- Enter 2 Letter country code, e.g. US
State or Province Name (full name) []:<-- Enter anme of State or Province
Locality Name (eg, city) [Default City]:<-- Name of city
Organization Name (eg, company) [Default Company Ltd]:<-- Company name
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (eg, your name or your server's hostname) []:<-- Enter server hostname here, in my case:server1.example.com
Email Address []:<-- Enter Email address
Configuring mailman
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Jailkit
Configuring Pureftpd
Configuring BIND
Configuring Apache
Configuring vlogger
[INFO] service OpenVZ not detected
Configuring Bastille Firewall
[INFO] service Metronome XMPP Server not detected
Configuring Fail2ban
Configuring Apps vhost
Installing ISPConfig
ISPConfig Port [8080]: <-- Hit Enter
Admin password [fad579a6]: <-- Enter new password for ISPConfig admin user
Re-enter admin password []: <-- Repeat the password
Apakah Anda menginginkan koneksi (SSL) yang aman ke antarmuka web ISPConfig (y,n) [y]: <-- Tekan Enter
Generating RSA private key, 4096 bit long modulus
.................................................................................++
.....++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]: <-- Enter 2 Letter country code, e.g. US
State or Province Name (full name) []:<-- Enter anme of State or Province
Locality Name (eg, city) [Default City]:<-- Name of city
Organization Name (eg, company) [Default Company Ltd]:<-- Company name
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (eg, your name or your server's hostname) []:<-- Enter server hostname here, in my case:server1.example.com
Email Address []:<-- Enter Email address
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- Hit Enter
An optional company name []: <-- Hit Enter
writing RSA key

Configuring DBServer
Installing ISPConfig crontab
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Detect IP addresses
Restarting services ...
Installation completed.

Pemasang secara otomatis mengonfigurasi semua layanan yang mendasarinya, sehingga tidak diperlukan konfigurasi manual.

23 First ISPConfig Login

Afterwards you can access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.0.100:8080/ (http or https depends on what you chose during installation).

Masuk dengan nama pengguna admin dan kata sandi admin (Anda harus mengubah kata sandi default setelah login pertama Anda):

23.1 The ISPConfig 3 Manual

In order to learn how to use ISPConfig 3, I strongly recommend downloading the ISPConfig 3 Manual.

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.

24 Download as a virtual machine

Pengaturan ini tersedia sebagai unduhan mesin virtual dalam format ova/ovf (kompatibel dengan VMWare dan Virtualbox) untuk pelanggan howtoforge.

Detail login untuk VM

  • Kata sandi root adalah:howtoforge
  • The password of the ISPConfig "admin" user is: howtoforge
  • There is another shell user with the name "howtoforge" and password:howtoforge

Harap ubah kedua sandi saat login pertama.

  • Alamat IP VM adalah 192.168.0.100
  • CentOS:http://www.centos.org/
  • ISPConfig:http://www.ispconfig.org/

Cent OS
  1. Server Sempurna - Ubuntu 15.04 (Vivid Vervet) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3

  2. Server Sempurna - Ubuntu 15.10 (nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3)

  3. Server Sempurna - Ubuntu 16.10 (Yakkety Yak) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  1. Server Sempurna - Ubuntu 17.04 (Zesty Zapus) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  2. Server Sempurna - Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3.1)

  3. Server Sempurna - Ubuntu 16.04 (Xenial Xerus) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  1. Server Sempurna - Ubuntu 15.10 (Wily Werewolf) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3

  2. Server Sempurna - Ubuntu 18.04 (Bionic Beaver) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  3. Server Sempurna - Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3.1)