NATVPS.id – Instalasi NGINX dan PHP-FPM pada Docker dapat membantu jika ingin memasang web server pada VPS diatas container, jadi environment lebih terisolasi (resources dapat diatur). Pada postingan kali ini, kami akan menjelaskan langkah-langkah untuk memasang NGINX dan PHP-FPM pada Docker Compose di NAT VPS.
Tutorial ini dibuat oleh @canchooseusername. Terima kasih atas ilmunya!
Sebelum dapat memasang Docker Compose, kita perlu memasang Docker terlebih dahulu.
Pertama-tama, masukkan command berikut untuk memperbarui index repositori dan memasang package curl:
apt update apt install curl -y
Selanjutnya, pasang Docker dengan script otomatis:
curl -fsSL https://get.docker.com | sh -
Tunggu hingga muncul tampilan seperti ini:
Jika sudah, maka Docker berhasil dipasang. Yeay!
Sekarang, kita dapat memasang Docker Compose.
Pergi ke https://github.com/docker/compose/releases. Gulir ke bawah, lalu cari file yang bertuliskan docker-compose-linux-x86_64, seperti ini:
Klik kanan lalu salin URL nya. Kemudian, masukkan command dibawah untuk mengunduh Docker Compose
wget <URL-Yang-Disalin>
Contohnya:
wget https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-linux-x86_64
Lalu, masukkan command dibawah untuk memasang Docker Compose (memindahkannya ke /usr/loca/bin dan mengatur permission):
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
Docker Compose berhasil dipasang. Untuk mengeceknya, jalankan docker-compose -v.
Docker dan Docker Compose berhasil dipasang. Saatnya untuk memasang web server!
Buat folder-folder yang diperlukan dengan command dibawah:
cd ~ mkdir docker && cd docker mkdir lemp && cd lemp
Sebelum melanjutkan, install package nano terlebih dahulu agar dapat mengedit file:
apt install nano -y
Kemudian, buat file baru dengan nama docker-compose.yml menggunakan nano:
nano docker-compose.yml
Paste-kan kode dibawah pada file tersebut:
version: "3"
services:
nginx:
restart: always
image: nginx:stable-alpine
container_name: lemp-nginx
links:
- php
ports:
- "80:80"
php:
restart: always
image: php:fpm-alpine
container_name: lemp-php
volumes:
- ./webcontent:/var/www/html
db:
restart: always
image: mariadb
container_name: lemp-db
environment:
MYSQL_ROOT_PASSWORD: password_goes_here
Sebelum melanjutkan, ada baiknya untuk memahami maksud dari kode diatas. Kode diatas akan digunakan oleh Docker Compose untuk membuat container baru. Docker Compose akan memasang NGINX (line 3 – 13), PHP (line 14 – 19), dan MariaDB (line 20 – 25).
Untuk yang sudah memasang software yang menggunakan port 80 (misalnya aaPanel), ganti angka 80 pertama pada ports: (line 13) dengan port yang masih terbuka. Misalkan penulis ingin mengarahkannya ke port 5003, maka penulis mengganti - "80:80" menjadi - "55003:80".
Simpan file tersebut dengan cara menekan Ctrl + X, y, lalu Enter.
Konfigurasi yang diperlukan sudah selesai. Jalankan dan hentikan Docker Compose sebagai persiapan pertama kalinya:
docker-compose up -d docker-compose stop
Jalankan kembali Docker Compose dengan memasukkan command berikut:
docker-compose up -d
Agar web server dapat diakses oleh publik, maka kita perlu mengatur domain forwarding agar port 55003 dapat diakses dari luar VPS.
Kebanyakan penyedia NAT VPS telah mengatur konfigurasi port yang dimana tiap user mendapatkan 21 port terbuka. Namun untuk NAT VPS dari HostData.id, user harus melakukan forwarding port VPS ke port IP publik yang terbuka secara manual. Jika seperti itu, maka ganti port pada file docker-compose.yml. Silahkan kontak penyedia VPS masing-masing. Tetapi untuk user NAT VPS HostData.id, kami telah memberikan langkah-langkah detail untuk melakukan forwarding port (request port), silahkan baca di sini (postingan sebelumnya).
Atur domain forwarding dengan konfigurasi berikut:
Selesai! Sekarang, web server NGINX dapat diakses pada http://103.180.125.226:SourcePort, misalnya http://103.180.125.226:55003.
Begitulah langkah-langkah instalasi NGINX dan PHP-FPM di Docker Compose pada NAT VPS. Perlu diketahui bahwa file konfigurasi yang disediakan sangatlah minimal. Konfigurasi lebih lanjut diperlukan.
Terima kasih sudah membaca!
NATVPS.id – Gopeed (Go Speed) adalah aplikasi pengunduh modern bersifat open-source yang yang mendukung berbagai…
NATVPS.id – IPTV (Internet Protocol Television) adalah teknologi yang menyiarkan konten televisi, video, dan siaran…
NATVPS.id – Jellyfin adalah server media open-source yang memungkinkan Anda mengatur, melakukan streaming, dan mengelola…
NATVPS.id – Gitea adalah sebuah layanan hosting Git (pengelola repositori kode) open-source yang dapat di…
NATVPS.id – LibreOffice adalah perangkat lunak perkantoran (office) yang gratis, modern, dan open-source. LibreOffice dapat…
NATVPS.id – Pi-hole adalah software DNS Server yang berfokus pada pemblokiran iklan dan situs trackers.…