Anda di halaman 1dari 16

Administrasi Shared Hosting Server | Chapter 02.

Konfigurasi Shared Hosting

Chapter 02
Konfigurasi Shared
Hosting

© 2021 IlmuJaringan(dot)Com 6
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

Server untuk keperluan Shared Hosting umumnya dibangun dengan


menggunakan sistem operasi Linux. Server dengan sistem Linux
tersebut harus dilengkapi dengan berbagai service untuk
memudahkan pengguna dalam mendapatkan layanan Internet, seperti
layanan web, aplikasi maupun email.

Secara mendasar, setelah sistem Linux terinstall, server Linux harus


memiliki beberapa konfigurasi dan service agar siap digunakan
sebagai server shared hosting. Adapun konfigurasi dan service
tersebut adalah sebagai berikut.

1. Konfigurasi Network Interface


2. Service DNS Server
3. Service FTP Server
4. Service Database Server
5. Service Web Server
6. Service Email Server

Adapun sistem Linux yang digunakan pada modul training ini adalah
CentOS 7. Untuk sistem Linux lainnya, dapat menggunakan beberapa
penyesuaian perintah konfigurasi.

Konfigurasi Network Interface


Konfigurasi network interface berguna untuk menghubungkan mesin
Linux ke jaringan lokal maupun Internet. Konfigurasi jaringan meliputi
IP Address, netmask, default gateway maupun DNS Server.

Secara default, CentOS menggunakan nama ens18 sebagai interface


