C одержани е


Настройка виртуальных серверов в файле



страница6/6
Дата01.12.2017
Размер1.09 Mb.
ТипКонтрольные вопросы
1   2   3   4   5   6


6.2. Настройка виртуальных серверов в файле httpd.conf

В большинстве случаев один http-cepвеp способен обрабатывать запросы, поступающие на различные, так называемые виртуальные, web-серверы. Виртуальные серверы могут иметь как один и тот же IP-адрес, но разные доменные имена, так и разные IP-адреса.

С точки зрения пользователя второй вариант чуть более предпочтителен, поскольку запрос к серверу, отличающемуся от основного только доменным именем, должен содержать его имя, а некоторые старые браузеры, не поддерживающие протокол НТТР/1.1 (например, Microsoft Internet Explorer 2.0), не включают в запрос эту информацию. Однако такие браузеры выходят из употребления (сейчас их уже менее 0,5 % от общего числа).

С другой стороны, выделение собственного IP-адреса каждому виртуальному серверу может быть неоправданной растратой адресного пространства компании.

Для описания адресов и доменных имен виртуальных серверов служат директивы ServerName, ServerAlias, NameVirtualHost и VirtualHost. Они необходимы, только если пользователю нужно установить более одного виртуального сервера.

Директива ServerName, находящаяся вне секций VirtualHost, определяет имя основного сервера, т.е. сервера, корневой каталог которого задан директивой DocumentRoot в файле srm.conf. Виртуальные серверы наследуют настройки основного; при необходимости специальной настройки соответствующие директивы помещаются в секции VirtualHost, относящейся к данному серверу. Допустимы любые директивы, которые могут встретиться в файлах httpd.conf и srm.conf, например DocumentRoot, ErrorLog, CustomLog, Location, ServerAdmin.

Для редактирования файлов конфигурации и навигации по файловой системе удобно использовать программу mс, для ее загрузки необходимо набрать в командной строке:

[root@lis] $ mс

Интерфейс программы интуитивно понятен и не представляет трудностей при использовании. Файлы конфигурации web-сервера Apache в данной системе находятся в каталоге:

/etc/httpd/conf/

Для запуска, остановки, перезапуска web-ceрвера используются следующие скрипы (программы):

- остановка: /etc/rc.d/init.d/httpd stop;

- запуск: /etc/rc.d/init.d/httpd start;

- перезапуск: /etc/rc.d/init.d/httpd restart.

6.3. Инструмент настройки Apache

Инструмент настройки Apache позволяет настроить файл /etc/httpd/conf/httpd.conf - файл настроек Web сервера Apache. Он не использует старые файлы конфигурации, такие как srm.conf или access.conf; их необходимо оставить пустыми. В графическом интерфейсе можно настраивать параметры Apache, такие как виртуальные узлы, атрибуты протоколирования и максимальное количество соединений.

Модули, поставляемые с Red Hat Linux, могут быть настроены с помощью Инструмента настройки Apache. Если установлены дополнительные модули, их нельзя настроить с помощью этой программы.

Чтобы использовать Apache Configuration Tool (инструмент настройки Apache), требуется запустить систему X Window под именем root. Запустить Apache Configuration Tool можно следующими способами:

1) Нажав на рабочем столе GNOME Кнопку Main Menu (Главное меню) (на панели) => Programs (Программы) => System (Система) => Apache Configuration (Настройка Apache).

2) Нажав на рабочем столе Кнопку Main Menu (Главное меню) (на панели) => Red Hat => System (Система) => Apache Configuration (Настройка Apache).

3) Выполнив в приглашении оболочки (например, в XTerm или GNOME-terminal) команду apacheconf.

Ниже перечислены основные этапы настройки веб-сервера Apache, используя Инструмент настройки Apache:



  1. Определить основные параметры на вкладке Main (Основные);

  2. Перейти на вкладку Virtual Hosts (Виртуальные узлы) и настроить параметры по умолчанию;

3) На вкладке Virtual Hosts настроить Default Virtual Host (Виртуальный узел по умолчанию). Если будет обслуживаться несколько URL или виртуальных узлов, определить дополнительные виртуальные узлы;

4) Настроить параметры сервера на вкладке Server;

