GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Nginx dengan PHP dan MySQL (LEMP Stack) di Ubuntu 20.04 LTS

Nginx (diucapkan "engine x") adalah server HTTP gratis, open-source, berkinerja tinggi. Nginx dikenal dengan kecepatan tinggi, stabilitas, rangkaian fitur yang kaya, konfigurasi sederhana, dan konsumsi sumber daya yang rendah. Tutorial ini menunjukkan bagaimana Anda dapat menginstal Nginx di server Ubuntu 20.04 LTS dengan dukungan PHP 7.4 (melalui PHP-FPM) dan dukungan MySQL (LEMP =Linux + Nginx (diucapkan "engine x") + MySQL + PHP).

Prasyarat

  • Server Ubuntu 20.04 LTS
  • Hak istimewa root

Apa yang akan kita lakukan?

  • Instal Nginx
  • Instal MySQL
  • Instal PHP-FPM
  • Konfigurasi Nginx dan PHP-FPM
  • Instal PhpMyAdmin
  • Konfigurasi PhpMyAdmin
  • Pengujian

Langkah 1 - Instal Nginx

Nginx atau engine x adalah HTTP dan server proxy berkinerja tinggi dengan konsumsi memori rendah. Sebagian besar situs web berskala besar seperti Netflix, Pinterest, CloudFlare, GitHub menggunakan Nginx.

Pada langkah ini, kita akan menginstal server web Nginx dari repositori Ubuntu.

Perbarui semua repositori di sistem Ubuntu dan instal paket Nginx menggunakan perintah apt di bawah ini.

sudo apt update
sudo apt install nginx

Setelah penginstalan selesai, mulai layanan Nginx dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start nginx
systemctl aktifkan nginx

Sekarang instalasi Nginx Webserver selesai, periksa layanan Nginx menggunakan perintah berikut.

systemctl status nginx

Di bawah ini adalah hasil yang akan Anda dapatkan.

Juga, periksa port HTTP pada sistem Ubuntu dan pastikan port tersebut digunakan oleh layanan Nginx.

ss -plt4

Di bawah ini adalah hasil yang akan Anda dapatkan.

Akibatnya, protokol HTTP digunakan oleh layanan Nginx.

Selanjutnya, kita akan mengamankan instalasi Nginx kita menggunakan firewall UFW.

Tambahkan protokol HTTP dan HTTPS ke konfigurasi firewall UFW menggunakan perintah berikut.

untuk fw di ssh http https
lakukan
ufw izinkan $fw
selesai

Sekarang aktifkan firewall UFW dan periksa statusnya.

ufw aktifkan
status ufw diberi nomor

Dan protokol HTTP dan HTTPS telah ditambahkan ke konfigurasi firewall UFW.

Langkah 2 - Instal MySQL

MySQL adalah Relational Database Management System (RDBMS) open-source paling populer yang dibuat oleh Oracle Corporation. Ini adalah komponen utama dari LEMP Stack, dan kami akan menginstal versi MySQL terbaru dari repositori Ubuntu.

Instal MySQL menggunakan perintah apt di bawah ini.

sudo apt install mysql-server mysql-client

Setelah instalasi MySQL selesai, mulai layanan MySQL dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start mysql
systemctl aktifkan mysql

Sekarang periksa layanan MySQL menggunakan perintah di bawah ini.

systemctl status mysql

Layanan MySQL aktif dan berjalan.

Selanjutnya, kita akan mengatur kata sandi root untuk server MySQL.

Jalankan perintah 'mysql_secure_installation' di bawah ini.

mysql_secure_installation

Sekarang Anda akan diminta sebagai konfigurasi berikut, dan pastikan untuk mengetikkan kata sandi yang kuat untuk pengguna root MySQL.

Tekan y|Y untuk Ya, tombol lain untuk Tidak:Tekan Enter

Kata sandi baru:
Masukkan kembali kata sandi baru:

Hapus pengguna anonim ? (Tekan y|Y untuk Ya, tombol lain untuk Tidak):Y
Larang login root dari jarak jauh? (Tekan y|Y untuk Ya, tombol lain untuk Tidak) :Y
Hapus database pengujian dan akses ke sana? (Tekan y|Y untuk Ya, tombol lain untuk Tidak) :Y
Muat ulang tabel hak istimewa sekarang? (Tekan y|Y untuk Ya, tombol lain untuk Tidak) :Y

Dan kata sandi root MySQL telah dikonfigurasi.

