Artykuł powstał w oparciu o dokument: [[http://wiki.apache.org/httpd/php-fcgid]] ====== Instalacja ====== Najprościej instalacja przebiega instalując binarnie paczki: # pkg install apache22 ap22-mod_fcgid php5 ====== Konfiguracja ====== ===== Apache ===== W pliku **/usr/local/etc/apache22/httpd.conf** wykonujemy kolejno: * aktywujemy moduł **fcgid**, dopisując: LoadModule fcgid_module libexec/apache22/mod_fcgid.so * dopisujemy obsługę PHP poprzez **fcgid**: AddHandler fcgid-script .php FcgidWrapper /usr/local/www/apache22/fcgid-bin/php-wrapper .php * definiujemy prawa do katalogu w którym będzie wrapper PHP: AllowOverride None Options None Order allow,deny Allow from all * dodajemy //index.php// jako domyślny dokument w katalogu poniższe jest do wyedytowania, nie do dodania): DirectoryIndex index.php index.html index.htm ===== Dodanie wrappera PHP ===== Tworzymy drzewo **/usr/local/www/apache22/fcgid-bin** a następnie umieszczamy w nim plik **php-wrapper** o zawartości: #!/bin/sh # Set desired PHP_FCGI_* environment variables. # Example: # PHP FastCGI processes exit after 1000 requests by default. PHP_FCGI_CHILDREN=4 PHP_FCGI_MAX_REQUESTS=1000 export PHP_FCGI_CHILDREN export PHP_FCGI_MAX_REQUESTS # Replace with the path to your FastCGI-enabled PHP executable exec /usr/local/bin/php-cgi Zapisujemy i ustawiamy na nim prawa wykonywalne: # chmod 755 php-wrapper ====== Korzystanie z PHP ====== Aby korzystać z PHP, należy włączyć w obsłudze serwera wykonywanie CGI. Domyślnie jest ono wyłączone i lepiej tak zostawić. Włączenie CGI odbywa się poprzez dodanie do **Options** wartości **ExecCGI**. Przykładowa wirtualka apacha z włączonym CGI: ServerAdmin admin@xxx.com.pl ServerName www.xxx.com.pl DocumentRoot "/usr/local/www/www.xxx.com.pl" Options Indexes ExecCGI AllowOverride All Order allow,deny Allow from all ErrorLog "/var/log/apache/www.xxx.com.pl-error_log" CustomLog "/var/log/apache/www.xxx.com.pl-access_log" common Przykładowy plik **.php** sprawdzający czy PHP działa: