Сегодня мы поговорим о 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».
Если установлен python(во всех современных дистрибах он есть) и нужно быстро расшарить по http папку:
$cd /dir
$python -m SimpleHTTPServer 8000
Ставить ничего не надо.
О, спасибо)
Для python3: $python -m http.server port
cd /home/www
php -S localhost:8000 -t ./
————
PHP тоже может
Тогда уже python -m SimpleHTTPServer 8000 =)
Python стоит на хосте с большей вероятностью.
Тогда уже python -m SimpleHTTPServer 8000 =)
Python стоит на хосте с большей вероятностью.