Cara mengunduh & menggunakan server web Caddy di CentOS 8 Linux

Ada beberapa web server yang mendominasi dunia server seperti Apache dan Nginx, selain webserver Lightweight LiteSpeed ​​dan Microsoft IIS juga ada. Namun, tidak diragukan lagi ini adalah yang populer tetapi ada beberapa proyek open source baru yang muncul seperti C

addy web server.

Now, what is Caddy?

Ini adalah sebuah

alternative option to a web server like Apache,

Microsoft II dan lainnya. Namun, tidak banyak yang populer, bagaimanapun, pengembang sedang mengerjakannya. Ini telah dirancang untuk mendukung semua platform populer itu sebabnya tersedia untuk Windows, macOS, Linux, BSD, Android, Solaris, 32-bit, x64, ARM, mips64 dan banyak lagi… Jadi, ini adalah sisi server lintas platform aplikasi yang menangani permintaan HTTP/https.

Caddy has a wide range of features:

  1. Muncul dalam file executable yang dapat didownload tunggal, berarti tidak ada dependensi eksternal.
  2. Tidak perlu menginstal apa pun, cukup mulai menggunakannya dari direktori Caddy yang didownload.
  3. Setelah mengeluarkan perubahan apa pun ke server web Caddy, dengan satu perintah, itu dapat direload tanpa waktu henti.
  4. Paket yang ditandatangani secara kriptografis
  5. Dapat berjalan di gambar Docker
  6. Mudah untuk meningkatkan tanpa downtime ke server
  7. Server web Caddy menggunakan HTTPS secara default.
  8. Fitur Caddy dapat diperluas dengan plugin.
  9. Tersedia dalam edisi komunitas dan Perusahaan.
  10. Mendukung banyak inti CPU
  11. Dukung Host Virtual
  12. QUIC, proxy, FastCGI, dukungan proxy terbalik
  13. Teknologi cipher termasuk AES-GCM, ChaCha, dan ECC secara default.
  14. TLS 1.3 secara default
  15. Penyeimbangan beban yang sesuai dengan PCI; mampu mem-proxy koneksi WebSocket, kompresi Gzip
  16. Skalabel dan banyak lagi…

Tutorial menginstal server web Caddy di CentOS 8

Tidak masalah Anda menggunakan Ubuntu, Debian, RedHat atau CentOS 8 / Stream, Caddy tersedia untuk setiap platform Linux. Cukup unduh file paket yang dapat dieksekusi dan mulailah mengembangkan aplikasi web atau situs web Anda. Langkah-langkah yang diberikan di sini akan serupa untuk semua jenis distro Linux. Bisa jadi CetnOS 7, Ubuntu 18.04 dll. Namun, di sini kita menggunakan CentOS 8

Langkah 1: Masuk ke server CentOS 8 Linux

Jika Anda menggunakan versi grafis, cukup buka Terminal Perintah Anda dari

Activities 

menu GUI GNOME. Setelah itu login sebagai root atau Anda harus memiliki user dengan hak sudo. Jika Anda login dengan user yang ada di grup sudoers, maka Anda harus menggunakan sudo dengan setiap perintah yang diberikan di bawah ini.

Langkah 2: Unduh & Instal Server Web Caddy

Di sini kita menggunakan command line untuk mengunduh server Caddy, namun user dapat membuka halaman resminya untuk mengunduh langsung untuk Linux atau platform lain seperti Windows atau Android.

Download Caddy web server with a license to install for Personal usage

sudo curl https://getcaddy.com | bash -s personal atau sudo wget -qO- https://getcaddy.com | bash -s pribadi

Download Caddy to install for commercial usage (optional)

sudo curl https://getcaddy.com | bash -s komersial

Caddy-Instalasi-berhasil

OutPut for the Personal download command:

[ [email protected] caddy]# curl https://getcaddy.com | bash -s personal % Total % Diterima % Xferd Kecepatan Rata-Rata Waktu Waktu Waktu Dload Saat Ini Upload Total Menghabiskan Kecepatan Kiri 100 7380 100 7380 0 0 3649 0 0:00:02 0:00:02 --:--:-- 3651 Mengunduh Caddy untuk linux/amd64 (lisensi pribadi)… Unduh verifikasi OK Mengekstrak… Memasukkan caddy ke /usr/local/bin (mungkin memerlukan password)
Caddy v1.0.3 

(h1:i9gRhBgvc5ifchwWtSe7pDpsdS9+Q0Rw9oYQmYUTw1w=)

 Successfully installed

Setelah instalasi atau penempatan binari berhasil, mari kita lihat di mana letaknya, untuk itu cukup gunakan perintah:

kedi mana

Dan outputnya akan menjadi:

/usr/local/bin/caddy

Langkah 3: Ubah kepemilikan dan izin Caddy

Tetapkan biner Caddy ke user root dan grup dengan izin terbatas untuk user lain. Itu karena jika beberapa proses Caddy akan dikompromikan yang tidak akan dapat mengambil file biner atau inti sistemnya.

