Jumat, 10 April 2020

Cara Instal Nginx, MariaDB, PHP 7.2 Di Ubuntu 18.04

Tags

Instal Nginx Web Server
Nginx, umumnya diucapkan sebagai Engine-X, tersedia di repositori Ubuntu secara default. Dengan asumsi bahwa indeks package kalian sudah di 'sudo apt update', jalankan perintah di bawah ini untuk menginstal Nginx.


$sudo apt install nginx


Mulai dan aktifkan Nginx untuk dijalankan setiap reboot sistem
Perhatikan bahwa Nginx diatur untuk berjalan setelah instalasi secara default di Ubuntu 18.04. Kalian dapat memverifikasi hal yang sama dengan menjalankan perintah:


systemctl status nginx
 nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2020-04-10 21:35:24 EAT; 1min 45s ago
     Docs: man:nginx(8)
  Process: 1974 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 1961 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0


Sekarang Nginx sudah berjalan, jalankan perintah di bawah ini untuk mengaktifkannya agar memulai saat sistem reboot:


$sudo systemctl enable nginx


Jika UFW kalian diaktifkan, aktifkan Nginx melaluinya. Jalankan perintah di bawah ini untuk membuat daftar profil aplikasi sehingga Nginx dapat diaktifkan menggunakan profil spesifik untuk Nginx.


ufw app list | grep -i nginx
  Nginx Full
  Nginx HTTP
  Nginx HTTPS


Kalian dapat memperbolehkan salah satu profil Nginx di atas tergantung pada kebutuhan lalu lintas koneksi, Misalnya, untuk mengizinkan lalu lintas di port 80 (HTTP), jalankan saja perintah:


ufw allow "Nginx HTTP"
ufw reload


Oke, coba lakukan tes server web dengan menavigasi ke browser web dan masukkan alamat IP server kalian. Jika sudah melihat halaman seperti di bawah, maka Nginx berjalan dengan baik.



Install MariaDB RDBMS

Server MariaDB adalah open-source fork dari sistem manajemen basis data relasional MySQL. Jalankan perintah di bawah ini untuk menginstal server MariaDB.


$sudo apt install mariadb-server


Sama seperti Nginx, MariaDB diatur untuk berjalan secara default setelah instalasi. Sekali lagi, kalian dapat menjalankan perintah, sudo systemctl status mariadb. Atur juga agar berjalan pada saat mulai boot sistem dengan menjalankan, sudo systemctl enable mariadb.

Kalau ingin menggunakan server MySQL, bukan MariaDB, jalankan perintah di bawah ini untuk menginstal server MySQL.


$sudo apt install mysql-server


Setelah instalasi selesai, jalankan skrip keamanan di bawah ini untuk melakukan konfigurasi keamanan server database awal.


mysql_secure_installation


...output snipped...
Enter current password for root (enter for none): ENTER
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: ENTER YOUR PASSWORD
Re-enter new password: CONFIRM YOUR PASSWORD
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Catatan, kalian dapat menekan Enter untuk menerima Ya sebagai default.

Install PHP

PHP, Hypertext Preprocessor, adalah bahasa skrip sisi-server yang dirancang untuk pengembangan Web, tetapi juga digunakan sebagai bahasa pemrograman tujuan umum.

PHP-FPM atau FastCGI Process Manager adalah alternatif untuk PHP FastCGI lama yang menyediakan fitur tambahan dan peningkatan kecepatan. 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 berjalan setiap kali boot sistem setelah semua instalasi selesai.


systemctl start php7.2-fpm
systemctl enable php7.2-fpm

Konfigurasikan Nginx dan PHP-FPM

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

cd /etc/nginx/
vim nginx.conf

Hilangkan tanda komentar pada baris berikut.

keepalive_timeout 2;
server_tokens off;

Simpan file konfigurasi dan keluar dari editor.  Selanjutnya edit file host virtual Nginx default.

vim sites-available/default

Hilangkan tanda komentar pada baris berikut dan ubah di line sock file.


location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        # # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        # # With php-cgi (or other tcp sockets):
        # fastcgi_pass 127.2.0.1:9000;
        }

Simpan dan keluar. Tes konfigurasi Nginx dan pastikan tidak ada error, kemudian restart service.

nginx -t
systemctl reload nginx

Atur Konfigurasi PHP-FPM

Buka direktori '/etc/php/7.2' dan edit file 'php.ini'. Hilangkan tanda komentar pada baris 'cgi.fix_patinfo' dan ubah nilainya menjadi '0'.

cgi.fix_pathinfo=0

Simpan dan keluar. Restart PHP-FPM.

systemctl reload php7.2-fpm

Sampai tahap ini kita telah menyelesaikan konfigurasi server web Nginx dan PHP-FPM.

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, kita diminta beberapa hal tentang konfigurasi server web untuk phpmyadmin.


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

Untuk konfigurasi database phpmyadmin, pilih 'Yes'.



Dan buat password yang kuat untuk phpmyadmin seperti 'srtewkwkwk'.


Instalasi phpmyadmin selesai.

Konfigurasi PhpMyAdmin

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

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

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

Paste konfigurasi Nginx berikut untuk phpmyadmin di dalam 'server {...}' bracket.

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

location ~ ^/phpmyadmin/(doc|sql|setup)/ {
    deny all;
    }

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

Simpan dan keluar. Tes konfigurasi nginx dan restart layanan nginx.

nginx -t
systemctl reload nginx

Konfigurasikan MySQL User untuk PhpMyAdmin

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

Login ke shell MySQL.

mysql -u root -p

Sekarang buat pengguna baru menggunakan query MySQL di bawah ini.

create user nama_user@'localhost' identified by 'password_user';
grant all privileges on *.* to nama_user@'localhost' identified by 'password_user';
flush privileges;
exit;

Ganti nama_user dan password_user dengan punya kalian.

Pengujian

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

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

Paste skrip phpinfo di bawah ini.

<?php
phpinfo();
?>

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


Test Login PhpMyAdmin

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

http://192.168.33.10/phpmyadmin/
Pada halaman login phpmyadmin, ketik pengguna 'nama_user_kalian' dengan kata sandi 'password_kalian' dan klik tombol 'Go'.


Jika sudah melihat dashboard phpmyadmin seperti di bawah ini.


LEMP Stack dan PhpMyAdmin berhasil diinstal pada Ubuntu 18.04 LTS.

Baca juga Cara Instal Apache2, MariaDB, PHP 7.2 di Ubuntu (LAMP)


EmoticonEmoticon