Instalacja serwera Apache z obsługą PHP i MySQL w ArchLinux

Data: 2015-12-08, autor: Michał Misztal

Aktualizacja: Poniższy wpis już nieco się zdezaktualizował i zostaje tutaj jako ciekawostka archeologiczna. Tutaj jest najbardziej aktualny poradnik.

Jest to ciąg dalszy wpisu o XAMPP. XAMPP można pobrać i na systemy linuksowe jako plik "run", nadać prawa do uruchamiania i uruchomić. Ale co to za frajda. Na linuksach spoczywa cały internet. A cały internet nie spoczywa na XAMPP'ie. Dlatego na linuksie zrobimy sobie serwer z krwi i kości - taki jaki ma pudelek czy onet.

Apache i PHP

Najpierw zainstalujemy serwer Apache i PHP

[root@komputer]# pacman -Syyu
[root@komputer]# pacman -S apache php php-apache_

Zanim skonfigurujemy serwer musimy ustalić gdzie ma znajdować się folder na projekty. Domyślnie Apache tworzy go na partycji /. My tak nie chcemy. Proponuję na folder np /home/user/serwer_www. Tutaj drobna uwaga - serwer ma pewne ograniczenia, tzn nie zobaczy katalogu jeśli nie ustawimy jego widoczności dla grupy http. Wyświetlanie zawartości folderu /home/user i /home/user/serwer_www musi mieć użytkownik http lub wszyscy. Inaczej otrzymamy komunikat o braku dostępu do zawartości i strona się nie wyświetli.

OK. Teraz można wklepać w terminalu

[root@komputer]# nano /etc/httpd/conf/httpd.conf_

W sekcji LoadModule znajdujemy wpisy

LoadModule mpm_event_module modules/mod_mpm_event.so
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

I zamieniamy je na

#LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Aby PHP działał należy dodać linie w sekcji LoadModule

LoadModule php5_module modules/libphp5.so

I w sekcji Includes

Include conf/extra/php5_module.conf

Znajdujemy wpisy

DocumentRoot "/srv/http"
<Directory "/srv/http">

I zmieniamy je na naszą modłę

DocumentRoot "/home/user/serwer_www"
<Directory "/home/user/serwer_www">

OK. Zapisujemy plik i wychodzimy (ctrl+o, ctrl+x). Teraz zmieniamy plik "php.ini"

[root@komputer]# nano /etc/php/php.ini_

W zasadzie to tylko jedną linie

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/

Na taką

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/home/user/serwer_www

Chodzi tylko o dopisanie naszego folderu na projekty. Teraz tylko start usługi "httpd", przykładowy plik index dla sprawdzenia konfiguracji i test w przeglądarce, czyli kolejno

[root@komputer]# systemctl enable httpd
[root@komputer]# systemctl start httpd
[user@komputer ~]$ mkdir /home/user/serwer_www/test
[user@komputer ~]$ echo \<\?php phpinfo\(\)\; \?\> > /home/user/serwer_www/test/index.php_

Teraz tylko pozostaje uruchomić przeglądarkę wpisując "localhost/test" i volia

Ryc. 1. Working

MySQL

[root@komputer]# pacman -S mysql_

Wyświeli się monit o kilku dostawcach mysql, wybieramy "mariadb". Po instalacji jeszcze przed startem usługi mysql wykonujemy wstępną konfigurację, wklepujemy do terminala

[root@komputer]# mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql_

Teraz uruchamiamy usługę i właściwą konfigurację bazy, czyli

[root@komputer]# systemctl start mysqld
[root@komputer]# mysql_secure_installation_

Po tym etapie wystarczy dodać użytkownika bazy i włączyć autostart usługi mysql czyli

[root@komputer]# systemctl enable mysqld
[user@komputer ~]$ mysql -u root -p
MariaDB> CREATE USER 'user'@'localhost' IDENTIFIED BY 'hasło';
MariaDB> GRANT ALL PRIVILEGES ON mydb.* TO 'user'@'localhost';
MariaDB> FLUSH PRIVILEGES;
MariaDB> quit

I wsio.

LINKI(Apache - Arch wiki,PHP - Arch wiki,MySQL - Arch wiki;https://wiki.archlinux.org/index.php/Apache_HTTP_Server,https://wiki.archlinux.org/index.php/PHP,https://wiki.archlinux.org/index.php/MySQL)

Skomentuj lub zgłoś błąd

© Michał Misztal 2023

Czytasz właśnie

Instalacja serwera Apache z obsługą PHP i MySQL w ArchLinux
Autor: Michał Misztal
Data: 2015-12-08

Podobne wpisy