1 Requirements

Untuk membuat server Web dengan ISPConfig 3 kita memerlukan beberapa hal sebagai berikut

Centos 7.1 minimal server system.

Koneksi Internet yang cepat.

Kali ini kita menggunakan Virtual Machine dari proxmox dan ketka kita boot dari ISO maka langkah pertama proses intalasi linux centos 7.1 ini adalah memilih bahasa yang akan gunakan. Pilih bahasa yang anda mengerti saya pilih Bahasa Inggris

Selanjutnya terdapat menu untuk mengconfigurasi server seperti waktu dan tanggal, media instalas, pilihan paket server, konfigurasi jaringan dll

Langkah pertama kita konfigurasi terlebih dahulu Localization dengan memilih DATE & TIME kita pilih peta indonesia dengan cara mengklik peta wilayah Indonesia Bagian Barat (Western Indoesian Time) WIB. Atau sesuaikan dengan wilayah anda. Atau dengan cara klik menu region pilih Asia dan City pilh Jakarta.

Selanjutnya kita masuk ke menu SYSTEM dengan memilih INSTALASION DESTINATION kemuddian muncul menu seperti dibawah lalu kita pilih hardisk dan pada bagian partitioning kita pilih Automaticali Configure Partitioning dan ceklist I would like to make additional space available. Jika selesai maka klik tombol DONE paling atas.

Kemudian muncul menu untuk Reclaim Disk Space pilih reclaim space, atau jika pernah ada partisi bekas instalasi sebelumnya anda dapat mengklik tombol delete All dan reclaim.

Selanjutnya kita pilih menu NETWORK AND HOSTNAME, disini kita akan mengkonfigure IP Address dari server kita, kita klik tombol Configure maka akan muncul menu Editing Ethernetnya. Pilih IPV4 Setting, method Manual kemudian tekan tombol Add disini saya menggunakan

IP Address     : 103.233.147.236

Netmask    : 255.255.255.224

Gateway    : 103.233.147.225

DNS Server     : 27.50.20.21 203.176.183.45

Search Domain    : Orizasativa.htp.ac.id

Klik Save

Kemudian ketikan nama host pada hostname disini saya menggunakan hostname : orizasativa.htp.ac.id

Klik tombol OFF supaya menjdi ON lalu pada Ethernet akan muncul konfigurasi IP Address yang telah kita buat tadi. Kemudian tekan tombol BEGIN INSTALATION

Pada saat proses instalasi akan muncul perintah untuk melakukan konfigurasi User untuk membuat password untuk ROOT atau Adminstrator pada Windows. Klik menu Root Password

Masukan Password yang anda inginkan usahakan menggunakn kombinais huruf, angka dan karakter sehingga kekuatan password kita akan susah untuk ditebak.

Jika anda mau anda dapat menambahkan user baru selain root yang tadi. Jika telah selesai tekan tombol dan dan tunggu proses instalasi selesai.

Jika proses instalasi telah selesai maka kita reboot server dengan menekan tombol REBOOT

Setelah server boot kembali dan muncul prompt login coba anda login dengan mengetikan root kemudian enter dan masukan password (disini kita tidak melihat asterik ketika mengetikan password) setelah sukses akan masuk ke shell root dengan tanda #

Jika tadi pada server kita sukses untuk login dengan menggunakan username root, maka langkah selanjutnya adalah dengan meremot server dengan menggunakan putty. Buka putty pada hostname ketikan IP Address lalu tekan tombol OPEN

Pilih Yes ketika muncul pesan Putty Security Alert

Login dengan cara yang sama pada server tadi. Ketikan username root dan password anda.

Dari sini kita dapat memulai melakukan konfigurasi dan instalasi server dengan menggunakan putty.

Sedikit tips untuk mengcopy teks yang ada pada putty cukup kita blok tuliasan di putty lalu kita paste pada dokumen lain. Nah untuk paste pada jendela putty kita cukup klik kanan pada jendela putty. Ini memudahkan kita ketika kita malas mengetikan perintah yang panjang. Sepanjang tali baruk ( Kata Orang Minang heheh)

Lets Beginnnnn.

2 Preliminary Note

Pada tutorial ini kita akan menggunakan hostname dengan nama orizasativa.htp.ac.id dengan menggunakan ip 103.233.147.236 dan gateway 103.233.147.225. Konfigurasi IP ini mungkin akan berbeda dengan dana jadi sesuaikan dengan konfigurasi yang dana miliki.

3 Set the keyboard layout

Untuk setting keyboard kita boleh skip, karena kita memakai layout keyboard default, jadi kita akan skip dan lewati saja. Namun jika keyboard kita berbeda berikut cara mengganti setting keyboard:

