Ropnet
Компьютерная комиссионка - любое "железо"
Компьютерная комиссионка - любое "железо"
"Визитка" - ваше представительство в Интернет за 200$
Поиск по сайту:
Dial-up (модемное соединение)
Dial-up
Выделенные линии
Выделенные
линии
Размещение сайтов
Размещение
сайтов
Разработка сайтов
Разработка
сайтов
О компании

Услуги и цены

Техподдержка

Страницы пользователей

Нашим клиентам

Наши вакансии

Полезная информация
Подписка на новости

Отказаться
Проверить почту
@ropnet.ru

Веб-сайты

Веб-сайты






Rambler's Top100
Rambler's Top100

























Apache HTTP Server

  Веб-сервер Apache является наиболее популярным и производительным HTTP сервером на базе UNIX. В этом документе мы постраемся изложить общую политику компании RopNet в предоставлении услуг виртуального веб хостинга и разъяснить общие принципы построения системы: режим работы скриптов, основные настройки, структура каталогов и т.д.

Дисковое пространство сервера
    Дисковое пространство, указанное в тарифных планах, определяет кол-во информации, которое Вы можете закачать на свой сервер по протоколу FTP, или с помощью собственных скриптов. Объем почтовых ящиков, размер баз данных и файлы статистики не имеют к нему никакого отношения! Структура сервера при доступе к нему по протоколу FTP имеет следующий вид:

    _________________________________________________
   |_____верхние каталоги____|_________FTP___________|
   |/home/|                  |            |          |
   |      |<каталог сервера>/|            |          |
   |      |                  |public_html/|          |
   |      |                  |.htpasswd   |          |
   |      |                  |            |logs/     |
   |      |                  |            |cgi-bin/  |
   |      |                  |            |wap/      |
   |      |                  |            |index.html|
   |      |                  |            |index.htm |
   |      |                  |            |index.php |
   |      |                  |            |...       |
   /home/<каталог сервера>/ - корневой каталог виртуального сервера. Если для работы скрипта необходимо указать абсолютный путь к какому либо файлу, то он должен начинаться именно c этого каталога. Здесь следует хранить файлы паролей (.htpasswd) и другую информацию, которая не должна быть доступна пользователям сервера из браузера.

   public_html/ - основной файловый каталог. Полный путь от "корня" Вашего сервера до папки public_html/ высылается вместе с остальными реквизитами при открытии сервера. Здесь располагаются все рабочие файлы, которые будет обрабатывать Apache и выдавать результаты в браузер. Отсюда начинается "строительства" сайта. При запросе вида www.<имя сервера> Apache обратится к public_html/ в поисках индексных файлов каталога(index.html, index.php, etc..). В случае отсутствия любого из них клиенту будет выдано сообщение об ошибке с кодом "403 Forbidden".

   logs/ - закрытый каталог журнала посещений сервера, ошибок и статистики запросов. Подробнее см. ниже

   cgi-bin/ - каталог для размещения Perl-скриптов и бинарных файлов. Подробнее см. ниже

   wap/ - каталог для размещения контента wap-сервера. Подробнее см. ниже


Подключаемые модули
   Веб-сервер Apache имеет модульную структуру и свободно конфигурируется с различными библиотеками. В стандартную конфигурацию виртуального сервера включены следующие модули:
mod_vhost_alias позволяет использовать на одном ip-адресе несколько виртуальных хостов.
mod_env доступ к переменным окружения Apache из скриптов.
mod_log_config ведение журнала посещений сервера, ошибок в различных форматах.
mod_log_referer ведение журнала статистики заходов с других серверов.
mod_mime определение типа файлов по их расширениям.
mod_negotiation выбор наиболее подходящего клиенту файла.
mod_include поддержка технологии Server Side Includes (SSI).
mod_autoindex автоматическое идексирование директорий.
mod_dir устанавливает символ "/" в конец URL и обслуживает индексные файлы директорий.
mod_cgi вызов cgi-скриптов.
mod_actions управляние вызовом cgi-скриптов.
mod_alias манипулирование входящими запросами, перенаправление(редирект).
mod_access ограничение доступа к содержимому сервера по различным критериям.
mod_auth аутентификация клиентов с использованием простых текстовых файлов.
mod_usertrack использование cookies.
mod_setenvif установка переменных окружения в зависимости от запроса.
libssl использование технологии SSL для безопасной передачи данных.

   Веб серверы, работающие по тарифному плану Ультра, могут использовать практические любые модули на своей площадке, а не только перечисленные выше.

