Jak zainstalować i skonfigurować Caddy na CentOS 7

Wprowadzenie

Caddy to rozwijający się program serwera WWW z natywną obsługą HTTP / 2 i automatycznym HTTPS. Mając na uwadze łatwość obsługi i bezpieczeństwo, Caddy można wykorzystać do szybkiego wdrożenia witryny obsługującej HTTPS za pomocą jednego pliku konfiguracyjnego.

Wymagania wstępne

Krok 1: Zainstaluj najnowszą stabilną wersję Caddy

W systemie operacyjnym Linux, Mac lub BSD użyj następującego polecenia, aby zainstalować najnowszą stabilną wersję systemu Caddy dla wersji stabilnej:

curl https://getcaddy.com | bash

Po wyświetleniu monitu wprowadź hasło sudo, aby zakończyć instalację.

Plik binarny Caddy zostanie zainstalowany w /usr/local/binkatalogu. Użyj następującego polecenia, aby potwierdzić:

which caddy

Wyjście powinno być:

/usr/local/bin/caddy

Ze względów bezpieczeństwa NIGDY nie uruchamiaj pliku binarnego Caddy jako root. Aby dać Caddy możliwość łączenia się z uprzywilejowanymi portami (np. 80, 443) jako użytkownik inny niż root, należy uruchomić setcappolecenie w następujący sposób:

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

Krok 2: Skonfiguruj Caddy

Utwórz dedykowanego użytkownika systemu: caddy i grupę o tej samej nazwie dla Caddy:

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

Uwaga : utworzonego tutaj użytkownika caddymożna używać tylko do zarządzania usługą Caddy i nie można go używać do logowania.

Utwórz katalog domowy /var/wwwdla serwera WWW Caddy i katalog domowy /var/www/example.comswojej witryny:

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

Utwórz katalog do przechowywania certyfikatów SSL:

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

Utwórz dedykowany katalog do przechowywania pliku konfiguracyjnego Caddy Caddyfile:

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

Utwórz plik konfiguracyjny Caddy o nazwie 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

Uwaga : plik utworzony powyżej jest tylko podstawowa konfiguracja za prowadzenie strony internetowej statycznej. Możesz dowiedzieć się więcej o tym, jak napisać plik Caddyfile tutaj .Caddyfile

Aby ułatwić działanie Caddy, możesz skonfigurować systemdplik jednostki dla Caddy, a następnie użyć go systemddo zarządzania Caddy.

Za pomocą viedytora utwórz systemdplik jednostki Caddy :

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

Wypełnij plik:

[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

Zapisz i wyjdź:

:wq!

Uruchom usługę Caddy i skonfiguruj ją automatycznie przy starcie systemu:

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

Krok 3: Zmodyfikuj reguły zapory

Aby umożliwić odwiedzającym dostęp do Twojej witryny Caddy, musisz otworzyć porty 80 i 443:

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

Krok 4: Utwórz stronę testową dla swojej witryny

Użyj następującego polecenia, aby utworzyć plik o nazwie index.htmlw katalogu głównym witryny Caddy:

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

Uruchom ponownie usługę Caddy, aby załadować nową zawartość:

sudo systemctl restart caddy.service

Na koniec skieruj swoją przeglądarkę internetową na http://example.comlub https://example.com. Powinieneś zobaczyć komunikat Hello World!zgodnie z oczekiwaniami.

Zostaw komentarz

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.