Това ръководство стъпка по стъпка показва как да инсталирате уеб сървъра Caddy с поддръжка на PHP 8 на Rocky Linux 9 / AlmaLinux 9 и да получите безплатен SSL сертификат.
Caddy е безплатен, фокусиран върху сигурността, HTTP/2-активиран уеб сървър, написан на Go, проектиран да бъде прост, ефективен и преносим. Той предлага модерни възможности като поддръжка на виртуален хост, обратна прокси функционалност и т.н. Освен това Caddy е първият уеб сървър, който автоматично получава и подновява SSL/TLS сертификати с помощта на Let’s Encrypt.
Популярността на Caddy рязко нарасна през последните няколко години поради лекотата на използване, скоростта и собствената поддръжка на SSL. И така, той бързо се превръща в предпочитан уеб сървър за много разработчици и системни администратори.
Ако не сте запознати с настройката и управлението на Caddy, този процес може да изглежда обезсърчителен, но не се притеснявайте – ние го улеснихме за вас. Като следвате стъпките в това ръководство, вие ще можете бързо и лесно да настроите вашия Caddy сървър и да работи с поддръжка на PHP 8 на Rocky Linux 9 или AlmaLinux 9, за да направите настройването на уебсайта си лесно. И така, да се захващаме за работа.
Предпоставки
Ще ви е необходим достъп до сървър Rocky Linux 9 или AlmaLinux 9, за да завършите това ръководство. В допълнение, всички показани команди се изпълняват от обикновен потребител с sudo
разрешения за изпълнение. Следователно трябва да притежавате такъв.
Разбира се, можете да пропуснете sudo
част от командите и ги стартирайте директно като root потребител. Резултатът ще бъде един и същ и в двата случая.
Освен това, ако използвате защитна стена на сървъра, уверете се, че тя не блокира портове 80 и 443.
sudo firewall-cmd --permanent --add-service={http,https}
sudo firewall-cmd --reload
Ако се притеснявате относно справянето със защитната стена, нашето изчерпателно ръководство ще ви бъде полезно.
Стъпка 1: Активирайте COPR Repository
Уеб сървърът Caddy не е наличен в хранилищата по подразбиране Rocky или Alma. Въпреки това, той може да бъде инсталиран чрез хранилището на COPR (Cool Other Package Repo). Така че, нека първо го добавим.
sudo dnf install 'dnf-command(copr)'
След това го активирайте, като отговорите „Y” след изпълнение на следната команда:
sudo dnf copr enable @caddy/caddy
Стъпка 2: Инсталирайте Caddy Web Server на Rocky Linux 9 / AlmaLinux 9
Инсталирайте уеб сървъра Caddy:
sudo dnf install caddy
Ще бъдете подканени да приемете GPG ключа на хранилището на COPR по време на инсталацията. Отговор “Y” и натиснете “Въведете.”
Стъпка 3: Активирайте и стартирайте услугата на Caddy
След като Caddy е инсталиран, активирайте автоматичното стартиране и стартирайте услугата.
sudo systemctl enable caddy
sudo systemctl start caddy
Можете да проверите състоянието на услугата Caddy, като изпълните следното:
sudo systemctl status caddy
Резултатът трябва да бъде както е показано по-долу.
Сега насочете браузъра си към домейна, който Caddy ще обслужва, и уеб страницата по подразбиране на Caddy ще ви приветства. Ще използваме временно създадения поддомейн “caddy.tmplinux.com” за това ръководство. Разбира се, сменете го с този за вашия случай.
Ще бъдете посрещнати от страницата по подразбиране на уеб сървъра на Caddy.
Както можете да видите, Caddy работи и работи според очакванията. В следващите стъпки ще добавим PHP поддръжка, ще създадем виртуален хост за нашия домейн и автоматично ще получим безплатен SSL Let’s Encrypt сертификат.
Стъпка 4: Инсталирайте PHP 8 на Rocky Linux 9 / AlmaLinux 9
За да добавите PHP поддръжка към уеб сървъра на Caddy, трябва да инсталирате и използвате PHP-FPM за изпълнение на PHP файлове. Така че, за да го инсталирате заедно с няколко най-широко използвани PHP модула, въведете командата по-долу и когато бъдете подканени, въведете „Y” за да потвърдите.
sudo dnf install php-fpm php-mysqlnd php-gd php-cli php-curl php-mbstring php-bcmath php-zip php-opcache php-xml php-json php-intl
След това отворете „/etc/php-fpm.d/www.conf” файл:
sudo vim /etc/php-fpm.d/www.conf
Намерете и променете следните три реда от това:
user = apache
group = apache
listen.acl_users = apache,nginx
До това:
user = caddy
group = caddy
listen.acl_users = apache,nginx,caddy
Крайният резултат трябва да изглежда така:
Накрая запишете и излезте от файла, след което активирайте услугата PHP-FPM да стартира при зареждане на системата и я стартирайте:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Стъпка 5: Конфигурирайте Caddy да използва PHP и SSL
Преди да продължите, създайте директорията, в която ще се съхраняват файловете на вашия уебсайт. С други думи, този, към който ще посочите Caddy за главната директория на вашия уебсайт. Например, “/srv/www/caddy.”
sudo mkdir -p /srv/www/caddy
Ако използвате SELinux, трябва да промените контекста за сигурност на файла за тази директория.
sudo chcon -t httpd_sys_content_t /srv/www/caddy -R
sudo chcon -t httpd_sys_rw_content_t /srv/www/caddy -R
Стигнахме до най-приятната част от процеса, където уеб сървърът Caddy блести в целия си блясък – конфигурацията. Системните администратори, които са свикнали със сложността на конфигурациите на Apache или Nginx, ще бъдат очаровани. В допълнение, лекотата, с която можете да настроите Caddy с поддръжка на PHP и автоматично издаване на SSL сертификат на вашата система Rocky Linux 9 или AlmaLinux 9, е забележителна.
Отворете конфигурационния файл на Caddy, “Caddyfile”, използвайки предпочитания от вас текстов редактор, премахнете всички редове и добавете следните. Не се притеснявайте, ако имате нужда от помощ, за да разберете за какво са предназначени. Ще обясня по-подробно по-долу.
sudo vim /etc/caddy/Caddyfile
caddy.tmplinux.com {
root * /srv/www/caddy
tls [email protected]
encode gzip zstd
php_fastcgi unix//run/php-fpm/www.sock
}
Крайният резултат трябва да изглежда така:
-
caddy.tmplinux.com
: Името на домейна, което уеб сървърът на Caddy ще обслужва. Заменете го с този, който използвате. -
root * /srv/www/caddy
: Пълният път до главната директория, съдържаща файловете на вашия уебсайт. -
tls [email protected]
: Инструктира Caddy автоматично да издаде безплатен Let’s Encrypt SSL сертификат и е посочен имейл адресът, на който ще се изпращат известия, предназначени за собственика. -
encode gzip zstd
: Указва използването на компресия за бърза работа. -
php_fastcgi unix//run/php-fpm/www.sock
: Пътят до сокет файла, където услугата PHP-FPM слуша.
Всичко е готово. Запазете файла и излезте. Остава само да рестартирате услугата Caddy, за да приложите новите настройки на конфигурацията.
sudo systemctl restart caddy
Стъпка 6: Проверете поддръжката на Caddy PHP и SSL
Завършихте инсталирането на Caddy с поддръжка на PHP и SSL на Rocky Linux 9 / AlmaLinux 9. И така, нека създадем тестов PHP файл, за да проверим дали PHP-FPM работи и е успешно интегриран с Caddy.
echo "<?php phpinfo(); ?>" | sudo tee /srv/www/caddy/index.php
Най-накрая стигнахте до най-забавната част от процеса: да се насладите на резултатите от вашите усилия. И така, нека заредим адреса на домейна в браузър, в нашия случай, “caddy.tmplinux.com.”
Добра работа! Както можете да видите, се появява уеб страница с пълна информация за инсталирането на PHP. Caddy също така автоматично издава SSL сертификат за домейна, което прави комуникацията с уебсайта защитена. Но колко безопасна е комбинацията от Caddy и сертификата Let’s Encrypt? Нека го проверим на Qualys SSL Labs. Да, максималният възможен резултат!
Накрая бих искал да направя едно необходимо уточнение. Caddy не може да издаде SSL сертификат, ако вашият сървър е зад прокси услуга, предоставена от Cloudflare, DigitalOcean или подобни услуги поради спецификата на начина, по който трафикът се проксира.
С други думи, Caddy трябва да бъде предварително компилиран с някои допълнителни модули за да използвате тази функция. Процедурата е проста, но тъй като е извън обхвата на тази статия, ще бъде описана подробно в отделна.
Заключение
Това ръководство ви показа как да инсталирате уеб сървъра Caddy с PHP 8 и SSL поддръжка на Rocky Linux 9 или AlmaLinux 9, така че базираните на PHP уеб приложения да могат да работят на вашия сървър. The certbot
е друга опция за получаване на безплатен SSL сертификат Let’s Encrypt. Нашето ръководство ще ви покаже как.
Caddy идва със силна SSL поддръжка, вградена директно в ядрото му. В допълнение, той автоматично издава SSL сертификати и сигурно конфигурира SSL настройката. Така че, моля, проверете уебсайт на проекта и документация за допълнителна задълбочена информация относно Caddy.
Като цяло Caddy е надеждна алтернатива на Nginx. Инсталирането му с поддръжка на PHP 8 на Rocky или Alma и получаването на Let’s Encrypt SSL сертификат е лесно и ефективно, което го прави отличен избор за онези, които искат да настроят бърз, сигурен и надежден уеб сървър на своята корпоративна Linux система.
Публикациите се превеждат автоматично с google translate