[Guide] Apache+PHP+MySQL for linux

NandO

New Member
Joined
Oct 4, 2009
Messages
83
Reaction score
7
Една от най-често срещаните комбинации за уеб сървър в Интернет е 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 лиценз, който можете да намерите на PHP: Manual Quick Reference.

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.

Успешна работа!
Credits:
Linux