Настраиваем простой веб-сервер на базе lighttpd.

| Комментариев: 15
webserver-lighttpd-000.jpg
Мы часто используем lighttpd в качестве встроенного веб-сервера для различных служб (например веб-панелей и т.п.), в то же время многим нашим читателям нужен простой и легкий веб-сервер для размещения своих внутрисетевых ресурсов. Сегодня мы расскажем как сделать такой сервер на базе lighttpd. 
Для придания законченности материалу мы будем рассматривать установку веб-сервера с нуля на отдельную машину, в тоже время ничто не мешает использовать уже существующие инсталляции lighttpd, в таком случае ряд компонентов уже будет у вас установлен и ряд действий описанных в данной статье можно будет пропустить.

Мы развернули в нашей тестовой лаборатории следующую схему:

webserver-lighttpd-001.jpg

  • Роутер, настройка которого описана в данной статье, имеет IP-адрес 10.0.0.1.
  • Веб-сервер, настройкой которого мы займемся, имеет IP-адрес 10.0.0.145
  • Рабочие станции, получают сетевые настройки автоматически.
Наша задача: развернуть на веб-сервере внутренний ресурс по адресу http://site.local и сделать возможным использование для него любых современных движков (например Joomla). В качестве операционной системы сервера будем использовать Ubuntu 10.04.3 x64 со всеми последними обновлениями.

Прежде всего установим необходимые для администрирования пакеты mc и OpenSSH:

sudo apt-get install mc ssh
Теперь мы можем задвинуть сервер на полку в серверной и производить все операции с ним удаленно через SSH, например используя PuTTY.

Прежде всего установим сам веб-сервер:

sudo apt-get install lighttpd
После установки он сразу готов к работе, в чем можно убедиться набрав в браузере IP-адрес нашего сервера. Вы должны увидеть стандартную страницу-заглушку сервера:

webserver-lighttpd-002.jpg
Это хорошо, но нам нужно чтобы пользователи могли обращаться к сайту набирая его имя. Для этого в /etc/lighttpd/lighttpd.conf добавим следующую секцию:

$HTTP["host"] == "site.local" {
server.document-root = "/var/www/ " }
Которая описывает наш хост и задает для него корневую директорию, так как мы собираемся размещать один сайт, то мы указали для него директорию используемую веб-сервером по умолчанию, т.е. /var/www. Подобным образом мы можем разместить на сервере несколько сайтов, указав для каждого свою корневую директорию, например /var/www/site.local и /var/www/site1.local. Перезапустим веб-сервер:

sudo service lighttpd restart
Осталось только сообщить компьютерам нашей сети, что сайт site.local обслуживается нашим веб-сервером по адресу 10.0.0.145, это можно сделать прописав соответствующие строки в файле hosts на каждой рабочей станции, но лучше сделать это централизованно. Так как у нас в сети развернут кеширующий DNS (Dnsmasq) будет глупо не воспользоваться его возможностями. Для этого на роутере в конфигурационном файле /etc/dnsmasq.conf добавим следующие строки:

address=/site.local/10.0.0.145
Перезапустим Dnsmasq:

sudo service dnsmasq  restart
Если теперь мы наберем в браузере site.local, то также увидим страницу-заглушку веб-сервера.

Теперь на нашем сервере можно размещать свои веб-странички, но как это сделать? Обычно на хостингах для доступа к содержимому сайтов используют FTP, в нашем случае мы не видим смысла использовать дополнительный сервис, так как установленный OpenSSH сервер дает возможность передачи файлов по защищенному протоколу SFTP. Никаких дополнительных настроек для этого не потребуется, достаточно в любом поддерживающем SFTP клиенте (например FileZilla) указать имя хоста, логин и пароль (вашего пользователя на веб-сервере) и порт подключения 22 или sftp://site.local в имени хоста.

webserver-lighttpd-003.jpg
Создадим в блокноте проверочную HTML страницу и сохранив ее под именем index.html разместим в папке /var/www нашего сервера (не забудьте установить права 777 на /var/www):

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Site.local Тестовая страница</title>
</head>
<body>
<h2>Site Local </h2>
<h3> Тестовая страница.</h3>
<p> Если вы можете прочитать этот текст, значит ваш веб-сервер работает и настроен правильно. </p>
</body>
Если все сделано правильно, то набрав адрес сайта вы должны увидеть вместо заглушки нашу страничку:

webserver-lighttpd-004.jpg
Современные веб-технологии предусматривают широкое использование т.н. "движков", для поддержки которых требуются PHP и MySQL, поэтому самое время добавить их к нашему серверу. Сначала установим PHP:

sudo apt-get install php5-cgi
Затем в /etc/php5/cgi/php.ini найдем и раскомментируем следующую строку:

cgi.fix_pathinfo = 1 
Теперь включим поддержку PHP в lighttpd:

sudo lighttpd-enable-mod fastcgi
Перезапустим веб-сервер:

