LAMP adalah kependekan dari Linux, Apache, MySQL, PHP. Tutorial ini menunjukkan bagaimana Anda dapat menginstal server web Apache di server Ubuntu 16.04 LTS (Xenial Xerus) dengan dukungan PHP 7 (mod_php) dan MySQL / MariaDB dan bagaimana men-setup sertifikat SSL dengan Let's encrypt. Selain itu, saya akan menginstal PHPMyAdmin agar administrasi MySQL lebih mudah. Penyiapan LAMP adalah basis yang tepat untuk sistem CMS populer seperti Joomla, Wordpress atau Drupal.

Dalam tutorial ini, saya akan menggunakan
hostname webserver dengan alamat IP 192.168.x.x. Setelan ini mungkin berbeda dengan teman-teman, jadi sesuaikan saja dengan IP yang sudah didapatkan
Saya
merekomendasikan untuk menggunakan setup server minimal Ubuntu sebagai dasar untuk tutorial, yang bisa berupa gambar server virtual atau root dengan instalasi minimal 16.04 Ubuntu dari perusahaan web hosting atau Anda menggunakan tutorial server minimal kami untuk menginstal server dari nol.
Saya menjalankan semua langkah dalam tutorial ini dengan hak istimewa
root, jadi pastikan Anda masuk sebagai root:Installasi MySQL Server di VM
Saat ini ada
dua sistem database MySQL yang banyak digunakan, server MySQL klasik yang dikembangkan oleh Oracle dan tersedia di versi 5.7 sekarang dan garpu MySQL bernama MariaDB yang dikembangkan oleh pengembang asli MySQL Monty Widenius.
Dalam hal ini kita akan menggunakan versi
MySQL 5.7, dan berikut ulasannya, pertama jalankan terlebih dahulu command seperti dibawah ini, untuk hak akses penuh atau root:Step 1: Remote Server Terlebih Dulu
Sebelumnya untuk mempermudah penginstallan paket-paket yang akan kita install alangkah lebih baiknya kita
remote terlebih dahulu servernya karena untuk mempermudah ketika meng-Copy atau Paste command dan dibawah ini server sudah di remote:
septiyadii@webserver: $~ ssh -l septiyadii 192.168.2.40

Selanjutnya ubah hak akses
root agar ketika menginstall paket kita tidak perlu lagi memasukkan password lagi
septiyadii@webserver: $~ sudo su

Setelah itu diminta memasukkan
password, masukkan password untuk masuk kedalam mode root, Untuk menginstal MySQL 5.7, jalankan perintah dibawah ini
root@webserver: $~ apt-get -y install mysql-server mysql-client

Paket
mysql-server dan mysql-client disebut meta-packages, mereka selalu menginstal versi MySQL terbaru yang tersedia dari Ubuntu. Versi terbaru Th adalah MySQL 5.7.
Pada tahap selanjutnya kita akan menetapkan kunci
root untuk MySQL selama penginstalan, tapi kita akan menghapus pengguna anonim dan menguji basis data karena alasan keamanan. Jalankan perintah mysql_secure_installation di bawah ini untuk melengkapinya
kemudian masukkan lagi untuk
re-Type

selanjutnya kita akan mengecek
status dari service MySQL yang sudah kita install tadi apakah sudah aktif atau belum, jika seperti dibawah maka sudah dipastikan service sudah aktif, dan command untuk melihat status atau mengaktifkan, memulai ulang, atau memberhentikan service adalah sebagai berikut:root@webserver: $~service mysql status
root@webserver: $~service [mysql] [start|restart|stop|status]

selanjutnya adalah sudah di katakan diatas untuk
memastikan dan demi keamanan kita akan menghapus beberapa pengaturan dan database sementara dengan mengeksekusi command seperti berikut:
root@webserver: $~ mysql_secure_installation
Pada bagian ini masukkan password telebih dulu untuk melakukan pengaturan pada sistem MySQL
Pilih
N untuk tidak melakukan proses memvalidasi Password

Pada bagian ini apakah password ingin diganti atau tidak jika ya tekan
Y

Kemudian akan diminta memasukan
Password baru beserta re-Type, dan selanjutnya pula kita ditanya apakah ingin menghapus anonimous user, tekan Y