5) Определить настройки соединений на вкладке Performance Tuning (Настройка производительности).

6) Скопировать все необходимые файлы в каталоги /DocumentRoot и /cgi-bin, затем сохранить настройки в Инструменте настройки Apache.

Apache может использовать модуль mod_env, чтобы настроить переменные окружения, передаваемые в CGI-сценарии и страницы SSI. На странице Environment Variables (Переменные окружения) можно определить параметры этого модуля Apache (рис. 6.1).

Рис.6.1. Экранная форма «Переменные окружения»
6.4. Протоколирование

По умолчанию Apache записывает протокол передачи информации в файл /var/log/httpd/access_log, а протокол ошибок в файл /var/log/httpd/error_log. Протокол передачи информации содержит список всех попыток обращения к Web серверу. В нём фиксируется IP-адрес клиента, пытавшегося соединиться с сервером, дата и время этой попытки, а также имя файла на web- сервере, к которому клиент пытался обратиться. Следует ввести полный путь и имя файла, в котором будет сохранена эта информация. Если полный путь и имя файла начинается не с косой черты (/), путь будет определяться относительно заданного каталога server root. Этот параметр соответствует указанию TransferLog (рис.6.1).

Пользователь может определить особый формат протокола, установив флажок Use custom logging facilities (использовать возможности настройки протоколирования) и задав формат протокола в поле Custom Log String (строка формата протокола). При этом будет определен параметр LogFormat. В файле http://httpd.apache.org/docs/mod/mod_log_config.html#formats содержится описание формата этого параметра.

Рис.6.2. Экранная форма протоколирования

Протокол ошибок содержит список всех произошедших ошибок сервера. Также следует ввести полный путь и имя файла, в котором будет сохранена эта информация. Этот параметр соответствует указанию ErrorLog.

Чтобы определить, насколько подробны в протоколе будут сообщения об ошибках, следует использовать меню Log Level (уровень протоколирования). Этот параметр может принимать значения:

- emerg (аварийные ситуации),

- alert (тревожные ситуации),

- crit (критические),

- error (ошибки),

- warn (предупреждения),

- notice (уведомления),

- info or debug (информация или отладка).

Этот параметр соответствует указанию LogLevel.

Значение, выбранное в меню Reverse DNS Lookup (обратное преобразование в DNS), определяет указание HostnameLookups (разрешение имени узла). Установить его значение равным "off" можно, выбрав No Reverse Lookup (без обратного преобразования), выбрав Reverse Lookup (обратное преобразование), пользователь установит значение равным "on".

Выбрав двойное обратное преобразование Double Reverse Lookup, пользователь установит значение равным "double". Если выбрано обратное преобразование Reverse Lookup, сервер будет автоматически разрешать IP- адреса для каждого соединения при запросе документа web-сервера. Разрешение IP адресов означает, что сервер будет производить одно или несколько соединений с DNS, чтобы выяснить имя узла, соответствующее определенному IP адресу. Если выбрано Double Reverse Lookup - сервер будет выполнять двойной обратный поиск в DNS. Другими словами, для полученного после выполнения обратного преобразования имени будет выполнено прямое преобразование. По крайней мере, один из IP адресов при прямом преобразовании должен будет совпасть с адресом, обратное преобразование которого производилось.

Обычно следует установить этот параметр в значение No Reverse Lookup без обратного преобразования, потому что запросы DNS дополнительно загружают сервер и могут снизить его производительность. Если ваш сервер загружен, влияние таких прямых и обратных преобразований может быть довольно заметным.

Обратные и двойные обратные преобразования также являются проблемой для интернета в целом. Все единичные подключения, сделанные для выполнения преобразования, объединяются. Поэтому для пользы собственного web-сервера, а также всей Глобальной сети следует установить для этого параметра значение No Reverse Lookup.



    1. Проверка работоспособности web-сервера

Для демонстрации работоспособности необходимо переписать с ftp://ftp.msctuca.ru/data/sop/ средствами Linux на локальный компьютер каталоги testserverl и testserver2, для чего использовать в программе mc пункт меню left (right), далее ftp link. В данных каталогах содержатся тестовые сайты:

- проверка исполнения файла /cgi-bin/testl.cgi;

- проверка исполнения файла /cgi-bin/test2.pl;