localectl set-keymap de

Untuk mendapatkan semua daftar list keymap dapat mengetikan perintah :

localectl list-keymaps

Pada akhir tutorial ini kita akan menginstal ISPConfig, ISPConfig memiliki firewall bawaan yaitu Bastille firewall script, sehingga kita akan disable firewall bawaan Centos .

yum -y install net-tools
systemctl stop firewalld.service
systemctl disable firewalld.service

Perintah diatas adalah untuk menghentikan service firewall bawaan CentOS .

Kemudian untuk memeriksa apakah firewall sudah kita matikan perlu kita perikasa denganperintah :

iptables -L

Hasil perintah diatas harus seperti berikut :

[root@server1 ~]# 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

[root@server1 ~]# firewall-cmd –state
not running
[root@server1 ~]#

Sekarang kita akan menginstall editor konfigurasi jaringan dan editor text “Nano ” yang akan selalu kita gunakan untuk mengedit file konfigurasi server, ketikan perintah berikut:

yum -y install nano wget NetworkManager-tui

Jika kita telah mengkonfigurasi settingan jaringan pada saat instalasi perintah dibawah dapat kita lewatkan.

nmtui

Untuk mengetahui apakah konfigurasi ip kita telah kita lakukdanengan benar chek dengan perintah :

ifconfig

Sekarang perhatikan sekali lagi konfigruasi Alamat IP dana, yang pada saat instalasi awal telah kita tentukan IP Address, Netmask, Gateway dan DNS Server:

[root@server1 ~]# 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 0x10

loop 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 konfiguras kita ada yang kurang tepat, atau konfigurasi belum kita lakukan pada tahap awal intalasi maka dana perlu melakukan editing file konfigurasi network dengan mengedit file konfigurasi di /etc/sysconfig/network-scripts/ifcfg-ens18

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

dan ubah ONBOOT menjadi yes:

[…]
ONBOOT=yes
[…]

Kemudian reboot server dengan mengetikan perintah reboot.

Periksa kembali file /etc/resolv.conf file ini menampung nameserver atau DNS Server agar kita dapat melakukan koneksi internet dengan baik:

cat /etc/resolv.conf

Jika nameserver tidak muncul perlu dana tambakah kembali, ketik perintah

Nano /etc/resolv.conf

Tambahkan baris:

Search orizasativa.htp.a.id

Nameserver 27.50.20.21

Nemeserver 203.176.183.45 (ini alamat dns server kampus kita)

4 Tambahkan konfigurasi /etc/hosts

Selanjutnya kita edit filedi  /etc/hosts. Rubah sebagai berikut:

nano /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
103.233.147.236 orizzasativa.htp.ac.id orizasativa

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

5 Disable SELinux

SELinux adalah sebuah extensi security CentOS bawaan.dalam hal ini kita tidak memerlukanya dalam konfigurasi malah terkadang sering menimbulkan masalah dari pada memberikan nilai postifi, hal ini terjadi setelah server selesai dan akan muncul masalah dikemudian hari yang kebanyakan berasal dari Selinux . sehingga kita disable dengan mengubah properti SELINUX=disabled pada file  /etc/selinux/config .

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 Sistem harus kita resstart ulang dengan mengetikan perintah reboot:

reboot

Setelah beberapa saat kita reboot klik kanan pada putty dan pilih restart session sehingga session pada putty dapat kita lanjutkan kembali dengan melakukan login ulang sebagai user root. Login ulang kembali .

6 Enable Repositori Tambahan dan Install Beberapa Aplikasi

Pertama kita kimport file GPG keys untuk paket software :

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

Kemudian kita enable Repositori EPEL pada sistem CentOS yang menyediakan banyak paket software yang pada respositori resmi CentOS tidak tersedia :

yum -y install epel-release

yum -y install yum-priorities

Ubah fie /etc/yum.repos.d/epel.repo…

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

… Tambahkan baris  priority=10 pada 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 kita update semua paket-paket software yang ada pada sistem kita :

yum update

Sekarang kita install beberapa pakaet software penting yang kita butuhkan pada proses konfigurasi nanti:

yum -y groupinstall ‘Development Tools’

7 Quota

Untuk menginstall Quota kita ketikan perintah:

yum -y install quota

Enabling quota on the / (root) partition

Secara Normal kita dapat mengenablekan quota pada fle /etc/fstab, namun karena partisi yang kita buat pada tutorial ini adalah 1 partisi besar atau satu file sistem root “/”, maka quota harud di dienabel kan pada parameter boot Kernel Linux.

Rubah file konfigurasi Grub:

nano /etc/default/grub

