<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF125%3ALighttpd</id>
		<title>LXF125:Lighttpd - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF125%3ALighttpd"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF125:Lighttpd&amp;action=history"/>
		<updated>2026-05-13T07:23:12Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF125:Lighttpd&amp;diff=11244&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF125:Lighttpd&amp;diff=11244&amp;oldid=prev"/>
				<updated>2010-12-01T12:26:20Z</updated>
		
		<summary type="html">&lt;p&gt;викификация, оформление&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Обслуживаем страницы с ''Lighttpd''==&lt;br /&gt;
&lt;br /&gt;
: ''Lighttpd'' – быстрая и легкая альтернатива ''Apache'', нацеленная на сайты с большим трафиком. '''Джульетта Кемп''' покажет, что настроить его – раз плюнуть.&lt;br /&gt;
&lt;br /&gt;
''Apache'' сейчас стал стандартным web-сервером для большинства пользователей Linux, и это превосходный продукт. Но для некоторых весьма и весьма быстрых сайтов с высокой загрузкой он может отставать от идеала. Специально для них разработан ''Lighttpd'' – сервер, занимающий минимум памяти и работающий на максимуме скорости. Он особенно хорош для обслуживания статического контента, отлично масштабируется на несколько серверов и ладит с ''FastCGI'' (вы можете настроить ''Lighttpd'' в качестве оболочки для использования массива серверов ''FastCGI''). Кроме того, как мы покажем на данном уроке, его легко настроить. Даже если ваш сайт не гонится за скоростью ''Lighttpd'', поработать с ним приятно – он даже настраивается быстрее ''Apache''!&lt;br /&gt;
&lt;br /&gt;
Как обычно, если вы желаете иметь самую свежую версию (1.4.24), загрузите исходные тексты с сайта проекта (http://www.lighttpd.net). Однако почти всегда лучше будет использовать пакет, имеющийся в дистрибутиве (поскольку это вариант с оптимальной поддержкой для длительного применения). В Debian/Ubuntu пакет называется ''Lighttpd'' (в Debian Lenny и Ubuntu 9.04 используется версия 1.4.19, что не очень и далеко от основного релиза проекта); доступен он и в виде RPM.&lt;br /&gt;
&lt;br /&gt;
Если у вас нет другого web-сервера, работающего по порту 80 (см. врезку, если есть), то стандартные настройки, созданные при установке пакета, позволят вам запустить сервер немедленно командой&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/lighttpd start. &lt;br /&gt;
&lt;br /&gt;
Если на время настройки вы хотите запустить его в режиме отладки (чтобы он находился в терминале и выводил служебные сообщения прямо на экран), скомандуйте ''lighttpd -D -f /etc/lighttpd/lighttpd.conf''.&lt;br /&gt;
&lt;br /&gt;
Перейдите на http://localhost, и перед вам предстанет базовая страница-заглушка (вид ее зависит от выбранного пакета). Базовая стандартная настройка, создаваемая при установке, выглядит как-то так:&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Меняем порт|Содержание=Желаете протестировать ''Lighttpd'' совместно с существующим web-сервером ''Apache'' (или другим)? Измените строку '''server.port''' в '''/etc/lighttpd/lighttpd.conf''' на&lt;br /&gt;
&lt;br /&gt;
 server.port = 81&lt;br /&gt;
&lt;br /&gt;
(начальную страницу придется сохранить в '''index.lighttpd.html''', потому что в каталоге '''/var/www''' уже есть '''index.html''' от ''Apache''). Кроме того, заметьте, что сервер работает на порту '''81'''. Перезапустите ''Lighttpd'' командой ''/etc/init.d/lighttpd restart'' и проверьте: http://localhost:81.|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
 # В вашем файле с настройками может быть больше строк, причем в другом порядке: это нормально!&lt;br /&gt;
 server.modules = (&lt;br /&gt;
  “mod_access”,&lt;br /&gt;
  “mod_alias”,&lt;br /&gt;
  “mod_accesslog”,&lt;br /&gt;
  “mod_compress”,&lt;br /&gt;
 )&lt;br /&gt;
 server.document-root = “/var/www/”&lt;br /&gt;
 server.port = 80&lt;br /&gt;
 server.errorlog = “/var/log/lighttpd/error.log”&lt;br /&gt;
 accesslog.filename = “/var/log/lighttpd/access.log”&lt;br /&gt;
 index-file.names = ( “index.php”, “index.html”,&lt;br /&gt;
 “index.htm”, “default.htm”,&lt;br /&gt;
 “index.lighttpd.html” )&lt;br /&gt;
 url.access-deny = ( “~”, “.inc” )&lt;br /&gt;
 static-file.exclude-extensions = ( “.php”, “.pl”, “.fcgi” )&lt;br /&gt;
 include_shell “/usr/share/lighttpd/create-mime.assign.pl”&lt;br /&gt;
&lt;br /&gt;
Здесь все должно быть понятно! Представлено немножко модулей, включенных по умолчанию, настроены журналы (журнал доступа требует строки для модуля '''mod_accesslog''' в разделе '''server.modules'''), а также настроены имена индексных файлов (тех, которые отображаются при запросе http://пример.com/каталог/).&lt;br /&gt;
&lt;br /&gt;
Параметр '''url.access-deny''' устанавливает, какие файлы вообще не должны обрабатываться: здесь это лишь файлы с суффиксом '''~ '''(обычно так помечаются резервные копии, и вы вряд ли захотите, чтобы старые данные были доступны из Интернета), а также файлы '''.inc''', являющиеся исходными текстами для генерации динамического содержимого. Заметим, что в данный момент наш web-сервер не работает с динамическим содержимым, поскольку нет подключенных и настроенных модулей; но даже после их настройки вам незачем выкатывать исходные тексты на всеобщее обозрение, поскольку это может вызвать проблемы с безопасностью.&lt;br /&gt;
&lt;br /&gt;
Debian создает MIME-типы при помощи скрипта, который включен (и запускается) в строке '''include_shell'''; в других случаях вы можете указать их вручную (добавьте и другие строки, если хотите!):&lt;br /&gt;
&lt;br /&gt;
 # Замените строку include_shell этими строками&lt;br /&gt;
 mimetype.assign = (&lt;br /&gt;
  “.html” =&amp;gt; “text/html”,&lt;br /&gt;
  “.txt” =&amp;gt; “text/plain”,&lt;br /&gt;
  “.jpg” =&amp;gt; “image/jpeg”,&lt;br /&gt;
  “.png” =&amp;gt; “image/png”&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
Чтобы протестировать настройки перед стартом сервера, будет неплохо воспользоваться командой&lt;br /&gt;
&lt;br /&gt;
 lighttpd -t -f /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
Еще одно действие, которое не мешает выполнить заранее – создание пользовательских каталогов. Все просто:&lt;br /&gt;
&lt;br /&gt;
 lighty-enable-mod userdir&lt;br /&gt;
 /etc/init.d/lighttpd force-reload&lt;br /&gt;
&lt;br /&gt;
===''PHP'' и ''FastCGI''===&lt;br /&gt;
&lt;br /&gt;
Сейчас ваш web-сервер работает только со статическим содержимым – и для этого ''Lighttpd'' особенно хорош. Есть даже крупные сайты, которые применяют его для своего статического содержимого, а для динамического берут альтернативу, потому что обслуживание статичных файлов куда проще. Однако ''Lighttpd'' отлично справляется и с динамическим содержимым, особенно по протоколу ''FastCGI'', который предоставляет интерфейс между вашим web-сервером и внешними приложениями – он очень похож на CGI, но лучше масштабируется. ''FastCGI'' не зависит от платформы, поэтому любое ''FastCGI''-приложение, уже установленное и настроенное в ''Apache'' или другом web-сервере, прекрасно заработает и в ''Lighttpd. FastCGI'' предназначен для борьбы с рядом ограничений производительности CGI, а ''Lighttpd'' улучшает его еще больше, делая внутреннюю нагрузку ''FastCGI'' сбалансированной, что увеличивает производительность по сравнению с ''Apache'' и '''mod_php'''.&lt;br /&gt;
&lt;br /&gt;
Для настройки этого в вашем новом ''lighttpd''-сервере необходим '''mod_fastcgi'''. Он должен находиться в '''/etc/lighttpd/mods-available/'''. Чтобы подключить его, воспользуйтесь&lt;br /&gt;
&lt;br /&gt;
 # /usr/sbin/lighty-enable-mod&lt;br /&gt;
 # /etc/init.d/lighttpd force-reload&lt;br /&gt;
&lt;br /&gt;
Скрипт '''lighty-enable-mod''' выдаст вам список доступных модулей и спросит, какие из них включить; после этого вы перезапустите сервер, чтобы применить изменения.&lt;br /&gt;
&lt;br /&gt;
Мы рассматриваем запуск ''FastCGI'' с ''PHP'' (как и CGI, он не зависит от языка, поэтому вы можете использовать ''Perl'' или чтото еще). Тогда потребуется также добавить '''PHP5-CGI''', если он у вас уже не установлен (в Debian Lenny и Ubuntu, это пакет '''php5-cgi''').&lt;br /&gt;
&lt;br /&gt;
Для настройки '''php5-cgi''' необходимо подправить файл '''/etc/php5/cgi/php.ini''', добавив в его конец следующую строку:&lt;br /&gt;
&lt;br /&gt;
 cgi.fix_pathinfo = 1&lt;br /&gt;
&lt;br /&gt;
Перезапустите сервер, и все готово: вы настроили ''Lighttpd'' для поддержки ''PHP'' через ''FastCGI''! (К сожалению, пока что нет модуля, который писал бы за вас на ''PHP''…)&lt;br /&gt;
&lt;br /&gt;
===Настройка SSL===&lt;br /&gt;
&lt;br /&gt;
Другой полезной настройкой web-сервера является SSL, с целью доставки защищенных страниц по https://ссылка. В стандартном для Debian/Ubuntu ''Lighttpd'' SSL включен: желая удостовериться, что это так, выполните ''lighttpd -v'' и убедитесь, что выводится нечто подобное:&lt;br /&gt;
&lt;br /&gt;
 lighttpd-1.4.19 (ssl) - a light and fast webserver&lt;br /&gt;
&lt;br /&gt;
(ssl) здесь главная часть. Затем воспользуйтесь ''lighty-enable-mod'', чтобы включить SSL-модуль, как описано выше в разделе о ''PHP''. Вам потребуется исправить файл '''/etc/lighttpd/sitesavailable/10-ssl.conf''', введя корректные параметры&lt;br /&gt;
сертификата вашего сервера:&lt;br /&gt;
&lt;br /&gt;
 $SERVER[“socket”] == “10.0.0.9:443” {&lt;br /&gt;
  ssl.engine = “enable”&lt;br /&gt;
  ssl.pemfile = “/etc/lighttpd/www.server.org.pem”&lt;br /&gt;
  server.name = “www.server.org”&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Необходимо изменить адрес в верхней строке, а также строки '''ssl.pemfile''' и '''server.name'''. Затем перезапустите сервер командой ''/etc/init.d/lighttpd forcereload'', и вы сможете подключаться к вашему серверу по https://адрес.&lt;br /&gt;
&lt;br /&gt;
Мы не будем здесь описывать настройку SSL-сертификатовсервера,поскольку это выходит за рамки данного урока – но очевидно, что для работы необходим действительный сертификат в месте, указанном в '''ssl.pemfile'''. Для создания сертификата изучите команду ''openssl''.&lt;br /&gt;
&lt;br /&gt;
===Переписываем правила===&lt;br /&gt;
&lt;br /&gt;
Вам потребуется заново создать правила, которые у вас уже есть в файле '''.htaccess''', поскольку ''Lighttpd'' его не использует. Вот пример переписывания правил под ''Lighttpd'':&lt;br /&gt;
&lt;br /&gt;
 url.rewrite-once = ( “^/faq/([0-9]+)$” =&amp;gt; “/faq.&lt;br /&gt;
 php?id=$1” )&lt;br /&gt;
&lt;br /&gt;
Это преобразует http://www.example.com/faq/71 в http://www.example.com/faq.php?id=71.&lt;br /&gt;
&lt;br /&gt;
Другой опцией является канонизация расширений файлов:&lt;br /&gt;
&lt;br /&gt;
 url.rewrite-once = ( “/(.*)\.htm” =&amp;gt; “/$1.html” )&lt;br /&gt;
&lt;br /&gt;
Причем те, кто использует '''.htm''' вместо '''.html''', будут перенаправлены по корректному адресу. Чтобы включить перезапись, раскомментируйте строку '''mod_rewrite''' в разделе '''server.modules'' файла настроек и перезапустите сервер.&lt;br /&gt;
&lt;br /&gt;
===Настройка виртуального сервера===&lt;br /&gt;
&lt;br /&gt;
''Lighttpd'' прекрасно поддерживает виртуальные серверы на базе URL, используемого для доступа к странице. Вы задаете выражение-условие в файле настроек, а'' Lighttpd'' определяет по нему, какое содержимое следует обрабатывать (и как его представлять). Вот пример настройки для создания виртуального хоста http://www.myothersite.net (чтобы все работало, необходимо, естественно, также иметь зарегистрированный и настроенный домен в DNS):&lt;br /&gt;
&lt;br /&gt;
 $HTTP[“host”] == “www.myothersite.net” {&lt;br /&gt;
   server.document-root = “/var/www/myothersite/”&lt;br /&gt;
   $HTTP[“url”] =~ “^/usefulscripts/” {&lt;br /&gt;
     dir-listing.activate = “enable”&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Если обрабатываемый URL содержит www.myothersite.net, ''Lighttpd'' воспользуется настройками внутри этого условия вместо стандартных для сервера. В данном случае, это означает смену корневого каталога сайта (то есть при запросе http://www.myothersite.net/test.html будет обработан файл '''/var/www/myothersite/test.html''') и такую настройку каталога '''usefulscripts''', чтобы можно было получать список содержимого директории (то есть чтобы запрос http://www.myothersite.net/usefulscripts/ выдавал перечень файлов в каталоге – изначально, по соображениям безопасности, это отключено). В условной конфигурации можно размещать любые опции и иметь сколько угодно виртуальных хостов.&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>