Debian 10 Buster - jak si na něj nainstalovat LAMP + phpMyAdmin

Na začátku července 2019 vyšel nový Debian 10 Buster. Oproti verzi Debian 9 Strech se změnily víceméně jen verze balíčků (PHP 7.0 -> PHP 7.3), ale postup instalace zůstal stejný. Větší změnou je tak možná pouze odstranění phpMyAdmin z repozitářů, takže je nutné si jej nainstalovat ručně.

Větší část návodu bude velmi podobná tomu pro Debian 9. Seznam verzí jednotlivých balíčků je zde https://www.debian.org/News/2019/20190706, nás zajímají hlavně

  • Apache 2.4.38
  • MariaDB 10.3
  • PHP 7.3

Co se týče phpMyAdmin, tak na stránkách projektu našel tuhle aktualitu: phpmyadmin REMOVED from testing https://tracker.debian.org/news/1021625/phpmyadmin-removed-from-testing/

Možná oproti předchozímu návodu bych nyní začal SQL databáze. Samozřejmě až po aktualizaci systému:

apt update && sudo apt -y upgrade

MySQL / MariaDB

Není co řešit:

apt install -y mariadb-server mariadb-client

Nezapomeňte, že uživatel root se autentifikuje pomocí unix_socket, a ne pomocí hesla. Doporučuji to neměnit, některé jiné balíčky s tím mohou počítat.

Takže je třeba vytvořit jiného SQL uživatele s admin právy:

CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON *.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Apache2

Také všechno při starém:

apt install -y apache2 apache2-utils

Plus potřebné moduly, jako třeba ssl, rewrite, expires, http2 …

PHP

Moje instalace PHP obsahuje

apt install php php-common
apt install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
Opět, pro správné fungovaní H2 je třeba - kromě SSL certifikátu - používat PHP FPM

apachectl stop
a2enmod proxy_fcgi setenvif
a2enconf php7.3-fpm
a2dismod php7.3
a2dismod mpm_prefork
a2enmod mpm_event
apachectl start

Ještě jedna věc, hned si nastavím podporu češtiny cs_CZ.UTF-8 pomocí dpkg-reconfigure locales. Hodí se pro lokalizované výpisy, např. strftime().

phpMyAdmin

phpMyAdmin se do instalace Debianu 10 nevešel, takže pokud jej chceme dál používat, musíme se o něj postarat ručně. Jelikož pro něj poměrně často vychází bezpečnostní aktualizace (https://www.phpmyadmin.net/news/), je třeba starat se i o bezpečnost. Málokdo má čas sledovat nová vydání, a pak je všude možně nahrávat. Nehledě na to, že nová verze může být v něčem nekompatibilní. Moje doporučení je proto následující:

A teď samotný návod:

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-english.tar.gz
tar xzf phpMyAdmin*.tar.gz
rm phpMyAdmin*.tar.gz
mv phpMyAdmin-* /usr/share/phpmyadmin
mkdir -p /var/lib/phpmyadmin/tmp
chown -R www-data:www-data /var/lib/phpmyadmin
mkdir /etc/phpmyadmin/
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
vi /usr/share/phpmyadmin/config.inc.php

A upravit/přidat následující v souboru /usr/share/phpmyadmin/config.inc.php

$cfg['blowfish_secret'] = 'H2OxcGXAAlSd8JwrwVlh6KW6s2r11111';
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
$cfg['NavigationTreeEnableGrouping'] = false;

Poté si vytvořit MySQL databázi

mysql -e "CREATE DATABASE phpmyadmin;"
mysql phpmyadmin < /usr/share/phpmyadmin/sql/create_tables.sql

Poslední krok je vytvořit konfigurační soubor pro Apache /etc/apache2/conf-enabled/phpmyadmin.conf Vzorový soubor je k dispozici ke stažení. Jak jsem říkal, položku Alias doporučuji nastavit na něco hůře odhadnutelného.

A nakonec samozřejmě restart Apache.

Závěr

Instalace LAMPu není nic složitého, přesto je třeba mít pár věcí na paměti, pro zajištění optimálního chodu.