GNU/Linux >> Belajar Linux >  >> Linux

Cara Instal LAMP Apache, MySQL, PHP di Debian 11

Cara Menginstal LAMP Apache, MySQL, PHP di Debian 11. Dalam panduan ini Anda akan mempelajari cara menginstal Apache2, MySQL 8.0 dan PHP 8.1.

Anda juga akan menginstal beberapa ekstensi PHP umum dan menyesuaikan konfigurasi PHP. Terakhir, Anda akan mengamankan penyiapan dengan Let's Encrypt SSL dan mengonfigurasi pengalihan HTTPS.

Penyiapan ini diuji di Google cloud, sehingga akan berfungsi di semua layanan hosting cloud seperti AWS, Azure, atau VPS apa pun, atau server khusus apa pun yang menjalankan Debian 11.

Prasyarat untuk Memasang LAMP

  • Akses root ke server Anda atau pengguna sudo.
  • Domain menunjuk ke IP server Anda untuk menginstal Let'sEncrypt SSL

Langkah 1:Setup Inisialisasi

Mulailah dengan memperbarui paket ke versi terbaru yang tersedia menggunakan perintah berikut.

sudo apt update
sudo apt upgrade

Instal paket wget.

sudo apt install wget

Setelah Anda memperbarui penyiapan, Anda dapat mulai menginstal tumpukan LAMP.

Langkah 2:Instal Apache

Instal Apache menggunakan perintah berikut.

sudo apt install apache2

Ini akan menginstal apache2 dan semua dependensi yang diperlukan.

Langkah 3:Siapkan Firewall

Sekarang Anda dapat menyiapkan Uncomplicated Firewall (UFW) dengan Apache untuk mengizinkan akses publik pada port web default untuk HTTP dan HTTPS

sudo ufw app list

Anda akan melihat semua aplikasi yang terdaftar.

Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
  • Apache :Profil ini membuka port 80 (lalu lintas web normal dan tidak terenkripsi)
  • Apache Penuh :Profil ini membuka kedua port 80 (lalu lintas web normal, tidak terenkripsi) dan port 443 (lalu lintas terenkripsi TLS/SSL)
  • Apache Aman :Profil ini hanya membuka port 443 (lalu lintas terenkripsi TLS/SSL)
  • OpenSSH :Profil ini membuka port 22 untuk akses SSH.

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

Sekarang kita akan mengaktifkan Apache Full.

sudo uff allow OpenSSH
sudo ufw allow 'Apache Full'

Dengan perintah ini Anda dapat melihat status UFW.

sudo ufw status

Anda akan melihat output sebagai berikut.

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

Langkah:4 Periksa Instalasi Apache

Setelah Apache diinstal, dimulai secara otomatis dan sudah aktif dan berjalan.

Setiap proses di Apache dikelola dengan systemctl memerintah. 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)
   Drop-In: /lib/systemd/system/apache2.service.d
            └─apache2-systemd.conf
    Active: active (running) since Tue 2022-02-02 10:29:51 UTC; 5min ago
  Main PID: 10617 (apache2)
     Tasks: 55 (limit: 667)
    CGroup: /system.slice/apache2.service
            ├─10617 /usr/sbin/apache2 -k start
            ├─10619 /usr/sbin/apache2 -k start
            └─10620 /usr/sbin/apache2 -k start
 Feb 02 10:29:51 apache systemd[1]: Starting The Apache HTTP Server…
 Feb 02 10:29:51 apache systemd[1]: Started The Apache HTTP Server.

Sekarang kita telah menginstal dan mengkonfigurasi Firewall Apache.

Langkah 5:Instal MySQL

Untuk menambahkan repositori MySQL APT ke sistem Anda, buka halaman unduh repositori dan unduh paket rilis terbaru menggunakan perintah berikut.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb

Instal paket rilis.

sudo apt install ./mysql-apt-config_0.8.22-1_all.deb

Kami akan menginstal MySQL versi 8.0. Pilih OK dengan menekan Tab dan tekan Enter (seperti yang ditunjukkan pada gambar di atas).

Sekarang Anda dapat menginstal MySQL.

sudo apt update
sudo apt install mysql-server

Setelah instalasi selesai, layanan MySQL akan dimulai secara otomatis. Untuk memverifikasi bahwa server MySQL sedang berjalan, ketik:

sudo service mysql status

Output harus menunjukkan bahwa layanan diaktifkan dan berjalan:

 mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-02-02 06:12:30 UTC; 17s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
   Main PID: 101929 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 1148)
     Memory: 369.3M
        CPU: 805ms
     CGroup: /system.slice/mysql.service
             └─101929 /usr/sbin/mysqld

Feb 02 06:12:29 demo systemd[1]: Starting MySQL Community Server...
Feb 02 06:12:30 demo systemd[1]: Started MySQL Community Server.

Langkah 6:Amankan MySQL

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

sudo mysql_secure_installation

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

Tekan y jika Anda ingin menyiapkan plugin validasi kata sandi atau kunci lain untuk pindah ke langkah berikutnya.

Ada tiga tingkat kebijakan validasi kata sandi, rendah, sedang, dan kuat.

Masukkan 2 untuk validasi kata sandi yang kuat.

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

