GNU/Linux >> Belajar Linux >  >> Linux

Cara Install dan Konfigurasi Caddy Web Server dengan PHP di Rocky Linux 8

Caddy adalah server web gratis, open-source, ringan, dan modern yang ditulis dalam bahasa Go. Anda dapat menggunakan Caddy sebagai server file, server dinamis, dan proxy terbalik yang dapat diskalakan. Anda dapat memperluas fungsionalitas server melalui plugin. Caddy hadir dengan berbagai fitur, beberapa di antaranya tercantum di bawah ini:

  • Hosting virtual
  • HTTPS otomatis melalui Let's Encrypt
  • Mendukung HTTP/2
  • Dapat dikembangkan dengan plugin
  • Berjalan tanpa ketergantungan eksternal

Dalam posting ini, kami akan menunjukkan cara menginstal server web Caddy dengan dukungan PHP di Rocky Linux 8.

Prasyarat

  • Server yang menjalankan Rocky Linux 8 di Atlantic.Net Cloud Platform
  • Kata sandi root yang dikonfigurasi di server Anda

Langkah 1 – Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Rocky Linux 8 sebagai sistem operasi dengan RAM minimal 2GB. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

dnf update -y

Langkah 2 – Instal Server Web Caddy

dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy

Setelah repositori diaktifkan, Anda dapat menginstal server web Caddy dengan perintah berikut:

dnf install caddy -y

Setelah Caddy diinstal, verifikasi versi Caddy menggunakan perintah berikut:

caddy version

Contoh keluaran:

v2.4.6 h1:HGkGICFGvyrodcqOOclHKfvJC0qTU7vny/7FhYp9hNw=

Selanjutnya, mulai layanan Caddy dan aktifkan untuk memulai saat reboot sistem:

systemctl start caddy
systemctl enable caddy

Sekarang, buka browser web Anda dan akses server web Caddy menggunakan URL http://your-server-ip . Anda akan melihat halaman pengujian Caddy pada layar berikut:

Langkah 3 – Buat Situs Baru Di Caddy

Pertama, buat struktur direktori untuk situs web baru menggunakan perintah berikut:

mkdir -p /var/www/example.com
mkdir /var/log/caddy

Selanjutnya, atur kepemilikan yang tepat di situs web baru:

chown caddy:caddy /var/www/example.com
chown caddy:caddy /var/log/caddy

Selanjutnya, buat halaman index.html untuk situs web baru:

nano /var/www/example.com/index.html

Tambahkan baris berikut:

<!DOCTYPE html>
<html>
<head>
<title>Caddy Web Server</title>
</head>
<body>
<h1>This is my first web page on Caddy!</h1>
</body>
</html>

Simpan dan tutup file setelah Anda selesai.

Langkah 4 – Buat File Konfigurasi Virtual Host

Selanjutnya, Anda perlu mengedit file konfigurasi Caddy untuk meng-host situs web baru. Anda dapat mengeditnya dengan perintah berikut:

nano /etc/caddy/Caddyfile

Hapus semua baris dan tambahkan baris berikut:

test.example.com:80 {
        root * /var/www/example.com
        file_server
        encode gzip

        log {
             	output file /var/log/caddy/example.access.log
        }

	@static {
                file
                path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.pdf *.webp
        }
	header @static Cache-Control max-age=5184000

}

Simpan dan tutup file setelah Anda selesai. Selanjutnya, validasi file konfigurasi Caddy:

caddy validate --adapter caddyfile --config /etc/caddy/Caddyfile

Anda akan melihat output berikut:

2021/11/17 09:59:04.997	INFO	using provided configuration	{"config_file": "/etc/caddy/Caddyfile", "config_adapter": "caddyfile"}
2021/11/17 09:59:05.000	WARN	input is not formatted with 'caddy fmt'	{"adapter": "caddyfile", "file": "/etc/caddy/Caddyfile", "line": 27}
2021/11/17 09:59:05.000	INFO	http	server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS	{"server_name": "srv0", "https_port": 443}
2021/11/17 09:59:05.001	INFO	http	enabling automatic HTTP->HTTPS redirects	{"server_name": "srv0"}
2021/11/17 09:59:05.001	INFO	tls.cache.maintenance	started background certificate maintenance	{"cache": "0xc00057a8c0"}
2021/11/17 09:59:05.001	INFO	tls.cache.maintenance	stopped background certificate maintenance	{"cache": "0xc00057a8c0"}
Valid configuration

Selanjutnya, restart layanan Caddy untuk menerapkan perubahan:

systemctl restart caddy

Anda juga dapat memeriksa layanan Caddy menggunakan perintah berikut:

systemctl status caddy

