Вопрос или проблема
Я недавно установил Lighttpd на Ubuntu 10.04. Я использовал стандартный конфигурационный файл без изменений и поместил мой контент в /var/www. Я открыл браузер, ввел URL www.myexample.co.uk и контент был доставлен. Отлично!
Мне нужно использовать сервер для размещения более чем одной веб-страницы, поэтому я настроил простой модуль vhost. Я оставил файл конфигурации vhost /etc/lighttpd/conf-enabled/10-simple-vhost.conf почти стандартным:
simple-vhost.server-root = "/var/www"
simple-vhost.document-root = "html"
#simple-vhost.default-host = "www.example.com"
Затем я переместил свой контент из /var/www в /var/www/myexample.co.uk/html/, перезапустил сервер и открыл браузер, чтобы протестировать все.
Теперь я вижу страницу с указанием Index of /, которая затем содержит ссылку на папку с именем myexample.com. Нажав на эту ссылку, я попадаю на Index of /myexample.co.uk, который имеет ссылку на папку с именем html. Нажав на эту ссылку, я получаю свой контент.
Очевидно, это не работает так, как я планировал. Любые идеи были бы очень полезны!
Судя по http://redmine.lighttpd.net/wiki/1/Docs:ModSimpleVhost, вам все равно нужна
simple-vhost.default-host = "example.org"
запись или что-то подобное. Совпадает ли используемое вами имя хоста точно с именем директории?
Можете ли вы сломать файл конфигурации и увидеть, что служба не стартует, чтобы подтвердить, что вы редактируете используемый файл конфигурации?
После некоторых манипуляций мне удалось заставить его работать, установив /etc/lighttpd/conf-enabled/10-simple-vhost.conf следующим образом:
simple-vhost.server-root = "/var/www"
simple-vhost.document-root = "html"
simple-vhost.default-host = "myexample.co.uk"
В основном, мне нужно было установить значение по умолчанию для хоста и избавиться от части www.
- запустите с помощью предоставленного скрипта для ubuntu
sudo lighty-enable-mod simple-vhost
(или lighttpd-enable-mod), благодаря чему вы изменяете свой файл в /etc/lighttpd/lighttpd.conf и перемещаете связанные файлы из /etc/lighttpd/conf-available в папку conf-enabled для включения модуля simple-vhost. - sudo /etc/init.d/lighttpd force-reload
- в папке conf-enabled есть шаблон с именем 10-simple-vhost.conf. Отредактируйте его в соответствии с вашими требованиями.
личные советы:
- Разделите каждую из своих сайтов, создав папку /sites/vhost/www.example.com.
- разместите папки log, www, cgi и т.д. для каждого хоста
-
не забудьте установить эти папки с правильными правами
моя настройка с alpine, lighttpd, php-fpm с виртуальными хостами и ssl,
по умолчанию хост “landing” принимает подключения http на порту 80 и защищенные на порту 443, необходимо создать папку для каждого vhost
предположим, домен mi.dominio.com
/var/www/mi.dominio.com (здесь код )
обратите внимание, что корень сайта – это подпапка public, здесь должны находиться index, css, изображения, которые должны отображаться
/var/www/mi.dominio.com/public/index.php
все запросы обслуживаются через index.php
url.rewrite-if-not-file = (“(.*)” => “/index.php/$0”)
файл: /etc/lighttpd/lighttpd.conf
server.port = 80
var.basedir = "/var/www"
var.logdir = "/var/log/lighttpd"
var.statedir = "/var/lib/lighttpd"
server.modules = (
"mod_rewrite",
"mod_redirect",
"mod_alias",
"mod_access",
"mod_simple_vhost",
"mod_compress",
"mod_accesslog"
)
include "mime-types.conf"
include "mod_fastcgi_fpm.conf"
server.username = "lighttpd"
server.groupname = "lighttpd"
server.document-root = var.basedir + "/"
server.pid-file = "/run/lighttpd.pid"
server.errorlog = var.logdir + "/error.log"
server.indexfiles = ("index.html", "index.php")
server.follow-symlink = "enable"
static-file.exclude-extensions = (".php", ".pl", ".cgi", ".fcgi")
accesslog.filename = var.logdir + "/access.log"
url.access-deny = ("~", ".inc")
url.rewrite-if-not-file = ("(.*)" => "/index.php/$0")
simple-vhost.server-root = var.basedir
simple-vhost.default-host = "landing"
simple-vhost.document-root = "public"
server.modules += ("mod_openssl")
$SERVER["socket"] == "0.0.0.0:443" {
ssl.engine = "enable"
ssl.pemfile= "/etc/ssl/private/jA.cert.bundle.pem"
}
Ответ или решение
Настройка простых виртуальных хостов (vhost) на Lighttpd
Настройка виртуальных хостов на веб-сервере Lighttpd является важным шагом для организации многопользовательских веб-страниц на одном сервере. В данном руководстве мы рассмотрим, как правильно настроить виртуальные хосты на Lighttpd на базе Ubuntu 10.04.
Шаг 1: Установка Lighttpd
Если вы ещё не установили Lighttpd, вы можете сделать это с помощью команды:
sudo apt-get update
sudo apt-get install lighttpd
После успешной установки проверьте работу сервера, введя в браузере ваш доменный адрес. Например, http://www.myexample.co.uk
. Если все работает правильно, вы увидите содержимое вашей папки /var/www
.
Шаг 2: Конфигурация простых виртуальных хостов
Для настройки простых виртуальных хостов вам необходимо внести изменения в конфигурационный файл /etc/lighttpd/conf-enabled/10-simple-vhost.conf
. Начальная конфигурация, вероятно, будет выглядеть так:
simple-vhost.server-root = "/var/www"
simple-vhost.document-root = "html"
#simple-vhost.default-host = "www.example.com"
Изменения, которые необходимо внести:
- Убедитесь, что у вас есть папка для вашего домена. Структура директорий должна быть следующей:
/var/www/myexample.co.uk/html/
- Добавьте строку для задания значения по умолчанию для вашего виртуального хоста. Ваша конфигурация должна выглядеть так:
simple-vhost.server-root = "/var/www"
simple-vhost.document-root = "html"
simple-vhost.default-host = "myexample.co.uk"
Значение simple-vhost.default-host
указывает, какой хост будет использован по умолчанию, если для запрашиваемого домена нет соответствующей папки.
Шаг 3: Перезапуск Lighttpd
После внесения изменений в конфигурацию необходимо перезапустить сервер для применения новых настроек:
sudo /etc/init.d/lighttpd force-reload
Шаг 4: Проверка работы
Откройте веб-браузер и введите ваш домен: http://myexample.co.uk
. Если все настроено правильно, вы должны увидеть содержимое вашей папки /var/www/myexample.co.uk/html/
.
Рекомендации по организации структуры
- Разделение контента: Рекомендуется создать отдельные папки для каждого сайта. Например:
/var/www/sites/myexample.co.uk/html/
Это позволит поддерживать порядок и облегчить управление.
-
Настройка прав доступа: Убедитесь, что все папки имеют правильные права доступа, чтобы веб-сервер мог их обслуживать. Используйте команды
chown
иchmod
для установки нужных прав. -
Логи и отладка: Следите за логами веб-сервера для выявления возможных ошибок. Логи находятся по умолчанию в
/var/log/lighttpd/
.
Заключение
Настройка простых виртуальных хостов (vhosts) в Lighttpd — это отличный способ организовать и управлять несколькими веб-сайтами с одного сервера. Следуя вышеизложенным шагам и рекомендациям, вы сможете успешно настроить необходимые параметры и гарантировать правильную работу каждого из ваших веб-сайтов.