HTTP-сервер
Apache HTTP-сервер (назван именем группы племён североамериканских индейцев апачей; кроме того, является сокращением от англ. a patchy server; среди русских пользователей общепринято искажённое апа́ч) — свободный веб-сервер.
Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.
Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.
Сервер был написан в начале 1995 года и считается, что его имя восходит к шуточному названию «a patchy» (англ. «заплаточка»), так как он устранял ошибки популярного тогда сервера Всемирной паутины NCSA HTTPd 1.3. В дальнейшем, с версии 2.х, сервер был переписан заново и теперь не содержит кода NCSA. На данный момент разработка ведётся в ветке 2.2, а в версиях 1.3 и 2.0 производятся лишь исправления ошибок безопасности. На текущий момент последняя версия ветки 2.4 — 2.4.3 (21 августа 2012), для первой версии это 1.3.42.
Скопипастил здесь
Исходные данные
192.168.100.1 — IP сервера
server1 — имя данного сервера
Какие есть варианты:
[root@server1 ~] # apt-cache search apache2 |grep apache2-mpm apache2-mpm-itk - multiuser MPM for Apache 2.2 apache2-mpm-event - HTTP-сервер Apache -- событийная модель apache2-mpm-prefork - традиционная беспотоковая модель HTTP-сервера Apache apache2-mpm-worker - простая модель параллельной обработки HTTP-сервера ApacheМне больше нравится первый вариант — apache2-mpm-itk, т.к. позволяет запускать каждый виртуальный хост в рамках отдельного UID и GID -одним словом, скрипты и файлы конфигурации для одного виртуального хоста больше не будут доступны для чтения всем остальным виртуальным доменам…
Установим:
[root@server1 ~] # apt-get install apache2-mpm-itk Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Будут установлены следующие дополнительные пакеты: apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap ssl-cert Предлагаемые пакеты: apache2-doc apache2-suexec apache2-suexec-custom openssl-blacklist НОВЫЕ пакеты, которые будут установлены: apache2-mpm-itk apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap ssl-cert обновлено 0, установлено 9 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено. Необходимо скачать 1 485 kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 5 641 kB. Хотите продолжить [Д/н]? ... ... ... Настраивается пакет apache2-mpm-itk (2.2.22-13) … [ ok ] Starting web server: apache2.Настройки: /etc/apache2/sites-available/ — здесь хранятся (ну по крайней мере должны IMHO) файлы настроек виртуальных хостов. НО! здесь только хранятся, а что бы их включить, достаточно сделать линк на файл в папке /etc/apache2/sites-enabled/
[root@server1 /] # ll /etc/apache2/sites-enabled/ итого 0 lrwxrwxrwx 1 root root 26 Янв 22 21:21 000-default -> ../sites-available/defaultВ качестве примера, создадим виртуальный хост для локального зеркала Debian. Исходные данные
192.168.1.60 — внешний IP
192.168.100.1 — внутренний IP
192.168.100.0/24 — локальная сеть
mydrafts.local — «локальный» домен repo — имя данного сервера
apt — алиас repo.mydrafts.local
[root@server1 /] # cat /etc/apache2/sites-available/aptmirror <VirtualHost *:80> ServerAdmin webmaster@mydrafts.local ServerName repo.mydrafts.local ServerAlias apt.mydrafts.local DocumentRoot /mnt/repo/debian/mirror/ftp.corbina.net <Directory /> Options -Indexes FollowSymLinks AllowOverride None DirectoryIndex aptindex.html </Directory> <Directory /mnt/repo/debian/mirror/ftp.corbina.net/> Options -Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from 192.168.100.0/24 DirectoryIndex aptindex.html </Directory> ErrorLog ${APACHE_LOG_DIR}/aptmirror-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn AssignUserId apt-mirror apt-mirror CustomLog ${APACHE_LOG_DIR}/aptmirror-access.log combined </VirtualHost>Конфигурация для виртуального хоста готова:
AssignUserId apt-mirror apt-mirror — именно эта команда заставит работать виртуальный хост от имени apt-mirror
allow from 192.168.100.0/24 — только для локальной сети
DirectoryIndex aptindex.html — изменит стандартный корневой документ (index.html)
Активируем конфигурацию:
[root@server1 /] # cd /etc/apache2/sites-enabled ln -s ../sites-available/aptmirror 001-aptmirrorиндексный файл:
[root@server1 /] # echo '<!DOCTYPE HTML> <html> <head> <title>APT-Mirror</title> <meta charset="utf-8"> <meta name="GENERATOR" content="nano"> <meta name="ProgId" content="nano editor"> </head> <body> Это папка содержит файлы локального репозитория Дебиан Wheezy <br> This folder contains a local repository Debian Wheezy </body> </html>' > /mnt/repo/debian/mirror/ftp.corbina.net/aptindex.htmlПеречитать изменения:
[root@server1 /] # rndc reload server reload successful [root@server1 /] # service apache2 reload [ ok ] Reloading web server config: apache2.Проверим:
lynx repo.mydrafts.local
APT-MirrorЭто папка содержит файлы локального репозитория Дебиан Wheezy
This folder contains a local repository Debian Wheezy
Команды: стрелки - перемещение, '?' - помощь, 'q' - выход, '<-' - назад.
Стрелки: Вверх, Вниз - перемещение. Вправо - переход по ссылке; Влево - возврат.
H)elp O)ptions P)rint G)o M)Глав экран Q)uit /=поиск [delete]=список истории
Как-то так…
[…] данные: 192.168.100.1 — IP «TFTPd» — сервера (он же сервер HTTP, DHCP, DNS, NTP) 192.168.100.X/24 — IP клиента # 08:00:27:80:e9:99 VB intnet — […]
не работает команда ll
ll /etc/apache2/sites-enabled/
за «ll» прошу прощения, «ls -l»
либо в ~/.bashrc добавьте алиас
alias ll=’ls $LS_OPTIONS -l’
http://habrahabr.ru/sandbox/21382/ тут более полно, если что то мутится с отступлением от обычных правил, то я теряюсь )))
там по ходу пъесы когда я прописал уже индекс, не поднялся апач с ошибками, и непонятно где в вашем конфиге /etc/apache2/sites-available/aptmirror
может конечно я где то накосячил.
поправил. можно копипастить 😉