Настройка простого vhost на lighttpd

Вопрос или проблема

Я недавно установил 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"
Изменения, которые необходимо внести:
  1. Убедитесь, что у вас есть папка для вашего домена. Структура директорий должна быть следующей:
/var/www/myexample.co.uk/html/
  1. Добавьте строку для задания значения по умолчанию для вашего виртуального хоста. Ваша конфигурация должна выглядеть так:
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/.

Рекомендации по организации структуры

  1. Разделение контента: Рекомендуется создать отдельные папки для каждого сайта. Например:
/var/www/sites/myexample.co.uk/html/

Это позволит поддерживать порядок и облегчить управление.

  1. Настройка прав доступа: Убедитесь, что все папки имеют правильные права доступа, чтобы веб-сервер мог их обслуживать. Используйте команды chown и chmod для установки нужных прав.

  2. Логи и отладка: Следите за логами веб-сервера для выявления возможных ошибок. Логи находятся по умолчанию в /var/log/lighttpd/.

Заключение

Настройка простых виртуальных хостов (vhosts) в Lighttpd — это отличный способ организовать и управлять несколькими веб-сайтами с одного сервера. Следуя вышеизложенным шагам и рекомендациям, вы сможете успешно настроить необходимые параметры и гарантировать правильную работу каждого из ваших веб-сайтов.

Оцените материал
Добавить комментарий

Капча загружается...