Własny serwer FreeBSD – cz.3: PHP i SQL
W pierwszej części serii cyklu Własny Serwer FreeBSD zainstalowaliśmy serwer www za pomocą Apache, w drugiej za pomocą Nginx. W tej części zainstalujemy interpretator PHP oraz system bazodanowy oparty na MariaDB.
Instalacja PHP
FreeBSD 14 posiada pakiety PHP w wersjach: 8.1, 8.2, 8.3, 8.4 i 8.5.
Dla celów tego tutoriala zainstalowałem wersję 8.4.
pkg install php84 php84-xml php84-mbstring php84-mysqli php84-gd php84-gettext php84-gd php84-ftp
Następnie skopiuj przykładowy plik konfiguracji PHP do tej samej lokalizacji:
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Aby aktywować uruchamianie PHP-FPM jako usługi podczas rozruchu systemu, należy do pliku:
nano /etc/rc.conf
dodać poniższą linię:
sysrc php_fpm_enable="YES"
I zrestartować usługę:
service php-fpm start
service php-fpm status
php-fpm -v
Teraz konfiguracja Apache do pracy z PHP
nano /usr/local/etc/apache24/modules.d/001_mod-php.conf
dodając wpis:
<IfModule dir_module>
DirectoryIndex index.php index.html
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
</IfModule>
Restart Apache:
apachectl configtest
apachectl restart
Możesz sprawdzić konfigurację PHP i działające moduły dodając plik info:
nano /usr/local/www/apache24/data/info.php
wklejając do niego zawartość:
<?php phpinfo(); ?>
Sprawdzić jego zawartość w przeglądarce www pod adresem:
twoje-ip/info.php
lub
twoja-domena/info.php
Instalacja SQL
FreeBSD posiada w swoich zasobach pakiety MySQL 8.4 LTS oraz MariadBD 11.8, co osobiście polecam.
pkg install mariadb118-server
Dodaj do pliku:
nano /etc/rc.conf
wpis:
sysrc mysql_enable="YES"
Następnie zrestartuj usługę SQL:
service mysql-server start
service mysql-server status
Po zainstalowaniu MariaDB nie zawiera hasła dla użytkownika root, więc natychmiast trzeba je ustawić. Wykonaj polecenie:
mysql_secure_installation
Po wyświetleniu monitu o hasło użytkownika root wystarczy nacisnąć ENTER:
Enter current password for root (enter for none):
Teraz możesz zdefiniować protokół uwierzytelniania MariaDB:
If You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n]
Podając Y (Yes), możesz zmienić hasło roota:
Change the root password? [Y/n]
New password:
Re-enter new password:
Password updated successfully!
Następnie pojawia się seria pytań dotyczących konfiguracji i bezpieczeństwa MariaDB. Możesz odpowiedzieć na każde z nich Y:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Potem skrypt zakończy działanie, a MariaDB będzie gotowy do użycia.
Pierwsze logowanie jako root:
mysql -u root -p
Enter password:
...
MariaDB [(none)]>
Utworzenie użytkownika o nazwie 'pawel′:
CREATE USER 'pawel'@'localhost' IDENTIFIED BY 'mojehaslo1';
Utworzenie nowej bazy danych o nazwie baza1:
CREATE DATABASE baza1;
Udzielenie dostępu użytkownikowi 'pawel1′ do bazy 'baza1′:
GRANT ALL PRIVILEGES ON baza1.* TO 'pawel'@'localhost';
Aby wyjść z MariaDB:
exit;
Aby sprawdzić wersję MariaDB:
mysql -v
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 14
Server version: 11.8.3-MariaDB FreeBSD Ports
System bazodanowy MariaDB oraz interpretator PHP zostały zainstalowane prawidłowo, w następnej części zajmiemy się dalszą konfiguracją systemu FreeBSD 14.

