Instalace Apache, PHP a MySQL na FreeBSD
Krátký návod z archivu, jak nainstalovat Apache 2.4, MySQL 5.5 a PHP 7.2 na FreeBSD 12. Tento návod není vyčerpávající seznam všeho, co lze nainstalovat, spíše jen rychlý checklist, jak rychle rozjet webserver do funkčního stavu.
Apache Webserver
Jako vždy instalujeme z portů:
portmaster -d www/apache24
Vynechávám PROXY, další rozšíření podle potřeby. Lze nechat i default.
Službu necháme startovat po bootu:
sysrc apache24_enable=yes
A zapneme:
service apache24 start
MySQL databáze
Toto už bude malinko složitější, potřebujeme nainstalovat server i klienta a potom nastavit heslo pro superuživatele root.
portmaster -d databases/mysql55-client databases/mysql55-server
Zapneme službu při bootu:
sysrc mysql_enable=yes
A nastartujeme:
service mysql-server start
Měli bychom nastavit heslo mysql roota, k tomu nám pomůže skript:
mysql_secure_installation
Nastavuji heslo roota, vypínám uživatele a db test. Vzdálený přístup na roota obvykle vypínám také, záleží na konkrétní situaci.
PHP
A nynní k tomu konfiguračně nejnáročnějšímu.
Ve FreeBSD portech je PHP rozděleno do 3 částí. Samotné PHP v portu lang/php72
, který můžeme rovnou nainstalovat:
portmaster -d lang/php72
Potom samostatný modul do apache v portu www/mod_php72
:
portmaster -d www/mod_php72
Po jeho instalaci nastavíme apache webserver, přidáme soubor php.conf
do adr: /usr/local/etc/apache24/Includes/
s obsahem:
DirectoryIndex index.php index.html
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
Můžeme si připravit testovací skript v /usr/local/www/apache24/data/test.php
:
<?php phpinfo(); ?>
A po restartu apache jej vyzkoušet v prohlížeči.
PHP moduly
PHP má moduly dostupné v jednom portu lang/php72-extensions
, který určitě budeme instalovat opakovaně a přidávat případně ubírat nainstalované moduly, takže musíme volat --force-config
:
portmaster -d --force-config lang/php72-extensions
Po každém přidání nebo odebrání modulu restartujeme webserver.
Základní moduly jsou: curl, db, zlib, mbstring, json a v tomto případě i mysqli.