Ограничения
   Виртуальные серверы равномерно используют имеющиеся ресурсы между собой. Загрузка самого сервера строго контролируется и, по-возможности, перераспределяется на другие хосты. С нашей стороны контролируются следующие параметры виртуальных серверов:

  • количество оперативной памяти, которое может использовать каждый процесс виртуального сервера;
  • время выполнения скриптов;
  • одновременное количество процессов, которые способен создать виртуальный сервер.
   Превышение лимитов обычно связано с нерациональным использованием ресурсов системы и грубыми нарушениями при написании скриптов.

Лог-файлы
   Лог файлы располагаются в каталоге public_html/logs/ Вашего сервера:
httpd-access.log Журнал посещений виртуального сервера. Отображает ip-адрес(имя хоста), с которого был заход на сервер, дату захода, адреса страниц, имя пользователя, тип запроса, запрашиваемый документ, код возврата.
httpd-error.log Абсолютно все ошибки, возникающие при работе сервера(в том числе скриптов) отображаются в этом файле. Если что-то не работает должным образом, то начинать следует с этого файла.
.htaccess Разрешает доступ к каталогу только одному авторизованному пользователю. Крайне не рекомендуем удалять или изменять этот файл.
index.html Индексный файл, который создается один раз в сутки ночью и содержит детализированную обработанную информацию о посещении сервера и возникших ошибках с момента открытия сайта.
01-03/, 05-02/, 07-2005 etc.. Первого числа каждого месяца все лог-файлы архивируются и складываются в соответствующие директории. Например, имя директории 01-03 соответствует первому месяцу 2003 года, 05-02 - пятому месяцу 2002 года и т.д. После архивирования текущие лог-файлы обнуляются.

   Для того, чтобы получить доступ к лог файлам, обработанным программами Analog и Awstats, необходимо зайти в панель управления и активировать их работу в разделе Статистика. После этого указанные программы будут ежедневно обрабатывать статистику работы Вашего сервера и выводить ее на страницу www.<имя-Вашего-сервера>/logs/, логин и пароль к которой совпадают с параметрами доступа по FTP. В последствии Вы сами можете изменить пароль к этой и другим папкам сервера (см. .htaccess).

   Обращаем Ваше внимание, что дисковое пространство, занимаемое файлами статистики не относится к полезному учитываемому дисковому пространству Вашего виртуального сервера!