Selanjutnya tekan Y untuk melarang
root login menggunakan remote
Kemudian selanjutnya adalah menghapus database test, tekan
Y untuk menyetujui penghapusan
Pada bagian ini kita ditanya apakah ingin me-Reload hak akses table istimewa, tekan
Y untukmenyetujui.

Installasi MySQL Database Selesai.

Untuk mengetes apakah sudah bisa diakses, berikut
root@webserver: $~ mysql -u root -p

Installasi Apache2 Webserver di VM
Apache 2 tersedia sebagai paket Ubuntu, oleh karena itu kita bisa menginstalnya seperti berikut:
root@webserver: $~ apt-get -y install apache2

Sekarang arahkan browser Anda ke http://192.168.2.230/, dan apabila kita ingin melihat halaman default apache2 aktif pastikan muncul pesan (It works!) dan tampil seperti gambar berikut:

Akar dokumen apache default vhost adalah / var / www / html di Ubuntu dan file konfigurasi utama adalah /etc/apache2/apache2.conf. Sistem konfigurasi didokumentasikan secara lengkap di /usr/share/doc/apache2/README.Debian.gz.
Installasi PHP 7
Kita bisa installPHP 7 dan modul Apache PHP sebagai berikut:
root@webserver: $~ apt-get -y install php7.0 libapache2-mod-php7.0

Kemudian restart Apache2: dengan
command di bawah ini
root@webserver: $~ systemctl restart apache2

Kemudian untuk melihat status dari Apache2: dengan
command di bawah ini
root@webserver: $~ systemctl status apache2

Uji PHP module dan dapatkan detail tentang instalasi PHP anda
Akar dokumen dari situs web default adalah / var / www / html. Sekarang kita akan membuat file PHP kecil (info.php) di direktori itu dan menyebutnya di browser. File akan menampilkan banyak detail berguna tentang instalasi PHP kita, seperti versi PHP yang terinstal. Ketik command dibawah ini untuk membuat filenya terlebih dahulu:
root@webserver: $~ nano /var/www/html/info.php

Jika sudah terbuka editor nano nya kemudian masukkan code dibawah ini:
Sourcecode
<?phpphpinfo();?>

Jika sudah kemudian tekan
tombol kombinasi CTRL+X kemudian tekan tombol Y, dan tekan Enter untuk menyimpan sekaligus keluar dari editor nano


dan berikut adalah hasil mengubah hak akses pada file info.php setelah dirubah hak aksesnya, untuk merubah hak akses berikut.