Anda akan mendapatkan output berikut:

● caddy.service - Caddy
   Loaded: loaded (/usr/lib/systemd/system/caddy.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-11-17 10:00:23 UTC; 4s ago
     Docs: https://caddyserver.com/docs/
 Main PID: 20077 (caddy)
    Tasks: 6 (limit: 11411)
   Memory: 24.9M
   CGroup: /system.slice/caddy.service
           └─20077 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

Nov 17 10:00:23 rockylinux systemd[1]: Started Caddy.
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8054335,"logger":"tls.cache.maintenance","msg":"started background c>
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8054764,"logger":"tls","msg":"cleaning storage unit","description":">
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8055048,"logger":"tls","msg":"finished cleaning storage units"}
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8060036,"logger":"tls.obtain","msg":"lock acquired","identifier":"ex>
Nov 17 10:00:24 rockylinux caddy[20077]: {"level":"error","ts":1637143224.0880945,"logger":"tls.obtain","msg":"could not get certificate from>
Nov 17 10:00:24 rockylinux caddy[20077]: {"level":"info","ts":1637143224.4512274,"logger":"tls.issuance.zerossl","msg":"generated EAB credent>
Nov 17 10:00:25 rockylinux caddy[20077]: {"level":"info","ts":1637143225.7558215,"logger":"tls.issuance.acme","msg":"waiting on internal rate>
Nov 17 10:00:25 rockylinux caddy[20077]: {"level":"info","ts":1637143225.755876,"logger":"tls.issuance.acme","msg":"done waiting on internal >
Nov 17 10:00:27 rockylinux caddy[20077]: {"level":"info","ts":1637143227.8956456,"logger":"tls.issuance.acme.acme_client","msg":"trying to so

Sekarang, buka browser web Anda dan akses situs web Caddy menggunakan URL http://test.example.com . Anda akan melihat situs web Anda di layar berikut:

Langkah 5 – Aktifkan Dukungan PHP di Server Web Caddy

Pertama, Anda perlu menginstal PHP dan ekstensi lain yang diperlukan ke server Anda. Anda dapat menginstal semuanya dengan perintah berikut:

dnf install php-fpm php-cli php-gd -y

Setelah semua paket terinstal, edit file konfigurasi Caddy:

nano /etc/caddy/Caddyfile

Tentukan lokasi php_fastcgi seperti yang ditunjukkan di bawah ini:

test.example.com:80 {
        root * /var/www/example.com
	php_fastcgi unix//run/php-fpm/www.sock
        file_server
        encode gzip

        log {
             	output file /var/log/caddy/example.access.log
        }

	@static {
                file
                path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.pdf *.webp
        }
	header @static Cache-Control max-age=5184000

}

Simpan dan tutup file, lalu edit file PHP-FPM:

nano /etc/php-fpm.d/www.conf

Ubah baris berikut:

user = caddy
group = caddy
listen.acl_users = apache,nginx,caddy

Simpan dan tutup file, lalu mulai layanan PHP-FPM dan aktifkan untuk memulai saat sistem reboot:

systemctl start php-fpm
systemctl enable php-fpm

Selanjutnya, buat contoh halaman info.php:

nano /var/www/example.com/info.php

Tambahkan baris berikut:

<?php phpinfo();
?>

Simpan dan tutup file, lalu buka browser web Anda dan akses halaman info.php menggunakan URL http://test.example.com/info.php . Anda akan mendapatkan halaman berikut:

Kesimpulan

Dalam panduan di atas, kami menjelaskan cara menginstal Caddy dengan PHP di Rocky Linux 8. Caddy adalah alternatif yang sangat baik untuk Apache dan Nginx. Anda harus mencobanya di lingkungan produksi – mulai di server pribadi virtual Anda dari Atlantic.Net!


Linux
  1. Cara menginstal dan mengkonfigurasi Squid Proxy di Rocky Linux/Alma Linux 8

  2. Cara Menginstal dan Mengkonfigurasi Elasticsearch di Rocky Linux 8

  3. Cara Menginstal dan Mengonfigurasi Server dan Klien NTP Linux

  1. Cara Menginstal dan Mengonfigurasi Arch Linux sebagai Server

  2. Cara Install dan Konfigurasi Caddy Web Server dengan PHP dan MariaDB di Ubuntu 20.04

  3. Cara Install dan Konfigurasi HAProxy di Rocky Linux 8

  1. Cara Install dan Konfigurasi Caddy Web Server dengan PHP di Fedora 34 / CentOS 8

  2. Cara menginstal dan mengkonfigurasi server DHCP di Linux

  3. Cara Instal Apache Web Server di Alpine Linux