- проверка исполнения файла /cgi-bin/test3;

- проверка SSI-включения файла /cgi-bin/testl.cgi в файл test4.html.

Для создания виртуальных серверов по доменным именам используемые доменные имена необходимо прописать в файле c:\winnt\system32\driver\etc\hosts на том компьютере, на котором будет проводиться проверка.



6.6. Инсталляция SAMS

Ниже приведен порядок процесса инсталляции SAMS.

Распаковать архив: tar zxf sams-xxxxxx.tar.gz . Будет создан каталог, в котором будет размещено содержимое архива.

Перейти в созданный каталог сd sams-xxxxxx

Собрать SAMS. Для настройки конфигурации ввести команду ./confugure .SAMS по умолчанию находится в /usr/local.

Для изменения пути к расположению программ и пути к расположению библиотек и файлов заголовков MySQL, к каталогу расположения root директории http-сервера (если путь к нему отличается от /var/www/html или /var/www/htdocs), к каталогу расположения php следует использовать ключи configure.

Для получения списка опций настройки введите команду:

./confugure --help

Если на этапе конфигурирования выдаются ошибки, следует проверить наличие необходимых SAMS пакетов.

По завершении работы команды configure необходимо откомпилировать дистрибутив и инсталлировать его:

make

make install

Если на этапе сборки выдаются ошибки, необходимо проверить наличие необходимых SAMS пакетов.

По окончании инсталляции файлы SAMS будут проинсталлированы:

/etc:

sams.conf - файл конфигурации SAMS
/usr/local/sams:

файлы:

sams - анализатор логов squid

samsf - демон, создающий fifo файл, в который squid записывает логи.

samsdaemon - демон, отвечающий за переконфигурацию squid и автоматический запуск sams и samsf
/usr/local/share/sams:

файлы web-интерфейса sams

В результате инсталляции должен быть создан симлинк из root каталога http сервера (apache) на каталог web-интерфейса SAMS. Если он не создан, необходимо создать симлинк из каталога вашего web-сервера на каталог /usr/local/share/sams



ln -s /usr/local/share/sams /our/path/www/htdocd/sams

Для выполнения запуска web-интерфейса SAMS и создания базы SAMS в MySQL следует запустить браузер и подключиться к web-интерфейсу SAMS:



http://localhost/sams

Следует заметить, что httpd-сервер должен поддерживать работу php скриптов. Для работы web-интерфейса SAMS необходимо установить модули php и настроить работу php в safe_mode.

Если базы SAMS еще не созданы, пользователю будет предложен диалог создания баз и пользователя SAMS в MySQL. Для этого необходимо заполнить поля:

MySQL Hostname: - адрес сервера, на котором установлен MySQL,

MySQL login: - имя пользователя MySQL, имеющего права на создание баз данных (обычно это root);

MySQL password: - пароль пользователя root;

Create SAMS MySQL user - установить галочку, если необходимо создать пользователя, от имени которого будет работать SAMS;

SAMS MySQL user: ввести имя пользователя, от имени которого будет работать SAMS (если MySQL расположен на этом же хосте, то это будет, например, sams@localhost);

SAMS MySQL user password: Пароль пользователя sams.

Далее следует занести введенные значения в файл конфигурации SAMS /etc/sams.conf:



MYSQLHOSTNAME=localhost - имя хоста, где стоит MySQL ,

MYSQLUSER=sams - имя пользователя MySQL, от имени которого будет работать SAMS (внимание, полный адрес: sams@localhost не указывать),

MYSQLPASSWORD=yourpasswd - Пароль пользователя в MySQL

Далее активизировать кнопку "Create database", и, если поля формы были заполнены правильно, базы и пользователь SAMS будут созданы, затем кнопку "Starting SAMS web interface". Если данные в файл конфигурации sams.conf были занесены верно, то будет выведен web-интерфейс SAMS.

Следующий шаг - изменить владельца каталога /usr/local/share/sams на пользователя, от имени которого работает ваш web сервер:

chown -R apache:apache /usr/local/share/sams

Далее следует сменить права доступа на каталог /usr/local/share/sams/data на 777.

Необходимо настроить sams и squid на работу с авторизацией в OpenLDAP.

