Tutorial ini menunjukkan penginstalan ISPConfig 3.1 pada server CentOS 7.3 (64Bit). ISPConfig adalah panel kontrol hosting web yang memungkinkan Anda mengonfigurasi layanan berikut melalui browser web:server web Apache, 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 7.3. Ini bisa berupa server yang diinstal dari awal seperti yang dijelaskan dalam tutorial server minimal Centos 7.3 kami atau server virtual atau server root dari perusahaan hosting yang menginstal minimal konfigurasi Centos 7.3.
- Koneksi internet yang cepat.
2 Catatan Awal
Dalam tutorial ini, saya menggunakan hostname server1.example.com dengan alamat IP 192.168.1.100 dan gateway 192.168.1.1. Setelan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.
Harap dicatat bahwa HHVM dan XMPP belum didukung di ISPConfig untuk platform CentOS. Jika Anda ingin mengelola server obrolan XMPP dari dalam ISPConfig atau menggunakan HHVM (Hip Hop Virtual Machine) di situs web ISPConfig, silakan gunakan Debian 8 atau Ubuntu 16.04 sebagai OS server, bukan CentOS 7.3.
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:
localectl set-keymap de
Untuk mendapatkan daftar semua peta kunci yang tersedia, jalankan:
localectl 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...
yum -y install net-tools
systemctl stop firewalld.service
systemctl disable 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
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Atau gunakan perintah firewall-cmd:
firewall-cmd --state
[[email protected] ~]# firewall-cmd --state
not running
[[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:
yum -y install nano wget NetworkManager-tui
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<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fecd:cc52 prefixlen 64 scopeid 0x20 ether 00:0c:29:cd:cc:52 txqueuelen 1000 (Ethernet) RX packets 55621 bytes 79601094 (75.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 28115 bytes 2608239 (2.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 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=yes
[...]
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.1.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.
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:
reboot
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 7:
yum -y install epel-release
yum -y install yum-priorities
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:
yum -y update
Sekarang kita install beberapa paket software yang dibutuhkan nantinya:
yum -y groupinstall 'Development Tools'
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:
yum -y install quota
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 ' / ':
mount | grep ' / '
[[email protected] ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
[[email protected] ~]#
Jika Anda memiliki partisi /var terpisah, gunakan:
mount | 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="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap 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.
reboot
Sekarang periksa apakah kuota diaktifkan:
mount | grep ' / '
[[email protected] ~]# mount | grep ' / '
/dev/mapper/centos-root on / type 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. Ketika Anda mendapatkan kesalahan bahwa tidak ada partisi dengan kuota diaktifkan, reboot server sebelum melanjutkan.
6 Instal Apache, MySQL, phpMyAdmin
Kita dapat menginstal paket yang dibutuhkan dengan satu perintah:
yum -y install ntp httpd mod_ssl mariadb-server php php-mysql php-mbstring phpmyadmin
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 early" >> /etc/httpd/conf/httpd.conf
Dan restart httpd untuk menerapkan perubahan konfigurasi.
service httpd restart
-
Server Sempurna - Ubuntu 15.04 (Vivid Vervet) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3
-
Server Sempurna - Ubuntu 15.10 (nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3)
-
Server Sempurna - Ubuntu 16.10 (Yakkety Yak) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1
-
Server Sempurna - Ubuntu 17.04 (Zesty Zapus) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1
-
Server Sempurna - Ubuntu 17.10 (Artful Aardvark) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1
-
Server Sempurna - Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3.1)
-
Server Sempurna - Ubuntu 16.04 (Xenial Xerus) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1
-
Server Sempurna - Ubuntu 18.04 (Bionic Beaver) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1
-
Server Sempurna - Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3.1)