Cara Menginstall Linux Apache, Mysql, PHP (LAMP) di Ubuntu 16.04

-

LAMP merupakan sebuah kumpulan web dari layanan web yang terdiri dari Linux, Apache, MySQL, dan PHP. LAMP umumnya dipergunakan untuk membangun situs web yang dinamis dan juga membangun aplikasi web.

Berikut komponen dari LAMP:

  • Linux – Sistem Operasi
  • Apache – Web Server
  • MySQL – Sistem Basis Database
  • PHP – Bahasa Pemrograman

Berikut ini merupakan cara mudah untuk menginstall LAMP di Ubuntu versi 16.04:

1. Langkah Pertama – Install Apache

# sudo apt-get install apache2


Konfigurasi pada Apache

a). Pengaturan KeepAlive memungkinkan Apache untuk lebih memanfaatkan memori sisi server, mengurangi latensi bagi pengguna di situs yang ada di hosting. KeepAlive akan membuat situs web lebih cepat jika host memiliki cukup memori untuk mendukungnya.

# nano /etc/apache2/apache2.conf
KeepAlive On MaxKeepAliveRequest 50 KeepAliveTimeout 5


b). Modul multi-pemrosesan default (MPM) adalah modul prefork. mpm_prefork adalah modul yang kompatibel dengan sebagian besar sistem. Berikut adalah nilai yang disarankan untuk 2GB:

# nano /etc/apache2/mods-available/mpm_prefork.conf
<IfModule mpm_prefork_module> StartServers 4 MinSpareServers 3 MaxSpareServers 40 MaxRequestWorkers 200 MaxConnectionsPerChild 10000 </IfModule>


c). Non aktifkan modul dan aktifkan prefork

# sudo a2dismod mpm_event
# sudo a2enmod mpm_prefork


d). Restart Apache

# sudo systemctl restart apache2



Konfigurasi Virtual Host

Anda dapat mengatur beberapa host virtual, untuk setiap langkah ini, ganti example.com dengan nama domain Anda.

a). Salin file konfigurasi Apache default untuk situs Anda:

# sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf


b). Buka file konfigurasi example.com baru di editor teks Anda. Batalkan komentar opsi ServerName dan perbarui dengan domain Anda. Masukkan path root dokumen dan log direktori seperti yang ditunjukkan di bawah ini, dan tambahkan blok Direktori sebelum <VirtualHost>

# nano /etc/apache2/sites-available/example.com.conf
<Directory /var/www/html/example.com/public_html> Require all granted </Directory> <VirtualHost *:80> ServerName example.com ServerAlias www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html/example.com/public_html ErrorLog /var/www/html/example.com/logs/error.log CustomLog /var/www/html/example.com/logs/access.log combined </VirtualHost>


c). Buat file direktori

# sudo mkdir -p /var/www/html/example.com/{public_html,logs}


d). Koneksikan virtual host anda dari sites-available ke direktori sites-enable

# sudo a2ensite example.com


e). Nonaktifkan host virtual default untuk meminimalkan risiko keamanan

# sudo a2dissite 000-default.conf


f). Reload Apache

# sudo systemctl reload apache2


2. Langkah Kedua – Install mysql-server

Install paket mysql-server dan pilih kata sandi

a). Konfigurasi MySQL

# mysql -u root -p


b). Jika tidak ada kata sandi yang dimasukkan di bagian sebelumnya, atau jika Anda ingin mengubah kata sandi root, masukkan perintah berikut. Ganti kata sandi dengan kata sandi root baru:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'password';


c). Buat database dan pengguna dengan perizinan. Dalam contoh ini, database disebut webdata, pengguna webuser, dan kata sandi kata sandi:

mysql> CREATE DATABASE webdata;
mysql> GRANT ALL ON webdata.* TO 'webuser' IDENTIFIED BY'password';


d). Keluar dari MySQL

mysql> quit


3. Langkah Ketiga – Install PHP

# sudo apt-get install php7.2 libapache2-mod-php7.2 php-mysql


Konfigurasi PHP

a). Buat direktori log untuk PHP

# sudo mkdir /var/log/php
# sudo chown www-data /var/log/php


b). Restart Apache

# sudo systemctl restart apache2


Test dan troubleshoot pada LAMP

Di bagian ini, Anda akan membuat halaman pengujian yang menunjukkan apakah Apache dapat membuat PHP dan terhubung ke database MySQL. Ini dapat membantu dalam menemukan sumber kesalahan jika salah satu elemen tumpukan LAMP Anda tidak berkomunikasi dengan yang lain.

# cd /var/www/html/example.com/public_html/
# nano phptest.php
<html> <head> <title>PHP Test</title> </head> <body> <?php echo '<p>Hello World</p>'; // In the variables section below, replace user and password with your own MySQL credentials as created on your server $servername = "localhost"; $username = "webuser"; $password = "password"; // Create MySQL connection $conn = mysqli_connect($servername, $username, $password); // Check connection - if it fails, output will include the error message if (!$conn) { die('<p>Connection failed: <p>' . mysqli_connect_error()); } echo '<p>Connected successfully</p>'; ?> </body> </html>


b). Arahkan ke example.com/phptest.php dari mesin lokal Anda. Jika komponen LAMP Anda berfungsi dengan benar, browser akan menampilkan pesan "Connected berhasil". Jika tidak, output akan menjadi pesan kesalahan.



c). Masuk ke dalam direktori

# cd /var/www/html/example.com/public_html/
# nano phpinfo.php
<?php // Show all information, defaults to INFO_ALL phpinfo(); ?>