cari pada semua baris konfigurasi yang dimulai dengan  GRUB_CMDLINE_LINUX dan tambahkan rootflags=uquota,gquota pada baris perintah sehingga tampak sebagai berikut :

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”

Atau dengan kata lain :

Tekan CTRL+K (cut text pada nano ) enter satu kali kemudian copy baris perintah diatas dan klik kanan pada putty untuk Paste baris perintah diatas. Jalankan perubahan dengan mengetikan perintah :

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

kemudian restart server.

reboot

Chek jika quota tersedia :

mount | grep ‘ / ‘

[root@server1 ~]# mount | grep ‘ / ‘
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[root@server1 ~]#

Ketika quota aktif maka kita dapat melihat baris “usrquota,grpquota” pada daftar mount option.

Enabling quota on a separate /var partition (SKIP SAJA )

Jika Pada saat instalasi awal kita menentukan partisi yang berbeda dan memisahkan partisi /var, maka edit /etc/fstab dan tambahkan ,uquota,gquota pada partisi / (/dev/mapper/centos-var): ini dilewatkan

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) dan/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

reboot server.

8 Install Apache, MySQL, phpMyAdmin

Kita dapat menginstall semua paket yang kita perlukan dengan sebuah perintaah :

yum -y install ntp httpd mod_ssl mariadb-server php php-mysql php-mbstring phpmyadmin

9 Install Dovecot

Ketikan perintah berikut untuk menginstall Dovecot:

yum -y install dovecot dovecot-mysql dovecot-pigeonhole

buat file konfigurasi kosong untuk file dovecot-sql.conf dan symbolik linknya.

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

sekarang buat link startup dan jalankan Dovecot:

systemctl enable dovecot
systemctl start dovecot

10 Install Postfix

Ketikan perintah berikut untuk menginstall Postfix :

yum -y install postfix

Kemudian matikan service Sendmail Kemudian Jalankan Postfix dan Mariadb (MySQL):

systemctl enable mariadb.service
systemctl start mariadb.service

systemctl stop sendmail.service
systemctl disable sendmail.service
systemctl enable postfix.service
systemctl restart postfix.service

Kita disable sendmail untuk memastikannya tidak jalan jika dia memang terinstall sehingga pesan error “Failed to issue method call: Unit sendmail.service not loaded.” Dapat kita lewatkan saja.

11 Install Getmail

Ketikan perintah berikut untuk menginstall Getmail :

yum -y install getmail

12 Set MySQL Passwords Dan Configure phpMyAdmin

Set passwords untuk akun root MySQL :

mysql_secure_installation

[root@server1 tmp]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, dan
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] <– ENTER
New password: <– Ketik Mysqk root password anda
Re-enter new password: <– Ulangi password anda
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, dan to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] <– ENTER
… Success!

Normally, root should only be allowed to connect from ‘localhost’.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <– ENTER
… Success!

By default, MariaDB comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, dan should be removed
before moving into a production environment.

Remove test database dan access to it? [Y/n] <– ENTER
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] <– ENTER
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

[root@server1 tmp]#