Проверить авторизатор SQUID на работу с OpenLDAP. Для этого нужно запустить:



/usr/lib/squid/ldap_auth -R –v 3 -d -b ou=Users, dc=example, dc=local –f uid=%s

Далее ввести вручную имя и пароль пользователя (через пробел). Если все работает корректно, то буден выдан ответ:



OK

Открыть на редактирование файл /etc/squid/squid.conf и добавить строки:



auth_param ntlm program /usr/lib/squid/ldap_auth -R –v 3 -d -b ou=Users, dc=example, dc=local –f uid=%s

auth_param ntlm children 5

auth_param ntlm max_challenge_reuses 0

auth_param ntlm max_challenge_lifetime 2 minutes

auth_param basic program /usr/lib/squid/ldap_auth -R –v 3 -d -b ou=Users, dc=example, dc=local –f uid=%s

auth_param basic children 5

auth_param basic realm Squid proxy-caching web server

auth_param basic credentialsttl 2 hours
Теперь необходимо сконфигурировать SAMS на работу с OpenLDAP. Открываем на редактирование /etc/sams.conf и добавляем следующие строки:

LDAPSERVER=127.0.0.1 - имя или ip адрес сервера OpenLDAP

LDAPBASEDN=dc=example,dc=local - домен, поддерживаемый OpenLDAP. Ввод осуществляется без кавычек или пробелов.

LDAPUSER=cn=admin,dc=example,dc=local - пользователь, входящий в группу OpenLDAP администраторов, от имени которого SAMS будет работать с OpenLDAP

LDAPUSERPASSWD=12345 - пароль

LDAPUSERSGROUP=ou=Users,dc=example,dc=local - контейнер, содержащий пользователей в OpenLDAP (обычно это Users)

LDAPUSEFILTER=(objectClass=SambaSamAccount) -фильтр для отсечения «не пользователей».
Контрольные вопросы


  1. Какие файлы содержат конфигурационную информацию web-сервера?

  2. Какова последовательность установки web-сервера?

  3. Как проверить работоспособность web-сервера?

  4. Где хранятся log-файлы?

  5. Что такое виртуальный web-сервер?

  6. Что определяет обратное преобразование в DNS?

  7. При каком преобразовании сервер будет автоматически разрешать IP- адреса для каждого соединения?

  8. Какая информация содержится в протоколе ошибок?

  9. Перечислите основные директивы конфигурирования.

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
1) Скотт Граннеман. Linux. Необходимый код и команды. Карманный справочник. - М.: Вильямс, 2010. - 416 с.

2) Вахалия Ю. UNIX изнутри. – СПб.: Питер, 2003. –844 с.

3) Митчелл М., Джеффри Д., Самьюэл А. Программирование для Linux. Профессиональный подход/ перевод с англ. - М.: Вильямс, 2003. – 288 с.

4) Керниган Б.В., Пайк Р. UNIX - универсальная среда программирования. - М.: Финансы и статистика, 1992. -304 с.

5) Браун П. Введение в операционную систему UNIX. - М.: Мир, 1987. -287 с.

6) Банахан М., Раттер Э. Введение в операционную систему UNIX. - М.: Радио и связь, 1986. -341 с.

7) Баурн С. Операционная система UNIX. - М.: Мир, 1986. -462 с.

8) Готье Р. Руководство по операционной системе UNIX. - М.: Финансы и статистика, 1985. -232 с.

9) Кристиан К. Введение в операционную систему UNIX. - М.: Финансы и статистика, 1985. -318 с.

10) Томас Р., Йейтс Дж. Операционная система UNIX. Руководство для пользователей. - М.: Радио и связь, 1986. -352 с.

11) Топхем Д., Чьюнг Х.В. Юникс и Ксеникс. - М.: Мир, 1988. -392 с.

12) Робачевский А.М. Операционная система UNIX. - СПб.:BHV-Санкт-Петербург, 2007. -528 с.

13) Беляков М.И., Рабовер Ю.И., Фридман А.Л. Мобильная операционная система. - М.: Радио и связь, 1991. - 208 с.

14) Тихомиров В.П., Давидов М.И. Операционная система UNIX: Инструментальные средства программирования. - М.: Финансы и статистика, 1988. - 206 с.



