Cara Membuat Web Server di Debian 11 : Install Nginx, MariaDB, PHP 8 Terbaru
JANGAN BINGUNG! Begini Cara Install Nginx, PHP 8, MariaDB di Debian 11 Terbaru
Cara Membuat web server sendiri menggunakan Debian 11 akan kita bahas pada artikel kali ini. Sebelumnya sudah kita bahas Cara Install Nginx Ubuntu Beserta PHP 8 dan MariaDB Terbaru lengkap dengan Video Tutorial nya.
Kali ini kita akan menggunakan Linux Debian 11 terbaru untuk membuat web server menggunakan Nginx, php 8 dan MariaDB versi terbaru.
Disini saya akan praktekkan langsung menggunakan Debian 11 yang diinstall pada Virtual Private Server (VPS) yang punya IP Public, sehingga bisa sekalian kita gunakan untuk mem-publish web dengan platform Wordpress ke Internet.
Namun jika teman-teman tidak menggunakan VPS, misal hanya menggunakan PC lokal ataupun menggunakan Virtual Machine (VM) VirtualBox pun tidak masalah. Karena tutorial ini juga bisa digunakan secara lokal, namun tidak bisa melakukan publish web ke Internet, hanya intranet saja.
Pada kesempatan kali ini saya akan menggunakan Debian Server 11 yang diinstall pada VPS Vultr. Jika teman-teman mau mencoba juga silakan bisa daftar gratis dan bisa dapat saldo $100 GRATIS dari Vultr. Klik tombol berikut untuk daftar :
DAFTAR DISINI GRATIS $100
Karena saya menggunakan Debian Server, maka pada console terminal nya sudah pasti login sebagai root (#) sehingga tidak perlu lagi menggunakan command sudo.
Jika teman-teman menggunakan Debian Desktop, silakan gunakan user root untuk melakukan eksekusi command pada artikel ini.
Untuk masuk ke mode Super User (root) gunakan perintah :
sudo -s
Kemudian masukkan password Debian nya. Pastikan tanda $ sudah berubah menjadi tanda # pada terminal nya.
Cara Install Web Server Nginx Terbaru di Debian
Web server yang akan kita gunakan kali ini adalah Nginx yang punya performa lebih baik daripada Apache. Sehingga website yang kita buat nanti bisa dijalankan dengan lebih cepat.
Untuk install Nginx Debian bisa langsung install dari repository bawaan nya Debian, tetapi menggunakan versi Nginx lama. Jika ingin menggunakan Nginx versi baru maka kita harus menambahkan dulu repository nya Nginx.
Install Nginx Versi Lama dari Repository Debian
Untuk install nginx versi lama, buka terminal pada Debian nya, ketikkan perintah berikut ini kemudian masukkan password :
apt update apt install nginx
Jika sudah berhasil, bisa cek versi nginx yang diinstall dengan perintah :
nginx -v
Install Nginx Terbaru dari Repository Nginx
Untuk install Nginx versi terbaru kita harus memasukkan Repository nya Nginx dulu ke sistem Debian nya. Sebelumnya, install dulu aplikasi pendukung nya :
apt update apt install -y curl gnupg2 ca-certificates lsb-release
Download Nginx repository signing key
curl -fsSL http://nginx.org/keys/nginx_signing.key | gpg --dearmor -o /usr/share/keyrings/nginx-keyring.gpg
Memasukkan Nginx repository ke Debian dengan perintah :
echo "deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Update Repository Debian dan Install Nginx terbaru nya :
apt update apt install nginx
Jika Nginx sudah berhasil terinstall, jalankan service nginx nya dengan perintah :
service nginx start
Cek status service nginx apakah sudah running
service --status-all
Untuk melihat versi Nginx yang sudah terinstall gunakan perintah ini :
nginx -v
Tes Nginx nya dengan buka website nginx di web browser
http://ipaddress
Jika muncul error ketika akses ke web nginx nya, kemungkinan masih terblokir oleh firewall linux Debian nya. Jika Debian nya menggunakan firewall ufw, gunakan perintah ini untuk membuka akses ke port http dan https :
ufw allow 80 ufw allow 443
Gunakan perintah ini untuk melihat status firewall yang aktif :
ufw status
Untuk Lokasi folder/direktori website nginx nya ada disini. Jadi nantinya kita akan memasukkan file website kita di dalam folder ini :
/usr/share/nginx/html/
Lokasi file konfigurasi nginx nya ada disini. Ini nantinya akan kita edit untuk integrasi dengan php 8 nya.
/etc/nginx /etc/nginx/conf.d/
Cara Install MariaDB Terbaru di Debian
Kita lanjut install database MariaDB di Debian. MariaDB ini mirip dengan MySQL dengan penambahan performa yang lebih baik daripada MySQL.
Sama seperti install nginx Debian, MariaDB juga bisa langsung diinstall dari Repository bawaan Debian, namun dengan versi lama.
Untuk menggunakan versi baru kita harus menambahkan repository MariaDB nya dulu.
Install MariaDB Versi Lama dari Repository Debian
Jika ingin langsung install MariaDB dari repository bawaan Debian, silakan masukkan perintah berikut :
apt update apt install mariadb-server
Install MariaDB Terbaru dari Repository MariaDB
Sebelum memasukkan repository MariaDB ke Debian, kita install dulu aplikasi pendukung nya berikut :
apt update apt install software-properties-common dirmngr apt-transport-https
Memasukkan repository MariaDB ke Debian dengan perintah berikut :
apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
add-apt-repository 'deb [arch=amd64,i386,arm64,ppc64el] https://download.nus.edu.sg/mirror/mariadb/repo/10.6/debian bullseye main'
Tahap Instalasi MariaDB server terbaru dari repository MariaDB
apt update apt install mariadb-server
Lakukan proses konfigurasi awal database mariadb nya dengan perintah berikut :
mysql_secure_installation
Ikuti langkahnya seperti pada gambar berikut :
root@Debian11:~# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here. Enter current password for root (enter for none): <-- tekan Enter OK, successfully used password, moving on... Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] n ... skipping. You already have your root account protected, so you can safely answer 'n'. Change the root password? [Y/n] y New password: <-- Masukkan Password baru Re-enter new password: <-- Masukkan Password lagi 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!
Jika sudah, kita bisa coba tes login ke MariaDB nya dengan menggunakan perintah :
mysql -u root -p
Masukkan password root nya, yaitu password yang tadi dimasukkan saat mysql setup.
Jika sudah bisa ketik exit untuk keluar dari mode mysql nya.
Cara Install PHP 8.1 Terbaru di Debian
Install Langsung php Versi Lama dari Repository Debian
apt update apt install php-fpm
Install php Versi 8.1 dari Repository Sury.org
Disini kita akan contohkan install php 8.1 dari repository sury.org dengan terlebih dahulu memasukkan repository nya ke dalam Debian.
Tahap persiapan, download dulu file yang diperlukan dengan perintah sebagai berikut :
wget https://packages.sury.org/php/apt.gpg apt-key add apt.gpg
Memasukkan repository sury.org ke sistem dengan perintah sebagai berikut :
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php8.list
Update repository Debian nya dan install php 8.1 dengan perintah berikut :
apt update apt install php8.1-fpm
Kita juga bisa melakukan instalasi ekstensi php yang diperlukan. Caranya dengan menggunakan contoh perintah sebagai berikut :
apt install php8.1-mysql php8.1-xml php8.1-mbstring
Cara Integrasi Nginx dengan PHP 8.1
Supaya php 8.1 nya bisa digunakan oleh web server nginx, kita perlu lakukan integrasi di file konfigurasi nginx nya.
Edit file konfigurasi global nginx di lokasi berikut ini :
nano /etc/nginx/nginx.conf
Rubah user nginx menjadi www-data
Edit file web server nginx nya di lokasi
nano /etc/nginx/conf.d/default.conf
Edit menjadi seperti ini :
location / { root /usr/share/nginx/html; index index.php index.html index.htm; try_files $uri $uri/ /index.php?$args; }
location ~ \.php$ { # root html; fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; }
Cek apakah ada konfigurasi yang salah atau error pada Nginx nya:
nginx -t
Jika terdapat konfigurasi yang error, cek erorr nya ada di line berapa dan perbaiki dengan command nano pada file yang error.
Jika sudah tidak ada konfigurasi yang error, kita lanjut untuk restart service pada nginx nya dengan perintah :
service nginx restart
Cek Apakah Nginx dan PHP 8.1 Sudah Terintegrasi
Buat file index.php dengan ini kode phpinfo menggunakan perintah berikut :
echo "<?php phpinfo(); ?>" | tee /usr/share/nginx/html/index.php
Selanjutnya kita tes apakah semua konfigurasi sudah benar dengan mengakses file index.php tersebut melalui web browser
http://ipaddress/index.php
Jika semua setingan sudah sesuai maka akan muncul tampilan php info yang berisi banyak informasi tentang php nya.
Sampai disini kita sudah bisa melakukan install nginx, php 8.1 dan MariaDB di Linux Debian 11 serta melakukan konfigurasi nginx untuk integrasi dengan php 8.1 nya.
Jika masih ada yang kesulitan untuk Install Nginx, php8.1-fpm dan MariaDB di Debian 11 ini silakan simak tutorial lengkap nya di video berikut ini :
Selanjutnya akan kita bahas bagaimana cara untuk install phpmyadmin di Nginx Debian dan juga membuat website dengan Install Wordpress di Nginx Debian nya di postingan ini :
Cara Membuat Web Hosting Sendiri Gratis Menggunakan VPS Debian 11