Sekarang kita setting konfigurasi phpMyAdmin. Kita rubah Konfigurasi Apache sehingga PhpMyAdmin membolehkan koneksi tidak hanya dari localhost saja (dengan menambahakan koment krss “#” pada baris “Require ip” dan tambahkan baris baru “Require all granted” pada  <Directory /usr/share/phpMyAdmin/> ):

nano /etc/httpd/conf.d/phpMyAdmin.conf

# phpMyAdmin – Web based MySQL browser written in php

#

# Allows only localhost by default

#

# But allowing phpMyAdmin to anyone other than localhost should be considered

# dangerous unless properly secured by SSL

Alias /phpMyAdmin /usr/share/phpMyAdmin

Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>

<IfModule mod_authz_core.c>

# Apache 2.4

<RequireAny>

# Require ip 127.0.0.1

# Require ip ::1
Require all granted

</RequireAny>

</IfModule>

<IfModule !mod_authz_core.c>

# Apache 2.2

Order Deny,Allow

Deny from All

Allow from 127.0.0.1

Allow from ::1

</IfModule>

</Directory>

Selanjutnya kita rubah authentifikasi pada phpMyAdmin dari cookie ke  http:

nano /etc/phpMyAdmin/config.inc.php

[…]

/* Authentication type */

$cfg[‘Servers’][$i][‘auth_type’] = ‘http’;

[…]

Kemudian kita buat startup links untuk Apache dan jalankan service:

systemctl enable  httpd.service
systemctl restart  httpd.service

Sekarang buka browser anda dan ketikan alamat berikut : http://orizasativa.htp.ac.id/phpmyadmin/ atau http://103.23.147.236/phpmyadmin/ dan log in dengan username root dan password yang telah anda setting sebelumnya.

13 Install Amavisd-new, SpamAssassin Dan ClamAV

Ketikan perintah berikut untuk menginstall amavisd-new, spamassassin dan clamav:

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

Rubah file configuration freshclam di /etc/freshclam.conf

nano /etc/freshclam.conf

dan berikan comment pada baris “Example”

[….]
# Example
[….]

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

sa-update
freshclam
systemctl enable amavisd.service

14 Instalasi Apache2 With mod_php, mod_fcgi/PHP5, PHP-FPM Dan suPHP

ISPConfig 3 membolehkan kita menggunakan mod_php, mod_fcgi/PHP5, cgi/PHP5, dan suPHP pada setiap website.

Ketikan perintah berikut untuk menginstall Apache2 with mod_php5, mod_fcgid, dan PHP5 :

yum -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-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel php-fpm

selanjutnya buka file /etc/php.ini…

nano /etc/php.ini

… dan yang perlu kita sesuaikan adalah

error reporting (supaya error pada halaman web tidak muncul)

Sesuaikan timezone

Buang comment cgi.fix_pathinfo=1:

Cara paling mudah adalah dengan melakukan pencarian dengan cara CTR+W ketikan keywoard dan enter jika belum menemukan baris yang sesuai ulangi CTR+W tekan enter

[…]

;error_reporting = E_ALL & ~E_DEPRECATED

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

[…]

; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP’s

; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, dan to not grok

; what PATH_INFO is. For more information on PAppp.tldTH_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=1
[…]
date.timezone = ‘Asia/Jakarta’

[…]

Selanjutnaya kita install suPHP (ada paket mod_suphp tersedia pada repositori namun tidak compatibel dengan ISPConfig, sehingga kita perlu untuk membangun sendiri suPHP ):

cd /usr/local/src
wget http://suphp.org/download/suphp-0.7.2.tar.gz
tar zxvf suphp-0.7.2.tar.gz

CentOS 7.1 menggunakan apache-2.4, jadi kita perlu patch suphp sebelum mengcompilasi . Ketikan perintah berikut untuk menginstall patch:

wget -O suphp.patch https://lists.marsching.com/pipermail/suphp/attachments/20130520/74f3ac02/attachment.patch
patch -Np1 -d suphp-0.7.2 < suphp.patch
cd suphp-0.7.2
autoreconf -if

[root@server1 suphp-0.7.2]# autoreconf -if
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `config’.
libtoolize: copying file `config/ltmain.sh’
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])’ to configure.ac dan
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4′ to ACLOCAL_AMFLAGS in Makefile.am.
configure.ac:9: warning: AM_INIT_AUTOMAKE: two- dan three-arguments forms are deprecated.  For more info, see:
configure.ac:9: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
configure.ac:24: installing ‘config/config.guess’
configure.ac:24: installing ‘config/config.sub’
configure.ac:9: installing ‘config/install-sh’
configure.ac:9: installing ‘config/missing’
src/Makefile.am: installing ‘config/depcomp’
[root@server1 suphp-0.7.2]#

Perintah tadi akan menjalankan patch, Nah sekarang baru bisa kitta compile source code yang diownload sebagai berikut :

./configure –prefix=/usr/ –sysconfdir=/etc/ –with-apr=/usr/bin/apr-1-config –with-apache-user=apache –with-setid-mode=owner –with-logfile=/var/log/httpd/suphp_log
make
make install

Tambahkan suPHP module konfigurasi Apache …

nano /etc/httpd/conf.d/suphp.conf

LoadModule suphp_module modules/mod_suphp.so

… dan buatlah file  /etc/suphp.conf sebagai berikut:

nano /etc/suphp.conf

[global]

;Path to logfile

logfile=/var/log/httpd/suphp.log

;Loglevel

loglevel=info

;User Apache is running as

webserver_user=apache

;Path all scripts have to be in

docroot=/

;Path to chroot() to before executing script

;chroot=/mychroot

; Security options

allow_file_group_writeable=true

allow_file_others_writeable=false

allow_directory_group_writeable=true

allow_directory_others_writeable=false

;Check wheter script is within DOCUMENT_ROOT

check_vhost_docroot=true

;Send minor error messages to browser

errors_to_browser=false

;PATH environment variable

env_path=/bin:/usr/bin

;Umask to set, specify in octal notation

umask=0077

; Minimum UID

min_uid=100

; Minimum GID

min_gid=100

[hdanlers]

;Hdanler for php-scripts

