Setiap kali saya telah selesai melakukan develop aplikasi, saya selalu meminta sebuah server untuk digunakan sebagai server production. Sebenanya ini adalah sebuah pemborosan apabila setiap satu aplikasi menempati satu server (meskipun ini adalah virtual server), akan tetapi ini adalah cara paling mudah agar aplikasi agar dapat cepat bisa kita deliver ke user.
Server yang biasa saya pakai untuk aplikasi saya adalah server dengan sistem operasi varian dari Debian yaitu Ubuntu, Berikut adalah cara menginstall webserver Nginx pada server Ubuntu 22:

- Silahkan update paket list didalam APT nya terlebih dahulu
sudo apt update - Kemudin install paket Nginx dengan perintah
sudo apt install nginx

- Silahkan cek apakah Nginx sudah berhasil terinstall atau belum
sudo service nginx status

- Kemudian juga bisa dicek apakah Nginx nya sudah berjalan sebagai web server dengan membuka ip address melalui web browser.

- Setelah Nginx sudah selesai di install sekarang kita melakukan install PHP sebagai bahasa pemrograman yang nanti di service sama web server Nginx, pada tutorial kali ini saya menggunakan PHP versi 8.1 beserta FPM (FastCGI Process Manager) nya.
sudo apt install php8.1 php8.1-fpm

- Dan jangan lupa untuk menginstall library PHP yang nanti biasa dipakai untuk aplikasi (common libraries), seperti: curl, gd, imagick dll.
sudo apt install php8.1-fpm php8.1 libapache2-mod-php8.1 php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-bcmath unzip -y - Kemudian agar server bisa digunakan untuk domain tertentuk, silahkan buat file konfigurasi vhost di direktori instalasi nginx.
cd /etc/nginx/sites-available - Buat sebuah file dengan nama yang sama dengan nama domain nya, contoh disini saya menggunakan domain tumbas.undip.ac.id
nano tumbas.undip.ac.id - Kemudian berikut isi dari file tersebut.
- server {
- listen 80;
- root /var/www/html/tumbas;
- index index.php index.html;
- server_name tumbas.undip.ac.id;
- location / {
- try_files $uri $uri/ =404;
- }
- location ~ .php$ {
- include snippets/fastcgi-php.conf;
- fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
- }
- location ~ /.ht {
- deny all;
- }
- access_log /var/log/nginx/tumbas-undip-ac-id.access.log;
- error_log /var/log/nginx/tumbas-undip-ac-id.error.log;
- }
- Kemudian buat sebuah symlink (symbolic link) dari file konfigurasi tersebut ke direktori, /etc/nginx/sites-enabled
sudo ln -s /etc/nginx/sites-available/tumbas.undip.ac.id /etc/nginx/sites-enabled/ - Setelah itu silahkan dapat mengecek apakah konfigurasi sudah benar atau belum dengan perintah.
sudo nginx -t - Agar file konfigurasi dapat segera di proses sama Nginx, silahkan restart service.
sudo service nginx restart

- Kemudian cek apa