Помогни ни да направим Uroci.net по - богат! Добави урок

Стартиране и конфигурация на Apache Web сървър под Linux

Aleksandrov   трудност:    видян: 25672

 

Конфигурацията на Name-Based виртуални хостове е подобна. Преди секциите с отделните виртуални хостове, трябва да промените директивата:

 

NameVirtualHost 172.17.68.220

<VirtualHost 172.17.68.220>
ServerName steve.ulala.com

DocumentRoot /home/www/public_html/steve

</VirtualHost>

<VirtualHost 172.17.68.220>

ServerName pola.ulala.com
DocumentRoot /home/www/public_html/pola

</VirtualHost>

 

Съществена разлика има в редовете добавени в /etc/hosts:

172.17.68.220 steve.ulala.com

172.17.68.220 pola.ulala.com

 

В самите секции на различните виртуални хостове, може да слагате различни директиви, които имат по-висок приоритет от тези в секцията описваща основната конфигурация.

 

Apache поддържа и т.нар. Dynamic Virtual Hosting. Това позволява на администратора създаде специфични темплейти за DocumentRoot и ScriptAlias . На тази база и на базата на клиента, Web сървъра създава сам необходимите директории и връзки. Това е подходящо да се използва в сайтове поддържащи множество виртуални хостове, чието администриране на ръка би било трудоемка задача. Dynamic Virtual Hosting може да направите както с IP-Based виртуални хостове, така и с Name-Based такива.

 

Повечето Web сървъри се използват за съдаване на динамично съдържание, чрез определени програмни езици. Най-старата технология за създаване на динамично съдържание е използването на CGI. Чрез CGI можете да напишете програма на който език пожелаете и да визуализирате резултата на Web браузъра. За да направите това, трябва да са спазени някои изкисвания, които ще бъдат разгледани по долу. Като първо, трябва да имате директория в която е позволено изпълнението на CGI скриптове. Ето пример за такава директория:

 

<Directory /home/www/cgi-bin>

Options +ExecCGI

</Directory>

 

След това трябва да присвоите дадени разширения към CGI съдържанието:

 

AddHandler cgi-script cgi pl

 

След това трябва да напишете програма, чийто изход е форматиран по определен начин:

 

  • MIME заглавие – първото което трябва да връща вашата програма е заглавие от определен MIME тип, а именно text/html за HTML страници. Заглавието задължително завършва с два празни нови реда.

     

  • Изход в HTML формат – след заглавието трябва да следва валиден HTML код.

     

Ето и пример за такава програма писана на езика Perl:

 

#!/usr/bin/perl

 

#mycgitest.cgi

 

print „Content-type: text/htmlnn“;

 

print „<html><head></head><body>First CGI program</body>“;

 

За да се изпълни този файл трябва да са спазени следните условия:

 

  • да се намира в директорията /home/www/cgi-bin (която трябва да е собственост на потребителя с правата на който работи Web сървъра)

     

  • файла да има права за изпълнение от потребителя с които права работи сървъра

     

  • да има разширение .pl или .cgi

     

Накрая ще поговорим малко за сигурността на сървъра. На първо място е да укажете на сървъра да работи с права различни от тези на root потребителя. Това може да стане чрез директивите User и Group. След това трябва внимателно да обмислите кои директории може да показват соите файлове при липса на index.html. Може да забраните показването като премахнете от директивата Options опцията Indexes. Винаги проверявайте CGI скриптовете които пишете за грешки и/или пропуски, тъй като CGI скриптовете са едни от най-големите дупки в сигурността на Web сървъра. За да намалите вероятността от проблеми с CGI трябва да използвате обща директория зададена чрез директивата ScriptAlias. Позволяването да се стартират CGI скриптове от всички директории е много лоша идея.

 

Други проблеми носят SSI (Server Side Includes):

 

  • значително по-голямо натоварване на сървъра, тъй като в този случай той проверява цялата страница за SSI тагове

     

  • използването на 'exec cmd' в SSI, чрез което може да извикате произволен скрипт или програма. Тъй като тя се изпълнява с правата на потребителя с които работи сървъра трябва внимателно да следите какво се пуска с тови SSI таг.

     

Чрез файловете .htaccess можете да задавате различни права и достъп за всяка директория. Ако вашия сървър използва AllowOverride All, то потребителя може да запише в своята директория файл с такова име, който да компрометира сигурността на сървъра.

 

Стартирането на някои услуги на машина с работещ Web сървър може да даде повече права отколкото сте желали. Пример за това е използването на SAMBA сървър на машина с работещ Web сървър, туй като в определени случаи можете да предоставите достъп на целия свят до ресурсите на вътрешната мрежа. Стартирането на telnet и други подобни услуги не само ще намали сигурността на вашия Web сървър, но и на цялата машина като цяло. По принцип спазването на девиза „колкото по-малко, толкова по-добре“ е желателно когато говорим за стартирани услуги.

 

Източник: radiations.hit.bg

 


Страници: «1 2 3 4

Сподели урока:



Регистрирайте се, за да добавите коментар


Калдейта Ком ЕООД - © 2003-. Всички права запазени.
Препоръчваме: IT Новини