x-httpd-suphp=”php:/usr/bin/php-cgi”

;Hdanler for CGI-scripts

x-suphp-cgi=”execute:!self”

Edit file /etc/httpd/conf.d/php.conf untuk mengenable php parsing hanya untuk phpmyadmin, roundcube dan system packages lain di /usr/share namun bukan untuk websites di /var/www sebagaimana ISPConfig akan mengaktifkan PHP pada masing-masing website.

nano /etc/httpd/conf.d/php.conf

rubah baris berikut ini :

<FilesMatch \.php$>
SetHdanler application/x-httpd-php
</FilesMatch>

Menjadi :

<Directory /usr/share>
<FilesMatch \.php$>
SetHdanler application/x-httpd-php
</FilesMatch>
</Directory>

Enable httpd dan PHP-FPM agar dapat berjalan saat booting dan jalankan the PHP-FPM service.

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

jalankan perintah berikut untuk memulai service Apache:

systemctl restart httpd.service

15 Installation of mod_python

Modul apache: mod_python tidak terdapat pada paket RPM, untuk itu kita perlu mengkompilasi dari sumber yang tersedia. Langkah pertama adalah menginstall file python development dan download file mod_python version versi tar.gz

yum -y install python-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

Kemudian kita konfigurasi dan mengkompilasi source code tadi

./configure
make
make install

dan enable module pada apache

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

16 Install PureFTPd

Ketikan perintah berikut untuk menginstall PureFTPd :

yum -y install pure-ftpd

kemudian buat link startup sistem dan jalankan PureFTPd:

systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service

sekarang kita configure PureFTPd untuk menjalan FTP dan TLS sessions. FTP menggunakan protocol yang kurang aman karena semua password dan data akan dikirimkan dalam mode tesks murni. Dengan menggunakan TLS, semua komunikasi dapat dienkrips , hal ini memungkinkan FTP berjalan lebih aman.

OpenSSL dibutuhkan untuk menjalankan TLS; Ketikan perintah berikut untuk menginstall OpenSSL :

yum install openssl

buka  /etc/pure-ftpd/pure-ftpd.conf…

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

hapus komen pada file konfigurasi , jadikan  TLS menjadi  1:

[…]

# This option can accept three values :

# 0 : disable SSL/TLS encryption layer (default).

# 1 : accept both traditional dan 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 dapat menjalankan TLS, kita harus membuat sertifikat SSL. Kita buat pada direktori /etc/ssl/private/, untuk itu kita buat terlebih dahulu diektori tersebut dengan perintah :

mkdir -p /etc/ssl/private/

setelah itu kita dapat menGenerate sertifikat SSL dengan perintah berikut :

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Country Name (2 letter code) [XX]: ID
State or Province Name (full name) []: RIAU
Locality Name (eg, city) [Default City]: Pekanbaru
Organization Name (eg, company) [Default Company Ltd]: OrizaSativa
Organizational Unit Name (eg, section) []: Oriza
Common Name (eg, your name or your server’s hostname) []: orizasativa.htp.ac.id
Email Address []: [email protected]

Rubah file permissions sertifikat SSL :

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

terakhir restart servive PureFTPd:

systemctl restart pure-ftpd.service

Itu Sajat. Kita sekarang dapat mencoba untuk konek ke server menggunakan FTP client; gunakan aplikasi FTP Client misalnya Filezilla-Client.

17 Install BIND

Ketikan perintah berikut untuk menginstall BIND :

yum -y install bind bind-utils

buat backup file  /etc/named.conf yang telah ada dan buat file konfigurasi 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; };

allow-recursion {“none”;};

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 konfigurasi /etc/named.conf.local yang telah kita masukan pada akhir konfigurasi pada  /etc/named.conf (/etc/named.conf.local akan digunakan oleh ISPConfig untuk menyimpan file konfigurasi jika kita membuat DNS zones pada ISPConfig):

touch /etc/named.conf.local

kemudian kita buat link startup BIND dan jalankan BIND:

systemctl enable named.service
systemctl start named.service

18 Install Webalizer, Dan AWStats

Ketikan perintah berikut untuk menginstall Webalizer dan AWStats:

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

19 Install Jailkit

Jailkit digunakan sebagai chroot user2 SSH dan cronjobs. Ketikan perintah berikut untuk menginstall (Penting: Jailkit Harus diinstall sebelum ISPConfig – dan tidak bisa diinstall kemudian setelah ISPconfig!):

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*

20 Install fail2ban

Pilihan namun disarankan untuk menginstall, karena ISPConfig memonitor dan akan menampilkan log.