Собственные настройки сервера(файл .htaccess)
   Apache имеет возможность переопределять некоторые директивы своего конфигурационного файла. С помощью .htaccess можно ограничить доступ к определенным ресурсам сервера, определить индексные файлы каталогов, использовать некоторые механизмы авторизации пользователей и многое другое.
   Естественно, для пользователей виртуального хостинга такой механизм является наиболее удобным, т.к. позволяет быстро перестраивать конфигурацию сервера без его перезапуска. Но далеко не все параметры Apache могут быть исправлены фалом .htaccess (Список допустимых директив смотри ниже, параметр AllowOverride).
   Когда пользователь Вашего сайта запрашивает какой-либо каталог, Apache, в первую очередь, просматривает его на предмет наличия в нем файла .htaccess. Если он существует, то Apache читает список директив, содержащихся в нем, и выполняет их, в то время как сами пользователи не могут получить к нему доступ. Поэтому для того, чтобы начать использовать .htaccess достаточно просто положить его в нужный каталог.
   При работе с .htaccess помните, что все содержащиеся в нем директивы будут автоматически применяться не только к каталогу в котором он располагается, но и ко всем остальным файлам и каталогам находящимися ниже. Например, если в папке public_html/ лежит .htaccess, запрещающий доступ к ней всех пользователей, то доступ к каталогу public_html/cgi-bin/ также будет закрыт.
   Мы рассмотрим наиболее распространенные ситуации при которых целесообразно использовать .htaccess:

   Паролирование каталогов - запрашивает логин и пароль при доступе к директории. Любой авторизованный пользователь получит доступ в случае ввода правильного логина и пароля. Приблизительный листинг файла .htaccess в этом случае должен быть следующим:

   AuthType Basic
   AuthUserFile /home/your_server/.htpasswd
   AuthName "Введите логин и пароль"
   Require valid-user
   Вы также можете указать список пользователей, которые должны получить доступ к каталогу. Поменяйте строку Require:
   Require user vasia petya masha
и пользователи vasia, petya, masha смогут обращаться к нему.
   Директива AuthUserFile указывает абсолютный путь к файлу паролей .htpasswd. В нашем случае его содержимое может выглядеть так:
   vasia:$1$Y9BtP$fas4qlXSH8eLgqDqqqDaS.
   petya:$1$NlDHn/..$P4I/lUMybCDesdTvgBOQw0
   masha:$1$$fas4qlY9BtPXSH9eqqqLgqDO
   Символы после двоеточия составляют шифрованный пароль каждого пользователя. Для создания такого файла Вы можете воспользоваться утилитой htpasswd, идущей в комплекте с Apache. Наши клиенты имеют возможность использовать специальный интерфейс для управления запароленными каталогами, в котором шифрованные пароли создаются автоматически.
   Веб сервер Apache имеет возможность объединять пользователей в группы и управлять правами доступа на основе групповой политики. Для этого измените файл .htaccess следующим образом:
   AuthType Basic
   AuthUserFile /home/your_server/.htpasswd
   AuthGroupFile /home/your_server/.htgroup
   AuthName "Введите логин и пароль"
   Require user vasia
   Require group admin
   По-аналогии с AuthUserFile AuthGroupFile содержит путь к файлу групп .htgroup, где в нашем случае будет только одна строка:
   admin: masha petya
т.е. группу admin составляют пользователя masha и petya. Теперь доступ к запароленному каталогу получит пользователь vasia и пользователи группы admin.

   Паролирование файлов осуществляется практически так же, только ограничения накладываются на часть файлов или каталогов. Директива Files дает нам такую возможность:
   <Files ~ "\.php$">
      AuthType Basic
      AuthUserFile /home/your_server/.htpasswd
      AuthGroupFile /home/your_server/.htgroup
      AuthName "Введите логин и пароль для доступа к php файлам"
      Require group admin
   </Files>
   В приведеном примере пользователи будут получать запрос на ввод логина и пароля только при доступе к файлам с расширением php.

   Перенаправление ввода(редирект) - осуществляется директивой Redirect или RedirectMatch:
   Redirect /support http://www.ropnet.ru/support
при этом, пользователь, зашедший по-адресу www.<имя вашего сервера>/support будет перенаправлен в раздел технической поддержки нашего сайта. Директива RedirectMatch имеет ту же функциональность, но, кроме этого, может работать с регулярными выражениями, например:
   RedirectMatch (\/.*\.html)$ http://www.ropnet.ru$1
