unix 2016-08-28 08-04-29
Установка мини www-серверов micro_httpd, mini_httpd и thttpd
Оригинал: http://baybox.narod.ru/linux/httpdemon.html
Маленький, простой, быстрый, безопасный HTTP-сервер
HTTP-сервера из лаборатории 'ACME' для UNIX платформ
* супер маленький сервер micro_httpd
* быстрый демон mini_httpd для среднего сервера
* быстрый и безопасный демон thttpd для больших серверов
Супер маленький www-сервер micro_httpd
Общая информация
Micro_httpd - очень маленький, написанный для Unix, HTTP-сервер. Он
запускается от inetd, что означает, что его скорость не рекордная, но
для сетей с низким траффиком, это весьма адекватно. Micro_httpd может
использоваться для обслуживания HTTPS запросов. Сервер обеспечивает
все основные особенности HTTP, включая:
* Security against ".." filename snooping.
* The common MIME types.
* Trailing-slash redirection.
* index.html
* Directory listings.
Согласитесь что для сервера домашней сети или локальной сети
небольшого предприятия не нужны монстры типа apatch, boa или даже
thttpd, здесь вполне уместно использовать небольшой и простой
www-сервер. На мой взгляд micro_httpd - лучший в своем классе!
Скачивание
Домашняя страничка авторов этого сервера и других замечательных
программ называется http://www.acme.com. Непосредственно сам сервер
находится на http://www.acme.com/software/micro_httpd . Забрать его от туда
очень легко, так как архив занимает всего 5кб!
Установка
1. Распаковываем полученный архив tar xvzf micro_http.tar.gz, заходим
в появившуюся директорию cd micro_httpd и даём команды для компиляции
make ; make install .
2. Теперь заходим в файл /etc/inetd.conf и добавляем стороку:
micro_httpd stream tcp nowait nobody /usr/local/sbin/micro_httpd
micro_httpd /home/www
/home/www - ваша директория с *.html файлами.
3. Далее открываем файл /ets/services и дописываем в него строку:
micro_httpd 8000/tcp # www server micro_httpd.
4. Теперь перезагружаем ПК и проверяем работу сервера командой
lynx localhost:8000.
Настройка
Настройка может заключаться в поддержке необходимой русской кодировки,
для этого в файле micro_thhpd.c в строках 164, 166, 193 устанавливаем
вместо значения по умолчанию 1251 или koi8-r.
Использование
Отчёты о запросах будут записываться в файл /var/log/messages. Ваш
сервер всегда готов ответить на запрос поступивший на 8000 порт. В
исходном состоянии оперативная память не используется. У меня
micro_httpd отлично работает на небольшом сервере 486DX2-66мгц,
ram_16mb с linux slackware 8.1.
Mini_httpd - маленький HTTP-сервер
Его предназначение - работа в сетях с низким или средним траффиком.
Его можно сконфигурировать для поддержки SSL/HTTPS и IPV6, также
программа поддерживает все основные особенности любого HTTP-сервера,
включая:
* GET, HEAD, and POST methods.
* CGI.
* Basic authentication.
* Security against ".." filename snooping.
* The common MIME types.
* Trailing-slash redirection.
* index.html, index.htm, index.cgi
* Directory listings.
* Multihoming / virtual hosting.
* Standard logging.
* Custom error pages.
Mini_httpd был написан по двум причинам. Первое - для экспериментов,
чтобы видеть как медленно (в самом деле) работают старые сервера в
сети. Действительно, тесты на FreeBSD 3.2 с mini_httpd показали что он
всего на 10% медленнее чем Apache. Другая причина при написании
mini_httpd состояла в том, чтобы получить простую платформу для
экспериментирования с новыми сетевыми технологиями, например SSL и
т.д.
Скачать программу можно по адресу http://www.acme.com/software/mini_httpd
Архив с исходниками занимает всего 40кб.
Для распаковки и установки полученного архива используем tar, затем
заходим в появившуюся директорию. Набираем команды для компиляции make
затем make install. В директориях появятся файлы:
/usr/local/sbin/mini_httpd
/usr/local/sbin/htpasswd
/usr/local/man/man8/mini_httpd.8
/usr/local/man/man1/htpasswd.1
Для автоматического старта www-сервера, при загрузке linux, создаём
запускающий файл /etc/rc.d/rc.httpd примерно такого содержания:
#!/bin/bash
#
/usr/local/sbin/mini_httpd -p 80 -u nobody -d /home/www/ \
-l /var/log/mini_httpd.log -T 1251 \
2>>/var/log/mini_httpd_err.log \
>>/var/log/mini_httpd_stdout.log
#
Можно создать любой другой запускающий файл такого содержания и
запускать www-сервер вручную, при необходимости:
mini_httpd -p 8000 -d /home/http/ -l /var/log/mini_httpd.log -T 1251
Если ваши документы написаны в KOI8, пишем -T koi8-r. Если у вас уже
стоит основной www-сервер на 80 порту, то используем другой, например:
-p 8080. Ключик -d определяет директорию со стартовым файлом
index.html, а ключик -l файл в который будет записываться лог. При
наличии вопросов, пишем man mini_httpd или mini_httpd --help.
THTTPD - простой, маленький, портативный, быстрый и безопасный HTTP-сервер
Общая информация
Простой :
При работе он использует только минимум ресурсов, необходимых для
поддержки HTTP/1.1. Хорошо, возможно немного больше чем минимум. hi.
Маленький :
Смотрите диаграмму сравнения (http://www.acme.com/software/thttpd/benchmarks.html).
Он также имеет очень небольшое время выполнения команды и очень осторожен
при распределении памяти.
Портативный :
Программа легко компилируется на большом количестве Unix-подобных OS,
проверено на FreeBSD, SunOS 4, Solaris 2, BSD/OS, Linux, OSF.
Быстрый :
В типичном использовании thttpd работает с такой же скоростью как
другие лучшие сервера (Apache, NCSA, Netscape). При очень большой
нагрузке thttpd работает намного быстрее!
Безопасный :
Программа хорошо защищена от нападений и зависаний при работе в сети.
Также реализована очень полезная возможность URL-traffic-based
throttling которой нет ни в одном другом сервере. Также поддеживается
IPV6 без каких либо дополнительных исправлений или опций.
Для того чтобы больше узнать об этом сервере пойдите на страницу
авторов (http://www.acme.com/software/) и почитайте там полную документацию.
Для самых нетерпеливых, привожу простой способ установки сервера.
Установка и настройка
1. Бежим на домашнюю страницу thttpd (http://www.acme.com/software/thttpd/),
скачиваем последнюю версию. Раскрываем архив и набираем ./configure
затем make и далее make install.
2. При запуске из коммандной строки нужно определить основные
параметры:
thttpd -d /usr/local/www -l /var/log/thttpd.log -T koi8-r
Если ваша страничка написана в Windows кодировке, тогда ставите -T 1251
3. Для больших подробностей смотрите также: man thttpd. Стартовую
страницу можно скомпилировать прямо в тело программы, тогда директорию
для html файлов можно вообще не определять, все изменения делайте в
файле config.h перед компиляцией программы.
Micro http://foto.prg.in.ua/md/dat/2016/2016-08-28_08-03-32_micro_httpd_14Aug2014.tar.gz
Mini http://foto.prg.in.ua/md/dat/2016/2016-08-28_08-03-43_mini_httpd-1.25.tar.gz
TH http://foto.prg.in.ua/md/dat/2016/2016-08-28_08-03-50_thttpd-2.27.tar.gz