Jika belum silahkan ganti
hak akses file info.php ke pengguna dan grup www-data.
root@webserver: $~ chown www-data:www-data /var/www/html/info.php
Sekarang kita bisa memanggil file itu di browser (misalnya http://192.168.2.230/info.php):
Seperti yang kita lihat,
PHP 7.0 bekerja, dan ini bekerja melalui Apache 2.0 Handler, seperti yang ditunjukkan pada baris Server API. Jika Anda menggulir lebih jauh ke bawah, Anda akan melihat semua modul yang sudah diaktifkan di PHP5. MySQL tidak terdaftar disana yang berarti kita belum memiliki dukungan MySQL di PHP.Mendapatkan dukungan MySQL di PHP
Untukmendapatkan dukungan MySQL di PHP, kita bisa menginstal paket php7.0-mysql. Sebaiknya pasang beberapa modul PHP lainnya dan Anda memerlukannya untuk aplikasi Anda. Anda bisa mencari modul PHP yang tersedia seperti berikut:
root@webserver: $~ apt-cache search php7.0

Pilih yang kita butuhkan dan pasang seperti dibawah ini:
root@webserver: $~ apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettext

Sekarang restart Apache2 dengan menggunakan command dibawah ini:
root@webserver: $~ systemctl restart apache2

PHP 7 sekarang memiliki dukungan MySQL seperti yang ditunjukkan di phpinfo() di atas.
Instal cache PHP Opcache + APCu untuk mempercepat PHP
PHP 7 mengapalkan dengan built-in opcode cacher untuk caching dan mengoptimalkan kode antara PHP, ia memiliki nama 'opcache' dan tersedia di paket php7.0-opcache. Sangat disarankan agar Opcache terinstal untuk mempercepat halaman PHP Anda. Selain opcache, kita akan menginstal APCu yang merupakan pembungkus kompatibilitas untuk opcache untuk menyediakan fungsi cache APC, sistem caching yang sering digunakan di versi PHP 5.x dan banyak sistem CMS masih menggunakannya.
root@webserver: $~ apt-get -y install php7.0-opcache php-apcu

Jangan khawatir jika itu menunjukkan bahwa
Opcache telah terinstal.Sekarang restart Apache2 dengan command dibawah ini:
root@webserver: $~ systemctl restart apache2

Sekarang muat ulang
http://192.168.2.230/info.php di browser Anda dan gulir ke bagian modul lagi. Anda sekarang harus menemukan banyak modul baru di sana:
Aktifkan situs web SSL di apache
SSL / TLS adalah lapisan keamanan untuk mengenkripsi koneksi antara browser web dan server Anda. Sebagian besar browser web mulai menunjukkan situs sebagai hari yang tidak aman saat koneksi antara server dan browser web tidak dienkripsi dengan SSL. Pada bab ini, kita akan menunjukkan cara mengamankan situs Anda dengan SSL.Jalankan perintah berikut di server Anda untuk mengaktifkan dukungan SSL (
https: //). Jalankan perintah command berikut:
root@webserver: $~ a2enmod ssl

root@webserver: $~ a2ensite default-ssl

yang memungkinkan
modul SSL dan menambahkan symlink di folder / etc / apache2 / sites-enabled ke file /etc/apache2/sites-available/default-ssl.conf untuk memasukkannya ke dalam konfigurasi apache yang aktif.Kemudian
restart apache untuk mengaktifkan konfigurasi baru:Sekarang ujilah koneksi SSL dengan membuka
https://192.168.2.230 di browser web.
klik
processed untuk masuk dan menyetujuinya
"Green Lock" tertutup di depan
URL di browser menunjukkan bahwa koneksi dienkripsi.Ada dua
cara untuk menyingkirkan peringatan SSL, ganti sertifikat SSL /etc/ssl/certs/ssl-cert-snakeoil.pem dengan sertifikat SSL yang ditandatangani secara resmi yang Anda beli dari Otoritas SSL atau Anda mendapatkan sebuah sertifikat SSL gratis dari Let's encrypt.Selanjutnya adalah tahapan akhir yaitu menginstall phpMyAdmin untuk mengelola database
Memasang phpMyAdmin untk Mengelola Database MySQL
phpMyAdmin adalah antarmuka web yang bisa digunakan untuk mengelola database MySQL Anda. Sebaiknya menginstalnya:
root@webserver: $~ apt-get -y install phpmyadmin

PENTING: Apt installer akan mengajukan beberapa pertanyaan sekarang, salah satunya adalah memilih jenis server web. Kesalahan umum adalah bahwa jenis server web hanya disorot namun tidak dipilih. Untuk memilih item dalam menu apt Anda harus menekan panel spasi pada keyboard setelah Anda menavigasi ke item tersebut dengan tombol tab atau kursor. Hanya menyoroti itu tidak ennough!
Anda akan melihat pertanyaan berikut:
Web server to configure automatically:
<-- Select the option: apache2Configure database for phpmyadmin with dbconfig-common?
<-- YesMySQL application password for phpmyadmin:
<-- Press enter, apt will create a random password automatically.Pada bagian ini kita pilih service
Apache2 untuk webservernya
Pada tahap ini kita dimintai persetujuan untuk
mengkonfigurasi database, dalam hal ini adalah mengatur password tekan Yes untuk menyetujuinya
Masukkan Password yang sama dengan
Password pada saat menginstall MySQL sebelumnya, jika beda maka ketika akan memasuki phpMyAdmin versi website tidak akan bisa masuk kedalam program
re-
Type Password
Kemudian tinggal di coba masuk ke website
https://192.168.2.230/phpmyadmin/ dan berikut tampilannya
Untuk Username:
root dan Password: [password-ketika-installasi-mysql]

Done.
Sumber : https://github.com/septiyadii/Learn-Basic-Server/wiki/Materi-K:-Membangun-Web-Server-di-VM-Ubuntu-Server-16.04.03-LTS