Документация по ОС FreeBSD
Суббота, 29.11.2025, 03:46
Главная
Регистрация
Вход
Приветствую Вас
Гость
|
RSS
Меню сайта
Главная страница
Новости в мире Unix
NEW
Каталог файлов
NEW
Установка и настройка
Ports & Packages
cvs
Безопасность
Работа с железом
X Window
Multimedia
Man pages
Net
Apache
DNS
FTP
Mail
Samba
Squid
SSH
VPN
РРР
Shell
IPFW
Tips'n'tricks
RFC
Книги по FreeBSD
Темы экзамена BSDA
Гостевая книга
Форум на bsdportal.ru
Каталог сайтов
Самый свежий софт
Каталог ссылок
Категории каталога
Apache
[58]
DNS
[25]
FTP
[27]
Mail
[74]
Samba
[24]
Squid
[46]
SSH
[23]
VPN
[35]
РРР
[20]
Net
[173]
Главная
»
Статьи
»
Сеть
»
Apache
Использование thttpd [2004]
Установка thttpd
Шаг #1. Собственно установка:
$ cd /usr/ports/www/thttpd; sudo make install
Шаг #2. Настройка rc.local на запуск thttpd
Для этого в /etc/rc.local добавим следующее (желательно до строки, содержащей `echo '.'', дабы не сбить оригинальное форматирование при выводе):
if [ "X${thttpd_flags}" != X"NO" -a -x /usr/local/sbin/thttpd ]; then
echo -n ' thttpd'; /usr/local/sbin/thttpd ${thttpd_flags}
fi
и соответственно в /etc/rc.conf.local:
thttpd_flags="-C /etc/thttpd.conf"
Таким образом можно управлять загрузкой thttpd с помощью thttpd_flags.
Шаг #3. Конфигурационный файл thttpd
Я хочу схитрить и показать работающую конфигурацию (конечно только ради того, чтобы сберечь Ваше время ;). В данном случае я использую thttpd с /var/www и пользователем www (прошу прощения за каламбур). Таким образом никакого дополнительного дерева директорий и пользователя создавать не придется. Итак, /etc/thttpd.conf:
port=80
dir=/var/www
chroot
data_dir=public_html
user=www
logfile=/var/www/logs/thttpd.log
pidfile=/var/run/thttpd.pid
charset=koi8-r
Параметр data_dir указывает на собственно место расположения HTML страничек -- это может быть и htdocs (как в Apache). Подробнее об опциях можно прочитать в thttpd(8).
Шаг #4. Запуск.
Для проверки можно запустить thttpd не превращая его в демона:
# /usr/local/sbin/thttpd -C /etc/thttpd.conf -D
Если все нормально, то ^C и запустить его нормально:
# /usr/local/sbin/thttpd -C /etc/thttpd.conf
Иcпользование CGI с thttpd
Все очень просто. Во-первых уберем параметр chroot из thttpd.conf, если у Вас конечно CGI программы не написаны на C и слинкованы статически. Во-вторых -- пишем где их искать. Запись
cgipat=/cgi-bin/*
означает, что можно запускать CGI программы из директории полный путь которой складывается из значений параметров dir и data_dir.
Положим, что dir=/var/www, а data_dir=htdocs, тогда поный путь к директории с CGI программами будет /var/www/htdocs/cgi-bin/.
QoS в отдельно взятом HTTP сервере
Первая буква в названии как раз и говорит о том, что (помимо tiny и turbo) этот сервер поддерживает технологию Quality of Service (здесь и далее будем называть это термином throttling).
Идея, положенная в реализацию throttling'а, заключается в дифференцировании скорости передачи объектов по их типу (т.е. типу файла). Таким образом, например для файлов изображений, можно установить максимальную скорость передачи в половину пропускной способности канала, а для HTML файлов, наоборот задать максимальную скорость передачи.
Детально это записывается так (пример для канала Fast Ethernet):
** 12500000 # full
**.jpg|**.gif|**.png 3125000 # quarter
в файл throttle, который указывается в конфигурационном файле (/etc/thttpd.conf) параметром throttles:
throttles=/var/www/conf/throttles
В thttpd(8) это очень понятно расписано (раздел THROTTLING) и дан более развернутый пример.
Реализация виртуального хостинга в thttpd
Как сказано в thttpd(8), поддерживается две разновидности виртуального хостинга: ``IP based'' и ``name based''. Рассмотрим второй вариант.
Первый шаг -- создать записи в DNS:
www.server.com IN A x.y.z.k
sub1.server.com IN CNAME www.server.com
...
Для тех кто тестирует, хватит записи и в /etc/hosts. Далее, нужно в директории, доступной thttpd (скажем /var/www) создать соответствующие директории для кажного sub-домена:
# mkdir /var/www/www.server.com /var/www/sub1.server.com
Ну и наконец дадим знать об этом thttpd. Это достигается добавлением в конфигурационный файл (/etc/thttpd.conf) параметра vhost.
Viola! Это все. Помните, что директории cgi-bin должны быть в каждой директории для виртуального хостинга.
Замечания
1. Пользователям Apache, привыкшим к директиве Indexes может быть не сразу ясно как запретить серверу выдавать листинги директорий. Все решается стандартными правами Unix. Пример (thttpd работает от www.www):
$ ls -dl /var/www/public_html/dir
drwxr-xr-x 2 user daemon 512 Aug 4 22:35 /var/www/public_html/dir
$ chmod 751 /var/www/public_html/dir
drwxr-x--x 2 user daemon 512 Aug 4 22:35 /var/www/public_html/dir
2. Страницы со стандартными ответами (Error 404, например), можно заменить на свои. Для этого создается директория errors, в которую помещаются файлы errXXX.html (к примеру, err404.html).
Источник:
http://www.opennet.ru/base/net/thttpd_openbsd.txt.html
Категория:
Apache
| Добавил:
oleg
(21.01.2008) | Автор:
Mike Belopuhov
Просмотров:
1360
| Рейтинг:
0.0
/
0
|
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Всего комментариев:
0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация
|
Вход
]
Форма входа
Друзья сайта
Google+
Copyright MyCorp © 2025