Migrasikan Situs NGINX ke Server Caddy di ServBay
ServBay adalah lingkungan pengembangan Web lokal yang kuat, terintegrasi dengan berbagai server web populer seperti Caddy, NGINX, dan Apache. ServBay telah menyediakan pre-konfigurasi aturan URL Rewrite untuk server-server ini—terutama Caddy dan NGINX—sehingga developer tidak perlu repot melakukan konfigurasi manual.
Dokumentasi ini adalah panduan langkah demi langkah tentang cara memigrasikan situs NGINX yang sudah ada ke server Caddy bawaan ServBay dengan mulus. Kami akan menggunakan framework PHP populer Laravel dan sistem manajemen konten WordPress sebagai contoh untuk memperjelas proses migrasi.
Dukungan Lengkap ServBay untuk Web Server
ServBay menyediakan dukungan penuh untuk Caddy, NGINX, dan Apache, sehingga Anda dapat dengan mudah beralih web server default sesuai kebutuhan proyek. Lihat cara beralih web server default untuk informasi lebih lanjut.
Gambaran Umum
Migrasi situs dari satu web server ke server lain melibatkan pemindahan file konfigurasi dan file situs. Di ServBay, proses migrasi ke Caddy telah dirancang sangat sederhana. Untuk hampir semua framework dan CMS berbasis PHP (seperti Laravel, WordPress, Symfony, CodeIgniter, Drupal, Joomla, dll.), ServBay sudah menyediakan dukungan siap pakai, sehingga tidak perlu menulis atau mengubah file konfigurasi Caddy secara manual. ServBay akan membuat Caddyfile secara otomatis berdasarkan pengaturan situs yang Anda buat di antarmuka GUI-nya.
Persiapan Sebelum Migrasi
Sebelum melakukan proses migrasi, pastikan langkah berikut telah dilakukan:
- Backup file situs: Cadangkan seluruh file dan folder di direktori root situs Anda.
- Backup basis data: Cadangkan database yang digunakan situs Anda (misal MySQL, PostgreSQL, MongoDB, dll). ServBay menyediakan alat manajemen database bawaan dan juga mendukung backup manual.
- Instal ServBay: Pastikan Anda telah menginstal dan menjalankan ServBay di macOS Anda.
- Pastikan lokasi file: Tempatkan file situs Anda di direktori root situs ServBay
/Applications/ServBay/www
atau subdirektori di dalamnya. Contohnya, untuk proyek bernamamyproject
, letakkan file di/Applications/ServBay/www/myproject
.
Cara Kerja Caddy di ServBay
Memahami bagaimana ServBay mengelola konfigurasi Caddy sangat penting dalam proses migrasi. Berbeda dengan pengelolaan manual Caddyfile, ServBay memungkinkan Anda menambah dan mengonfigurasi situs melalui GUI. Saat Anda menambah situs dan memilih Caddy sebagai web server, ServBay akan secara otomatis menghasilkan dan mengelola potongan Caddyfile berdasarkan domain, direktori root, versi PHP, dan informasi lain yang Anda masukkan. Potongan konfigurasi ini kemudian di-include oleh Caddyfile utama ServBay untuk memastikan situs berjalan lancar.
Artinya, konfigurasi Caddy selesai hanya dengan menambah situs lewat GUI ServBay—tanpa perlu edit manual .caddyfile
atau file konfigurasi sejenis.
Langkah-langkah Migrasi
Memigrasikan situs NGINX ke server Caddy ServBay sangat mudah:
- Jalankan ServBay: Pastikan aplikasi ServBay sudah berjalan.
- Pindahkan file situs: Salin atau pindahkan seluruh file situs NGINX Anda (termasuk kode aplikasi, gambar, CSS, JS, dll) ke folder baru di root situs ServBay, misal
/Applications/ServBay/www/nama-situs-anda
. - Tambahkan situs melalui GUI ServBay:
- Buka aplikasi ServBay.
- Masuk ke bagian “Websites”.
- Klik tombol “Add Website”.
- Isi informasi situs:
- Domain: Masukkan domain untuk mengakses secara lokal, misal
nama-situs-anda.servbay.demo
. - Website Root: Pilih direktori tempat Anda meletakkan file situs di langkah 2 (contoh
/Applications/ServBay/www/nama-situs-anda
). - Web Server: Pilih
Caddy
. - PHP Version: Pilih versi PHP yang diperlukan.
- Domain: Masukkan domain untuk mengakses secara lokal, misal
- Klik “Save” atau “Create”.
- Verifikasi situs: ServBay otomatis menambahkan domain baru ke file hosts lokal Anda dan mengkonfigurasi Caddy. Akses domain lokal yang Anda tentukan (misal
http://nama-situs-anda.servbay.demo
) lewat browser dan pastikan situs terbuka dengan benar. - Konfigurasi database: Jika situs memerlukan database, pastikan layanan database yang relevan (misal MySQL, PostgreSQL) di ServBay sudah berjalan, dan update konfigurasi koneksi database di file konfigurasi situs Anda (alamat biasanya
127.0.0.1
ataulocalhost
dengan username dan password).
Contoh: Migrasi Situs Laravel
Contoh Konfigurasi NGINX (Referensi Saja)
Berikut contoh file konfigurasi NGINX untuk situs Laravel, menunjukkan cara atur root, file entry point (index.php
), dan PHP FastCGI di NGINX:
nginx
server {
listen 80;
server_name laravel.servbay.demo; # Contoh domain ServBay
root /Applications/ServBay/www/laravel/public; # Arahkan ke direktori public Laravel
index index.php index.html index.htm;
location / {
# Coba akses file/folder langsung, jika tidak ada redirect ke index.php
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
# Pengaturan PHP FastCGI
include fastcgi_params;
# Path socket PHP-CGI default ServBay
fastcgi_pass unix:/Applications/ServBay/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
# Blokir akses file tersembunyi
deny all;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Konfigurasi Caddy di ServBay (Otomatis, Tidak Perlu Edit Manual)
Tidak Perlu Konfigurasi Caddyfile Manual
Di ServBay, ANDATidak perlu membuat atau mengedit Caddyfile secara manual untuk pengaturan di atas. GUI ServBay akan otomatis menghasilkan konfigurasi Caddy yang diperlukan dari pengaturan yang Anda pilih saat menambahkan situs. Contoh berikut hanya untuk membantu Anda memahami cara ServBay memetakan konfigurasi NGINX ke Caddy di belakang layar.
Berikut contoh potongan konfigurasi Caddy (versi sederhanakan, kemungkinan aslinya di ServBay lebih kompleks) yang otomatis dihasilkan ServBay untuk situs Laravel seperti di atas:
bash
# Konfigurasi ini dikelola otomatis oleh ServBay
laravel.servbay.demo {
# Set root folder situs
root * /Applications/ServBay/www/laravel/public
# Konfigurasi PHP FastCGI, arahkan ke socket PHP-CGI ServBay
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Aktifkan file_server
file_server
# Definisikan matcher untuk selain file statis
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
# Rewrite semua permintaan non-statis ke index.php
rewrite @notStatic /index.php
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Langkah Migrasi Laravel:
- Salin file Laravel Anda ke
/Applications/ServBay/www/laravel
. - Pastikan direktori
laravel/public
menjadi root situs. - Tambahkan situs baru di GUI ServBay: domain
laravel.servbay.demo
, root/Applications/ServBay/www/laravel/public
, web serverCaddy
. - Isikan konfigurasi database yang tepat di file
.env
Laravel. - Coba akses
http://laravel.servbay.demo
untuk verifikasi.
Contoh: Migrasi Situs WordPress
Contoh Konfigurasi NGINX (Referensi Saja)
Berikut adalah contoh konfigurasi NGINX untuk situs WordPress:
nginx
server {
listen 80;
server_name wordpress.servbay.demo; # Contoh domain ServBay
root /Applications/ServBay/www/wordpress; # Arahkan ke folder WordPress
index index.php index.html index.htm;
location / {
# Aturan permalink WordPress
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
# Pengaturan PHP FastCGI
include fastcgi_params;
# Path socket PHP-CGI default ServBay
fastcgi_pass unix:/Applications/ServBay/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
# Blokir akses file tersembunyi
deny all;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Konfigurasi Caddy di ServBay (Otomatis, Tidak Perlu Edit Manual)
Tidak Perlu Konfigurasi Caddyfile Manual
Untuk WordPress pun, GUI ServBay akan menangani konfigurasi Caddy secara otomatis. Contoh konfigurasi berikut bertujuan membantu Anda memahami bagaimana ServBay secara internal mewujudkan aturan permalink dan fitur penting lain WordPress.
Inilah contoh teoritis potongan Caddyfile otomatis untuk situs WordPress seperti di atas:
bash
# Konfigurasi ini dikelola otomatis oleh ServBay
wordpress.servbay.demo {
# Set root folder situs
root * /Applications/ServBay/www/wordpress
# Konfigurasi PHP FastCGI
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Aktifkan file_server
file_server
# Definisikan matcher untuk selain file statis
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
# Rewrite ke index.php untuk non-statis, mendukung permalink
rewrite @notStatic /index.php
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Langkah Migrasi WordPress:
- Salin file WordPress Anda ke
/Applications/ServBay/www/wordpress
. - Tambahkan situs baru di GUI ServBay: domain
wordpress.servbay.demo
, root/Applications/ServBay/www/wordpress
, web serverCaddy
. - Atur konfigurasi koneksi database di
wp-config.php
WordPress. - Coba akses
http://wordpress.servbay.demo
untuk tes. Jika terjadi masalah pada permalink, biasanya ServBay sudah menangani aturan Rewrite, jadi tak perlu konfigurasi tambahan. Periksa menu “Pengaturan”->“Permalink” di dashboard WordPress Anda untuk memastikan sudah benar.
Catatan Penting
- Koneksi Database: Setelah migrasi, pastikan untuk memperbarui konfigurasi koneksi database pada kode situs Anda agar mengarah ke layanan database ServBay.
- Variabel Lingkungan: Jika aplikasi Anda membutuhkan variabel lingkungan tertentu, pastikan Anda mengaturnya di lingkungan ServBay (misalnya lewat file
.env
PHP atau pengaturan ServBay lainnya). - Konfigurasi NGINX yang kompleks: Contoh yang diberikan di sini untuk Laravel dan WordPress standar. Jika konfigurasi NGINX Anda sangat khusus, menggunakan modul tambahan, atau ada pengaturan tidak umum, auto-konfigurasi ServBay mungkin belum bisa mengcover seluruh kebutuhan Anda. Dalam kasus ini, Anda dapat melihat dokumentasi resmi Caddy dan memanfaatkan titik perluasan konfigurasi Caddy pada ServBay (jika tersedia) atau memeriksa logika auto-generasi yang dilakukan ServBay. Namun, untuk kebanyakan aplikasi umum, auto-konfigurasi ServBay sudah mencukupi.
- HTTPS/SSL: ServBay mendukung setup HTTPS untuk situs lokal. Anda dapat menggunakan ServBay User CA atau ServBay Public CA untuk membuat dan mempercayai sertifikat SSL lokal tanpa perlu konfigurasi TLS di Caddy secara manual.
Kesimpulan
Migrasi situs NGINX ke server Caddy ServBay adalah proses yang mudah, berkat pengelolaan otomatis konfigurasi Caddy oleh ServBay. Untuk aplikasi populer seperti Laravel dan WordPress, Anda cukup memindahkan file ke direktori yang telah ditentukan dan menambahkan situs via GUI ServBay. ServBay akan otomatis mengatur konfigurasi URL rewrite, PHP FastCGI, dan lain-lain, sehingga Anda dapat segera menjalankan website di Caddy secara lokal dengan mudah.