CentOS 7 Üzerinde Caddy Kurulumu ve Konfigürasyonu

Giriş

Caddy, HTTP / 2 ve otomatik HTTPS için yerel desteğe sahip yeni bir web sunucusu programıdır. Kullanım kolaylığı ve güvenliği göz önünde bulundurarak Caddy, HTTPS etkin bir siteyi tek bir yapılandırma dosyasıyla hızlı bir şekilde dağıtmak için kullanılabilir.

Ön şartlar

Adım 1: Caddy'nin En Son Kararlı Sürümünü Yükleyin

Linux, Mac veya BSD işletim sisteminde, Caddy'nin sisteme özgü en son sürümünü yüklemek için aşağıdaki komutu kullanın:

curl https://getcaddy.com | bash

İstendiğinde, yüklemeyi tamamlamak için sudo parolanızı girin.

Caddy ikili dosyası /usr/local/bindizine yüklenecektir . Onaylamak için aşağıdaki komutu kullanın:

which caddy

Çıktı şudur:

/usr/local/bin/caddy

Güvenlik amacıyla, Caddy ikili dosyasını ASLA root olarak çalıştırmayın. Caddy'ye root olmayan bir kullanıcı olarak ayrıcalıklı bağlantı noktalarına (örn. 80, 443) bağlanma yeteneği vermek için, setcapkomutu aşağıdaki gibi çalıştırmanız gerekir :

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

Adım 2: Caddy'yi Yapılandırma

Özel bir sistem kullanıcısı caddy ve Caddy için aynı adlı bir grup oluşturun:

sudo useradd -r -d /var/www -M -s /sbin/nologin caddy

Not : Burada oluşturulan kullanıcı caddyyalnızca Caddy hizmetini yönetmek için kullanılabilir ve oturum açmak için kullanılamaz.

Ev dizini oluşturma /var/wwwCaddy web sunucusu için ve ev dizinini /var/www/example.comsiteniz için:

sudo mkdir -p /var/www/example.com
sudo chown -R caddy:caddy /var/www

SSL sertifikalarını saklamak için bir dizin oluşturun:

sudo mkdir /etc/ssl/caddy
sudo chown -R caddy:root /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy

Caddy config dosyasını saklamak için özel bir dizin oluşturun Caddyfile:

sudo mkdir /etc/caddy
sudo chown -R root:caddy /etc/caddy

Şu Caddy yapılandırma dosyasını oluşturun Caddyfile:

sudo touch /etc/caddy/Caddyfile
sudo chown caddy:caddy /etc/caddy/Caddyfile
sudo chmod 444 /etc/caddy/Caddyfile
cat <<EOF | sudo tee -a /etc/caddy/Caddyfile
example.com {
    root /var/www/example.com
    gzip
    tls admin@example.com
}
EOF

Not : Yukarıda oluşturulan dosyası sadece statik bir web sitesi çalıştırmak için temel bir yapılandırmadır. Caddyfile yazma hakkında daha fazla bilgiyi buradan edinebilirsiniz .Caddyfile

Caddy işlemlerini kolaylaştırmak systemdiçin Caddy için bir birim dosyası ayarlayabilir ve daha sonra systemdCaddy'yi yönetmek için kullanabilirsiniz .

viCaddy systemdbirim dosyasını oluşturmak için düzenleyiciyi kullanın :

sudo vi /etc/systemd/system/caddy.service

Dosyayı doldurun:

[Unit]
Description=Caddy HTTP/2 web server
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]
Restart=on-abnormal

; User and group the process will run as.
User=caddy
Group=caddy

; Letsencrypt-issued certificates will be written to this directory.
Environment=CADDYPATH=/etc/ssl/caddy

; Always set "-root" to something safe in case it gets forgotten in the Caddyfile.
ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID

; Use graceful shutdown with a reasonable timeout
KillMode=mixed
KillSignal=SIGQUIT
TimeoutStopSec=5s

; Limit the number of file descriptors; see `man systemd.exec` for more limit settings.
LimitNOFILE=1048576
; Unmodified caddy is not expected to use more than that.
LimitNPROC=512

; Use private /tmp and /var/tmp, which are discarded after caddy stops.
PrivateTmp=true
; Use a minimal /dev
PrivateDevices=true
; Hide /home, /root, and /run/user. Nobody will steal your SSH-keys.
ProtectHome=true
; Make /usr, /boot, /etc and possibly some more folders read-only.
ProtectSystem=full
; … except /etc/ssl/caddy, because we want Letsencrypt-certificates there.
;   This merely retains r/w access rights, it does not add any new. Must still be writable on the host!
ReadWriteDirectories=/etc/ssl/caddy

; The following additional security directives only work with systemd v229 or later.
; They further retrict privileges that can be gained by caddy. Uncomment if you like.
; Note that you may have to add capabilities required by any plugins in use.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

Kaydet ve çık:

:wq!

Caddy hizmetini başlatın ve sistem önyüklemesinde otomatik olarak başlatılmasını sağlayın:

sudo systemctl daemon-reload
sudo systemctl start caddy.service
sudo systemctl enable caddy.service

3. Adım: Güvenlik duvarı kurallarını değiştirme

Ziyaretçilerin Caddy sitenize erişmesine izin vermek için 80 ve 443 numaralı bağlantı noktalarını açmanız gerekir:

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

4. Adım: Siteniz için bir test sayfası oluşturun

index.htmlCaddy sitesi ana dizininizde bir dosya oluşturmak için aşağıdaki komutu kullanın :

echo '<h1>Hello World!</h1>' | sudo tee /var/www/example.com/index.html

Yeni içerik yüklemek için Caddy hizmetini yeniden başlatın:

sudo systemctl restart caddy.service

Son olarak, web tarayıcınızı http://example.comveya seçeneğine yönlendirin https://example.com. Mesajı Hello World!beklendiği gibi görmelisiniz .

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.