devBlog Webowe.pl | aplikacje webowe »

aplikacje webowe, aplikacje internetowe, AJAX, web 2.0, skrypty, widgety, JavaScript, Ext JS, PHP, Smarty, Apache, mod_rewrite, .NET, Java, Flash, webdesign i inne

Archiwum dla kategorii: ‘Apache

Plesk i PEAR

Od jakiegoś czasu wśród moich serwerów pojawił się jeden działający w oparciu Plesk postawiony na Debianie. Generalnie jestem zadowolony z tego rozwiązania, ale oczywiście od czasu do czasu napotykam na różne kwiatki (choć rzadko). Jednym z takich kwiatków okazał się PEAR (choć to nie jego wina, tylko Pleska).

W czym rzecz? Ano w tym, że niby mam PEAR, ale nie działa. Tzn. można instalować pakiety, ale za diabła żaden skrypt PHP nie może uzyskać dostępu do plików PEAR. Próba uruchomienia poniższego skryptu

<?php
require ("PEAR.php");
?>

kończy się tak:

Warning: require(PEAR.php) [function.require]: failed to open stream: No such file or directory in /var/www/vhosts/domena.com/httpdocs/pear.php on line 2

Fatal error: require() [function.require]: Failed opening required ‘PEAR.php’ (include_path=’.:/usr/share/php’) in /var/www/vhosts/domena.com/httpdocs/pear.php on line 2

Zacząłem więc po kolei sprawdzać w czym rzecz. Najpierw odpaliłem phpinfo().

Directive Local Value Master Value
include_path .:/usr/share/php .:/usr/share/php
open_basedir /var/www/vhosts/domena.com/httpdocs:/tmp /usr/share/php

include_path
PEAR znajduje się w include_path, czyli w /usr/share/php, więc powinno chodzić. No ale nie chodzi.

open_basedir
No to jesteśmy (prawie) w domu. Nadrzędna wartość open_basedir jest OK – zawiera /usr/share/php, ale LOKALNA już nie – i dlatego nie działa.

Rozwiązanie

Trzeba przygotować sobie plik vhost.conf o zawartości analogicznej do poniższej i wgrać go do katalogu /var/www/vhosts/domena.com/conf/. Jest to jedyne rozwiązanie żeby na trwałe zmienić konfigurację dla wybranego vhosta (bo musimy zmienić LOKALNĄ wartość). Broń Boże wprowadzać zmainy w pliku httpd.include!

<Directory /var/www/vhosts/domena.com/httpdocs>
php_admin_flag safe_mode off
php_admin_value open_basedir "/var/www/vhosts/domena.com/httpdocs:/tmp:/usr/share/php"
</Directory>

Na koniec trzeba powiadomić Pleska o tym, że zmieniła się konfiguracja serwera. Robimy to takim poleceniem:

/usr/local/psa/admin/bin/websrvmng -a

Podobno nie trzeba po tym nawet Apache’a restartować, ale bez tego mi nie działało. Dlatego dorzucamy jeszcze to:

/etc/init.d/apache2 restart

I teraz wszystko pięknie hula!

  • 0 komentarzy
  • W kategoriach: Apache, PEAR, PHP, Plesk
  • Apache logoOto obiecana druga część tutorialu poświęconego podstawom stosowania pliku .htaccess do ustawiania konfiguracji serwera Apache. Zapraszam do lektury i do komentowania!

    Wymuszanie wersji interpretera PHP

    Po pierwsze: musisz mieć na serwerze zainstalowane zarówno PHP4 jak i PHP5. Dopiero wtedy możesz wybierać pomiędzy wersjami PHP. Po drugie musisz wiedzieć jak obie wersje PHP zostały zainstalowane (moduł Apache’a czy CGI). zazwyczaj jest tak, że PHP4 jest jako moduł Apache’a (i jest domyślnym interpreterem) a PHP5 jako CGI (ale może być też na odwrót, mu zakładamy pierwszy wariant).

    Aby wymusić PHP5:

    AddHandler php5-cgi .php

    Wtedy pliki z rozszerzeniem .php będą interpretowane przez PHP5 (działający jako CGI).

    W ten sposób możemy teoretycznie wymusić interpretowanie przez PHP plików z dowolnym rozszerzeniem, np. .aspx i udawać, że mamy serwer oparty na systemie Windows z .NET :-). (more…)

  • 4 komentarzy
  • W kategoriach: Apache
  • Apache logo.htaccess zaś to oczywiście plik konfiguracyjny serwera Apache (choć nie tylko on je interpretuje) pozwalający na zmianę konfiguracji serwera (o ile globalna konfiguracja serwera zezwala na stosowanie plików .htaccess). Działa tylko w katalogu (i jego podkatalogach), do którego wgramy plik .htaccess. Zwróćcie uwagę, że nazwa pliku zaczyna się od kropki – w systemach typu Linux oznacza to plik ukryty. Dzięki plikom .htaccess możemy ustawić wiele różnych parametrów takich jak np. przekierowania, własne strony błędów, blokady dostępu dla wybranych IP (albo dostęp tylko dla wybranych IP), autoryzację loginem i hasłem, przepisywanie linków i wiele innych. (more…)

  • 27 komentarzy
  • W kategoriach: Apache
  • Eleganckie linki SEO w 10 sekund

    Apache logoProblem ładnie wyglądających linków jest stary jak świat. Wielu ludzi morduje się z pisaniem całych zestawów wyrażeń regularnych do plików .htaccess a tak naprawdę wystarczą dwie proste rzeczy:

    - krótki wpis do httpd.conf (lub .htaccess, jeśli nie mamy dostępu do httpd.conf),
    - prosta funkcja parsująca URL. (more…)

  • 3 komentarzy
  • W kategoriach: Apache
  • Kategorie