Cara Migrasi Laman Web Apache ke Caddy
ServBay menyediakan Caddy, Nginx dan Apache sebagai pelayan web, membolehkan pengguna memilih mengikut keperluan projek. Untuk kebanyakan rangka kerja PHP dan sistem CMS, ServBay telah siap sedia dengan peraturan URL Rewrite untuk Caddy dan Nginx, biasanya tanpa memerlukan konfigurasi tambahan daripada pengguna.
Dokumen ini bertujuan membimbing anda untuk memindahkan laman web yang sebelum ini menggunakan konfigurasi Apache agar boleh dijalankan di pelayan Caddy yang disediakan oleh ServBay dalam persekitaran pembangunan tempatan. Kami akan menggunakan contoh projek biasa seperti Laravel dan WordPress.
Tentang Sokongan ServBay untuk Apache
ServBay menyokong sepenuhnya Apache sebagai pelayan web. Jika anda ingin menukar pelayan web lalai ServBay kepada Apache, atau ingin tahu cara mengkonfigurasi laman web Apache di dalam ServBay, sila rujuk dokumen: Cara Menukar Pelayan Web Lalai kepada Apache. Fokus dokumen ini adalah pemindahan laman web berkonfigurasi Apache sedia ada ke persekitaran Caddy di ServBay.
Gambaran Keseluruhan
Memindahkan laman web dari satu pelayan web ke yang lain melibatkan penyesuaian konfigurasi dan failnya. ServBay membenarkan pengguna menggunakan Caddy sebagai pelayan web, dan menawarkan sokongan "plug-and-play" untuk kebanyakan rangka kerja PHP dan sistem CMS — ini bermakna ServBay akan mengurus konfigurasi yang diperlukan secara automatik, termasuk peraturan Rewrite. Oleh itu, memindahkan laman web berasaskan Apache ke persekitaran Caddy di ServBay selalunya sangat mudah; langkah utama hanyalah “menambah laman web” di ServBay dengan betul.
Persediaan Pra-Migrasi
Sebelum menjalankan sebarang migrasi, pastikan perkara berikut telah dilakukan:
- Sandaran Fail: Sandarkan semua fail laman web anda, termasuk kod, imej, dan fail yang dimuat naik dalam direktori utama laman web.
- Sandaran Pangkalan Data: Eksport dan sandarkan pangkalan data yang digunakan laman web anda. ServBay menyokong pelbagai jenis pangkalan data seperti MySQL, PostgreSQL, MongoDB dan lain-lain. Gunakan alat yang bersesuaian untuk membuat sandaran.
- Pastikan ServBay Telah Dipasang: Pastikan anda telah berjaya memasang dan menjalankan ServBay pada macOS.
- Pastikan Pakej Caddy Diaktifkan: Dalam aplikasi ServBay, pastikan pakej Caddy berada dalam keadaan aktif.
Migrasi Laman Web Laravel ke Caddy
Sebagai contoh, anda mempunyai laman web Laravel dengan konfigurasi Apache berikut:
Contoh Konfigurasi Apache Tipikal (Bukan Persekitaran ServBay)
Berikut adalah contoh konfigurasi Apache VirtualHost untuk laman web Laravel di luar persekitaran ServBay. Perhatikan DocumentRoot
menunjuk ke direktori public
dan AllowOverride All
mengaktifkan peraturan Rewrite dalam fail .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 di sini juga akan ditetapkan cara pemprosesan PHP, misal melalui 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 Laman Web Laravel Ini di ServBay (Menggunakan Caddy)
Dalam ServBay, anda tidak perlu menulis atau menukar konfigurasi Apache di atas kepada konfigurasi Caddy secara manual. Konsep utama ServBay adalah untuk memudahkan konfigurasi persekitaran pembangunan tempatan. Untuk Laravel, ServBay akan menjana konfigurasi Caddy yang betul secara automatik apabila anda menambah laman web, termasuk penentuan direktori public
serta pengendalian peraturan Rewrite.
Langkah Sebenar:
- Salin semua fail projek Laravel anda ke subdirektori dalam direktori root laman web ServBay. Laluan yang dicadangkan ialah
/Applications/ServBay/www/your-laravel-project
. Pastikan direktoripublic
berada dalam laluan ini. - Buka aplikasi ServBay.
- Navigasi ke antaramuka pengurusan “Websites” di ServBay.
- Klik butang “Tambah Laman Web”.
- Dalam tetingkap konfigurasi yang muncul:
- Domain: Masukkan nama domain yang ingin digunakan untuk akses laman web ini, contoh
laravel.servbay.demo
. ServBay akan tambahkannya secara automatik ke fail hosts tempatan anda. - Document Root: Klik butang browse dan pilih direktori
public
projek Laravel anda, contoh/Applications/ServBay/www/your-laravel-project/public
. - Web Server: Pilih
Caddy
. - PHP Version: Pilih versi PHP mengikut keperluan projek anda.
- Application Type: Pilih
Laravel
. Ini ialah kunci konfigurasi automatik oleh ServBay.
- Domain: Masukkan nama domain yang ingin digunakan untuk akses laman web ini, contoh
- Klik butang “Simpan” atau “Tambah”.
Selepas langkah di atas, ServBay akan menjana konfigurasi Caddy untuk laman web laravel.servbay.demo
secara automatik, lengkap dengan laluan ke direktori public
, peraturan URL rewrite serta forwarding permintaan PHP. Kini anda boleh mengakses laman web Laravel anda melalui pelayar di http://laravel.servbay.demo
.
Contoh Konfigurasi Caddy Secara Teori (Untuk Rujukan, Dijana Otomatik oleh ServBay)
Berikut adalah contoh konfigurasi teorikal Caddy yang memenuhi keperluan Laravel. Ingat, anda tidak perlu membuat atau mengubah fail ini secara manual.
bash
laravel.servbay.demo {
# Tetapkan root laman web ke direktori public
root * /Applications/ServBay/www/your-laravel-project/public
# Konfigurasi PHP FastCGI
# ServBay akan menetapkan laluan socket yang betul berdasarkan versi PHP
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Aktifkan servis fail (untuk fail statik)
file_server
# Peraturan utama Rewrite Laravel: jika permintaan bukan fail atau direktori sebenar, alihkan 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 Laman Web WordPress ke Caddy
Sebagai contoh kedua, anda mempunyai laman web WordPress dengan konfigurasi Apache berikut:
Contoh Konfigurasi Apache Tipikal (Bukan Persekitaran ServBay)
Berikut adalah contoh konfigurasi Apache VirtualHost untuk laman web WordPress di luar persekitaran ServBay. Lazimnya, direktori root laman web mengandungi fail WordPress, dan peraturan Rewrite dalam .htaccess
membolehkan sokongan pautan kekal (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 akan ditetapkan cara pemprosesan 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 Laman Web WordPress Ini di ServBay (Menggunakan Caddy)
Sama seperti Laravel, untuk menjalankan WordPress menggunakan Caddy di ServBay, anda juga tidak perlu menulis konfigurasi Caddy secara manual. ServBay akan secara automatik mengenali keperluan WordPress dan menjana konfigurasi yang sesuai.
Langkah Sebenar:
- Salin semua fail projek WordPress anda ke subdirektori dalam root laman web ServBay. Laluan yang dicadangkan ialah
/Applications/ServBay/www/your-wordpress-site
. Pastikan fail dan folder sepertiindex.php
,wp-admin
,wp-includes
dan sebagainya berada di dalam laluan ini. - Buka aplikasi ServBay.
- Navigasi ke antaramuka pengurusan “Websites” di ServBay.
- Klik butang “Tambah Laman Web”.
- Dalam tetingkap konfigurasi yang muncul:
- Domain: Masukkan domain yang anda ingin gunakan, contoh
wordpress.servbay.demo
. - Document Root: Klik browse dan pilih direktori root projek WordPress anda, contoh
/Applications/ServBay/www/your-wordpress-site
. - Web Server: Pilih
Caddy
. - PHP Version: Pilih versi PHP yang diperlukan.
- Application Type: Pilih
WordPress
.
- Domain: Masukkan domain yang anda ingin gunakan, contoh
- Klik butang “Simpan” atau “Tambah”.
ServBay akan secara automatik menjana konfigurasi Caddy untuk laman wordpress.servbay.demo
, mengendalikan root laman web, penulisan semula URL (permalink) dan forwarding permintaan PHP. Anda kini boleh mengakses laman WordPress anda melalui pelayar di http://wordpress.servbay.demo
, dan segala fungsi pautan kekal akan berfungsi tanpa masalah.
Contoh Konfigurasi Caddy Secara Teori (Untuk Rujukan, Dijana Otomatik oleh ServBay)
Berikut ialah contoh konfigurasi Caddy yang memenuhi keperluan WordPress. Anda tidak perlu membuat atau mengubahnya secara manual.
bash
wordpress.servbay.demo {
# Tetapkan root laman web
root * /Applications/ServBay/www/your-wordpress-site
# Konfigurasi PHP FastCGI
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Aktifkan servis fail
file_server
# Peraturan utama Rewrite WordPress: untuk permalinks
# Jika permintaan bukan fail atau folder sebenar, alihkan 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
Rumusan
Memindahkan laman web Laravel atau WordPress yang sebelum ini berasaskan Apache ke pelayan Caddy ServBay amat mudah. Dengan sokongan terbina untuk jenis aplikasi biasa, anda tidak perlu menukar konfigurasi .htaccess
ataupun VirtualHost Apache kepada sintaks Caddyfile secara manual. Cukup hanya dengan menambah laman web di antaramuka pengurusan “Websites” pada aplikasi ServBay, menetapkan domain, root laman, memilih Caddy sebagai pelayan web, dan menentukan jenis aplikasi seperti Laravel atau WordPress — ServBay akan mengurus semua konfigurasi Caddy yang diperlukan secara automatik, termasuk peraturan Rewrite yang kompleks.
Pendekatan automasi ini amat memudahkan proses migrasi serta tetapan pembangunan tempatan, membolehkan anda memberi tumpuan sepenuhnya kepada pembangunan kod tanpa perlu risau tentang konfigurasi pelayan.