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


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

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

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

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


2
2018-01-16 09:35


происхождения




ответы:


Моя первая идея - простой сценарий выскочки. /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 МБ ОЗУ и нет наблюдаемого времени процессора. Это безумие.


2
2018-01-16 10:00



это мой ноутбук, обслуживающий только статические файлы для меня и всех в моей сети, поэтому в настоящее время он не предназначен для доступа в Интернет, но вы никогда не сможете быть слишком параноиком, поэтому спасибо за подсказку! - d3vid