- Скачать с www.php.net последнюю версию php, разархиваровать пакет и перенести его к каталог /usr/local/src для последующего использования:
wget http://lv.php.net/get/php-5.2.2.tar.gz/from/this/mirror
tar -xvzf php-5.2.2.tar.gz
sudo mv php-5.2.2 /usr/local/src/
cd /usr/local/src/php-5.2.2/ - Инсталировать пакеты необходимые для компиляции:
apt-get install build-essential, flex, m4 \
libxml2-dev, libssl-dev, libbz2-dev, libjpeg62-dev, libpng12-dev \
libmysqlclient15-dev, libcurl3-openssl-dev, libqdbm-dev \
libgdbm-dev - Задать список рабочих библиотек для php для компиляции. Для дальнейших эксперементов можно даже сохранить его как скрипт /usr/local/src/php-5.2.2/go
#! /bin/sh
#
# Created by configure
CFLAGS='-march=i686' \
CXX='gcc' \
'./configure' \
'./configure' \
'--prefix=/usr/local/php5-fcgi' \
'--sysconfdir=/etc/php5-fcgi' \
'--with-layout=PHP' \
'--with-ttf' \
'--with-expat-dir=/usr' \
'--enable-mbstring' \
'--enable-mailparse' \
'--with-config-file-scan-dir=/etc/php5-fcgi' \
'--enable-bcmath' \
'--enable-calendar' \
'--enable-ftp' \
'--enable-gd-native-ttf' \
'--enable-magic-quotes' \
'--enable-posix' \
'--enable-session' \
'--enable-shmop' \
'--enable-sysvsem' \
'--enable-sysvshm' \
'--enable-track-vars' \
'--enable-trans-sid' \
'--enable-sockets' \
'--enable-xml' \
'--with-bz2' \
'--with-curl' \
'--with-mime-magic' \
'--with-mysqli=/usr/bin/mysql_config' \
'--enable-dba' \
'--with-inifile' \
'--with-flatfile' \
'--with-gdbm' \
'--with-freetype-dir=/usr' \
'--with-gd' \
'--enable-exif' \
'--with-jpeg-dir=/usr' \
'--with-mysql=/usr/local/mysql' \
'--enable-memcache' \
'--with-mysql-sock=var/run/mysqld/mysqld.sock' \
'--with-openssl' \
'--with-gettext' \
'--with-dom' \
'--with-dom-xslt' \
'--with-png-dir=/usr' \
'--with-regex=php' \
'--with-zlib' \
'--enable-fastcgi' \
'--enable-memory-limit' \
'--enable-discard-path' \
'--enable-force-cgi-redirect' \
"$@" - Все, можно компилировать. Ввести в консоли следущее:
chmod a+x go
./go
make
make install
make test
sudo make install - Если компиляция закончилась нормально, следующий шаг создание php.ini
sudo cp /usr/local/src/php-5.2.2/php.ini-recommended /etc/php5-fcgi/php.ini
sudo gedit /etc/php5-fcgi/php.ini
В окне редактора находим и правим следующие строки:- - - - - -
[Date]
; Defines the default timezone used by the date functions
date.timezone = Europe/Riga
- - - - - -
short_open_tag = On
error_reporting = E_ALL | E_STRICT
display_errors = On
register_argc_argv = On
- - - - - -
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
- - - - - - - Сделать символьный линк, чтобы система могла наити команду php на привычном месте
sudo ln -s /usr/local/php5-fcgi/bin/php /usr/local/bin/php
- Тест работы; перейти в домашний каталог, открытить консоль и вызвать php. Результат должен быть вроде следующего
noe@noe$ php -v
PHP 5.2.2 (cgi-fcgi) (built: June 26 2007 23:14:22)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
- Тут все много проще. Поставить стандартный пакет через синаптик или с консоли. Затем активизировать модуль fastcgi, если необходими, подправить путь к php
cd /etc/lighttpd/conf-enabled/
sudo ln -s /etc/lighttpd/conf-available/10-fastcgi.conf
sudo gedit /etc/lighttpd/conf-enabled/10-fastcgi.conf - Теперь внести изменения и прописать все хосты в конфигурационный файл.
sudo gedit /etc/lighttpd/lighttpd.conf
- Кроме того, переписать владельцем сервера пользозователя nobody из nogroup
## change uid to
(default: don't care)
#server.username = "www-data"
server.username = "nobody"
## change uid to(default: don't care)
#server.groupname = "www-data"
server.groupname = "nogroup" - Аналогично для логов сервера
sudo chown nobody:nogroup -R /var/log/lighttpd


