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