Instalacja serwera Apache z obsługą PHP i MySQL w ArchLinux
Data: 2015-12-08, autor: Michał MisztalAktualizacja: 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

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)