Knowledgebase

Cara Install LAMP Apache, MySQL, PHP di Ubuntu 22.04 Print

  • 0

Dalam tutorial ini, kita akan belajar cara menginstal dan mengkonfigurasi Lamp (apache, mysql, php) di server Ubuntu 22.04.

Pastikan anda sudah memiliki Server atau VPS yang sudah terinstall Sistem Operasi Linux Ubuntu 22.04. dan dapat diakses dengan IP publik

LAMP adalah singkatan dari Linux, Apache, Mysql, dan PHP. Ini adalah platform open source dan bekerja pada sistem operasi Linux. Ini menggunakan server web Apache, sistem manajemen basis data relasional MySQL, dan bahasa script berorientasi objek PHP.

Berikut tahapan untuk menginstal dan mengkonfigurasi LAMP linux, apache, PHP, MySQL di ubuntu 22.04:

  1. Update Sistem Operasi Linux
  2. Instal Apache
  3. Konfigurasi Firewall
  4. Periksa Instalasi Apache
  5. Instal MySQL
  6. Secure MySQL
  7. Install PHP
  8. Konfigurasi PHP
  9. Konfigurasikan Apache
  10. Install phpmyadmin
  11. Instal Let’s Encrypt SSL

1. Update System Dependencies

Buka command prompt atau terminal dan jalankan perintah berikut pada prompt perintah untuk memperbarui paket ke versi terbaru yang tersedia:

sudo apt update
sudo apt upgrade

Tunggu sampai proses selesai

2. Install Apache

Instal apache di sistem ubuntu 22.04, jadi jalankan perintah berikut pada command prompt untuk menginstal apache di sistem ubuntu 22.04:

sudo apt install apache2

2. Setup Firewall

Setelah penginstalan apache selesai, kita perlu menyiapkan Uncomplicated Firewall (UFW) dengan Apache untuk mengizinkan akses publik pada port web default untuk HTTP dan HTTPS

3. Setup Firewall

Setelah penginstalan apache selesai, kita perlu menyiapkan Uncomplicated Firewall (UFW) dengan Apache untuk mengizinkan akses publik pada port web default untuk HTTP dan HTTPS

sudo ufw app list

Akan tampil semua aplikasi yang terdaftar.

Output
Available applications:
   Apache
   Apache Full
   Apache Secure
   OpenSSH

  • Apache: ini membuka port 80 (lalu lintas web normal dan tidak terenkripsi)
  • Apache Full: ini membuka port 80 (lalu lintas web normal dan tidak terenkripsi) dan port 443 (lalu lintas terenkripsi TLS/SSL)
  • Apache Secure: ini hanya membuka port 443 (lalu lintas terenkripsi TLS/SSL)
  • OpenSSH: ini membuka port 22 untuk akses SSH

Jika kita tidak akan menggunakan SSL, kita hanya perlu mengaktifkan profil Apache.

Kemudian aktifkan apache full dengan menggunakan perintah berikut; adalah sebagai berikut:

sudo ufw allow 'Apache Full'

Dengan perintah ini kita bisa melihat status UFW.

sudo ufw status

Akan tampil output

Output
Status: active
 To                         Action      From
 --                         ------      ----
 Apache Full                ALLOW       Anywhere                  
 OpenSSH                    ALLOW       Anywhere                  
 Apache Full (v6)           ALLOW       Anywhere (v6)             
 OpenSSH (v6)               ALLOW       Anywhere (v6)

4. Periksa Instalasi Apache

Setelah Apache terinstal dan konfigurasi firewall sudah selesai, kita bisa mengecek versi Apache menggunakan perintah berikut: adalah sebagai berikut:

sudo apachectl -v
Output
Server version: Apache/2.4.52 (Ubuntu)
Server built:   2022-03-25T00:35:40

Setiap proses di Apache dikelola dengan perintah systemctl. Periksa status Apache dengan perintah berikut.

sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-04-29 00:34:49 UTC; 2min 52s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 12782 (apache2)
      Tasks: 55 (limit: 1151)
     Memory: 5.1M
        CPU: 52ms
     CGroup: /system.slice/apache2.service
             ├─12782 /usr/sbin/apache2 -k start
             ├─12784 /usr/sbin/apache2 -k start
             └─12785 /usr/sbin/apache2 -k start

5. Instal MySQL

Instal dan konfigurasikan mysql di ubuntu 22.04 dengan menggunakan perintah berikut:

sudo apt install mysql-server

Setelah instalasi selesai. Kami dapat memverifikasi bahwa status server MySQL sedang berjalan, ketik:

sudo service mysql status

Output harus menunjukkan bahwa mysql sudah aktif dan berjalan:

● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-04-29 00:38:45 UTC; 11s ago
    Process: 13836 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, statu>
   Main PID: 13844 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 1151)
     Memory: 351.4M
        CPU: 1.043s
     CGroup: /system.slice/mysql.service
             └─13844 /usr/sbin/mysqld

Untuk memeriksa versi mysql menggunakan perintah berikut:

sudo mysql -V
Output
mysql  Ver 8.0.28-0ubuntu4 for Linux on x86_64 ((Ubuntu))

