Tidak membeli Plesk atau cPanel di Linux bukan berarti tidak bisa membuat vps tersbut menjadi hosting untuk website. Alternatifnya, anda bisa menggunakan LAMP pada Centos Linux. Pada dasarnya LAMP adalah kepanjangan dari Linux, Apache, MySQL, PHP/Perl/Python. Artinya komponen yang dibutuhkan untuk membangun suatu web server dan bisa digunakan.


Menggunakan Centos 7


Tutorial kali ini akan menggunakan centos 7 minimal sebagai bahan percobaan. Kita akan memasang Apache, PHP7, dan MariaDB. Pastikan anda mempunyai catatan seperti notepad untuk menuliskan user dan password nanti.


1. Install EPEL

Kita akan menginstall epel repository.


rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release

2. Install MariaDB

Pada dasarnya untuk database kami merekomendasikan mariadb. Kita install terlebih dahulu.


yum -y install mariadb-server mariadb

Kemudian pastikan service mariadb akan terus berjalan walau server kita ter-restart. Pastikan service mariadb sudah berjalan.


systemctl start mariadb.service
systemctl enable mariadb.service
service mariadb start

Mari kita setup password root databasenya. Pastikan anda catat passwordnya di notepad komputer anda, lalu save! Gunakan password yang sudah dan tidak mudah ditebak yg berisi perpaduan huruf, angka, dan simbol.


mysql_secure_installation


3. Install Apache

Secara umum untuk Centos 7 akan menggunakan Apache versi 2.4. Kita mulai install.


yum -y install httpd

Pastikan service Apache berjalan terus meski vps sudah di restart.

systemctl start httpd.service
systemctl enable httpd.service
service httpd start


Pada tahap ini, kita akan menambah rules firewall pada firewalld server. Untuk Centos minimal, biasanya tidak ada. Jika tidak ada, bisa di skip saja.


firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload


4. Install PHP7

Selanjutnya, kita akan memasang php7. Mengapa kita pilih versi 7, karena versi 5.6 sudah sangat outdated. Pertama, kita tambahkan terlebih dahulu repo REMI.

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm


Kemudian installkan yum manager.

yum -y install yum-utils


Kemudian update.

yum -y update


Untuk memasang php versi terbaru dan stable, yaitu php73 maka gunakan ini :

yum-config-manager --enable remi-php73
yum -y install php php-opcache

Lalu restart proses httpdnya agar ada efek ke php.

systemctl restart httpd.service


5. Install php-mysql

Agar MySQL bisa diakses dengan extensi php, maka kita harus memasang beberapa extension terlebih dahulu. Untuk website sederhana, pack ini sudah cukup.

yum -y install php-mysqlnd php-pdo

Namun untuk package seperti WordPress, maka perlu di install tambahan php extension lainnya.

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

Setelah itu anda restart lagi httpdnya.

systemctl restart httpd.service


6. Test Versi PHP

Terkahir, pastikan kita sudah memasang versi php yang benar. Caranya adalah dengan melakukan verifikasi. Buat file info.php yang berisi check script php version di /var/www/html. Isi script tersebut adalah sebagai berikut.


<?php
phpinfo();
?>


7. Install phpmyadmin

Langkah terakhir adalah memasang phpmyadmin yang berfungsi untuk konfigurasi database baik itu export maupun import pada server anda. Karena phpmyadmin ini rentan dengan bruteforce login yang dapat menyebabkan server anda bermasalah hingga down, kami menyarankan untuk memasangnya dengan nama yang berbeda agar lebih aman.


Install phpmnyadmin

yum -y install phpMyAdmin


Edit file :

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

Kemudian cari pada baris Alias dan modifikasi dari :

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin


Menjadi

Alias /p7x /usr/share/phpMyAdmin
Alias /p7x /usr/share/phpMyAdmin


Dengan demikan, untuk membuka phpmyadmin anda harus menggunakan path fodler /p7x. Contoh : http://domain/p7x


Lalu comment semua baris pada di bawah ini. Kemudian tambahkan Require all granted seperti di bawah ini. Mulai comment out (#) pada baris 15 hingga 19.


# Apache 2.4
#<RequireAny>
#Require ip 127.0.0.1
#Require ip ::1
#</RequireAny>
Require all granted


Kemudian restart apache.

systemctl restart  httpd.service


Oke selesai.

Kini server Centos 7 anda sudah dilengkapi dengan LAMP. Anda bisa mulai mengisi file dokumen di /var/www/html/ menggunakan SSH langsung atau FileZilla via SFTP.