Как я могу запускать webfsd при каждой загрузке / входе в систему?

Я использую webfsd , облегченный HTTP-демон, чтобы подавать статический контент в http://localhost:80 следующим образом:

sudo webfsd -R ~/Documents/www/ -p 80 -f index.html

Но я должен запускать это из командной строки каждый время. Я предполагаю, что не могу добавить sudo команды для запуска программ. Итак, как я могу заставить его работать без необходимости каждый раз вызывать его?

(я бы предпочел , чтобы он запускался при загрузке и был доступен без необходимости входа в систему, даже если это означает, что мне нужно переместить местоположение файлов. Но начало, когда я вхожу в систему, является приемлемым призом за второе место. Если это имеет значение, я хотел бы позже поэкспериментировать с HTTPS.)

2
задан 17 January 2014 в 04:10

1 ответ

1116 Моей первой идеей был простой сценарий выскочки. /etc/init/webfs.conf:

description "WebFS server"
start on (local-filesystems and net-device-up)
respawn
exec webfsd -F -p 80 -u d3vid -g d3vid /home/d3vid/Documents/www/ -f index.html

Аргументы -u и -g действительно важны. Они удаляют привилегии root после привязки порта ... Это означает, что нет доступного по сети процесса, работающего от имени root, который можно было бы использовать.

Другая идея - запускать его на высоком порту (> 1024), как вы, автоматически запускать то, что вам нравится ... А затем либо использовать реальный сервер для обратного прокси (nginx - это общий и легкий инструмент) из порта 80 ... или просто используйте перенаправление iptables.

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 10010 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 10010

Преимущество webfs заключается в том, что никогда не запускается от имени root ... Но тогда вам просто нужно будет запускать команды iptable от имени root при каждой загрузке. Качели и карусели.

В целом, если вы не выставляете сервер в интернет напрямую, первый маршрут, вероятно, достаточно безопасен.

Но если вы идете дальше, дамп WebFS и просто используйте nginx ...

  • Он делает все, что делает WebFS (и многое другое)
  • Он прост в использовании
  • Он эффективен без причины
  • Его SSL имеет достойную документацию
  • Самое главное, что многие люди заинтересованы в том, чтобы nginx оставался безопасным, включая Canonical, поэтому вы будете получать обновления для него быстро (критически важно при работе с сетевыми вещами)

Чтобы дать вам некоторое представление о том, что значит эффективный, у меня есть веб-сервер, на котором размещено около 20 доменов, некоторые из них делают довольно серьезный трафик. На четыре рабочих процесса nginx приходится 15 МБ ОЗУ в совокупности и нет видимого процессорного времени. Это безумие.

0
ответ дан 17 January 2014 в 04:10

Другие вопросы по тегам:

Похожие вопросы: