Една от най-често срещаните комбинации за уеб
сървър в Интернет е Apache Web Server+PHP+MySQL.
Какво представляват отделните компоненти и
защо тази комбинация е най-популярна?
Apache Web Server е
най-използваният в момента уеб сървър. По данни
на NetCraft близо 60%
процента от всички уеб сървъри се падат на Apache.
Някои от предимствата му са - стабилност, бързина,
лесно добавяне на допълнителни възможности,
възможност за лесно преконфигуриране и не на
последно място - той е безплатен.
PHP е скрипт език подобен на Perl
и ASP, който се използва за създаване на динамични
уеб страници. Програми за него се пишат лесно,
съдържа богат набор от команди, както и вградени
възможности за работа с бази от данни от рода на
MySQL, Oracle, PostgreSQL. Програма за PHP без проблем може да
бъде изпълнена на множество ОС - Linux, Windows, Solaris. Още
едно от предимствата на PHP е неговото бързодействие - PHP4 е
от 40% до 90% по-бърз от ASP. Както и Apache, PHP е безплатен.
Разпространява се под PHP лиценз, който можете да
намерите на http://www.php.net/license.html.
MySQL е много бърза, стабилна и
относително компактна система за управление на
бази данни, която използва SQL (Structured Query
Language). За Linux MySQL е практически безплатен. За
използването му в големи комерсиални проекти
трябва да прочетете MySQL
лиценза.
За да създадете и вие такъв сървър на вашата Linux
система е необходимо първо да си свалите
отделните компоненти.
Последната стабилна версия на Apache Web Server може да
свалите от официалният сайт - www.apache.org.
В тази статия ще използваме версия 1.3.12. Apache може
да свалите и от някой огледален сайт, който е
по-близо до вас. Например http://apache.nat.bg.
Точният адрес от където можете да свалите версия
1.3.12 е:
http://www.apache.org/dist/apache_1.3.12.tar.gz
или
http://apache.nat.bg/dist/apache_1.3.12.tar.gz
Последната стабилна версия на PHP може да
свалите от www.php.net. В тази статия
ще използваме PHP версия 4.0.0, тъй като тя предлага
значително ускорение спрямо предишните версии.
Точният адрес, от който можете да я свалите е:
http://www.php.net/distributions/php-4.0.0.tar.gz
Ако искате допълнителни 40% до 90% процента
ускорение на PHP, трябва да си свалите Zend
оптимизатора. Този компонент не е задължителен.
За тази статия ще използваме Beta4-Linux-glibc версията. Zend оптимизаторът е
безплатен, но се разпространява единствено като
компилирана библиотека. Лицензът му се намира на
адрес: http://www.zend.com/zend/optimizer-license.php.
Адресът за сваляне е:
http://www.zend.com/download.php
Трябва да се регистрирате в тяхната база за да
можете да си го свалите.
Остава да се сдобиете и с последната стабилна
версия на MySQL, за да може да компилирате PHP-то с
команди който да се обръщат към MySQL-a.
Официалния сайт на MySQL е www.mysql.com.
Тук не е от голямо значение коя версия ще
използвате. За да използвате MySQL трябва да знаете
как да подкарате. Тази статия няма за цел да ви
научи как да инсталирате и конфигурирате MySQL. Ако
нямате работещ MySQL, ви препоръчвам да прочетете
статията "Първи
стъпки с MySQL".
След като свалите необходимите файлове, ги
разархивирайте в една директория. PHP се
разархивира със следната команда
tar zxvf php-4.0.0.tar.gz
a Apache с командата
tar zxvf apache_1.3.12.tar.gz
Като резултат от тези две команди трябва да се
създадат две поддиректории с имена apache_1.3.12 и
php-4.0.0.
Ако искате да използвате и Zend оптимизатора,
трябва да го разархивирате и него в същата
директория с командата
tar zxvf ZendOptimizer*.tar.gz
Влезте в новата поддиректория ZendOpimizer-* и
копирайте файла ZendOptimizer.so в директорията
/usr/local/Zend/lib.
Да започваме с компилирането на отделните
компоненти. Влезете първо в поддиректорията
php-4.0.0
cd php-4.0.0/
След което напишете следната команда:
./configure --with-mysql=/usr/local/mysql --with-apache=/apache_1.3.12
Ако вашият MySQL се намира в директория различна
от /usr/local/mysql, заменете /usr/local/mysql с името на
директорията на MySQL.
Всички който смятат да използват и Zend
оптимизатора трябва да добавят опцията --disable-debug
в горния ред. За да компилирате PHP като модул за
Apache сървъра остава да напишете следната команда:
make && make install
Ако всичко до момента е протекло без грешки,
може да продължим напред.
Влезте в директорията на Apache-то.
cd ../apache_1.3.12
До момента имаме компилиран PHP модул за Apache.
Остава ни сървъра. Ще използваме само два
параметъра при компилирането. Единият е --prefix=/www и
той указва в коя директория ще се инсталира
сървъра. За да използвате друга директория
трябва да замените /www с желаната от вас
директория. Втория параметър е
--activate-module=src/modules/php4/libphp4.a Той указва на сървъра да
се компилира с PHP модула, който създадохме преди
малко. Същинското компилиране на сървъра става
посредством тези две команди:
./configure --prefix=/www --activate-module=src/modules/php4/libphp4.a
make && make install
Компилирането може да вземе известно време, ако
компютърът ви не е много бърз.
Вече имаме готовия сървър с PHP и MySQL в него. Преди
да го стартираме трябва малко да го
конфигурираме. Влезте в директория на сървъра (в
нашият случай /www) и оттам в поддиректорията conf
cd /www/conf
Отворете файла httpd.conf и добавете в него следният
ред, ако го няма:
AddType application/x-httpd-php .php .php3
Ако откриете такъв ред, само че със символа диез
“#” отпред, изтрийте диеза. Този ред указва на
сървъра да предава изпълнението на файлове с
разширение php и php3 на нашия PHP модул.
За тези, който ще използват Zend оптимизатора
остава да добавят файла /usr/local/lib/php.ini.
Съдържанието на този файл трябва да е следното:
zend_optimizer.optimization_level=7
zend_extension="/usr/local/Zend/lib/ZendOptimizer.so"
Забележете, че трябва да сте копирали файла
ZendOptimizer.so в директорията /usr/local/Zend/lib/. Ако сте го
копирали другаде направете необходимите
промени.
Новият Apache сървър вече е готов за стартиране.
Пишете командата:
/www/bin/apachectl start
Ако всичко е наред трябва да получите следното
съобщение:
./apachectl start: httpd started
При проблем трябва да проверите синтаксиса на
httpd.conf файла. Това става с командата:
/www/bin/apachectl configtest
Тя ще ви даде някакви насоки за това къде е
проблема.
За да сте сигурни, че наистина сте стартирали
вашият Apache сървър с поддръжка на PHP и MySQL създайте
файл с име phpVersion.php и го запишете в директорията
/www/htdocs. Съдържанието на phpVersion.php файла е следното:
print phpinfo();
?>
За да видите какво ще изпечата този файл пишете
lynx http://localhost/phpVersion.php.
Това е всичко. Вече имате работещ сървър. Можете
да започвате да пишете вашите програми за PHP.
Успешна работа!