Мне все-таки удалось собрать на , но об этом чуть ниже, сейчас к вопросу поставленному в заголовке.
Имея дома компьютер раздающий интернет иногда возникает необходимость иметь к нему доступ извне, и конечно же не только по SSH. У меня такая необходимость обусловлена необходимостью лазить в web-интерфейс «биллинга» и иногда в phpMyAdmin, находясь при этом вне дома.
Имеющийся в комплекте , к превеликому сожалению, слегка подглюкивает, теряет модули при перезапуске, как следствие падает при ротации логов и т.п., может быть, конечно, что я просто не умею его готовить, но от его использования я решил отказаться. Естественно выбор пал на уже опробованный мной в условиях приближенных к боевым , имеющийся к тому же среди доступных пакетов.
Допустим, что из интернета сервер откликается на имя homenet.domain.com, а из локальной сети допустим на gate.homenet.
Для работы phpMyadmin и биллинга я предлагаю создать поддомены myadmin.homenet, billing.homenet — внутри и myadmin.homenet.domain.com, billing.homenet.domain.com — снаружи. В этом случае нам потребуется в конфигурации lighttpd описать только два виртуальных хоста, примерно вот так:
###### my vhosts
$HTTP["host"] =~ «myadmin\.homenet(.*)$» {
server.document-root = «/var/www/phpMyAdmin»
fastcgi.server = ( «..php» =>
(( «socket» => «/var//php-fpm//php-fpm.sock»,
«bin-copy-environment» => (
«HOSTNAME», «PATH», «TMP», «TMPDIR», «TE
MP», «OSTYPE», «MACHTYPE», «MALLOC_CHECK_» ),
«broken-scriptfilename» => «enable»
))
)
}
Аналогично для биллинга.
Естественно что для работы нужен php. Мне как я уже говорил удалось заставить работать php-fpm. Из портов не собирается, сильно там php пропатченый, пришлось собирать руками, и ставить в отдельную директорию. Однако и тут тоже не все так просто и методом проб и ошибок я выяснил что iconv и gettext надо собирать static, иначе не собирается.
В общем строка для конфигурирования выглядит так (я ставлю в /usr/local//php)
./configure --prefix=/usr/local//php --disable-cli --with-regex==php --with-layout=GNU \
--disable-all --enable-libxml --with-libxml-dir=/usr/local --enable-reflection \
--disable-ipv6 --with-config-file-scan-dir=/usr/local/etc//php --enable-fastcgi \
--enable-fpm --with-fpm-conf=/usr/local//php/php-fpm.conf \
--with-fpm-log=/var/log//php-fpm.log --with-fpm-pid=/var/run//php-fpm.pid \
--with-iconv=/usr/local --with-gettext=/usr/local --with-pcre-regex
Все собралось и вполне себе работает. За примерами конфигурации отправляю ищущих к моей на эту тему.
Естественно стоит так же позаботиться и о контроле доступа снаружи к 80 порту, но это уже на личное усмотрение каждого.