ИТОГОВЫЙ ТЕСТ
1) Язык, на котором написана большая часть кода Linux/UNIX:

а) C б) Pascal

в) Ada г) Basic

2) Какую дату можно считать официальной датой рождения UNIX?

а) 31 декабря 1974 б) 30 октября 1984

в) 1 января 1970 г) 1 сентября 1971

3) Какой из дистрибутивов Linux производится в России?

а) Debian б) ASPLinux

в) Red Hat г) Slackware

4)Какая из этих операционных систем не является POSIX-совместимой?

а) IRIX б) BeOS

в) MacOS X г) OS/2

5) Какие права установлены для группы?

-rwxr---w- 1 root root 93 11 apr 2011 file.txt

а) Чтение и запись б) Чтение

в) Запись г) Чтение, запись, исполнение

6) Файловая система Ext3 в отличие от файловой системы Ext2:

а) Журналируемая б) Виртуальная

в) Псевдо-файловая г) Сетевая

7) На разделы какой файловой системы Linux может записывать файлы?

а) ISO9660 б) NTFS

в) HPFS г) ReiserFS

8) На разделы какой файловой системы Linux не может записывать файлы?

а) Ext2 б) NTFS

в) msdos г) ReiserFS

9) Приведены метаданные 2-х файлов. Что можно сказать об этих файлах?

/home/sergey /home/ivan

12567 file1 12567 file2

10) Сколько корневых каталогов может быть в UNIX?

а) 1 б) 2

в) 26 г) неограниченно

11)Что содержит каталог /dev в UNIX?

а) файлы пользователей б) файлы, необходимые для загрузки

в) файлы устройств г) конфигурационные файлы

12) В каком файле содержатся данные о монтируемых устройствах и точках монтирования?

а) /etc/fstab б) /etc/inittab

в) /etc/crontab г) /etc/motd

13) Для кого установлено право на запись в файл?

-rwxr-x-r-- 1 root root 93 1 янв 2003 file.txt

а) для группы б) для владельца

в) для остальных г) для всех

14) Команда chmod u=4 file установит атрибуты файла file:

а) Чтение для владельца б) Запись для владельца

в) Исполнение для группы г) Чтение и запись для владельца

15) Команда chmod o-2 file снимет атрибуты файла file:

а) Чтение для остальных б) Запись для владельца

в) Запись для остальных г) Исполнение для группы

16) Команда ls предназначена для вывода информации:

а) о текущем пользователе б) о файлах

в) о дисках г) о процессах

17) Опция команды ls для отображения файлов в длинном формате:

а) –a б) –l

в) –d г) –f

18) Какая команда является внутренней в интерпретаторе?

а) pwd б) cd

в) ls г) df

19) Команда для просмотра информации о смонтированных устройствах:

а) ps б) df

в) wc г) pwd

20) Какой процесс запрашивает имя пользователя при загрузке?

а) login б) getty

в) lpd г) cron

21) Какой символ используется в команде при создании неименованного канала между процессами:

а) & б) >

в) | г) ~

22) При выполнении команды $ cat file1 | w происходит:

а) создание неименованного канала б) перенаправление ввода

в) последовательный запуск программ г) запуск в фоновом режиме

23) Команда, позволяющая получить список всех файлов в системе, не имеющих расширения:

а) find / -name ".*" -print б) find ~ -name "*.txt" -print

в) find / -name "*" -print г) find ~ -name "*.*" -print

24) Какие директивы конфигурирования сервера Apache определяют, под каким пользователем должен запускаться httpd:

а) User ser nobody б) Group nobody

в) <Directory /home/httpd/htmI> г) <Directory /home/httpd/htmI>

Options Indexes Options FollowSymLinks

25) Какая команда осуществляет поиск всех адресов, содержащих две трехзначные последовательности, оканчивающиеся точкой:

а) grep '[0-9]\{3\}\.[0-9]\{3\}\.' Ipfile б) find '[0-9][0-9]. Ipfile

в) grep '[0-9]\.[0-9]\{3\}.' Ipfile г) find '[0-9]\.[0-9]\{3\}.' Ipfile






Поделитесь с Вашими друзьями:
1   2   3   4   5   6


База данных защищена авторским правом ©vossta.ru 2019
обратиться к администрации

    Главная страница