Apache-сервер под Linux
Источник: ru.wikipedia.org, Lafox.Net
Установка и настройка
Инсталляция :
# urpmi apache
Запуск сервера:
# apachectl start
Останов сервера:
# apachectl stop
Перезапуск сервера :
# apachectl restart
Проверка работоспособности сервера:
# links http://localhost/
Для того, чтобы правильно отображались русскоязычные документы, в файле /etc/httpd/conf/commonhttpd.conf нужно изменить строчку : AddDefaultCharset ISO-8859-1 на AddDefaultCharset KOI8-R или на AddDefaultCharset CP1251.
В файле /etc/httpd/conf/httpd2.conf можно изменить:
DocumentRoot /var/www/html - это место, где находится корень ваших html-документов, публикуемых в сети.
ServerName имя_вашего_домена.
Сервер полностью готов к работе. Подробнее, какие еще опции полезно настраивать, смотрите ниже в разделе про виртуальные хосты.
Настройка виртуальных хостов
Допустим, у вас есть IP-адрес xxx.xxx.xxx.xxx и следующие доменные имена: host1.aa, www.host1.aa, а также host2.aa, www.host2.aa, которые указывают на IP-адрес xxx.xxx.xxx.xxx.
Задача состоит в следующем: нам нужно, чтобы на два первых домена (host1.aa и www.host1.aa) отзывался web-сайт, файлы которого находятся в каталоге /var/www/www.host1.aa/WebRoot, а на два других (host2.aa и www.host2.aa) отзывался web-сайт, файлы которого находятся в каталоге /var/www/www.host2.aa/WebRoot. Кроме того, web-сайт по адресу www.host2.aa должен быть доступен только из нашей внутренней сети (так как это внутренний сайт для корпоративного пользования), а вот сайт www.host1.aa должен быть доступен также и из внешнего мира.
Для этого мы сделаем следующее: в файл /etc/httpd/conf/vhosts/Vhosts.conf добавляем следующие строки:
NameVirtualHost xxx.xxx.xxx.xxx:80
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAdmin admin@host1.aa
DocumentRoot /var/www/www.host1.aa/WebRoot
ServerName www.host1.aa
ServerAlias host1.aa
AddType application/x-httpd-php .php
ErrorLog /var/log/httpd/host1.aa-error_log
CustomLog /var/log/httpd/host1.aa-access_log combined
DirectoryIndex index.html index.php index.htm
AddDefaultCharset KOI8-R
</VirtualHost>
<Directory /var/www/www.host1.aa>
AllowOverride None
Options FollowSymlinks
Allow from all
</Directory>
#############################################
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAdmin admin@host2.aa
DocumentRoot /var/www/www.host2.aa/WebRoot
ServerName www.host2.aa
ServerAlias host2.aa
AddType application/x-httpd-php .php
ErrorLog /var/log/httpd/host2.aa-error_log
CustomLog /var/log/httpd/host2.aa-access_log combined
DirectoryIndex index.html index.php index.htm
AddDefaultCharset KOI8-R
</VirtualHost>
<Directory /var/www/www.host2.aa>
AllowOverride None
Options FollowSymlinks
Order Deny,Allow
Deny from all
Allow from 192.168.1.0/24
#Allow from all
</Directory>
Поясним ниже опции, которые мы использовали в нашем примере настройки:
-
ServerAdmin admin@host2.aa : эта опция определяет email-адрес, который будет появляться в сообщении при ошибках сервера. Иначе говоря, сервер будет предлагать обращаться администратору сервера по этому адресу.
-
DocumentRoot /var/www/www.host1.aa/WebRoot: этим мы определяем корневой каталог для веб-сервера, где лежат на диске файлы вашего сайта.
-
ServerName www.host2.aa: здесь мы указываем имя виртуального хоста, на которое сервер должен отзываться, когда его набирают в браузере.
-
ServerAlias host2.aa: это псевдоним ServerName. Этим мы объясняем, что под именами www.host2.aa и host2.aa будет появляться один и тот же сайт. Таким образом можно перечислить все доменные имена, если их несколько, на которые будет отзываться данный виртуальный хост. Все эти доменные имена должны иметь соответствующую запись в DNS.
-
AddType application/x-httpd-php .php: эта опция включает интерпретатор PHP для документов с расширением .php.
-
ErrorLog /var/log/httpd/host2.aa-error_log: в этот файл пишется журнал ошибок сервера.
-
CustomLog /var/log/httpd/host2.aa-access_log combined: в этот файл пишется журнал о посещениях вашего сайта. combined означает подробный лог. Если мало места на диске, можно использовать простой лог common.
-
DirectoryIndex index.html index.php index.htm: этим мы говорим, что индексными файлами каталогов будут файлы с именами index.html, index.php, index.htm.
-
AddDefaultCharset KOI8-R: этим мы заставляем сервер слать в http заголовке кодировку KOI8-R. Если это не указывать, сервер шлет по умолчанию ISO-8859-1. Чтобы Apache вообще ничего не слал в заголовке, поставьте AddDefaultCharset off. В таком варианте браузер будет руководствоваться тем, что написано в <META> ваших html документов.
-
AllowOverride None: опция запрещает перекрывать настройки общего конфиг-файла файлом .htaccess. Если вы хотите оставить эту возможность, напишите AllowOverride all.
-
Options FollowSymlinks: разрешает использование символических ссылок.
-
Order Deny,Allow: определяет порядок применения правил по запрещению и предоставлению доступа.
-
Deny from all: запрещает доступ к этому виртуальному хосту отовсюду.
-
Allow from 192.168.1.0/24: эта опция разрешает доступ к сайту из сети 192.168.1.0/24.
-
Allow from all: разрешает доступ к нашему виртуальному хосту отовсюду.
Ограничение доступа
Допустим, нам необходимо ограничить доступ в определенный каталог web-сервера по адресу, например http://www.host2.aa/private/. Мы хотим, чтобы туда могли попасть только пользователи из сети 10.10.11.0/24. Этот web-адрес в нашем случае соответствует физическому каталогу на диске /var/www/www.host2.aa/WebRoot/private/. Тогда нам нужно добавить в конфиг-файл такой блок:
<Directory /var/www/www.host2.aa/WebRoot/private>
Order Deny,Allow
Deny from all
Allow from 10.10.11.0/24
</Directory>
Теперь, допустим, нам нужно чтобы при входе на web-адрес http://www.host2.aa/admin/, что соответствует физическому каталогу на диске /var/www/www.host2.aa/WebRoot/admin, сервер запрашивал логин и пароль и пропускал туда только пользователей admin и manager с паролями adminpass и manpass соответственно. Тогда сначала добавляем в конфигурационный файл такой блок:
<Directory /var/www/www.host2.aa/WebRoot/admin>
AuthName "ADMINSTRATOR AREA"
AuthType basic
AuthUserFile "/var/www/www.host2.aa/.htpasswd"
Require valid-user
Allow from All
</Directory>
Затем создаем файл с логинами и паролями /var/www/www.host2.aa/.htpasswd. Для этого выполняем следующую команду:
htpasswd -c /var/www/www.host2.aa/.htpasswd admin
и вводим дважды пароль. Ключик -c говорит о том, что мы создаем новый файл паролей. Соответственно, при добавлении новых пользователей этот ключик использовать нельзя. Теперь добавим второго пользователя:
htpasswd /var/www/www.host2.aa/.htpasswd manager
По запросу дважды вводим пароль (в нашем примере manpass). Перегружаем сервер и проверяем, что теперь при входе на http://www.host2.aa/admin/, сервер запросит логин и пароль.
Внимание: важно, чтобы файл /var/www/www.host2.aa/.htpasswd имел права на чтение для пользователя apache.
Задания:
-
Установить и настроить Apache.
-
Разместить на сервере 2 сайта с разными именами, используя виртуальные хосты.
-
Для каждого сайта создайте простую страничку index.htm (можно просто “Привет!”)
-
Создайте на вашем сервере (на 1-ом сайте) папку admin и в ней файл index.htm, разместите ссылку на него с первой страницы
-
Поставьте пароль на доступ в эту папку (т.е. чтобы посетитель сайта должен был вводить пароль)
-
Разрешить доступ ко 2-му сайту только из локальной сети 192.168.0.1-192.168.0.9
-
…
- Курс 2 – Администрирование
- Оглавление.
- Конфигурирование Windows xp и 2003
- Файловая система ntfs, права доступа.
- Реестр, tweaker’ы.
- Службы.
- Драйверы, directX.
- Raid-массивы, резервное копирование, восстановление файлов.
- Быстрое восстановление системы. ShadowUser, AcronisTrueImage.
- Способы восстановления системы.
- Ускорение работы (оптимизация) Windows.
- Разгон системы, стабильность, тесты.
- Виртуальные машины, vMware.
- Автоматическая установка Windows, ris.
- Контрольная работа №1.
- Локальная сеть
- Какие бывают сети, история.
- Сетевое оборудование.
- Топология сети.
- Сетевые протоколы, уровни протоколов.
- Сеть Ethernet.
- Витая пара, разводка сети.
- Настройка сети, сетевой принтер, общие ресурсы, сетевые диски.
- Доступ в интернет, шлюз.
- Учет трафика, proxy, Traffic Inspector.
- Удаленное управление.
- Удаленное администрирование, Radmin.
- Контрольная работа №2.
- Особенности Windows 2003
- Установка, обновления.
- Консоль управления mmc.
- ActiveDirectory, домены.
- Установка контроллера домена; подразделения.
- Групповая политика
- Публикация приложений, перенаправление.
- Распределенная файловая система dfs.
- Контрольная работа №3.
- Сетевые службы Windows 2003
- Почтовый сервер.
- Файловый сервер, ftp.
- Dhcp-сервер.
- Контрольная работа №4.
- Защита и безопасность
- Антивирус.
- Брэндмауэр, AgnitumOutpostFirewall.
- Pgp, шифрование с открытым ключом, цифровая подпись.
- Проверка устойчивости и взлом паролей, SamInside, BootDisk.
- Клавиатурные шпионы, трояны, sniffer’ы.
- Проверка безопасности сети, Xspider.
- Контрольная работа №5.
- Linux, установка
- Linux, основные программы.
- 1. Почта и Интернет
- 1.1. Браузеры
- 1.2. Почтовые клиенты
- 1.3. Чаты и общение
- 2. Офисные пакеты
- 3. Работа с графикой
- 4. Музыка и видео
- Linux, командная строка, создание пользователей, смена паролей.
- Файловая система ext2fs, структура папок.
- Права доступа, жесткие ссылки.
- Установка приложений, rpm, исходные коды.
- Samba, настройка сети.
- Удалённое управление, ssh.
- Удалённое управление из Windows, Telnet, Putty.
- Dhcp-сервер под Linux.
- Apache-сервер под Linux
- Почтовый сервер под Linux.
- Раздача интернет на локальную сеть.
- Контрольная работа №6.
- Особенности Windows Vista
- Установка и настройка интерфейса.
- Новые версии основных программ.
- Безопасность в Windows Vista.
- Надежность и механизмы восстановления.
- 118 Новосибирск 2006