Jak się nie chce człowiekowi czytać tylko szybko,s zybko chce mieć OBSDAMP-a (OpenBSD, Apache, MySQL i PHP) uruchomionego to naraża się na utratę wielu godzin życia. Aby nie powtarzać błędów i wreszcie pojąć o co chodzi z w kompilacji portów, zapisuję poniżej co i jak.
Zaczynając zabawę z kompilacją PHP z portów należałoby przede wszystkim odesłać każdego do manuala bsd.port.mk(5), bo tam znajduje się źródło WIEDZY.
Powiedzmy, że nie chce mi się teog czytać, a szybko chcę skompilować z portów PHP4 bez wsparcia dla X11, bez PostgreSQL-a i bez SNMP (tego ostatniego nie, bo na SGI O2 nie chce się toto skompilować).
ńĬÃâÄŰródła portu znajdują się w katalogu /usr/ports/www/php4,a dokładniej w podkatalogu extensions. Należy podać następujące komendy:
# cd /usr/ports/www/php4/extensions # make show=FLAVORS no_x11 no_bz2 no_curl no_dba no_dbase no_dbx no_domxml no_filepro no_gd no_gmp no_imap no_ldap no_mcrypt no_mhash no_mysql no_ncurses no_odbc no_pdf no_pgsql no_shmop no_snmp no_sybase_ct no_xmlrpc no_xslt # FLAVOR="no_x11 no_snmp no_pgsql" ; export FLAVOR # make package
A teraz długie czekanie… aż się cudeńko poprawnie skompiluje.
Miniuwaga: niektóre, wymagane przez PHP package są gotowe do pobrania z serwerów lustrzanych, ja używam:
# PKG_PATH="ftp://ftp-stud.fht-esslingen.de/pub/OpenBSD/3.8/packages/mips64/" # export PKG_PATH
Po kompilacji warto upewnić się czy został zainstalowany pakiet z php-core, wydajemy komendę:
# pkg_info
i widzimy listę zainstalowanych pakietów. Jeśli jest wśród nich php-core nie zapominajmy o wydaniu polecenia:
# /usr/local/sbin/phpxs -s
w celu zainstalowania PHP. Teraz jeszcze należy sprawdzić zawartość pliku /var/www/conf/httpd.conf i w razie konieczności dodać następujące linijki:
AddType application/x-httpd-php .php DirectoryIndex index.html index.php index.phtml index.php4 index.php3
Po zakończeniu operacji skompilowane pakiety znajdą się w /usr/ports/packages/mips64/ftp/
, wystarczy więc zmienić zmienną PKG_PATH tak by wskazywała ten katalog i zainstalować potrzebne extensions:
# PKG_PATH="/usr/ports/packages/mips64/ftp/" ; export PKG_PATH # pkg_add -v php4-mysql-4.4.0.tgz # /usr/local/sbin/phpxs -a mysql
Teraz do pliku /var/www/conf/php.ini dopisujemy linię:
extension=mysql.so
coby nam się obsługa połączeń z MySQL-em ładowała.
Oczywiście restartujemy Apache’a i wykonujemy test, np. taki jaki opisany został na stronie http://freeyourbox.org/tutorials/bsd/obsd3.8_apache_php_mysql.html.
Finito!
Uwaga!
Apache w OpenBSD jest zchrootowany w katalogu /var/www, natomiast domyślna instalacja MySQL zakłada plik gniazda (socket) w katalogu /var/run, i Apache nie „widzi” socketa. Należy, jak napisano w tutorialu, dodać hardlinka do tego socketa:
# mkdir -p /var/www/var/run/mysql # ln -f /var/run/mysql/mysql.sock /var/www/var/run/mysql/mysql.sock