card, sehingga konfigurasi jaringan untuk interface card tersebut akan
ada pada file ifcfg-ens18, seperti terlihat pada uraian berikut ini.
[root@ilmujaringan ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens18
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="ens18"
UUID="fedb91bc-0b32-417e-ba5b-03b03fb16590"
DEVICE="ens18"

© 2021 IlmuJaringan(dot)Com 7
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

ONBOOT="yes"
IPADDR="1.1.1.1"
PREFIX="24"
GATEWAY="1.1.1.254"
DNS1="8.8.8.8"
DNS2="8.8.4.4"
DOMAIN="ilmujaringan.com"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_PRIVACY="no"

Penggantian konfigurasi IP Address, netmask, default gateway dan


DNS Server dapat dilakukan dengan mengedit file ifcfg-ens18 dengan
menggunakan text editor. Bila pengeditan telah selesai, network
interface card harus di-restart dengan menggunakan perintah berikut
ini.

[root@ilmujaringan ~]# systemctl restart network.service

atau

[root@ilmujaringan ~]# service network restart

Untuk memastikan network interface card selalu dihidupkan saat


pertama kali komputer dihidupkan, dapat menggunakan perintah
berikut ini.

[root@ilmujaringan ~]# chkconfig network on

Untuk mengakses Internet, mesin Linux harus mengkonfigurasikan


DNS Server yang diberikan oleh ISP. Konfigurasi DNS Server terletak
pada file /etc/resolv.conf dan akan terlihat seperti berikut ini.

[root@server ~]# cat /etc/resolv.conf


# Generated by NetworkManager
search ilmujaringan.com
nameserver 8.8.8.8
nameserver 8.8.4.4

© 2021 IlmuJaringan(dot)Com 8
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

DNS Server

Untuk mengelola domain dan sub domain dari web site, server yang
menjadi shared hosting harus menjalankan layanan DNS (Domain
Name System). Daemon yang umum digunakan untuk menjalankan
layanan DNS adalah BIND

Untuk memeriksa apakah BIND telah terinstall pada sistem Linux,


dapat digunakan perintah seperti berikut.

[root@ns1 ~]# rpm -q bind


package bind is not installed

Jika belum terinstall, maka perintah yang dapat digunakan untuk


melakukan instalasi BIND adalah sebagai berikut.

[root@ns1 ~]# yum install -y bind

[root@ns1 ~]# rpm -q bind


bind-9.9.4-29.el7_2.4.x86_64

Untuk keperluan pengujian, perlu juga diinstall tools untuk menunjang


BIND.

[root@ns1 ~]# yum install -y bind-utils

Untuk menjalankan BIND, dapat digunakan perintah sebagai berikut.

[root@ns1 ~]# systemctl start named.service

[root@ns1 ~]# systemctl status named.service

Opsi lain yang dapat digunakan adalah restart dan stop.

© 2021 IlmuJaringan(dot)Com 9
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

Untuk memastikan BIND dijalankan setiap sistem pertama kali


dihidupkan, dapat digunakan perintah sebagai berikut.

[root@ns1 ~]# systemctl enable named.service

FTP Server
FTP Server dibutuhkan server shared hosting untuk mempermudah
pengelola website dalam mengupload konten web, seperti gambar,
video, plugins website dan file-file lain. Yang umum digunakan
sebagai FTP Server adalah ProFTPD.

Untuk memeriksa apakah ProFTPD sudah terinstall, dapat digunakan


perintah sebagai berikut.

[root@ftp ~]# rpm -q proftpd


package proftpd is not installed

Repository resmi dari RedHat dan CentOS tidak menyediakan file


binary untuk instalasi ProFTPD. Sehingga untuk melakukan instalasi
ProFTPD dengan menggunakan repository, harus digunakan file
binary yang disediakan di repository server EPEL. Adapun perintah
yang dapat digunakan adalah sebagai berikut.

[root@ftp ~]# yum -y install epel-release

[root@ftp ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[root@ftp ~]# yum -y update

Jika belum terinstall, ProFTPD harus diinstall dengan beberapa paket


tambahan. Adapun perintah yang dapat digunakan adalah sebagai
berikut.

[root@ftp ~]# yum install -y proftpd openssl proftpd-utils

© 2021 IlmuJaringan(dot)Com 10
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

Untuk menjalankan ProFTPD, dapat digunakan perintah seperti


berikut.

[root@ftp ~]# systemctl start proftpd.service

[root@ftp ~]# systemctl status proftpd.service


â proftpd.service - ProFTPD FTP Server
Loaded: loaded (/usr/lib/systemd/system/proftpd.service; disabled; ve
Active: active (running) since Fri 2016-10-07 06:55:55 WITA; 10s ago
Process: 4063 ExecStart=/usr/sbin/proftpd $PROFTPD_OPTIONS (code=exite
Main PID: 4064 (proftpd)
CGroup: /system.slice/proftpd.service
ââ4064 proftpd: (accepting connections)

Oct 07 06:55:55 web.ilmujaringan.com systemd[1]: Starting ProFTPD FTP Se


Oct 07 06:55:55 web.ilmujaringan.com proftpd[4064]: 103.245.73.61 - Pr J
Oct 07 06:55:55 web.ilmujaringan.com systemd[1]: Started ProFTPD FTP Ser
Hint: Some lines were ellipsized, use -l to show in full.

Optional lain yang dapat digunakan adalah stop maupun restart.

Untuk memastikan bahwa ProFTPD selalu dijalankan saat sistem


mengalam boot atau reboot, dapat digunakan perintah berikut ini.

[root@web ~]# systemctl enable proftpd.service


Created symlink from /etc/systemd/system/multi-user.target.wants/proftpd.service
to /usr/lib/systemd/system/proftpd.service.

Database Server
Website yang dinamis atau aplikasi berbasis web membutuhkan
dukungan Database. Sehingga server shared hosting juga harus
menjalankan service database. Yang umum digunakan untuk
menjalankan service database adalah MySQL atau Mariadb

Untuk melihat apakah Mariadb sudah terinstall pada mesin Linux,


dapat digunakan perintah berikut ini.

[root@db ~]# rpm -q mariadb

© 2021 IlmuJaringan(dot)Com 11
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

Untuk melakukan instalasi Mariadb sebagai database server, perintah


yang dapat digunakan adalah sebagai berikut.

[root@db ~]# yum install -y mariadb mariadb-server

Untuk menjalankan Mariadb, dapat digunakan perintah sebagai


berikut.

[root@db ~]# systemctl start mariadb.service

[root@db ~]# systemctl status mariadb.service


â mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor pre
set: disabled)
Active: active (running) since Tue 2016-10-04 07:24:14 WITA; 8s ago
Process: 2146 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exi
ted, status=0/SUCCESS)
Process: 2067 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited
, status=0/SUCCESS)
Main PID: 2145 (mysqld_safe)
CGroup: /system.slice/mariadb.service
ââ2145 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
ââ2303 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql...

Oct 04 07:24:12 db.ilmujaringan.com mariadb-prepare-db-dir[2067]: PLEASE REME...


Oct 04 07:24:12 db.ilmujaringan.com mariadb-prepare-db-dir[2067]: To do so, s...
Oct 04 07:24:12 db.ilmujaringan.com mariadb-prepare-db-dir[2067]: '/usr/bin/m...
Oct 04 07:24:12 db.ilmujaringan.com mariadb-prepare-db-dir[2067]: '/usr/bin/m...
Oct 04 07:24:12 db.ilmujaringan.com mariadb-prepare-db-dir[2067]: Alternative...
Oct 04 07:24:12 db.ilmujaringan.com mariadb-prepare-db-dir[2067]: '/usr/bin/m...
Oct 04 07:24:12 db.ilmujaringan.com mariadb-prepare-db-dir[2067]: which will ...
Oct 04 07:24:12 db.ilmujaringan.com mysqld_safe[2145]: 161004 07:24:12 mysqld...
Oct 04 07:24:12 db.ilmujaringan.com mysqld_safe[2145]: 161004 07:24:12 mysqld...
Oct 04 07:24:14 db.ilmujaringan.com systemd[1]: Started MariaDB database server.
Hint: Some lines were ellipsized, use -l to show in full.

Untuk memastikan bahwa Mariadb selalu dijalankan pada saat setiap


kali mesin Linux dihidupkan (boot), perintah yang dapat digunakan
adalah sebagai berikut.

[root@db ~]# systemctl enable mariadb.service


Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service
to /usr/lib/systemd/system/mariadb.service.

© 2021 IlmuJaringan(dot)Com 12
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

Setelah proses instalasi selesai, pengujian awal dapat dilakukan


dengan mengakses Mariadb dari shell Linux. Perintah yang digunakan
adalah sebagai berikut.

[root@db ~]# mysql


Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.50-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and


others.

Type 'help;' or '\h' for help. Type '\c' to clear the


current input statement.

Salah satu perintah yang dapat digunakan untuk pengujian awal


adalah melihat database yang dimiliki oleh Mariadb. Secara default
terdapat beberapa database seperti information_schema, mysql,
performance_schema dan test. Perintah yang dapat digunakan
untuk melihat database tersebut adalah sebagai berikut.

MariaDB [(none)]> show databases;


+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)