sudo chown root: root /usr/local/bin/caddy 

Perintah di atas akan memberikan akses baca, tulis, dan eksekusi penuh hanya ke root sementara user lain hanya akan membaca dan menjalankannya tetapi tidak akan dapat mengubah atau menulis apa pun ke direktori Caddy atau ke file intinya.

sudo chmod 755 /usr/local/bin/caddy

Langkah 4: Ikat proses Caddy ke port rendah

Di sini kita menggunakan perintah setcap yang akan membantu Caddy untuk mengikat pot privilege tanpa memberikannya hak penuh.

sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy

Langkah 5: Buat user www-data untuk Caddy

Di Apache atau Nginx, saat menginstalnya, user www-data tanpa akses root secara otomatis dibuat untuk itu. Namun hal itu tidak terjadi di web server Caddy dan kita harus melakukannya secara manual.

sudo adduser -r -d /var/www -s /sbin/nologin www-data Sudo groupadd -g www-data 

Pada perintah di atas, kita menambahkan user bernama ” www-data “. Anda dapat mengatur sesuatu yang lain. Direktori default user adalah /var/www, kita telah melakukan ini karena kita akan menggunakannya untuk menginstal situs web. Karena kita tidak ingin memberikan akses root dan ingin mencegahnya dari semua jenis login sistem, maka kita menggunakan /sbin/nologin pada perintah di atas.

Langkah 6: Buat direktori untuk Caddy untuk melayani situs web

Sekarang, kita harus membuat direktori yang menampung Caddyfile, itu adalah file yang memberitahu server web Caddy apa lokasi file yang harus ditampilkan di browser. Misalnya, jika Anda ingin menginstal

WordPress on Caddy

, jadi kita harus memberi tahu caddy di mana file-file WordPress. Untuk itu, kita menggunakan

Caddyfile 

untuk memberikan jalur file instalasi WordPress.

Jadi, di sini kita membuat direktori di bawah /etc.

 sudo mkdir /etc/caddy 

Sekarang kita ubah akan menjaga kepemilikan direktori ini menjadi root sementara kita menambahkannya ke grup www-data. Jadi, server Caddy kita dapat membaca

Caddyfile

yang akan hadir di dalam direktori ini.

 sudo chown -R root:www-data /etc/caddy 

Note

: Mengganti

www-data

dengan user yang Anda buat di perintah di atas atau yang akan datang, jika Anda telah membuat beberapa nama yang berbeda.

Langkah 7: Direktori untuk SSL

Karena Caddy secara default mendukung https, maka kita perlu membuat direktori tempat Caddy akan menyimpan sertifikat yang diimpor Let’s Encrypt.

sudo mkdir /etc/ssl/caddy 

Ubah kepemilikan dan grup

sudo chown -R root:www-data /etc/ssl/caddy

Di atas untuk keamanan, kita telah mengubah izin direktori caddy yang memegang sertifikat SSL, sehingga hanya user root yang dapat memiliki hak penuh sementara yang lain hanya dapat membacanya.

sudo chmod 0770 /etc/ssl/caddy

Langkah 8: Buat Caddyfile

Sekarang, di dalam direktori caddy buat file kosong bernama

Caddyfile 

yang akan kita gunakan dalam perintah yang akan datang untuk memberi tahu server web Caddy di mana file hosting situs web kita.

 sentuh /etc/caddy/Caddyfile 

Langkah 9: Direktori untuk file situs web

Sama seperti Apache atau Nginx, kita juga membuat direktori untuk Caddy yaitu

/var/www.

Tempat kita menyimpan file situs web kita untuk digunakan dengan server web.

mkdir /var/www

Ubah kepemilikan di atas langsung sepenuhnya menjadi user Caddy. Dalam kasus kita, ini adalah ‘

www-data

‘ dan dalam kasus Anda, itu akan menjadi apa yang telah Anda buat di

 Step 3 

dari artikel ini.

Kita memberikan hak penuh kepemilikan direktori web kepada user yang akan digunakan oleh Caddy.

 sudo chown www-data:www-data /var/www 

Langkah 10: Buat Layanan Sistem untuk server web Caddy

Secara default, untuk menjalankan caddy setiap kali kita harus menggunakan perintahnya yaitu caddy dan setelah menggunakan itu kita tidak dapat menjalankan beberapa perintah lain di terminal yang sama. Jadi, kita akan menginstal

system service for Caddy web server

yang akan berjalan di latar belakang seperti service Apache dan Nginx.

sudo curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service

Langkah 11: Izin file Layanan Caddy yang Dimodifikasi

Di sini kita akan mengubah izin service Caddy dan memberikan akses penuh ke root hanya sementara user lainnya hanya dapat menjalankan atau membacanya.

sudo chmod 644 /etc/systemd/system/caddy.service

Langkah 12: Mulai Layanan Caddy

Reload service sistem untuk memberi tahu tentang tambahan terbaru kita:

systemctl daemon-reload

Periksa statusnya:

