Własny serwer Red Hat – cz.2: PHP i SQL
Ostatnia aktualizacja: 2 stycznia 2025, 13:05
W pierwszej części serii cyklu Własny Serwer Red Hat/CentOS/Alma/Rocky skonfigurowaliśmy serwer www za pomocą Apache (oraz opcjonalnie Nginx) i uruchomiliśmy zaporę ogniową.
W tej części zainstalujemy PHP oraz system bazodanowy oparty na MariaDB. PHP służy do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym, a SQL jest używany do tworzenia, modyfikowania relacyjnych baz danych oraz do umieszczania i pobierania danych z tych baz.
Instalacja PHP
dnf install php php-fpm php-opcache php-gd php-xml php-mbstring
Aktywacja PHP-FPM:
systemctl start php-fpm
systemctl enable php-fpm
systemctl status php-fpm
Musimy uruchomić poniższe polecenie, aby poinformować SELinux o konieczności zezwolenia Apache’owi na wykonywanie kodu PHP za pośrednictwem PHP-FPM.
setsebool -P httpd_execmem 1
Aby sprawdzić konfigurację PHP na serwerze, umieść plik:
info.php
w katalogu udostępnionym dla stron www:
/var/www/html/
wklejając do pliku:
<?php phpinfo(); ?>
Przeładuj Apache i PHP:
systemctl restart httpd php-fpm
Otwórz w przeglądarce www stronę (zamiast 111.222.33.44 wpisz IP swojego serwera lub domenę):
111.222.33.44/info.php
lub wpisz localhost, jeśli uruchomiłeś serwer na lokalnej maszynie:
localhost/info.php
Instalacja MariaDB
dnf install mariadb-server php-mysqlnd
Status i uruchomienie usługi:
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb
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), należy zmienić hasło root-a:
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 gotowa do użycia.
Pierwsze logowanie jako root:
mysql -u root -p
Enter password:
MariaDB [(none)]>
Teraz możesz utworzyć nowego użytkownika bazy danych, który będzie potrzebny do konfiguracji aplikacji webowej.
Utworzenie użytkownika o nazwie, np. 'pawel0′:
CREATE USER 'pawel0'@'localhost' IDENTIFIED BY 'mojehaslo0';
Utworzenie nowej bazy danych o nazwie, np. baza0:
CREATE DATABASE baza0;
Udzielenie dostępu użytkownikowi 'pawel0′ do bazy 'baza0′:
GRANT ALL PRIVILEGES ON baza0.* TO 'pawel0'@'localhost';
Aby wyjść z MariaDB:
exit;
I to wszystko, jeśli chodzi o instalację i podstawową konfigurację PHP i MariaDB na serwerze z system Red Hat i jego forkach.
W następnej części 3 zainstalujemy certyfikat SSL za pomocą bezpłatnego narzędzia Let’s Encrypt oraz skonfigurujemy cron, aby automatycznie go odnawiał.