Untuk keluar dari Mariadb dapat digunakan perintah sebagai berikut.

MariaDB [(none)]> quit


Bye

Setelah melakukan instalasi, perlu dilakukan konfigurasi awal sebelum


Mariadb siap untuk digunakan sebagai database server. Beberapa
konfigurasi awal tersebut adalah pemberian password pada account root
Mariadb, menghapus akses login root secara remote, menghapus
account anonymous, dan menghapus database test yang sebenarnya

© 2021 IlmuJaringan(dot)Com 13
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

tidak dibutuhkan. Konfigurasi awal ini dapat dilakukan dengan mudah,


karena sudah disediakan Wizard. Adapun perintah yang dapat
digunakan adalah sebagai berikut.

[root@db ~]# mysql_secure_installation


/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command
not found

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, and
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] Y


New password:
Re-enter new password:
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, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y


... 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] Y


... Success!

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

Remove test database and access to it? [Y/n] Y


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

© 2021 IlmuJaringan(dot)Com 14
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

Reload privilege tables now? [Y/n] Y


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

Web Server
Layanan utama dari server shared hosting adalah layanan web.
Layanan web atau service web umumnya dijalankan oleh Apache,
beberapa server menggunakan nginx. Web server juga harus
mendukung penggunaan bahasa pemrograman web, seperti bahasa
pemrograman PHP.

Untuk melihat apakah aplikasi apache sebagai HTTP Daemon (web


server) telah terinsall, dapat digunakan perintah sebagai berikut.

[root@web ~]# rpm -q httpd


httpd-2.4.6-40.el7.centos.4.x86_64