Hasilnya, instalasi dan konfigurasi Database MySQL di Ubuntu 20.04 telah selesai.

Langkah 3 - Instal dan Konfigurasi PHP-FPM

PHP-FPM atau FastCGI Process Manager adalah alternatif untuk FastCGI PHP lama yang menyediakan fitur tambahan dan peningkatan kecepatan. Ini cocok untuk situs kecil hingga besar berdasarkan bahasa pemrograman PHP.

Pada langkah ini, kita akan menginstal default PHP7.4-FPM dengan beberapa ekstensi tambahan yang dibutuhkan oleh PHPMyAdmin.

Instal PHP-FPM menggunakan perintah di bawah ini.

sudo apt install php-fpm php-cli php-curl php-mysql php-curl php-gd php-mbstring php-pear -y

Setelah instalasi PHP-FPM selesai, buka direktori '/etc/php/7.4/fpm' dan edit konfigurasi php.ini menggunakan editor vim.

cd /etc/php/7.4/fpm/
vim php.ini

Batalkan komentar pada konfigurasi berikut dan ubah nilainya menjadi '0'.

cgi.fix_pathinfo =0

Simpan dan tutup.

Sekarang mulai layanan PHP7.4-FPM dan aktifkan untuk diluncurkan setiap saat saat boot sistem

systemctl start php7.4-fpm
systemctl aktifkan php7.4-fpm

Layanan PHP-FPM aktif dan berjalan, periksa menggunakan perintah berikut.

systemctl status php7.4-fpm

Di bawah ini adalah hasil yang akan Anda dapatkan.

Secara default, PHP-FPM berjalan di bawah file sock, periksa menggunakan perintah ss di bawah ini.

ss -pl | grep php

Di bawah ini adalah respons yang akan Anda dapatkan.

u_str   DENGARKAN   0     511   /run/php/php7.4-fpm.sock 67702   * 0                       

Dan instalasi PHP-FPM 7.4 di Ubuntu 20.04 telah selesai.

Langkah 4 - Konfigurasi Nginx dan PHP-FPM

Pada langkah ini, kita akan mengkonfigurasi server web Nginx dan PHP-FPM.

Buka direktori konfigurasi '/etc/nginx', dan edit file 'nginx.conf' menggunakan vim atau nano.

cd /etc/nginx/
vim nginx.conf

Batalkan komentar pada baris berikut untuk menyembunyikan versi Nginx.

server_token nonaktif;

Simpan dan tutup.

Selanjutnya, edit konfigurasi virtualhost 'default' pada direktori 'sites-available'.

vim sites-available/default

Batalkan komentar pada baris PHP yang ditunjukkan di bawah ini dan ubah baris file sock.

        location ~ \.php$ {
              include snippets/fastcgi-php.conf;
       #
       # # Dengan php-fpm (atau soket unix lainnya):
     unix:/run/php/php7.4-fpm.sock;
       # # Dengan php-cgi (atau soket tcp lainnya):
       # fastcgi_pass 127.2.0.1:9000;
       }

Simpan dan tutup.

Uji konfigurasi Nginx dan pastikan tidak ada kesalahan, lalu restart layanan.

nginx -t
systemctl restart nginx

Hasilnya, konfigurasi Nginx dan PHP-FPM telah selesai.

Langkah 5 - Instal phpMyAdmin

PhpMyAdmin adalah aplikasi berbasis PHP untuk mengelola database MySQL atau MariaDB dari browser web. Pada langkah ini, kita akan menginstal dan mengkonfigurasi PHPMyAdmin di bawah tumpukan LEMP (Linux, Nginx, MySQL, dan PHP-FPM).

Instal PHPMyAdmin menggunakan perintah apt di bawah ini.

sudo apt install phpmyadmin

Selama instalasi, Anda akan ditanya tentang konfigurasi server web untuk phpmyadmin.

Pilih tidak ada opsi dan pindahkan kursor ke 'OK '.

Untuk database phpmyadmin dan konfigurasi pengguna, pilih 'Ya '.

Dan ketik admin PHPMyAdmin 'KUAT' baru seperti '[email protected]#'.

Ulangi sandi '[email protected]#'.

Dan instalasi phpMyAdmin di Ubuntu 20.04 selesai.

Langkah 6 - Konfigurasi phpMyAdmin dengan Nginx dan MySQL

Setelah instalasi phpmyadmin, kita perlu mengkonfigurasi phpmyadmin untuk berjalan di bawah server web Nginx dan mengkonfigurasi akses phpmyadmin pengguna MySQL. Untuk menjalankan PHPMyAdmin di bawah server web Nginx, kita perlu menambahkan konfigurasi ke file konfigurasi virtual host.

