Cara Migrasi Situs Web Apache ke Caddy
ServBay menyediakan Caddy, Nginx, dan Apache sebagai server web, sehingga pengguna dapat memilih sesuai kebutuhan proyek mereka. Untuk sebagian besar framework PHP dan sistem CMS, ServBay telah mengonfigurasi aturan penulisan ulang URL (URL Rewrite) secara default untuk Caddy dan Nginx, sehingga Anda biasanya tidak perlu melakukan konfigurasi tambahan.
Dokumen ini bertujuan untuk membimbing Anda memigrasi situs web yang sebelumnya dikonfigurasi menggunakan Apache agar dapat berjalan pada server Caddy bawaan ServBay di lingkungan pengembangan lokal. Penjelasan akan diberikan dengan contoh proyek populer seperti Laravel dan WordPress.
Tentang Dukungan ServBay untuk Apache
ServBay sepenuhnya mendukung Apache sebagai server web. Jika Anda ingin mengganti server web default ServBay menjadi Apache, atau ingin mengetahui cara mengkonfigurasi situs web Apache di ServBay, silakan lihat dokumen: Cara Mengganti Server Web Default Menjadi Apache. Fokus utama dokumen ini adalah migrasi situs web yang sudah dikonfigurasi menggunakan Apache ke lingkungan Caddy di ServBay.
Gambaran Umum
Migrasi situs web dari satu server ke server lain memerlukan penyesuaian konfigurasi dan file-file tertentu. ServBay memungkinkan pengguna menggunakan Caddy sebagai server web, serta menyediakan dukungan “langsung pakai” untuk mayoritas framework PHP dan CMS populer, yang berarti ServBay secara otomatis menangani konfigurasi yang diperlukan, termasuk aturan Rewrite. Oleh karena itu, memindahkan situs berbasis Apache ke lingkungan Caddy ServBay biasanya sangat mudah — langkah utamanya adalah “menambahkan situs web” dengan benar di ServBay.
Persiapan Sebelum Migrasi
Sebelum mulai migrasi apa pun, pastikan Anda telah melakukan langkah-langkah berikut:
- Backup File: Lakukan backup lengkap pada seluruh file situs Anda, termasuk semua kode, gambar, file unggahan, dan lainnya di direktori root.
- Backup Database: Ekspor dan backup database yang digunakan situs web Anda. ServBay mendukung berbagai database seperti MySQL, PostgreSQL, MongoDB, dll — gunakan alat masing-masing untuk melakukan backup.
- Pastikan ServBay Terpasang: Cek apakah Anda telah menginstal dan menjalankan ServBay di macOS.
- Pastikan Paket Caddy Aktif: Pada aplikasi ServBay, pastikan paket Caddy berada dalam keadaan aktif.
Migrasi Situs Laravel ke Caddy
Misalkan Anda memiliki situs Laravel dengan konfigurasi Apache seperti berikut:
Contoh Konfigurasi Apache Khas (di luar lingkungan ServBay)
Berikut adalah contoh konfigurasi Apache VirtualHost untuk situs Laravel di luar ServBay. Perhatikan bahwa DocumentRoot
diarahkan ke folder public
, dan AllowOverride All
mengaktifkan aturan Rewrite melalui file .htaccess
.
apache
<VirtualHost *:80>
ServerName laravel.demo
DocumentRoot /path/to/your/laravel/public
<Directory /path/to/your/laravel/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Biasanya juga dikonfigurasi cara pemrosesan PHP, misal lewat FPM atau mod_php
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Menjalankan Situs Laravel di ServBay (Menggunakan Caddy)
Pada ServBay, Anda tidak perlu menulis ulang atau mengonversi konfigurasi Apache di atas ke konfigurasi Caddy secara manual. Filosofi desain ServBay adalah menyederhanakan pengaturan server pengembangan lokal. Untuk framework populer seperti Laravel, ServBay secara otomatis menghasilkan konfigurasi Caddy yang benar saat Anda menambahkan situs web — termasuk pengaturan direktori public
dan aturan Rewrite.
Langkah-langkah Praktis:
- Salin seluruh file proyek Laravel Anda ke subdirektori di dalam root situs web ServBay, misalnya
/Applications/ServBay/www/your-laravel-project
. Pastikan direktoripublic
berada di dalam jalur ini. - Buka aplikasi ServBay.
- Navigasikan ke menu manajemen “Situs Web (Websites)” ServBay.
- Klik tombol “Tambah Situs Web”.
- Pada jendela konfigurasi yang muncul:
- Domain: Masukkan domain yang akan digunakan untuk mengakses situs, misal
laravel.servbay.demo
. ServBay secara otomatis akan menambahkannya ke file hosts lokal Anda. - Root Dokumen (Document Root): Klik tombol browse, pilih folder
public
milik proyek Laravel Anda, misal/Applications/ServBay/www/your-laravel-project/public
. - Server Web: Pilih
Caddy
. - Versi PHP: Pilih versi PHP sesuai kebutuhan proyek Anda.
- Jenis Aplikasi: Pilih
Laravel
. Inilah kunci otomatisasi konfigurasi di ServBay.
- Domain: Masukkan domain yang akan digunakan untuk mengakses situs, misal
- Klik “Simpan” atau “Tambah”.
Setelah langkah di atas selesai, ServBay akan secara otomatis membuat konfigurasi Caddy yang sesuai untuk laravel.servbay.demo
, mengarahkan ke folder public
, mengatur aturan URL Rewrite, dan meneruskan permintaan PHP yang diperlukan. Kini Anda dapat membuka http://laravel.servbay.demo
di browser untuk menjalankan situs Laravel Anda.
Contoh Teoritis Konfigurasi Caddy (Sebagai Referensi, ServBay Melakukannya Secara Otomatis)
Untuk membantu Anda memahami apa yang dilakukan ServBay, berikut contoh konfigurasi Caddy yang secara teoritis sesuai kebutuhan Laravel. Ingat, Anda tidak perlu menulis atau mengubah file ini secara manual.
bash
laravel.servbay.demo {
# Mengatur root situs ke folder public
root * /Applications/ServBay/www/your-laravel-project/public
# Pengaturan pemrosesan PHP FastCGI
# ServBay akan menentukan path socket PHP sesuai versi dan konfigurasi Anda
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Menyalakan layanan file untuk file statis
file_server
# Aturan Rewrite utama Laravel: jika permintaan bukan file/direktori nyata, arahkan ke index.php
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
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
Migrasi Situs WordPress ke Caddy
Misal Anda memiliki situs WordPress dengan konfigurasi Apache sebagai berikut:
Contoh Konfigurasi Apache Khas (di luar lingkungan ServBay)
Berikut contoh konfigurasi Apache VirtualHost untuk situs WordPress di luar ServBay. WordPress umumnya menggunakan direktori instalasinya sebagai root situs, serta mengandalkan aturan Rewrite melalui file .htaccess
untuk fitur permalink.
apache
<VirtualHost *:80>
ServerName wordpress.demo
DocumentRoot /path/to/your/wordpress
<Directory /path/to/your/wordpress>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Biasanya juga dikonfigurasi cara pemrosesan PHP
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Menjalankan Situs WordPress di ServBay (Menggunakan Caddy)
Sama seperti Laravel, menjalankan WordPress di ServBay dengan menggunakan Caddy tidak memerlukan Anda menulis konfigurasi Caddy secara manual. ServBay secara otomatis mengenali kebutuhan WordPress dan akan menghasilkan konfigurasi Caddy yang sesuai.
Langkah-langkah Praktis:
- Salin seluruh file proyek WordPress Anda ke subdirektori di dalam root situs web ServBay, misal
/Applications/ServBay/www/your-wordpress-site
. Pastikan file dan folder utama sepertiindex.php
,wp-admin
, danwp-includes
ada di folder ini. - Buka aplikasi ServBay.
- Masuk ke menu manajemen “Situs Web (Websites)” ServBay.
- Klik tombol “Tambah Situs Web”.
- Pada jendela pengaturan:
- Domain: Masukkan nama domain yang ingin digunakan, misal
wordpress.servbay.demo
. - Root Dokumen (Document Root): Klik browse, pilih folder root proyek WordPress Anda, misal
/Applications/ServBay/www/your-wordpress-site
. - Server Web: Pilih
Caddy
. - Versi PHP: Pilih versi PHP sesuai kebutuhan proyek Anda.
- Jenis Aplikasi: Pilih
WordPress
.
- Domain: Masukkan nama domain yang ingin digunakan, misal
- Klik “Simpan” atau “Tambah”.
ServBay akan secara otomatis membuat konfigurasi Caddy yang sesuai untuk wordpress.servbay.demo
— mengelola root situs, aturan Rewrite untuk permalink, serta pengalihan permintaan PHP. Anda kini dapat mengakses situs WordPress Anda melalui http://wordpress.servbay.demo
di browser, dan fitur permalink akan berjalan dengan baik.
Contoh Teoritis Konfigurasi Caddy (Sebagai Referensi, ServBay Melakukannya Secara Otomatis)
Berikut adalah contoh konfigurasi Caddy teoritis yang cocok untuk kebutuhan WordPress. Anda tidak perlu menulis atau mengubah file ini.
bash
wordpress.servbay.demo {
# Mengatur root situs
root * /Applications/ServBay/www/your-wordpress-site
# Pengaturan pemrosesan PHP FastCGI
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Menyalakan layanan file
file_server
# Aturan Rewrite utama WordPress: memungkinkan permalink
# Jika permintaan bukan file/direktori nyata, arahkan ke index.php
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
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
Ringkasan
Migrasi situs Laravel atau WordPress dari lingkungan Apache ke server Caddy milik ServBay sangatlah mudah. Berkat dukungan bawaan ServBay untuk aplikasi populer, Anda tidak perlu lagi mengonversi file konfigurasi Apache seperti .htaccess
atau VirtualHost ke sintaks Caddyfile secara manual. Cukup tambahkan situs Anda melalui panel manajemen “Situs Web (Websites)” di aplikasi ServBay, isikan domain, root dokumen, pilih Caddy sebagai server web, dan tentukan jenis aplikasinya (Laravel atau WordPress); ServBay akan secara otomatis menyiapkan seluruh konfigurasi Caddy yang diperlukan, termasuk aturan Rewrite yang kompleks.
Otomatisasi konfigurasi semacam ini sangat mempercepat proses migrasi dan penyusunan lingkungan pengembangan lokal, sehingga Anda dapat lebih fokus pada pengembangan kode daripada repot mengurus pengaturan server.