6. Secure MySQL

Instalasi MySQL dilengkapi dengan skrip bernama mysql_secure_installation yang memungkinkan kita meningkatkan keamanan server MySQL dengan mudah.

sudo mysql_secure_installation

Akan diminta untuk mengonfigurasi PLUGIN VALIDATE PASSWORD yang digunakan untuk menguji kekuatan kata sandi pengguna MySQL dan meningkatkan keamanan.

Tekan y jika kami ingin kata sandi validasi atau tombol lain untuk pindah ke langkah berikutnya.

Ada tiga tingkat validasi kata sandi, rendah, sedang, dan kuat. Masukkan 2 untuk validasi kata sandi yang kuat.

Pada prompt berikutnya, akan diminta untuk mengatur kata sandi untuk pengguna root MySQL.

Jika kita menggunakan validasi kata sandi, skrip akan menunjukkan kepada kita kekuatan kata sandi baru kita. Ketik y untuk mengonfirmasi kata sandi.

Selanjutnya, akan diminta untuk menghapus pengguna anonim, membatasi akses pengguna root ke mesin lokal, menghapus database test, dan reload privilege tables.ketik y untuk semua pertanyaan.

7. Install PHP

Instal PHP menggunakan perintah berikut:

sudo apt install php8.1-fpm php8.1 libapache2-mod-php8.1 php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-bcmath unzip -y

Setelah PHP diinstal selesai, kita dapat menggunakan perintah berikut untuk memeriksa versi php yang diinstal:

php -v
Output
PHP 8.1.5 (cli) (built: Apr  7 2022 17:46:26) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.5, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.5, Copyright (c), by Zend Technologies

8. Konfigurasi PHP

Untuk mengonfigurasi PHP dengan mengubah beberapa variabel di file php.ini

buka file php.ini dengan menggunakan perintah berikut pada command prompt:

sudo nano /etc/php/8.1/apache2/php.ini

Tekan F6 untuk mencari di dalam editor dan perbarui nilai berikut untuk kinerja yang lebih baik.

upload_max_filesize = 32M 
post_max_size = 48M 
memory_limit = 256M 
max_execution_time = 600 
max_input_vars = 3000 
max_input_time = 1000

Setelah kita memodifikasi pengaturan PHP, kita perlu me-restart Apache agar perubahan dapat bekerja.

9.  Konfigurasikan Apache

Nonaktifkan konfigurasi Apache default.

sudo a2dissite 000-default

Buat direktori web.

sudo mkdir -p /var/www/html/domainname/public

Berikan hak akses.

sudo chmod -R 755 /var/www/html/domainname
sudo chown -R www-data:www-data /var/www/html/domainname

Buat konfigurasi host virtual baru.

sudo nano /etc/apache2/sites-available/domainname.conf

paste ini di dalam file konfigurasi

ServerAdmin admin@domainname.com
ServerName domainname.com
ServerAlias www.domainname.com

DocumentRoot /var/www/html/domainname/public


 Options Indexes FollowSymLinks
 AllowOverride All
 Require all granted


ErrorLog ${APACHE_LOG_DIR}/error.log 
CustomLog ${APACHE_LOG_DIR}/access.log combined 

Enable Konfigurasi virtualhost

sudo a2ensite domainname.conf

10. Install PhpMyAdmin

Gunakan perintah berikut untuk menginstal PHPMyAdmin:

sudo apt install phpmyadmin

Konfigurasi phpmyadmin untuk Apache.

sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf

Enable Konfigurasi virtualhost

sudo a2enconf phpmyadmin.conf

Kemudian jalankan perintah berikut pada command prompt untuk restart apache web server:

sudo service apache2 restart

Proses Instalasi PHPMyadmin selesai, silahkan akses dengan url htt://yourdomain.com/phpmyadmin.

11. Install Let’s Encrypt SSL

HTTPS adalah protokol untuk komunikasi aman antara server (instance) dan klien (browser web). Let’s Encrypt, menyediakan sertifikat SSL gratis, HTTPS diadopsi oleh semua orang dan juga memberikan kepercayaan kepada pengunjung website anda.

sudo apt install python3-certbot-apache

Tunggu proses instalasi Certbot by Let's Encrypt sampai proses selesai. lalu, jalankan perintah ini untuk konfigurasi dan request sertifikat SSL.

sudo certbot --apache --agree-tos --redirect -m youremail@email.com -d domainname.com -d www.domainname.com

Perintah ini akan menginstal SSL Gratis, konfigurasi redirect HTTP ke HTTPS, dan restart web server Apache.

12. Renewing SSL Certificate

Sertifikat yang disediakan oleh Let’s Encrypt hanya berlaku selama 90 hari, jadi Anda harus memperbaruinya setiap 3 bulan sekali. Jadi, mari kita coba fitur pembaruan menggunakan perintah berikut.

sudo certbot renew --dry-run

Perintah ini akan menguji sertifikat kedaluwarsa dan konfigurasi fitur yang dapat diperbarui secara otomatis.


Was this answer helpful?
« Back