Konfigurasi phpMyAdmin dengan Nginx Webserver

Sekarang buka direktori konfigurasi '/etc/nginx', dan edit file host virtual default.

cd /etc/nginx/sites-available/
vim default

Tempel konfigurasi Nginx berikut untuk PHPMyAdmin di dalam braket 'server {...}'.

location /phpmyadmin {
    root /usr/share/;
    index index.php;
    try_files $uri $uri/ =404;

location ~ ^/phpmyadmin/(doc|sql|setup)/ {
    menyangkal semua;
    }

lokasi ~ /phpmyadmin/(.+\.php)$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    }
}

Simpan dan keluar.

Test konfigurasi nginx dan pastikan tidak ada error, lalu restart service nginx.

nginx -t
systemctl reload nginx

Dan kami telah menambahkan konfigurasi Nginx untuk instalasi phpMyAdmin kami, itu dapat diakses melalui URL jalur sebagai 'http://server-ip/phpmyadmin'.

Izinkan pengguna phpMyAdmin mengakses Database

Untuk tutorial ini, kita akan menggunakan pengguna MySQL non-root untuk PHPMyAdmin. Kami akan membuat pengguna baru dan memberikan semua hak istimewa dari semua database di dalam server kepada pengguna.

Login ke shell MySQL menggunakan perintah berikut.

mysql -u root -p

Sekarang buat 'hakase' pengguna MySQL baru dan berikan semua hak istimewa basis data.

buat pengguna [email protected]'localhost' diidentifikasi dengan '[email protected]#';
berikan semua hak istimewa pada *.* kepada [email protected]'localhost';
hak flush;

Sekarang ketik 'exit' untuk keluar dari shell MySQL.

keluar

Hasilnya, kami telah membuat pengguna MySQL baru untuk phpMyAdmin.

Langkah 7 - Pengujian

Pada langkah ini, kita akan menguji konfigurasi LEMP Stack dan phpMyAdmin.

Uji File PHP

Buka direktori '/var/www/html' dan buat file skrip baru 'info.php' menggunakan editor vim.

cd /var/www/html
vim info.php

Rekatkan skrip berikut ke dalamnya.

phpinfo();
?>

Simpan dan tutup.

Selanjutnya, buka browser web Anda dan ketik alamat IP server Anda mengikuti jalur skrip 'info.php' Anda.

http://server-ip/info.php

Di bawah ini adalah hasil yang akan Anda dapatkan.

Sebagai hasilnya, kami telah mendetail konfigurasi PHP-FPM 7.4 kami di server Ubuntu 20.04, dan skrip PHP berjalan di server LEMP Stack kami.

Uji phpMyAdmin

Untuk menguji instalasi phpMyAdmin kami, ketik alamat IP server Anda diikuti dengan jalur 'phpmyadmin' pada URL.

http://server-ip/phpmyadmin/

Dan Anda akan mendapatkan halaman login phpMyAdmin.

Untuk login ke phpMyAdmin, ketik user yang telah kita buat di atas. Pengguna 'hakase' dengan sandi '[email protected]#', lalu klik tombol 'Buka '.

Dan Anda akan mendapatkan dashboard phpMyAdmin seperti di bawah ini.

phpMyAdmin bekerja di bawah lingkungan LEMP Stack.

Hasilnya, instalasi dan konfigurasi LEMP Stack di Ubuntu 20.04 telah berhasil diselesaikan.


Ubuntu
  1. Cara Instal Nginx Dengan PHP5 Dan MySQL Di Ubuntu 11.10

  2. Cara Instal Lighttpd Dengan PHP5 Dan MySQL Di Ubuntu 11.04

  3. Cara Menginstal dan mengatur PHP dan Nginx (LEMP) di Ubuntu 20.04

  1. Cara Menginstal Phorum dengan Nginx di Ubuntu 18.04 LTS

  2. Cara Memasang LAMP Stack di Ubuntu 22.04 LTS

  3. Cara Instal LEMP Stack Nginx, MySQL, PHP di Ubuntu 22.04

  1. Cara Menginstal Seafile dengan Nginx di Ubuntu 18.04 LTS

  2. Cara Instal Nginx Dengan PHP Dan MySQL (LEMP Stack) Di CentOS 7

  3. Cara Instal Nginx dengan PHP dan MySQL (LEMP Stack) di Ubuntu 18.04