Jika belum terinstall, apache dapat diinstall dengan menggunakan


perintah sebagai berikut.

[root@web ~]# yum install -y httpd

Untuk menjalankan Apache sebagai HTTP daemon, dapat digunakan


perintah sebagai berikut.

[root@web ~]# systemctl start httpd.service

[root@web ~]# systemctl status httpd.service


â httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabl
Active: active (running) since Sat 2016-10-08 06:05:28 WITA;
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 5679 (httpd)

© 2021 IlmuJaringan(dot)Com 15
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

Status: "Processing requests..."


CGroup: /system.slice/httpd.service
ââ5679 /usr/sbin/httpd -DFOREGROUND
ââ5680 /usr/sbin/httpd -DFOREGROUND
ââ5681 /usr/sbin/httpd -DFOREGROUND
ââ5682 /usr/sbin/httpd -DFOREGROUND
ââ5683 /usr/sbin/httpd -DFOREGROUND
ââ5684 /usr/sbin/httpd -DFOREGROUND

Oct 08 06:05:28 web.ilmujaringan.com systemd[1]: Starting The Ap


Oct 08 06:05:28 web.ilmujaringan.com systemd[1]: Started The Apa

â 782 /usr/sbin/httpd -k start

Opsi lain yang dapat digunakan selain start dan status, adalah stop
dan reload.

Untuk memastikan apache dijalankan setiap kali mesin Linux boot


atau reboot, dapat digunakan perintah sebagai berikut.

[root@web ~]# systemctl enable httpd.service


Created symlink from /etc/systemd/system/multi-
user.target.wants/httpd.service to
/usr/lib/systemd/system/httpd.service.

Pengujian awal dapat dilakukan dengan mengarahkan browser ke


alamat dari web server, seperti pada gambar berikut.

© 2021 IlmuJaringan(dot)Com 16
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

Dukungan PHP dan MySQL (Database Server) sangat dibutuhkan


apache jika ingin menjalankan web site dinamis maupun jika akan
menjalankan Content Management System seperti Joomla,
Wordpress, phpBB dan lain-lain.

Untuk melihat apakah dukungan PHP telah tersedia, dapat digunakan


perintah sebagai berikut.
[root@web ~]# rpm -q php
php-5.4.16-36.3.el7_2.x86_64

Jika belum terinstall, dapat digunakan perintah sebagai berikut.

[root@web ~]# yum install -y php

Sedangkan untuk dukungan Mariadb dapat digunakan beberapa


perintah sebagai berikut untuk melakukan instalasi.

[root@web ~]# yum install -y mariadb-server

[root@web ~]# yum install -y mariadb

[root@web ~]# yum install -y php-mysql

Untuk menjalankan MySQL dapat digunakan perintah sebagai berikut.

[root@web ~]# systemctl start mariadb.service

[root@web ~]# systemctl status mariadb.service


â mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.servic
Active: active (running) since Sat 2016-10-08 16:31:39
Process: 1038 ExecStartPost=/usr/libexec/mariadb-wait-r
Process: 807 ExecStartPre=/usr/libexec/mariadb-prepare-
Main PID: 1037 (mysqld_safe)
CGroup: /system.slice/mariadb.service
ââ1037 /bin/sh /usr/bin/mysqld_safe --basedir=
ââ1472 /usr/libexec/mysqld --basedir=/usr --da

Oct 08 16:31:35 web.ilmujaringan.com systemd[1]: Starting


Oct 08 16:31:36 web.ilmujaringan.com mysqld_safe[1037]: 1
Oct 08 16:31:36 web.ilmujaringan.com mysqld_safe[1037]: 1
Oct 08 16:31:39 web.ilmujaringan.com systemd[1]: Started
Oct 09 21:34:35 web.ilmujaringan.com systemd[1]: Started
Hint: Some lines were ellipsized, use -l to show in full.

© 2021 IlmuJaringan(dot)Com 17
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

Secara default, MySQL sudah memiliki username root sebagai


Administrator database yang harus diberikan password. User root ini
nantinya akan membuat account maupun database bagi regular user.

Sedangkan untuk menguji apakah apache web server sudah memiliki


