Apache 2 + PHP 4/5 + Mysql

Wstęp.

Opiszę teraz jak zainstalować i skonfigorwać Apache 2 + PHP 4/5 + Mysql. Nie będę się zagłębiał we wszystkie opcje. Opiszę tylko tak, żeby działało. Zaczynamy.

Skąd pobrać?

Na początku ściągamy najnowsze apache z apache.org i php z php.net. Rozpakowywujemy Apache.

Kompilacja apache.

I zabieramy się za kompilację. Po wydaniu komendy ./configure --help można zobaczyć jakie są dostępne opcje. Aby apache działało z php wystarczy dodać jedną opcję —enable-so, dzięki czemu można będzie później załadować moduł php.

Terminal window
./configure --enable-so

Teraz wystarczy wydać komendy

Terminal window
make && make install

aby skompilować i zainstalować apache.

Kompilacja php.

Teraz zabieramy się za php, rozpakowywujemy i konfigurujemy z opcjami takimi jak się chce (./configure --help). Poniżej podam z jakimi ja kompilowałem.

Terminal window
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql

Opcja —with-apxs2 wskazuje gdzie jest zainstalowany skrypt apxs, a —with-mysql dodaje obsługę mysql, a zresztą co ja będę pisał, zajrzyjcie do dokumentacji ;-) Teraz

Terminal window
make && make install

I mamy już zainstalowane. Teraz zabieramy się za małą konfigurację. Dla php4 będąc jeszcze w katalogu z php wydajemy komendę:

Terminal window
cp -p .libs/libphp4.so /usr/local/apache2/modules

co jak widać skopiuje libphp4.so w odpowiednie miejsce. Następnie:

Terminal window
cp -p php.ini-dist /usr/local/lib/php.ini

co skopiuje nam php.ini. Teraz edytujemy plik /usr/local/apache2/conf/httpd.conf.

# Wpisujemy linię, którą podaję poniżej:
# dla php4:
LoadModule php4_module modules/libphp4.so
# dla php5:
LoadModule php5_module modules/libphp5.so
# Dodajemy index.php do DirectoryIndex jeżeli go tam nie ma
DirectoryIndex index.html index.php
# Dodajemy:
AddType text/html php
# Jeżeli nie ma to dodajemy też:
AddType application/x-httpd-php .php .phtml
# Można także dodać (PHP Syntax Coloring):
AddType application/x-httpd-php-source phps

Uruchamiamy serwer.

Ok, wszystko powinno już działać dobrze. Można uruchomić apache komendą

Terminal window
/usr/local/apache/bin/apachectl start

Stronę można umieścić w /usr/local/apache/htdocs/ lub utworzyć w katalogu domowym usera katalog public_html i wtedy strona będzie podadresem np. http://localhost/~user/. No i to na tyle…

Mysql.

Co do mysql to nie trzeba żadnych ustawień w php ani apache. Instalujemy i to wszystko. No oczywiście mała konfiguracja. Edytujemy sobie plik /etc/mysql/my.cnf i w linijce language zmieniamy sobie na polish, czyli:

language = /usr/share/mysql/polish

Wydajemy komendę:

Terminal window
/usr/bin/mysql_install_db

Teraz uruchamiamy mysql:

Terminal window
/etc/init.d/mysql start

i ustawiamy hasło dla roota:

Terminal window
/usr/bin/mysqladmin -u root -h hostname password 'haslo'
/usr/bin/mysqladmin -u root password 'root'

gdzie zamiast hostname w pierwszej linijce wstawiamy własne hostname. I to wszystko aby mysql działało. Dalsza konfiguracja poprzez mysql* ;-) Polecam także mysql-administrator, jest to mały program do konfiguracji msyql w wersji graficznej ;-) Można go znaleźć na mysql.com. Przydatnym narzędziem jest też phpmyadmin. Co do mysqladministrator to wystarczy tylko uruchomić i się zalogować, a phpmyadmin wrzucamy do katalogu gdzie uruchamiają się strony, edytujemy plik config.inc.php, konfigurujemy i można się już połączyć z phpMyAdmin.

Zakończenie.

To na tyle, wystarczy aby testować strony na swoim komputerze. Oczywiście dla serwera proponuję poczytać i bardziej skonfigurować wszystko pod względem funkcjonalności i bezpieczeństwa.