W dniu dzisiejszym światło dzienne ujrzała finalna wersja Zend Framework w wersji 1.6.
Jest sporo nowości w stosunku do poprzedniej finalnej wersji. Można o nich posłuchać z ust managera Zend Framework Tram: Przeczytaj resztę wpisu »
Komentarze są wyłączone
Napisał Aiv w kategorii Bezpieczeństwo, PHP, tags: php4
W dniu wczorajszym (3.I.2008) ukazała się nowa wersja PHP z serii 4 oznaczona numerem 4.4.8. Jako iż drzewo PHP4 nie jest już rozwijane, są to istotne poprawki wraz z zaleceniem natychmiastowej aktualizacji. Oto lista wprowadzonych modyfikacji: Przeczytaj resztę wpisu »
5 komentarzy »
Postanowiłem na własne potrzeby stworzyć pewien szablon konfiguracji PHP opartej o Apache. Podstawowym celem było bezpieczeństwo rozwiązania, a jak udało mi się to zrealizować – życie pokaże. W prezentowanych przykładach pominąłem większość parametrów konfiguracyjnych, a więc podczas tworzenia własnego środowiska na bazie niniejszego artykuły zalecam dostosowanie ich do własnych potrzeb.
Na potrzeby niniejszej konfiguracji użyłem:
- Linux Slackware w wersji 12. Starałem się nie używać ustawień i pakietów pochodzących z dystrybucji, żeby rozwiązanie było jak najbardziej uniwersalne
- Apache w wersji 2.2.6
- FastCGI w wersji 2.4.6
- PHP w wersji 4.4.7 i 5.2.5
Przyjąłem również kilka założeń:
- Skrypty PHP powinny być uruchamiane w zamkniętym środowisku (np: chroot() albo open_basedir())
- Skrypty PHP powinny być uruchamiane z uprawnieniami właściciela pliku/virtualhosta
- Każdy użytkownik powinien mieć indywidualny folder tmp i folder przechowywania plików sesji
- Każdy użytkownik sam może wybrać wersji PHP
- Dla każdego virtualhosta powinien istnieć oddzielny plik php.ini
- Tworzone rozwiązanie powinno być jak najbardziej uniwersalne. Jednocześnie powinno oferować administratorowi wygodę zarządzania
Przeczytaj resztę wpisu »
16 komentarzy »
Napisał Aiv w kategorii Administracja, PHP, tags: php.ini
W PHP 5 wprowadzono pewne uproszczenie w tworzeniu plików php.ini np.: dla każdego virtualhosta oddzielnie. Zakładając, że mamy swój ulubiony plik php.ini, umieszczamy w nim na początku coś takiego:
main_domain = "host1.example.com"
main_root_dir = "/var/www/"${main_domain}
Poniżej opisanych dyrektyw, możemy posługiwać się zmiennymi ${main_domain} i ${main_root_dir} np.: w taki sposób:
open_basedir = ${main_root_dir}":/usr/local/php5"
error_log = ${main_root_dir}"/error_log"
upload_tmp_dir = ${main_root_dir}"/tmp"
sendmail_path = "/usr/sbin/sendmail -t -i -f info@"${main_domain}
session.save_path = ${main_root_dir]"/tmp"
Niestety opcja ta nie jest dostępna w PHP 4 i w związku z zamknięciem rozwoju tej wersji, nie zostanie już dodana.
Komentarze są wyłączone
Napisał Aiv w kategorii Administracja, PHP, tags: php.ini
Chciałem sprawdzić czy można użyć kilku plików php.ini zakładając, że każdy kolejny plik nadpisuje ustawienia z plików poprzednich. Testowałem PHP w wersji 4.4.7 i 5.2.5 skompilowane jako CGI ze wsparciem dla FastCGI. Podczas konfiguracji użyłem między innymi parametrów:
--sysconfdir=/etc/php5/cgi
--prefix=/usr/local/php5
--enable-fastcgi
Po krótkim debugowaniu aplikacji okazało się w jakiej kolejności PHP poszukuje plików ini:
./php-cgi-fcgi.ini
/usr/local/php5/bin/php-cgi-fcgi.ini
/etc/php5/cgi/php-cgi-fcgi.ini
./php.ini
/usr/local/php5/bin/php.ini
/etc/php5/cgi/php.ini
Wyżej wymieniona kolejność jest taka sama dla PHP uruchamianego z poziomu FastCGI/CGI. W przypadku pominięcia parametru --enable-fastcgi
zmianie ulega nazwa pliku php-cgi-fcgi.ini na php-cgi.ini.
W przypadku PHP uruchomionego jako moduł Apache sprawa ma się trochę inaczej:
./php-apache.ini
/etc/php5/apache/php-apache.ini
./php.ini
/etc/php5/apache/php.ini
(PHP było skompilowane z opcją --sysconfdir=/etc/php5/apache
.)
Niestety testy które przeprowadziłem wykazały, że PHP po znalezieniu pierwszego pliku ini pomija dalsze lokalizacje. Planowałem na podstawie tego mechanizmu dać użytkownikom możliwość posiadania własnego pliku php.ini z gwarancją, iż niektóre parametry były by zawsze globalnie nadpisywane (np: open_basedir, czy disable_functions).
Komentarze są wyłączone