dukungan php dan MySQL, dapat dilakukan dengan membuat sebuah
file php dengan script <?php phpinfo(); ?> seperti terlihat berikut ini.

[root@web ~]# nano /var/www/html/test.php


<?php phpinfo(); ?>

Email Server
Shared hosting membutuhkan dukungan layanan email, baik bagi user
akun hosting maupun web atau aplikasi yang dijalankan. Beberapa
aplikasi membutuhkan pengiriman email untuk notifikasi proses dan
layanan.

© 2021 IlmuJaringan(dot)Com 18
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

Yang dapat digunakan untuk memberikan layanan pada server shared


hosting adalah Postfix. Perintah yang dapat digunakan untuk
melakukan instalasi Postfix adalah sebagai berikut.

[root@mail ~]# yum install -y postfix

Konfigurasi Postfix
Konfigurasi Postfix dapat dilakukan pada file /etc/postfix/main.cf.
Perintah yang dapat digunakan adalah sebagai berikut.

[root@mail ~]# nano /etc/postfix/main.cf

Untuk menjalankan Postfix, dapat digunakan perintah sebagai berikut.

[root@mail ~]# systemctl start postfix.service

[root@mail ~]# systemctl status postfix.service


â postfix.service - Postfix Mail Transport Agent
Loaded: loaded (/usr/lib/systemd/system/postfix.service;
Active: active (running) since Mon 2016-10-10 07:52:23 WI
Main PID: 2911 (master)
CGroup: /system.slice/postfix.service
ââ2911 /usr/libexec/postfix/master -w
ââ2912 pickup -l -t unix -u
ââ2913 qmgr -l -t unix -u

Untuk memastikan bahwa Postfix akan dijalankan setiap kali mesin


Linux mengalami restart, perintah yang dapat digunakan adalah
sebagai berikut.

[root@mail ~]# systemctl enable postfix.service

Untuk menguji apakah Postfix telah terinstall dengan benar, maka


dapat digunakan tools telnet ke port 25 yang digunakan oleh Postfix.
Perintah yang dapat digunakan adalah sebagai berikut.

© 2021 IlmuJaringan(dot)Com 19
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

[root@mail ~]# telnet mail.ilmuhitam.com 25


Trying 1.1.1.11...
Connected to mail.ilmuhitam.com.
Escape character is '^]'.
220 mail.ilmuhitam.com ESMTP Postfix
^]
telnet> quit
Connection closed.

Sistem CentOS menggunakan Dovecot untuk menerima email dari


Postfix dengan menggunakan dukungan IMAP dan POP3. Untuk
melakukan instalasi Dovecot dapat digunakan perintah sebagai
berikut.

[root@mail ~]# yum install –y dovecot

Untuk menjalankan Dovecot, dapat digunakan perintah sebagai


berikut.

[root@mail ~]# systemctl start dovecot.service

[root@mail ~]# systemctl status dovecot.service


â dovecot.service - Dovecot IMAP/POP3 email server
Loaded: loaded (/usr/lib/systemd/system/dovecot.service;
Active: active (running) since Mon 2016-10-10 08:01:02 WI
Main PID: 3040 (dovecot)
CGroup: /system.slice/dovecot.service
ââ3040 /usr/sbin/dovecot -F
ââ3043 dovecot/anvil
ââ3044 dovecot/log

Untuk memastikan bahwa Dovecot selalu dijalankan pada saat sistem


akan di-boot atau mengalami reboot. Perintah yang dapat digunakan
adalah sebagai berikut.

[root@mail ~]# systemctl enable dovecot.service

© 2021 IlmuJaringan(dot)Com 20
Administrasi Shared Hosting Server | Chapter 02. Konfigurasi Shared Hosting

Untuk menguji apakah Dovecot sudah bekerja dengan baik, maka


dapat digunakan perintah sebagai berikut.

[root@mail ~]# telnet mail.ilmuhitam.com 110


Trying 1.1.1.11...
Connected to mail.ilmuhitam.com.
Escape character is '^]'.
+OK Dovecot ready.
^]
telnet> quit
Connection closed.

--- end of chapter ---

© 2021 IlmuJaringan(dot)Com 21

Anda mungkin juga menyukai