sudo service lighttpd restart
Для проверки создадим в блокноте файл следующего содержания:

<?php
phpinfo();
?>
И сохранив его как test.php разместим в /var/www нашего сервера, затем наберем в браузере http://site.local/test.php после чего вы увидите стандартную страницу с информацией о РНР:

webserver-lighttpd-005.jpg
Следующим шагом установим сервер баз данных MySQL и модуль PHP для работы с ним:

sudo apt-get install mysql-server php5-mysql
По умолчанию MySQL сервер использует кодировку latin1, в то время как большинство современных движков работают в UTF-8. Поэтому откроем /etc/mysql/my.cnf и добавим в секции [client] и [mysqld] следующие строки:

[client]
default-character-set=utf8

[mysqld]
character_set_server=utf8
collation_server=utf8_unicode_ci
Перезапустим MySQL:

service mysql  restart
Для удобного управления СУБД установим пакет phpMyAdmin:

sudo apt-get install phpmyadmin
В процессе установки не забудьте указать используемый вами веб-сервер, в нашем случае lighttpd, инсталлятор сам произведет все требуемые настройки. 

webserver-lighttpd-006.jpg
Набрав в браузере http://site.local/phpmyadmin вы окажетесь на страничке входа данной утилиты, для авторизации используйте имя пользователя root и пароль указанный на этапе установки MySQL. В данном случае не стоит путать пользователя root c одноименным системным пользователем, в данном случае речь идет о суперпользователе СУБД.

webserver-lighttpd-007.jpg

В заключение установим на наш сервер популярный движок Joomla. Для этого скачаем с официального сайта необходимые пакеты, разместим файлы движка в /var/www (предварительно удалив все содержимое папки) и установив необходимые права на папки и файлы (см. инструкции к движку) начнем установку просто набрав в браузере адрес сайта. Никаких сложностей на этом этапе возникнуть не должно. После установки в первую очередь устанавливаем языковой пакет и в нашем распоряжении полноценный сайт, можем переходить к его наполнению и оформлению:

webserver-lighttpd-009.jpg
Вот так, менее чем за полчаса времени, в вашем распоряжении может оказаться простой веб-сервер поддерживающий все современные технологии.

 

Комментариев: 15

Спасибо, оперативно

а как сделать, чтобы по запросу site1.local выходил этот сай, а то он выходит по запросу site.local/site1.local

SeMaKiN помоему вы накрутили с каталогами, отсюда несоответсвие адресов.

вроде все по инструкции делал. в dnsmasq прописываем только один адрес с именем? а как со вторым быть?

Скажите какой программой вы графические схемы рисуете.

А возможна ли установка этого веб-сервера на компьютер, где уже установлен Опенфайр (по вашей статье)? т.е. уже установлен скуль, но для апача... и какие возможны проблемы/решения?

Здравствуйте уважаемый Уваров С.А.!

Благополучно настроив сервер по Вашему мануалу, задался второй задачей: развернуть на нем систему учета заявок. При установке оной на сервер, доступ к системе получаю через веб. Соответственно дальше логинюсь и работаю с функционалом. Это в ЛВС головного офиса. Но! Мне необходимо, чтобы из нескольких филиалов сотрудники также могли подключиться через веб к внутреннему сайту (у меня нет необходимости делать сайт общедоступным). Как Вы считаете - указанную здесь методику я могу использовать? Если "нет", то каким образом мне лучше это организовать? Заранее благодарен.

Я хочу использовать настроенный прокси, параллельно еще и как сервер обработки заявок. Развернуть на нем OTRS. Каким образом обеспечить доступ к системе сотрудникам из филиалов? Прокси смотрит одним сетевым интерфейсом в инет, вторым - в локалку. Если сотрудник филиала выйдет в инет, наберет в браузере адрес системы - ну явно же он доступ к веб-интерфейсу для подачи заявок не получит. Я об этом.

Увапов С.А. большое спасибо за подробные мануалы без лишней нагрузки (если можно так выразиться). Сегодня поднял прокси по вашей инструкции, хочу спросить вот что: на сервере (так получилось) стоит 4 интерфейса. 2 под прокси 2 свободны. Могу ли я посадить на этот прокси на третий интерфейс еще и веб сервер по вышеуказанной инструкции.Спасибо.

Комментировать

Подписка на блог

Подпишись  на обновление блога по RSS Мы в Твиттере

 

Архивы по месяцам

Реклама

Статистика

Работает на  Movable Type 5.12

 

Яндекс.Метрика

География

free counters

Об этой записи

Сообщение опубликовано 24.12.2011 19:41. Автор — Уваров А.С..

Предыдущая запись — 1С Предприятие 8.2 ошибка в модуле gdiplus.dll

Следующая запись — Усовершенствованный сервер сетевой установки для Ubuntu.

Смотрите новые записи на главной странице или загляните в архив, где есть ссылки на все сообщения.