Server web Caddy atau Caddy adalah server web berkemampuan HTTP/2 open source yang ditulis dalam Go. Caddy dapat berjalan di berbagai sistem, termasuk yang menjalankan sistem operasi Linux, Windows, Mac OS, Android, dan BSD. Caddy memiliki banyak fitur dan dapat diinstal sebagai server web dan sebagai proxy terbalik untuk aplikasi Anda. Fitur server web Caddy yang paling menonjol adalah HTTPS otomatis yang diaktifkan secara default tanpa konfigurasi tambahan.
Dalam tutorial ini, saya akan menunjukkan langkah demi langkah cara menginstal dan mengkonfigurasi server web Caddy dengan PHP-FPM 7.x di Ubuntu 16.04. Kami akan menginstal caddy di lingkungan lokal, lalu mengonfigurasi PHP-FPM untuk aplikasi berbasis PHP.
Prasyarat
- Server Ubuntu 16.04
- Hak istimewa root
Apa yang akan kami lakukan
- Instal server web Caddy
- Konfigurasi server web Caddy
- Menjalankan Caddy sebagai Layanan di Systemd Ubuntu 16.04
- Instal PHP dan PHP-FPM 7.0
- Konfigurasi server web Caddy dengan PHP-FPM
- Pengujian
Langkah 1 - Instal server web Caddy
Pada langkah ini, kita akan menginstal server web Caddy menggunakan skrip installer. Script akan secara otomatis mengunduh file biner dan mengekstraknya ke direktori bin.
Unduh skrip penginstal dan buat agar dapat dieksekusi.
wget https://getcaddy.com -O getcaddy
chmod +x getcaddy
Sekarang jalankan skrip penginstal dengan sudo.
sudo ./getcaddy personal http.ipfilter,http.ratelimit
Catatan:
- getcaddy =skrip penginstal caddy.
- pribadi =lisensi untuk instalasi kami.
- http.ipfileter ... =sertakan pemasangan plugin caddy.
Tunggu proses instalasi caddy web server dan Anda akan mendapatkan hasil seperti di bawah ini.
Server web Caddy telah diinstal di Ubuntu 16.04.
Langkah 2 - Konfigurasi server web Caddy Dasar
Pada langkah ini, kita akan mengkonfigurasi server web Caddy. Kita akan membuat user baru bernama 'caddy', membuat direktori baru untuk file konfigurasi caddy, direktori baru untuk file log caddy dan direktori baru untuk direktori root web caddy.
Buat pengguna 'caddy' baru menggunakan opsi '/bin/false' seperti yang ditunjukkan di bawah ini.
useradd -M -s /bin/false caddy
Sekarang jalankan perintah mkdir berikut untuk membuat direktori caddy.
mkdir -p /etc/caddy
mkdir -p /var/log/caddy
mkdir -p /var/www/html
Dan ubah kepemilikan menjadi pengguna caddy.
chown -R caddy:root /etc/caddy /var/log/caddy
Selanjutnya, kita akan membuat file konfigurasi caddy baru bernama 'Caddyfile'. Buka direktori '/etc/caddy' dan buat konfigurasi dengan perintah vim.
cd /etc/caddy/
vim Caddyfile
Tempelkan konfigurasi caddy dasar di sana.
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
tls off
gzip
}
Simpan dan keluar.
Catatan:
- tls off =kita menjalankan caddy di server lokal, jika Anda di server langsung, aktifkan opsinya.
Konfigurasi dasar untuk server web Caddy telah selesai.
Langkah 3 - Menjalankan Caddy sebagai Layanan di Systemd Ubuntu 16.04
Pada langkah ini, kita akan menjalankan server web caddy sebagai layanan pada sistem systemd dan membuat file index.html untuk server web caddy kita.
Buat file layanan baru bernama 'caddy.service' menggunakan vim.
vim /etc/systemd/system/caddy.service
Tempelkan konfigurasi berikut di sana.
[Unit]
Description=Caddy HTTP/2 web server
[Service]
User=caddy
Group=caddy
Environment=CADDYPATH=/etc/caddy
ExecStart=/usr/local/bin/caddy -agree=true -log=/var/log/caddy/caddy.log -conf=/etc/caddy/Caddyfile -root=/dev/null
ExecReload=/bin/kill -USR1 $MAINPID
LimitNOFILE=1048576
LimitNPROC=64
[Install]
WantedBy=multi-user.target
Simpan dan keluar.
Sekarang muat ulang sistem systemd dan mulai layanan caddy menggunakan perintah systemctl seperti yang ditunjukkan di bawah ini.
systemctl daemon-reload
systemctl start caddy
Aktifkan untuk diluncurkan setiap kali sistem boot.
systemctl enable caddy
Server web Caddy sekarang berjalan sebagai layanan di Ubuntu 16.04.
Selanjutnya, kita akan membuat file index.html baru di bawah direktori root web '/var/www/html'.
Buka direktori itu dan buat file index.html menggunakan perintah di bawah ini.
cd /var/www/html
echo '<h1><center>Caddy web server</center></h1>' > index.html
Sekarang ubah pemilik file menjadi pengguna dan grup 'caddy'.
chown -R caddy:caddy /var/www/html
File index.html telah dibuat. Buka browser web dan ketik alamat nama domain yang Anda ketik pada konfigurasi 'Caddyfile', milik saya adalah:
http://hakase-labs.co/
Dan Anda akan mendapatkan halaman indeks yang telah kami buat.
Langkah 4 - Instal PHP dan PHP-FPM 7.0
Pada langkah ini, kita akan menginstal paket PHP-FPM dari repositori Ubuntu.
Jalankan perintah apt di bawah ini.
sudo apt install -y php7.0-fpm php7.0-cli curl
Setelah instalasi selesai, kita akan mengkonfigurasi file konfigurasi untuk PHP-FPM.
Buka direktori '/etc/php/7.0/fpm' dan edit file konfigurasi kumpulan 'www'conf' menggunakan vim.
cd /etc/php/7.0/fpm
vim pool.d/www.conf
Batalkan komentar pada baris di bawah.
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
Simpan dan keluar.
Sekarang tambahkan pengguna 'caddy' ke grup 'www-data'.
usermod -a -G www-data caddy
Mulai layanan PHP-FPM dan aktifkan untuk diluncurkan setiap kali sistem boot.
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
Instalasi dan konfigurasi PHP-FPM untuk instalasi server web Caddy kami telah selesai.
Periksa proses file socket PHP-FPM menggunakan perintah netstat di bawah ini.
netstat -pl | grep php
Langkah 5 - Konfigurasi server web Caddy dengan PHP-FPM
Setelah instalasi dan konfigurasi PHP-FPM, kami akan menambahkan dukungan PHP-FPM ke server web Caddy.
Buka direktori konfigurasi '/etc/caddy' dan edit file konfigurasi 'Caddyfile' menggunakan vim.
cd /etc/caddy
vim Caddyfile
Sekarang tambahkan konfigurasi PHP-FPM berikut untuk caddy di bawah braket nama domain Anda seperti di bawah ini.
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
errors /var/log/caddy/errors.log
tls off
gzip
# PHP-FPM Configuration for Caddy
fastcgi / /run/php/php7.0-fpm.sock php {
ext .php
split .php
index index.php
}
}
Simpan dan keluar.
Mulai ulang server web caddy dan layanan PHP-FPM.
systemctl restart caddy
systemctl restart php7.0-fpm
Konfigurasi server web Caddy dengan PHP-FPM telah selesai.
Langkah 6 - Pengujian
Buka direktori root web '/var/ww/html' dan buat file phpinfo 'info.php'.
cd /var/www/html
echo '<?php phpinfo(); ?>' > info.php
Buka browser web Anda dan ketik instalasi URL server web Caddy seperti di bawah ini.
http://hakase-labs.co/info.php
Dan Anda akan mendapatkan halaman informasi PHP seperti gambar di bawah ini.
Instalasi untuk server web Caddy dengan PHP-FPM di Ubuntu 16.04 telah berhasil diselesaikan.