будет делать редирект всех запросов, в которых встречаются адреса страниц с расширением html, на соответствующую страницу сервера RopNet.

   Ограничение доступа по IP, именни хоста
   Чтобы правильно ограничить доступ к ресурсам сервера следует явным образом указать последовательность выполнения разрешающих и запрещающих правил. Директива Order задает такую последовательность, а директивы Deny и Allow определяют набор запрещающих и разрешающих правил соответственно:
   Order deny,allow
   Deny from all
   Allow from 212.42.42.10
   Allow from ropnet.ru
   Первоначально задается последовательность выполнения правил: сначала запрещающие, затем разрешающие. Потом запрещаем доступ всем по-умолчанию и разрешаем доступ с адреса 212.42.42.10 и с узла ropnet.ru.

   Индексные файлы каталога
   Если Вы хотите задать новые индексные файлы для всего сервера, либо изменить порядок их поиска, воспользуйтесь директивой DirectoryIndex и создайте файл .htaccess в папке public_html/ приблизительно следующего содержания:
   DirectoryIndex main.shtml index.html index.php
при этом для всех каталогов сервера(если только в них не будет своих .htaccess с новыми DirectoryIndex) будет задан новый список индексных файлов. В первую очередь Apache будет искать main.shtml, затем index.html и, наконец, index.php. Если файлы не существуют, то сервер вернет ошибку "403 Forbidden".
   Напоминаем Вам, что Apache читает список директив из .htaccess и выполняет их, если в каталоге присутствует этот файл. Это требует от сервера некоторых затрат ресурсов, поэтому старайтесь не злоупотреблять файлами .htaccess и использовать их только в случае необходимости.

Режим работы скриптов
   По-умолчанию все наши веб-серверы Apache выполняют PERL и PHP скрипты в режиме CGI. При этом программы вызываются через внешнее приложение suexec, которое выполняет скрипты от имени пользователя, которому они принадлежат. Описанный механизм является наиболее надежным и безопасным, т.к. позволяет физически отделить процессы самого Apache и пользовательских скриптов. После завершения работы скрипта автоматически закрываются все файловые дескрипторы и сокеты, освобождается память.
   В том случае, если Вам необходим доступ к функциям Apache API, то режим CGI использоваться не может и вместо него придется подключать модули mod_perl, mod_php и выполнять скрипты через них. Надежность работы программ от имени Apache гораздо ниже чем у CGI режима и требует от программиста дополнительных усилий и аккуратности. Использование mod_perl, mod_php и ряда других библиотек возможно только на тарифном плане Ультра

Использование скриптов, механизм SSI
  Скрипты - обычные текстовые файлы, содержимое которых выполняется соответствующими интерпретаторами со стороны сервера, а клиенту возвращается только результат их работы. На сегодня, наиболее распространенными скриптовыми языками являются PERL и PHP. Режим работы интерпретаторов этих языков описан выше. В нашем обзоре мы не будем вдаваться в подробности написания программ на PERL и PHP, а только рассмотрим особенности их использования на нашем хостинге и дадим некоторые рекомендации по написанию скриптов.

   PERL
   Perl-скрипты следует располагать в директории public_html/cgi-bin/. Разрешения на этих файлах должны стоять равными 711 (CHMOD 711). Обычно, Perl-скрипты начинаются со следующих строк:

   #!/usr/bin/perl -w
   use strict;
   print "Content-type: text/html\n\n";
   Первой строкой указывается путь к интерпретатору Perl. Ключ -w включает warning режим, при котором будет проводиться дополнительная проверка скрипта на правильность синтаксиса. Второй строкой запрещаются небезопасные конструкции языка Perl, как то: создание переменных без определенной области видимости, создание символических ссылок и др. Последней строкой идет стандартный заголовок для браузера, который говорит о том, что передаваемое содержимое будет в формате text/html. Наши клиенты могут воспользоваться большим количеством предустановленных CGI скриптов, доступных в любом тарифном плане хостинга. Полный список можно посмотреть здесь.

   PHP
   PHP - язык, специально созданный для веб-разработчиков. Использовать его крайне просто. Если Вам понадобилось вставить в обычный HTML файл некоторый код на PHP, просто поменяйте его расширение на .php и вставьте в нужном месте код языка PHP, ограниченный специальными тэгами <? ?>. Выглядеть это должно приблизительно следующим образом:
   <HTML>
   <TITLE>TEST PHP PAGE</TITLE>
   <BODY>
   <h1>Our first page with PHP</h1>
   <table>
   <?
      while (list($key, $value) = each ($_SERVER)){
         print  "<tr><td>$key:</td><td>$value</td></tr>\n";
      }
   ?>
   </table>
   </BODY>
   </HTML>
   Результатом работы программы будет вывод всех текущих переменных окружения Вашего сервера.

   SSI
   Server Side Includes - набор директивы, которые вставляются в HTML страницы и обрабатываются на стороне сервера. Они позволяют добавить динамический контент в существующие HTML файлы без изменения структуры документа. По-умолчанию SSI файлы должны иметь расширение .shtml. Приведем один простой пример использования SSI:
   <HTML>
   <TITLE>TEST SSI PAGE</TITLE>
   <BODY>
   <h1>Our first page with SSI</h1>
   Today is <!--#echo var="DATE_LOCAL" --><br>
   This document last modified <!--#flastmod file="index.shtml" --><br>
   Counter <!--#include virtual="/cgi-bin/counter.pl" -->
   </BODY>
   </HTML>
   При запросе указанного файла Apache обработает все конструкции типа <!--# --> и выдаст последовательно: текущее время, установленное на сервер; время последней модификации документа и результат работы скрипта counter.pl.