systemctl status caddy.service

Layanan-diaktifkan-dan-caddy-berjalan-di-latar belakang

Jika Anda mendapatkan output seperti yang ditunjukkan pada tangkapan layar di atas maka itu berarti service Caddy telah berhasil dibuat.

Langkah 13: Buka port 80 & 443 di firewall sistem

Untuk mengakses server web Caddy di luar sistem lokal menggunakan browser, kita perlu membuka protokol HTTP dan https untuk publik sehingga mereka dapat terhubung dengannya untuk mengakses halaman web yang dihosting.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Jika firewall Anda tidak berjalan maka cukup ketik

systemctl aktifkan firewall-cmd systemctl start firewall-cmd 

Langkah 14: Buat halaman web Demo untuk menguji server web Caddy

Untuk melihat apakah web server yang dibuat berfungsi dengan baik atau tidak, berikut ini kita buat halaman web test HTML:

sudo touch /var/www/index.html
sudo vi /var/www/index.html

tekan

Insert 

tombol dari keyboard. Salin dan tempel atau ketik baris berikut…

 <h1>Caddy has been installed succefully using h2smedia tutorial</h1>

Untuk menyimpannya, tekan tombol

ESC 

kunci dan kemudian ketik

:wq 

dan tekan

Enter 

tombol

Langkah 15: Edit Caddyfile

Sekarang mari kita tunjukkan cara ke server web Caddy kita di mana halaman web kita dan port mana yang digunakan.

sudo vi /etc/caddy/Caddyfile
:80 { root /var/www }

Langkah 16: Aktifkan dan Mulai service web Caddy

Akhirnya, semuanya sudah diatur dan waktunya untuk mengaktifkan dan menjalankan service Caddy di latar belakang.

Perintah di bawah ini akan mengaktifkan service sehingga dapat dimulai secara otomatis dengan boot sistem.

systemctl aktifkan caddy.service 

Mulai service dengan perintah ini:

sudo systemctl start caddy

Periksa status yang sama

sudo systemctl status caddy

Jika Anda melihat output di bawah ini maka semuanya OK!…

[ [dilindungi email] ~]#
sudo systemctl status caddy

● caddy.service - Server web Caddy HTTP/2 Dimuat: dimuat (/etc/systemd/system/caddy.service; dinonaktifkan; preset vendor: dinonaktifkan) Aktif: aktif (berjalan) sejak Sel 01-10-2019 17:42: 31 IST; 5 detik yang lalu Dokumen: https://caddyserver.com/docs PID Utama: 3807 (caddy) CGroup: /system.slice/caddy.service 3807 /usr/local/bin/caddy -log stdout -agree=true -conf =/etc/caddy/Caddyfile -root=/va… 01 Okt 17:42:31 localhost.localdomain systemd[1]: [/etc/systemd/system/caddy.service:41] Unknown…ce' 01 Okt 17: 42:31 localhost.localdomain systemd[1]: Memulai server web Caddy HTTP/2. 01 Okt 17:42:31 localhost.localdomain caddy[3807]: Mengaktifkan fitur privasi… selesai. 01 Okt 17:42:31 localhost.localdomain caddy[3807]: Melayani HTTP pada port 80 01 Okt 17:42:31 localhost.localdomain caddy[3807]: http:// 01 Okt 17:42:31 localhost.localdomain caddy [3807]: 2019/10/01 17:42: Tutorial Caddy web Server dengan HTTPS Otomatis

Langkah 17: Sekarang uji halaman web

Jika Anda berada di server lokal dengan

GUI 

maka Anda cukup mengetikkan http://localhost:80 dan untuk server jarak jauh, gunakan http://ip-address:80 di web browser.

Caddy-web-server-instalasi-dan-useran

TLS Otomatis Caddy

Seperti yang kita ketahui Caddy dapat memberikan sertifikat SSL secara otomatis melalui Let’s Crypt menggunakan ID email yang diberikan oleh user. Jadi, untuk mengaturnya lagi, edit CaddyFile.

sudo vi /etc/caddy/Caddyfile

Dan ganti port 80 dengan nama domain yang ingin Anda gunakan dengan situs web Anda. Setelah itu sebutkan juga ID email Anda yang akan digunakan untuk menginstal sertifikat SSL.

h2sexample.com { root /var/www gzip tls [dilindungi email] }

Ganti

 h2sexample.com

dengan nama domain Anda dan

[email protected]

dengan alamat email Anda. Dan kemudian mengaksesnya menggunakan https, jika semuanya berjalan dengan baik, Anda melihat halaman web yang aman.

Other Articles:

  • Instal chrome di OpenSuse Leap 15 menggunakan command terminal
  • Instal blog Hexo nodejs di Windows 10 dengan fitur Github untuk pengujian
  • Cara menginstal & menjalankan WordPress CMS di server web Android menggunakan ksweb
  • Cara menginstal dan menggunakan Node.js http-server (Web server) melalui NPM

Related Posts

© 2022 Tekno Sridianti