yum -y install iptables-services fail2ban fail2ban-systemd
systemctl mask firewalld.service
systemctl enable iptables.service
systemctl enable ip6tables.service
systemctl stop firewalld.service
systemctl start iptables.service
systemctl start ip6tables.service

selanjutnya kita buat file  /etc/fail2ban/jail.local dan enable monitoring untuk ssh, email dan ftp service.

nano /etc/fail2ban/jail.local

tambahkan konfigurasi berikut pada file jail.local :

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

[pure-ftpd]
enabled = 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 file startup sistem untuk fail2ban dan jalankan :

Yum remove iptables-services

systemctl enable fail2ban.service
systemctl start fail2ban.service

21 Install rkhunter

Ketikan perintah berikut untuk menginstall Rkhunter :

yum -y install rkhunter

22 Install Mailman (SKIP SAJA)

Jika kita ingin mengelola mailinglists menggunakan Mailman pada server, maka install mailman. Mailman sangat didukung oleh ISPConfig, jadi kita dapat membuat mailling list baru melalui ISPConfig kemudian.

yum -y install mailman

sebelum memulai mailman, sebuah mailing list dengan nama mailman harus dibuat :

touch /var/lib/mailman/data/aliases
postmap /var/lib/mailman/data/aliases
/usr/lib/mailman/bin/newlist mailman

