Стартиране и конфигурация на Apache Web сървър под Linux
След това трябва последователно да се изпълнят командите:
#make#make install
След като е инсталиран, може да контролирате Apache с командата
apachectl. Тя има следните опции:
-
start – стартира сървъра.
-
stop – спира сървъра.
-
restart – рестартира сървъра при промяна на конфигурацията.
-
fullstatus – предоставя пълна информация за сървъра в момента.
Изисква инсталиран браузър lynx и активиран модул mod_status.
-
status – предоставя кратка информация за сървъра в момента.
Изисква инсталиран браузър lynx и активиран модул mod_status.
-
graceful – елегантно рестартиране на сървъра. Ако не е
стартиран, то чрез тази команда той се стартира.
-
configtest – проверява валидността на конфигурацията.
-
help – кратка помощна информация.
Сега е време за кратък преглед на основните конфигурационни
директиви. Те се намират във файла /etc/apache/httpd.conf (в
зависимост от това как е компилиран файла може да се намира и в друга
директория). Той е разделен на няколко секции. Първата от тях е
Global Environment. Директивите в тази секция са глобални и се
отнасят за целия Web сървър и различните виртуални хостове. Тя
включва следните основни директиви:
-
ServerType – можете да настроите сървъра да работи в един от
двата режима: standalone или inetd. inetd може да се използва само
за UNIX/Linux базирани системи. В пърия случай сървъра работи като
самостоятелен сървър, а във втория – като услуга стартираща се
от inet демона.
-
ServerRoot – тази директива задава основната директория в
която е инсталиран сървъра. В нашия пример това е /usr/local/apache
-
StartServers – указва колко сървъра да бъдат стартирани
едновременно. Добре е тази директива да не се променя. За Windows
версията на Apache тази директива няма никакво значение и не
присъства в конфигурационния файл.
-
MaxClients – задава максималния брой на едновременно свързани
клиента. По подразбиране стойността е 150, което може да не е
достатъчно за натоварени сървъри.
-
Listen – това е важна директива, която може сериозно да
повлияе на бързината и сигурността на сървъра. Чрез нея се задава
порта и IP адреса на който ще „слуша“ сървъра за заявени
връзки. По подразбиране порта е 80 за локалната машина. Можете да
задавате или само порт (Listen 5000) или комбинация от порт и IP
адрес (Listen 192.168.7.102:80). Можете да задавате повече от една
комбинация от IP адрес и порт, като подреждате Listen директивите
последователно една след друга. Ако зададените IP адреси не са
достъпни за сървъра, той ще откаже да се стартира.
-
LoadModule – също много важна директива, чрез която може да
зареждате различни модули, като по този начин разширявате функциите
поддържани от сървъра. Например : LoadModule
mime_module libexec/mod_mime.so Тук libexec е директорията
в която са инсталирани модулите на сървъра.
-
AddModule – след като сте добавили модула в LoadModule трябва
да го направите и в тази тук. Например: AddModule mod_mime.c
След това модула е активен и достъпен за използване.
Това са по-важните директиви в Global Environment секцията.
Следващата секция, която ще разгледаме е Main Server Configuration.
Тази секция се отнася за основния Web сървър. Отделните виртуални
хостове може да имат конфигурация различна от тази, ако дадена
директива не е зададена изрично в конфигурацията на виртуалния хост,
то се използва стойността й зададена тук. Main Server Configuration
секцията съдържа следните по-важни директиви:
-
Port – задава порта на който „слуша“ сървъра. По
подразбиране стойността е 80.
-
User – задава името на потребителя с които права работи
сървъра.
-
Group – задава името на групата с които права работи сървъра.
-
ServerAdmin – задава електронния адрес, който се появява на
страниците генерирани от сървъра при грешки или съобщения.
-
ServerName – задава името под което работи сървъра. По
подразбиране се използва localhost. Той обаче е подходящ само за
тестови цели. Зададеното име трябва да е регистрирано DNS име или
поне да бъде описано във файла /etc/hosts.
-
DocumentRoot – важна директива задаваща къде сървъра ще търси
Web документите. За нашия пример това е /home/www/htdocs .
-
DefaulType – чрез тази директива се задава на сървъра как да
изпрати към клиента документ от тип, които не му е познат. По
поддразбиране стойността е text/plain.
-
ErrorLog – тази директива указва пътя към журналния файл в
който се пазят грешките на сървъра.
-
LogLevel – задава степента на подробност на грешките. По
подразбиране стойността в warn, което означава, че към журналния
файл се изпращат грешки от тип Warning или по-сериозни. Възможните
стойности са debug, info, notice, warn, error, crit, alert, emerg.
Най-високо ниво на съобщаване на грешки е debug, а най-ниско - emerg
-
ScriptAlias – задава псевдоним на директорията, в която ще се
изпълняват CGI или други скриптове. По подразбиране стойността е
зададената при конфигурацията на сървъра, а за конкретния пример тя
е: ScriptAlias /cgi-bin/ „/home/www/cgi-bin/“. Когато
един клиент напише в адресното поле на браузъра с :
http://www.localhost/cgi-bin/
, то той ще осъществи достъп до директорията /home/www/cgi-bin/
-
BrowserMatch – чрез тази директива се търси съвпадение в името
на браузъра използван от клиента и зададеното в директивата. Ако се
намери съвпадение, то се може да се укаже на сървъра да промени
своето поведение така, че да избегне определени бъгове в даден
браузър. Например: BrowserMatch „Mozilla/2“ nokeepalive.