Blog (107)
Komentarze (2.3k)
Recenzje (0)

cz. 2 | PHP w Lighttpd

@webnullcz. 2 | PHP w Lighttpd03.02.2011 19:57

Witam, w poprzednim artykule obiecałem, że napiszę jak skonfigurować interpreter PHP tak by działał on z serwerem WWW - Lighttpd.

Dla tych którzy jeszcze raczkują, i nie wiedzą czym jest PHP, to w skrócie wyjaśnię.

PHP (Hypertext PreProcessor) - obiektowy język programowania, skryptowy służy do tworzenia dynamicznych stron internetowych generowanych "w locie" czyli w czasie rzeczywistym kiedy nastąpi żądanie od klienta.

1. Instalujemy PHP

Gentoo:

Wypadało by najpierw ustawić odpowiednie flagi kompilacyjne w których można wybrać moduły których będziemy używać.

Przykładowy zestaw flag USE zapisany w /etc/portage/packages.use

dev-lang/php curl xsl suhosin pdo mysql mysqli sqlite sqlite3 cgi xml simplexml hash calendar mhash posix sockets crypt ctype pcre session unicode sqlite3 g

Po ustawieniu odpowiednich flag i zapisaniu pliku /etc/portage/packages.use można przejść do kompilacji i instalacji pakietu:

emerge php

Debian GNU/Linux, Ubuntu, Mepis, Linux Mint:

apt-get install php5-cgi

Aby dograć dodatkowe moduły należy zainstalować odpowiednią paczkę z modułem, przykładowa lista modułów z repozytorium Debiana 6 Squeeze:

php5-exactimage - fast image manipulation library (PHP bindings)
php5-ffmpeg - audio and video support via ffmpeg for php5
php5-lasso - Library for Liberty Alliance and SAML protocols - PHP 5 bindings
php5-mapscript - php5-cgi module for MapServer
php5-ming - Ming module for php5
php5-uuid - OSSP uuid module for php5
php5-auth-pam - A PHP5 extension for PAM authentication
php5-geoip - GeoIP module for php5
php5-idn - PHP API for the IDNA library
php5-imagick - ImageMagick module for php5
php5-memcache - memcache extension module for PHP5
php5-memcached - memcached extension module for PHP5
php5-ps - ps module for PHP 5
php5-radius - PECL radius module for PHP 5
php5-sasl - Cyrus SASL extension for PHP 5
php5-suhosin - advanced protection module for php5
php5-svn - PHP Bindings for the Subversion Revision control system
php5-tokyo-tyrant - PHP interface to Tokyo Cabinet's network interface, Tokyo Tyrant
php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-enchant - Enchant module for php5
php5-gmp - GMP module for php5
php5-imap - IMAP module for php5
php5-interbase - interbase/firebird module for php5
php5-intl - internationalisation module for php5
php5-ldap - LDAP module for php5
php5-mcrypt - MCrypt module for php5
php5-odbc - ODBC module for php5
php5-pgsql - PostgreSQL module for php5
php5-pspell - pspell module for php5
php5-recode - recode module for php5
php5-snmp - SNMP module for php5
php5-sqlite - SQLite module for php5
php5-sybase - Sybase / MS SQL Server module for php5
php5-tidy - tidy module for php5
php5-xmlrpc - XML-RPC module for php5
php5-xsl - XSL module for php5
php5-librdf - PHP5 language bindings for the Redland RDF library
php5-remctl - PECL module for Kerberos-authenticated command execution
php5-xcache - Fast, stable PHP opcode cacher
php5-xdebug - Xdebug Module for PHP 5
php5-adodb - Rozszerzenie optymalizujące bibliotekę abstrakcji bazy ADOdb
php5-cli - Interpreter wiersza poleceń języka skryptowego php5
php5-common - Pliki wspólne pakietów zbudowanych ze źródeł php5
php5-gd - Moduł GD do php5
php5-mysql - Moduł MySQL do PHP5

Następnie w /etc/php5/cgi/php.ini odkomentować linie z określonym modułem np.

extension=mysql.so

Arch Linux:

Instalacja pakietu z PHP:

pacman -S php

Instalacja rozszerzeń podobnie jak w Debianie.

Fedora. Red Hat, CentOS:

yum install php

Instalacja rozszerzeń podobnie jak w Debianie.

2. Konfigurujemy Lighttpd

Aby Lighttpd współpracował z PHP należy włączyć moduł mod_fastcgi w /etc/lighttpd/lighttpd.conf a także dopisać na końcu odpowiednią regułkę która sprawi, że interpreter PHP będzie wywoływany przez Lighttpd automatycznie przy starcie.

fastcgi.server = ( ".php" => ((
                     "bin-path" => "/usr/bin/php5-cgi",
                     "socket" => "/tmp/php.socket",
                     "max-procs" => 1,
                     "bin-environment" => (
                       "PHP_FCGI_CHILDREN" => "1",
                       "PHP_FCGI_MAX_REQUESTS" => "50"
                     ),
                     "bin-copy-environment" => (
                       "PATH", "SHELL", "USER"
                     ),
                     "broken-scriptfilename" => "enable"
                 )))

Oczywiście jeżeli dysponuje się większymi zasobami sprzętowymi można śmiało zwiększyć wartości max-procs, PHP_FCGI_CHILDREN oraz PHP_FCGI_MAX_REQUESTS, jednak na domowy serwer taka konfiguracja wystarczy.

Ważne jest także aby podać prawidłowy socket, ponieważ przez właśnie ten plik Lighttpd "porozumiewa" się z PHP, bin-path za to wskazuje gdzie jest plik binarny z interpreterem PHP.

Jeżeli po umieszczeniu pliku index.php na serwerze wyświetla się zawartość katalogu to oznacza, że zmienna konfiguracyjna index-file.names nie została poprawnie skonfigurowana i należy do niej dodać ciąg "index.php" po przecinku.

index-file.names            = ( "index.php", "index.html",
                                "index.htm", "default.htm",
                               " index.lighttpd.html" )
Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.