[root@server1 tmp]# /usr/lib/mailman/bin/newlist mailman
Enter the email of the person running the list: [email protected]
Initial mailman password: ketik password anda
To finish creating your mailing list, you must edit your /etc/aliases (or
equivalent) file by adding the following lines, dan possibly running the
`newaliases’ program:

## mailman mailing list
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”

Hit enter to notify mailman owner… <– ENTER

[root@server1 tmp]#

Buka /etc/aliases setelahnya…

vi /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 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”

Run

newaliases

restat Postfix:

systemctl restart postfix.service

sekarang buka file konfigurasi Apache Mailman

/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/. Tambakan komen (#) pada  Alias /pipermail/ /var/lib/mailman/archives/public/ dan tambahkan baris Alias /pipermail /var/lib/mailman/archives/public/:

#

# httpd configuration settings for use with mailman.

#

ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/

ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/

<Directory /usr/lib/mailman/cgi-bin/>

AllowOverride None

Options ExecCGI

Order allow,deny

Allow from all

</Directory>

#Alias /pipermail/ /var/lib/mailman/archives/public/

Alias /pipermail /var/lib/mailman/archives/public/

<Directory /var/lib/mailman/archives/public>

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

AddDefaultCharset Off

</Directory>

# Uncomment the following line, to redirect queries to /mailman to the

# listinfo page (recommended).

# RedirectMatch ^/mailman[/]*$ /mailman/listinfo

Restart Apache:

systemctl restart httpd.service

buat sistem startup untuk Mailman dan Jalankan:

systemctl enable mailman.service
systemctl start mailman.service

Setelah kita berhasil mengistall ISPConfig 3, kita dapat mengakses Mailman sebagai berikut :

Kita dapat menggunakan alias  /cgi-bin/mailman untuk semua Vhost Apache (Dengan catatan bahwa  suExec dan CGI harus di disabled agar virtualhost dapat mengakases Mailman!), yang berarti anda dapat mengakses admin Mailman interface pada http://<vhost>/cgi-bin/mailman/admin/<listname>, dan halaman web untuk user dapat diakases pada  http://<vhost>/cgi-bin/mailman/listinfo/<listname>.

Dibawah  http://<vhost>/pipermail/<listname> anda dapat menemukan arsip mailing list.

23 Install Roundcube webmail

Ketikan perintah berikut untuk menginstall Roundcube webmail client, …

yum -y install roundcubemail

Rubah konfigurasi roundcubemail dengan perintah :

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

#

# Round Cube Webmail is a browser-based multilingual IMAP client

#

Alias /roundcubemail /usr/share/roundcubemail
Alias /webmail /usr/share/roundcubemail

# Define who can access the Webmail

# You can enlarge permissions once configured

#<Directory /usr/share/roundcubemail/>

# <IfModule mod_authz_core.c>

# # Apache 2.4

# Require local

# </IfModule>

# <IfModule !mod_authz_core.c>

# # Apache 2.2

# Order Deny,Allow

# Deny from all

# Allow from 127.0.0.1

# Allow from ::1

# </IfModule>

#</Directory>

<Directory /usr/share/roundcubemail/>

Options none

AllowOverride Limit

Require all granted

</Directory>

# Define who can access the installer

# keep this secured once configured

#<Directory /usr/share/roundcubemail/installer/>

# <IfModule mod_authz_core.c>

# # Apache 2.4

# Require local

# </IfModule>

# <IfModule !mod_authz_core.c>

# # Apache 2.2

# Order Deny,Allow

# Deny from all

# Allow from 127.0.0.1

# Allow from ::1

# </IfModule>

#</Directory>

<Directory /usr/share/roundcubemail/installer>

Options none

AllowOverride Limit

Require all granted

</Directory>

# Those directories should not be viewed by Web clients.

<Directory /usr/share/roundcubemail/bin/>

Order Allow,Deny

Deny from all

</Directory>

<Directory /usr/share/roundcubemail/plugins/enigma/home/>

Order Allow,Deny

Deny from all

</Directory>

Restart Apache:

systemctl restart httpd.service

sekarang kita buat database untuk roundcube mail, dengan perintah sebagai berikut:

mysql -u root -p

pada mariadb prompt gunakan :

CREATE DATABASE roundcubedb;
CREATE USER roundcubeuser@localhost IDENTIFIED BY ’roundcubepassword’;
GRANT ALL PRIVILEGES on roundcubedb.* to roundcubeuser@localhost ;
FLUSH PRIVILEGES;
exit

Rubah tanda tuisan meraha sesuai dengan keinginan anda. Sekarang kita akan menginstall melalui web brosere pada alamat  http://103.233.147.236/webmail/installer

Jalankan perintah berikut dan copy konfigurasi filenya kedalam putty :

nano /etc/roundcubemail/config.inc.php

<?php

/* Local configuration for Roundcube Webmail */

// ———————————-

// SQL DATABASE

// ———————————-

// Database connection string (DSN) for read+write operations

// Format (compatible with PEAR MDB2): db_provider://user:password@host/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:roundcubepassword@localhost/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’;

// 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 (dan the client cookie if remember password is enabled).

// please provide a string of exactly 24 chars.

$config[‘des_key’] = ‘FHgaM7ihtMkM1cBwckOcxPdT’;

// ———————————-

// PLUGINS

// ———————————-

// List of active plugins (in plugins/ directory)

$config[‘plugins’] = array();

// Set the spell checking engine. Possible values:

// – ‘googie’ – the default

// – ‘pspell’ – requires the PHP Pspell module dan 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’;

Kemudain tekan tombol “continue” pada halaman web installer. Pada halaman selanjutnya , tekan tombol “Initialize database”.

Terakhir , disable installer Roundecubemail. Rubah file konfigurasi apacheroundcubemail:

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

#

# Round Cube Webmail is a browser-based multilingual IMAP client

#

Alias /roundcubemail /usr/share/roundcubemail
Alias /webmail /usr/share/roundcubemail

# Define who can access the Webmail

# You can enlarge permissions once configured

#<Directory /usr/share/roundcubemail/>

# <IfModule mod_authz_core.c>

# # Apache 2.4

# Require local

# </IfModule>

# <IfModule !mod_authz_core.c>

# # Apache 2.2

# Order Deny,Allow

# Deny from all

# Allow from 127.0.0.1

# Allow from ::1

# </IfModule>

#</Directory>

<Directory /usr/share/roundcubemail/>

Options none

AllowOverride Limit

Require all granted

</Directory>

# Define who can access the installer

# keep this secured once configured

<Directory /usr/share/roundcubemail/installer/>

<IfModule mod_authz_core.c>

# Apache 2.4

Require local

</IfModule>

<IfModule !mod_authz_core.c>

# Apache 2.2

Order Deny,Allow

Deny from all

Allow from 127.0.0.1

Allow from ::1

</IfModule>

</Directory>

# Those directories should not be viewed by Web clients.

<Directory /usr/share/roundcubemail/bin/>

Order Allow,Deny

Deny from all

</Directory>

<Directory /usr/share/roundcubemail/plugins/enigma/home/>

Order Allow,Deny

Deny from all

</Directory>

~

Restart Apache:

systemctl restart httpd.service

24 Instalasi ISPConfig 3

Download ISPConfig 3  dan install . Installer dari ISPConfig akan melakukan proses konfigurasi semua services seperti Postfix, Dovecot, dll. Kita sekarang juga memungkinkan installer membuat SSL vhost untuk control panel ISPConfig , sehingga pada akhirnya ISPConfig diakses menggunakan https:// ataupun http://.

Untuk menginstall ISPConfig 3 dari versi termutakhir ketikan perintah beikut:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

selanjutnya ketikan perintah berikut :

php -q install.php

perintah diatas akan memulai proses instalaasi ISPConfig 3 :

[root@server1 install]# php -q install.php

——————————————————————————–
_____ ___________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
| | \ `–.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
| |  `–. \  __/  | |    / _ \| ‘_ \|  _| |/ _` |  |_ |
_| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
——————————————————————————–

