Инсталиране на Caddy и PHP 8 на Rocky Linux 9 / AlmaLinux 9

Сподели

Това ръководство стъпка по стъпка показва как да инсталирате уеб сървъра 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
Активирайте портове 80 и 443 към сървъра с помощта на защитна стена.
Активирайте портове 80 и 443 към сървъра с помощта на защитна стена.

Ако се притеснявате относно справянето със защитната стена, нашето изчерпателно ръководство ще ви бъде полезно.

Стъпка 1: Активирайте COPR Repository

Уеб сървърът Caddy не е наличен в хранилищата по подразбиране Rocky или Alma. Въпреки това, той може да бъде инсталиран чрез хранилището на COPR (Cool Other Package Repo). Така че, нека първо го добавим.

sudo dnf install 'dnf-command(copr)'
Инсталирайте хранилището на COPR.
Инсталирайте COPR хранилището на Rocky Linux 9 / AlmaLinux 9.

След това го активирайте, като отговорите „Y” след изпълнение на следната команда:

sudo dnf copr enable @caddy/caddy
Активирайте CORP хранилището.
Активирайте COPR хранилището.

Стъпка 2: Инсталирайте Caddy Web Server на Rocky Linux 9 / AlmaLinux 9

Инсталирайте уеб сървъра Caddy:

sudo dnf install caddy
Инсталирайте Caddy Web Server на Rocky Linux 9 / AlmaLinux 9.
Инсталирайте Caddy Web Server на Rocky Linux 9 / AlmaLinux 9.

Ще бъдете подканени да приемете GPG ключа на хранилището на COPR по време на инсталацията. Отговор “Y” и натиснете “Въведете.”

Приемете GPG ключа на хранилището на COPR.
Приемете GPG ключа на хранилището на COPR.

Стъпка 3: Активирайте и стартирайте услугата на Caddy

След като Caddy е инсталиран, активирайте автоматичното стартиране и стартирайте услугата.

sudo systemctl enable caddy
sudo systemctl start caddy

Можете да проверите състоянието на услугата Caddy, като изпълните следното:

sudo systemctl status caddy

Резултатът трябва да бъде както е показано по-долу.

Проверете състоянието на услугата Caddy.
Проверете състоянието на услугата Caddy.

Сега насочете браузъра си към домейна, който Caddy ще обслужва, и уеб страницата по подразбиране на Caddy ще ви приветства. Ще използваме временно създадения поддомейн “caddy.tmplinux.com” за това ръководство. Разбира се, сменете го с този за вашия случай.

Ще бъдете посрещнати от страницата по подразбиране на уеб сървъра на Caddy.

Страницата по подразбиране на уеб сървъра на Caddy.
Страницата по подразбиране на уеб сървъра на 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
Инсталирайте PHP 8 на Rocky Linux 9 / AlmaLinux 9.
Инсталирайте PHP 8 на Rocky Linux 9 / AlmaLinux 9.

След това отворете „/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.
Променете конфигурационния файл на PHP-FPM.
Променете конфигурационния файл на PHP-FPM.
Променете конфигурационния файл на PHP-FPM.

Накрая запишете и излезте от файла, след което активирайте услугата 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 с конфигуриран PHP 8 и SSL поддръжка на Rocky Linux 9 / AlmaLinux 9.
Caddy с конфигуриран PHP 8 и SSL поддръжка на Rocky Linux 9 / AlmaLinux 9.
  • 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.”

Caddy с PHP 8 и SSL поддръжка, работещ на Rocky Linux 9 / Alma Linux 9.
Caddy с PHP 8 и SSL поддръжка, работещ на Rocky Linux 9 / Alma Linux 9.

Добра работа! Както можете да видите, се появява уеб страница с пълна информация за инсталирането на PHP. Caddy също така автоматично издава SSL сертификат за домейна, което прави комуникацията с уебсайта защитена. Но колко безопасна е комбинацията от Caddy и сертификата Let’s Encrypt? Нека го проверим на Qualys SSL Labs. Да, максималният възможен резултат!

Проверете сигурността на Caddy със сертификат Let's Encrypt в Qualys SSL Labs.
Проверете сигурността на 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


Сподели