HTTP/2 käyttöön Debian 10 Linux-palvelimessa (Apache2)

Olen jo hieman myöhässä, kehityksen kiitäessä hurjaa vauhtia ohi, mutta päädyin näin vuoden 2021 alkuun ottamaan HTTP version 2 käyttöön myös tuotantopalvelimessa. Levyjärjestelmän (Synology) tarjoamien pilvipalvelujen osalta tämä protokolla on ollut käytössä jo vuoden, mutta Linux-palvelimiin HTTP 2.0 ei mene päälle pelkällä ruksin lisäämisellä hallinnasta.

Debian Linux-pohjaisessa palvelinympäristössäni on käytössä PHP eli Debian 10 kohdalla mennään versiolla PHP 7.3. Aikaisemmin se on ollut käytössä mpm-prefork Apache2-palvelimessa, johtuen aikaisempien Debian-versiopäivitysten myötä tulleista muutoksista ja muuttuneista vaatimuksista moduulien yhteensopivuudessa. Nämä eivät ole HTTP2-yhteensopivia asennuksia, joten täytyy tehdä muutamia muutoksia käyttöönotoksi.

Seuraa muutama loitsu, joiden avulla vanhat yhteensopimattomat versiot Apache2-palvelimen moduuleista korvataan yhteensopivilla.

#asennetaan fastcgi php-moduuli
apt-get install php7.3-fpm
#fast cgi päälle
a2enmod proxy_fcgi setenvif
#uusi php-moduuli käyttöön
a2enconf php7.3-fpm
#vanha yhteensopimaton php-moduuli pois
a2dismod php7.3
#yhteensopimaton prefork palvelinmoduuli pois
a2dismod mpm_prefork
#yhteensopiva event-moduuli tilalle
a2enmod mpm_event
#http/2 päälle
a2enmod http2

Ei soitellen sotaan. Kokeilin ensin tuotantopalvelinta vastaavassa ympäristössä virtuaalipalvelimella. Ja kun mitään ongelmia ei esiintynyt, siirryin varsinaiselle palvelimelle tekemään samat säädöt.

Sitten vielä /etc/apache2/mods-enabled/mpm_event.conf ympäristöön sopivat suorituskykyarvot Apache2-prosesseille ja /etc/php/7.3/fpm/php.ini muokkaus vastaamaan aikaisempaa /etc/php/7.3/apache2/php.ini asetustiedostoa. Muuten menee vakioasetuksilla.

service apache2 restart

Vielä vilkaisu /var/log/apache2/error.log ettei mitään virheitä tapahtunut. Ja tietenkin seuraavaksi kokeilemaan omaa nettisivua. PHP toimii, tietokantayhteydet toimii.

No problems, kaikki rullaa kuten pitääkin. Helpompaa kuin kuvittelin.

Vastaa