>> Initial configuration

Operating System: Redhat or compatible, unknown version.

Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] dan can be accepted with <ENTER>.
Tap in “quit” (without the quotes) to stop the installer.

Select language (en,de) [en]: <– ENTER

Installation mode (stdanard,expert) [stdanard]: <– ENTER

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server1.example.com]: <– ENTER

MySQL server hostname [localhost]: <– ENTER

MySQL root username [root]: <– ENTER

MySQL root password []: Pasword root MySQL Anda

MySQL database to create [dbispconfig]: <– ENTER

MySQL charset [utf8]: <– ENTER

Generating a 2048 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
State or Province Name (full name) []: <– ENTER
Locality Name (eg, city) [Default City]: <– ENTER
Organization Name (eg, company) [Default Company Ltd]: <– ENTER
Organizational Unit Name (eg, section) []: <– ENTER
Common Name (eg, your name or your server’s hostname) []: <– ENTER
Email Address []: <– ENTER
Configuring Jailkit
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring BIND
Configuring Apache
Configuring Vlogger
Configuring Apps vhost
Configuring Bastille Firewall
Configuring Fail2ban
Installing ISPConfig
ISPConfig Port [8080]: <– ENTER

Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <– 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
State or Province Name (full name) []: <– ENTER
Locality Name (eg, city) [Default City]: <– ENTER
Organization Name (eg, company) [Default Company Ltd]: <– ENTER
Organizational Unit Name (eg, section) []: <– ENTER
Common Name (eg, your name or your server’s hostname) []: <– ENTER
Email Address []: <– ENTER

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: <– ENTER
An optional company name []: <– ENTER
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Restarting services …
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
Shutting down postfix:                                     [  OK  ]
Starting postfix:                                          [  OK  ]
Stopping saslauthd:                                        [FAILED]
Starting saslauthd:                                        [  OK  ]
Waiting for the process [1424] to terminate
Shutting down amavisd: Daemon [1424] terminated by SIGTERM
[  OK  ]
amavisd stopped
Starting amavisd:                                          [  OK  ]

Stopping clamd.amavisd:                                    [  OK  ]
Starting clamd.amavisd:                                    [  OK  ]
Stopping Dovecot Imap:                                     [  OK  ]
Starting Dovecot Imap:                                     [  OK  ]
Stopping httpd:                                            [  OK  ]
[Thu Mar 14 14:12:32 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
Starting httpd:                                            [  OK  ]
Stopping pure-ftpd:                                        [  OK  ]
Starting pure-ftpd:                                        [  OK  ]
Installation completed.
[root@server1 install]#

Pesan error “usage: doveadm [-Dv] [-f <formatter>] <commdan> [<args>]” kita biarkan saja, jika pada saat instalasi muncul.

Untuk memperbaiki Mailman errors saat instalasi ISPConfig , Buka  /usr/lib/mailman/Mailman/mm_cfg.py…

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

… dan set DEFAULT_SERVER_LANGUAGE = ‘en’:

[…]

#————————————————————-

# The default language for this server.

DEFAULT_SERVER_LANGUAGE = ‘en’

[…]

Restart Mailman:

systemctl restart mailman.service

Setelah itu kita dapat mengakses ISPConfig 3 melalui alamat : http(s)://orizasativa.htp.ac.id:8080/ atau http(s)://103.233.147.236:8080 (http atau https tergantung apa yang kita pilih saat proses instalasi ). Log in dengan menggunakan username admin dan password admin (Kita perlu merubahnya pada halaman ISPConfig sesaat setelah kita berhasil login ):

Tampilan saat kita mengakses halaman login ISPConfig 3 :

25 First ISPConfig Login

Setelah itu kita dapat mengakses ISPConfig 3 melalui alamat : http(s)://orizasativa.htp.ac.id:8080/ atau http(s)://103.233.147.236:8080 (http atau https tergantung apa yang kita pilih saat proses instalasi ). Log in dengan menggunakan username admin dan password admin (Kita perlu merubahnya pada halaman ISPConfig sesaat setelah kita berhasil login ):

Selannjutnya kita harus menyesuaikan konfigurasi BIND pada ISPConfig. Click pada “System” menu utama atas , pada “Server config” klick pada servername.

Pilih tab DNS pada menu tabulasi diatas :

dan sesuaikan path DNS dengan konfigurasi sebagai berikut :

BIND zonefiles directory: /var/named
BIND named.conf path: /etc/named.conf
BIND named.conf.local path: /etc/named.conf.local

System sekarang telah siap untuk digunakan.