Debian.pro

Блог для пользователей и администраторов Debian


Debian, Ubuntu, быстро расшариваем файлы по http. thttpd.

Сегодня мы поговорим о web-сервер thttpd. Это один из самых лёгких веб серверов. Он даже умеет раздавать php-cgi, но в рамках данной статьи нам этого не нужно.

Основная наша цель — быстро расшарить какой-либо каталог по http. Займёмся этим:
root@thttpd-host:~# aptitude install thttpd
Теперь на 80м порту у нас болтается http сервер. И доступен по http://ваш_ip_адрес. Укажем каталог, который мы желаем расшарить:
root@thttpd-host:~# thttpd -r -d /home/user/

Работающий от рута httpd это очень плохо. Исправим это:
root@thttpd-host:~# thttpd -r -d /home/user/ -u user

Если у вас есть один домен и вы желаете, чтобы thttpd обслуживал запросы по этому домену, то выполним следующее:
root@thttpd-host:~# thttpd -r -d /home/user/ -u user -h domain.ru
Кстати, вы можете указывать и имя вашего хоста (thttpd-host в данном случае) или ваш домен в .local (thttpd-host.local), если ваша сеть и ДНСы поддерживают данные хостнеймы.

Ну и мегафича для всех, кто паркует домены на свой сервер и хочет поместить для каждого домена свою html заглушку:
root@thttpd-host:~# thttpd -r -d /home/user/ -u user -v
Теперь для «добавления паркинга» для нового домена нам нужно всего лишь выполнить команду:
root@thttpd-host:~# mkdir /home/user/domain.ru
А дальше… а дальше — вы же знаете, как создавать скриптами файл index.html по нужному вам шаблону) ?

То есть при наличии каталогов domain.ru, example.ru и debian.pro в каталоге /home/user thttpd будет отзываться по 3м доменам, направляя пользователей в разные каталоги. Не забывайте, что www.debian.pro и debian.pro с точки зрения веб-сервера (любого!) — это разные домены, до тех пор, пока мы не объясним им, что эти домены — это один сайт.

Ну и напоследок. В убунте есть файл /etc/thttpd/thttpd.conf. Я не проверял его наличие в debian.
В нём есть интересные директивы, например:
port=80
dir=/var/www
chroot
#vhost (или #novhost)
user=www-data

Директивы из этого файла перечитываются при выполнении команды /etc/init.d/thttpd и при рестарте сервера. Будьте внимательны.

UPD: в комментариях указан ещё более быстрый вариант «расшарить папку по http».


Комментарии (2):

  1. selivan :

    Если установлен python(во всех современных дистрибах он есть) и нужно быстро расшарить по http папку:

    $cd /dir
    $python -m SimpleHTTPServer 8000

    Ставить ничего не надо.

  2. О, спасибо)

Написать комментарий