GNU/Linux >> Belajar Linux >  >> Ubuntu

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

Nginx (diucapkan "engine x") adalah server HTTP gratis, open-source, dan berkinerja tinggi. Nginx dikenal dengan stabilitasnya, rangkaian fitur yang kaya, konfigurasi sederhana, dan konsumsi sumber daya yang rendah. Tutorial ini menunjukkan bagaimana Anda dapat menginstal Nginx di server Ubuntu 18.04 LTS dengan dukungan PHP 7.2 (melalui PHP-FPM) dan dukungan MySQL (LEMP = L inux + nginx (diucapkan "e ngine x") + M ySQL + P HP).

Prasyarat

  • Server Ubuntu 18.04 LTS
  • Hak istimewa root

Apa yang akan kita lakukan?

  1. Instal Nginx
  2. Instal MySQL
  3. Instal PHP-FPM
  4. Konfigurasi Nginx dan PHP-FPM
  5. Instal PhpMyAdmin
  6. Konfigurasi PhpMyAdmin
  7. 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.

Jalankan perintah di bawah ini.

sudo apt install nginx -y

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

systemctl start nginx
systemctl aktifkan nginx

Instalasi Nginx selesai.

Konfigurasi Firewall

Disarankan untuk mengaktifkan firewall di server.

Tambahkan port layanan SSH dan HTTP ke konfigurasi firewall.

Jalankan perintah UFW di bawah ini.

ufw izinkan ssh
ufw izinkan http

Sekarang mulai firewall UFW dan aktifkan untuk diluncurkan setiap kali sistem boot.

ufw aktifkan

Server web Nginx aktif dan berjalan di bawah 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 -y

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

systemctl start mysql
systemctl aktifkan mysql

Dan kami telah menginstal MySQL 5.7 di server Ubuntu 18.04.

Langkah 3 - Instal PHP-FPM

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

Pada langkah ini, kita akan menginstal PHP7.2-FPM dengan beberapa ekstensi tambahan yang dibutuhkan oleh phpmyadmin.

Instal PHP-FPM menggunakan perintah di bawah ini.

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

Sekarang mulai layanan PHP-FPM dan aktifkan untuk diluncurkan setiap kali sistem boot setelah semua instalasi selesai.

systemctl start php7.2-fpm
systemctl aktifkan php7.2-fpm

PHP7.2-FPM aktif dan berjalan di Ubuntu 18.04 di bawah file sock, periksa menggunakan perintah netstat.

netstat -pl | grep php

Langkah 4 - Konfigurasi Nginx dan PHP-FPM

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

Konfigurasi Nginx

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.

keepalive_timeout 2;server_tokens off;

Simpan file konfigurasi dan keluar dari editor.

Sekarang edit file host virtual Nginx default.

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):                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # # Dengan php-cgi (atau soket tcp lainnya):        # fastcgi_pass 127.2.0.1:9000; }

Simpan dan keluar.

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

nginx -t
systemctl reload nginx

Konfigurasi PHP-FPM

Buka direktori '/etc/php/7.2' dan edit file 'php.ini'.

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

Batalkan komentar pada baris 'cgi.fix_patinfo' dan ubah nilainya menjadi '0'.

cgi.fix_pathinfo=0

Simpan dan keluar.

Muat ulang layanan PHP-FPM.

systemctl memuat ulang php7.2-fpm

Dan kami telah menyelesaikan konfigurasi server web Nginx dan PHP-FPM.

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 -y

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

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

Untuk konfigurasi database phpmyadmin, pilih 'Yes'.

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

Ulangi sandi '[email protected]#'.

Dan instalasi phpmyadmin selesai.

Langkah 6 - Konfigurasi PhpMyAdmin

Setelah instalasi phpmyadmin, kita perlu mengkonfigurasi phpmyadmin untuk berjalan di bawah server web Nginx dan mengkonfigurasi akses phpmyadmin pengguna MySQL.

Konfigurasi PhpMyAdmin dengan Nginx

Untuk menjalankan phpmyadmin di bawah server web Nginx, kita perlu menambahkan konfigurasi ke file konfigurasi virtual host.

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

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

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

lokasi /phpmyadmin {    root /usr/share/; indeks indeks.php; try_files $uri $uri/ =404;lokasi ~ ^/phpmyadmin/(doc|sql|setup)/ {    tolak semua; }lokasi ~ /phpmyadmin/(.+\.php)$ {    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; termasuk fastcgi_params; sertakan snippets/fastcgi-php.conf; }}

Simpan dan keluar.

Uji konfigurasi nginx dan mulai ulang layanan nginx.

nginx -t
systemctl reload nginx

Dan kami telah menambahkan konfigurasi Nginx untuk phpmyadmin.

Konfigurasikan Pengguna MySQL untuk PhpMyAdmin

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

Masuk ke shell MySQL.

mysql -u root -p

Sekarang buat pengguna baru menggunakan kueri MySQL di bawah ini.

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

Dan kami telah membuat pengguna baru untuk akses phpmyadmin.

Langkah 7 - Pengujian

Uji File PHP

Buka direktori web-root '/var/www/html' dan buat file phpinfo baru.

cd /var/www/html/
vim info.php

Rekatkan skrip phpinfo di bawah ini.

Simpan dan keluar.

Sekarang buka browser web dan ketik alamat IP server seperti yang ditunjukkan di bawah ini. Ganti IP dengan ip server Anda.

http://192.168.33.10/info.php

Dan di bawah ini adalah semua informasi tentang konfigurasi server PHP.

Uji Masuk PhpMyAdmin

Di web browser, ketik URL phpmyadmin berikut (ganti IP dengan IP server Anda).

http://192.168.33.10/phpmyadmin/

Pada halaman login phpmyadmin, ketik user 'hakase' dengan password '[email protected]#' dan klik tombol 'Go'.

Sekarang kita akan melihat dashboard phpmyadmin seperti di bawah ini.

LEMP Stack dan PhpMyAdmin berhasil diinstal di Ubuntu 18.04 LTS.


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 Install LEMP Stack Nginx, MySQL, PHP di Debian 11

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

  1. Cara Menginstal WordPress dengan Nginx di Ubuntu 18.04

  2. Cara Menginstal LEMP Stack (Nginx, MySQL, PHP v7) di CentOS 7

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