Кодировка символов
  На наших серверах установлен Russian Apache, который позволяет решить проблемы возникающие при несовпадении кодировок текста на сервере и клиентской машине. По-умолчанию все документы должны храниться на сервер в кодировке Windows-1251. Если Вы работаете с файлами другой кодировки, то следует добавить в нужный каталог файл .htaccess (см. выше) директивы CharsetSourceEnc и CharsetDefault с соответствующими значениями кодировок.

Поддержка WAP
   Wireless Application Protocol (WAP) - протокол беспроводного доступа к ресурсам глобальной сети Интернет непосредственно через мобильные телефоны. Основное преимущество WAP заключается в том, что для работы в сети абоненту не нужны дополнительные устройства, достаточно одного мобильного телефона с поддержкой WAP.
   WAP-сайты могут располагаться на виртуальных веб-серверах нашей компании. Для этого необходимо представлять их в специальном формате WML (Wireless Markup Language). Этот язык разметки специально адаптирован под мобильные телефоны.
   При заходе с мобильного телефона на сайт wap.<имя-Вашего-сервера> Вы автоматически будете перенаправлены по-адресу www.<имя-Вашего-сервера>/wap/, где находится стандартный индексный файл index.wml. Каталог wap/ создан специально для того, чтобы отделить контент wap-сервера от основного содержимого сайта. Поэтому все wml-документы следует располагать именно в этом каталоге.

Полезные ссылки
httpd.apache.org/docs/ - наиболее полная документация по серверу Apache.
www.cpan.org - исчерпывающая информация о языке Perl.
www.php.net - портал, посвященный языку PHP.
www.analog.cx - сервер поддержки программы Analog, анализатора лог-файлов.
awstats.sourceforge.net - сервер поддержки программы Awstats, анализатора лог-файлов.
support.ropnet.ru - администрирование виртуальных серверов компании RopNet.


Основные настройки
Версия: 1.3.33
DirectoryIndex: index.php index.html index.htm index.phtml index.php3 index.php4 index.wml
AllowOverride: AuthConfig Indexes FileInfo Limit
AddHandler php-script .php .phtml .php3 .php4


Внимание! Описанные настройки и установки приняты по-умолчанию для всех новых серверов. Если Вам необходимы дополнительные функции - звоните, мы готовы рассмотреть любые варианты работы Ваших сайтов.

вверх





Реклама на www.ropnet.ru
Фестиваль здоровой еды на ТИШИНКЕ
Для вас в нашей фирме дома из теплоблоков недорого по низким ценам.