Jika Anda mengatur plugin validasi kata sandi, skrip akan menunjukkan kekuatan kata sandi baru Anda. Ketik y untuk mengonfirmasi kata sandi.

Selanjutnya, Anda akan diminta untuk menghapus pengguna anonim, membatasi akses pengguna root ke mesin lokal, menghapus database pengujian, dan memuat ulang tabel hak istimewa. Anda harus menjawab y untuk semua pertanyaan.

Langkah 7:Instal PHP

Tambahkan PPA SURY untuk PHP 8.1

sudo apt -y install lsb-release apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

Sekarang Anda dapat menambahkan PPA ke paket server.

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

Perbarui paket dan instal PHP 8.1

sudo apt update

sudo apt install php libapache2-mod-php php8.1-mysql 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-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl -y

Setelah PHP terinstal, Anda dapat memeriksa versi menggunakan perintah berikut.

php -v

Langkah 8:Konfigurasi PHP

Sekarang kita mengkonfigurasi PHP untuk Aplikasi Web dengan mengubah beberapa nilai di php.ini berkas.

Untuk PHP 8.1 dengan Apache php.ini lokasi akan berada di direktori berikut.

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

Tekan F6 untuk mencari di dalam editor dan memperbarui 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 Anda mengubah pengaturan PHP Anda, Anda perlu me-restart Apache Anda agar perubahan diterapkan.

Langkah 9:Konfigurasi Apache

Nonaktifkan konfigurasi Apache default.

sudo a2dissite 000-default

Buat direktori situs web.

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

Siapkan izin yang benar.

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

Tempelkan konfigurasi berikut di file baru.

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName domainname.com
     ServerAlias www.domainname.com

     DocumentRoot /var/www/html/domainname/public

     <Directory /var/www/html/domainname/public>
         Options Indexes FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>

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

Aktifkan konfigurasi baru.

sudo a2ensite domainname.conf

Langkah 10:Instal Let's Encrypt SSL

HTTPS adalah protokol untuk komunikasi yang aman antara server (instance) dan klien (web browser). Karena pengenalan Let's Encrypt, yang menyediakan sertifikat SSL gratis, HTTPS diadopsi oleh semua orang dan juga memberikan kepercayaan kepada audiens Anda.

Di sini kita akan menginstal Certbot untuk menginstal Let'sEncrypt SSL menggunakan Snap.

sudo apt update
sudo apt install snapd -y
sudo snap install core
sudo snap refresh core

Instal alat Certbot.

sudo snap install --classic certbot

Konfigurasikan Certbot agar dapat dieksekusi sebagai perintah.

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Sekarang kami telah menginstal Certbot untuk menginstal Let's Encrypt untuk Debian 11.

Jalankan perintah berikut untuk menginstal sertifikat Anda.

sudo certbot --apache --agree-tos --redirect -m [email protected] -d domainname.com -d www.domainname.com

Pilih opsi yang sesuai dan tekan Enter

Perintah ini akan menginstal SSL Gratis, mengkonfigurasi pengalihan ke HTTPS dan memulai ulang server Apache.

Langkah 11:Memperbarui Sertifikat SSL

Sertifikat yang diberikan oleh Let's Encrypt hanya berlaku selama 90 hari, jadi Anda harus sering memperbaruinya. Jadi, mari kita uji fitur pembaruan menggunakan perintah berikut.

sudo certbot renew --dry-run

Perintah ini akan menguji masa berlaku sertifikat dan mengonfigurasi fitur yang dapat diperbarui secara otomatis.

Langkah:12:Uji Penyiapan

Setelah Anda melakukan langkah-langkah yang dapat Anda lakukan, Anda dapat membuat file PHP pengujian baru di direktori web Anda.

sudo nano /var/www/html/domainname/public/info.php

Tempelkan kode di bawah ini di dalam file.

<?php phpinfo();

Simpan file.

Sekarang lanjutkan dan periksa nama domain Anda dengan info.php di url (domainname.com/info.php ).

Anda akan melihat bahwa domain Anda dialihkan ke HTTPS dan melihat detail informasi PHP.

Tingkatkan Karir Administrasi Linux Anda dengan menyelesaikan kursus pelatihan dan dapatkan pekerjaan impian Anda.

Kesimpulan

Sekarang Anda telah mempelajari cara memasang tumpukan LAMP di Debian 11 dengan Let's Encrypt.

Terima kasih atas waktunya. Jika Anda menghadapi masalah atau umpan balik, silakan tinggalkan komentar di bawah.


Linux
  1. Cara Install Apache, MySQL, PHP (LAMP) di CentOS/RHEL 7

  2. Cara Install LAMP (Apache, MySQL, PHP) di Debian 11

  3. Cara menginstal LAMP di Debian 8

  1. Cara Menginstal Apache, MySQL, PHP (LAMP) di Ubuntu 16.04 LTS

  2. Cara Install LAMP (Linux, Apache, MySQL, PHP) di Debian 9

  3. Cara Instal LAMP Apache, MySQL, PHP di Ubuntu 22.04

  1. Cara Memasang Server LAMP di Debian 9

  2. Cara Menginstal MySQL di Debian 11

  3. Cara Instal LAMP Apache, MySQL, PHP di Debian 11