So. Pro 21st, 2024

apache2 -v
Server version: Apache/2.4.56 (Debian)
Server built: 2023-03-08T03:05:04

Ověříme, že SSL mod je zapnutý, když není, zapne ho to, zakáže php7.4, 8.0, 8.1, 8.2

if [ $(apachectl -M |grep ssl|wc -l) = 0 ]; then echo "SSL not enabled"; a2enmod ssl; a2dismod php7.4 ; a2dismod php8.0 ; a2dismod php8.1 ; a2dismod php8.2; fi

Pak už budete mít povolený ssl_modul, což ověříme:

apachectl -M | grep ssl

ssl_module (shared)

Teď vám všechny weby budou ukazovat zdrojáky php, místo webových stránek v php, potřebujete rozběhat php-fpm.
zakážeme Apache MPM Prefork, povolíme Apache MPM event a mod http2:

a2dismod mpm_prefork ;  a2enmod mpm_event ; a2enmod http2

zkontrolujeme, že je jsou tyto moduly v apachi načtené:

apache2ctl -M | grep 'ssl\|http2'

http2_module (shared)

ssl_module (shared)

Instalujeme php8.1-fpm

apt-get install software-properties-common ca-certificates lsb-release apt-transport-https -y && sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' && wget -qO - https://packages.sury.org/php/apt.gpg | apt-key add - && apt-get update -y && apt-get update -y && apt-get install libapache2-mod-php8.1 php8.1 php8.1-fpm php8.1-bcmath php8.1-cli php8.1-common php8.1-curl php8.1-gd php8.1-gmp php8.1-intl php8.1-mbstring php8.1-mysql php8.1-opcache php8.1-readline php8.1-xml php8.1-zip -y

Do vašeho web configu třeba do /etc/apache2/sites-available/000-default-le-ssl.conf či pokud máte doménu třeba /etc/apache2/sites-available/vase.doma.com-ssl.conf vložte před </VirtualHost>

<FilesMatch \.php$>
      SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost"
    </FilesMatch>

Instalujeme php8.2-fpm

apt-get install software-properties-common ca-certificates lsb-release apt-transport-https -y && sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' && wget -qO - https://packages.sury.org/php/apt.gpg | apt-key add - && apt-get update -y && apt-get update -y && apt-get install libapache2-mod-php8.2 php8.2 php8.2-fpm php8.2-bcmath php8.2-cli php8.2-common php8.2-curl php8.2-gd php8.2-gmp php8.2-intl php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-xml php8.2-zip -y

Do vašeho web configu třeba do /etc/apache2/sites-available/000-default-le-ssl.conf vložte před </VirtualHost>
<FilesMatch \.php$>
      SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"
    </FilesMatch>

Povolíme HTTP/2 protocol v Apache2.conf konfiguráku připojením posledního řádku do /etc/apache2/apache2.conf a restartneme apache a mělo by to jet:

echo "Protocols h2 http/1.1" >> /etc/apache2/apache2.conf  && systemctl restart apache2

A pak už můžete otestovat funkčnost http2 protokolu třeba zde:

https://tools.keycdn.com/http2-test

zdroj

Avatar

By mirra

Hardwaru a počítačům se věnuji již od roku 2003. Za tu dobu jsem poskládal stovky počítačů, opravil tisíce počítačů a vyřešil nespočetně problémů, vad a chyb, se kterými se setkávali uživatelé. Od roku 2005 se zabývám servery, zejména těmi herními, v roce 2007 jsem se začal věnovat Valve Source SDK level designu, který šel od roku 2009 k ledu kvůli studiu Informatiky na univerzitě. Podílel jsem se chvíli i na provozu síťové laboratoře MENDELU, dnes spravuji v jedné osobě cca 100 serverů/diskových polí na univerzitě, řeším IT v malých a středních firmách tak, aby firmy ušetřily nemalé částky při zlepšení kvality a soustředím se na snižování nákladů na IT od licencí až po hardware, software, provádím konsolidace a audity platnosti licencí, které firmám šetří rovněž nemalé peníze. Z velkých firem jsem měl příležitost s dalšími kolegy řešit správu 8000 serverů po celé západní Evropě s vysokou mírou automatizace a poznávání nejrůznějších evropských pracovních mentalit. Dále jsem řešil hybridní cloud ve velké firmě, orientované na trhy střední a východní Evropy. Posledních několik let se věnuji Devops pro velké zákazníky v Azure cloudu, spravuji kubernetes (AKS), Gitlab.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *