Показаны сообщения с ярлыком lighttpd. Показать все сообщения
Показаны сообщения с ярлыком lighttpd. Показать все сообщения

16 февр. 2012 г.

Настройка Lighttpd

Выполнено по инструкции: http://www.juev.ru/2009/07/18/lighttpd-istrebitel-v-mire-veb-serverov/


Нужно только включить модуль fastcgi в lighttpd:
sudo lighttpd-enable-mod fastcgi
Available modules: auth cgi fastcgi proxy rrdtool simple-vhost ssi ssl status userdir phpmyadmin 
Already enabled modules: auth fastcgi phpmyadmin 
После выполнения подключения любого модуля нужно перезагрузить веб-сервер:
sudo /etc/init.d/lighttpd force-reload

Для отключения модуля используется команда lighttpd-disable-mod.

По умолчанию fastcgi настроено на обработку файлов .php. Если необходимо использовать perl, python или ruby, необходимо изменять файл /etc/lighttpd/conf-available/10-fastcgi.conf. Например, если необходимо отключить обработку php-файлов и включить python для использования django, приводим его к такому виду:

## FastCGI programs have the same functionality as CGI programs,
## but are considerably faster through lower interpreter startup
## time and socketed communication
##
## Documentation: /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
##                http://www.lighttpd.net/documentation/fastcgi.html

server.modules   += ( "mod_fastcgi" )

fastcgi.server    = (
    "/" => (
        "main" => (
            # Use host / port instead of socket for TCP fastcgi
            "host" => "127.0.0.1",
            "port" => 3033,
            #"socket" => "/tmp/django.socket",
            "check-local" => "disable",
        ))
)

alias.url = (
    "/media" => "/var/www/django/django/contrib/admin/media/",
)

url.rewrite-once = (
    "^(/media.*)$" => "$1",
    "^/favicon\.ico$" => "/media/favicon.ico",
    "^(/.*)$" => "/example$1",
)



но мне сервер собственно и нужен для работы именно с php, поэтому настройки эти я не проверял у себя, взял у автора статьи для справки и файл /etc/lighttpd/conf-available/10-fastcgi.conf  только открыл и закрыл пока без правки.


В lighttpd есть отдельный модуль, который необходимо активировать, настроить, после чего виртуальные хосты можно будет организовывать путем простого создания каталогов.

sudo lighttpd-enable-mod simple-vhost

Настраиваем модуль:

sudo gedit /etc/lighttpd/conf-available/10-simple-vhost.conf

Содержимое этого файла по умолчанию следующее:

## Simple name-based virtual hosting
##
## Documentation: /usr/share/doc/lighttpd-doc/simple-vhost.txt
##                http://www.lighttpd.net/documentation/simple-vhost.html

server.modules += ( "mod_simple_vhost" )

## The document root of a virtual host isdocument-root =
##   simple-vhost.server-root + $HTTP["host"] + simple-vhost.document-root
simple-vhost.server-root         = "/var/www"
simple-vhost.document-root       = "/html/"

## the default host if no host is sent
simple-vhost.default-host        = "example.ru"

В данном случае все виртуальные хосты будут располагаться в каталоге /var/www и каждый виртуальный хост содержит в себе папку html, в которой располагаются сами файлы.

Построение структуры сайтов при таких настройках можно производить следующим образом:

sudo /etc/init.d/lighttpd restart
sudo mkdir /var/www/site1.ru
sudo mkdir /var/www/site1.ru/html
sudo mkdir /var/www/site2.ru
sudo mkdir /var/www/site2.ru/html

14 февр. 2012 г.

Установка сервера Lighttpd + MySQL + PHP

Установлено по инструкции http://itbuben.org/blog/Unix-way/1213.html

1. Вначале удостоверимся, что файрволл включен:

iwi@w12:~$ sudo ufw status
Статус: активно

Если он отключен, то для включения используется:

iwi@w12:~$ sudo ufw enable
Межсетевой экран будет запущен при запуске системы

2. Установка MySQL

sudo apt-get install mysql-server mysql-client


При запросе пароля root , вводим пароль. Затем идет настройка пакетов.
Для проверки можно выполнить:

netstat -anltp | grep "LISTEN"

Среди портов должен присутствовать:


tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      5222/mysqld   

 3. Установка Lighttpd

sudo apt-get install lighttpd

Заходим на http://localhost и проверяем что сервер заработал.


4.  Ставим php5 с кучей модулей:

sudo apt-get install php5-cgi php5-dev php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ps php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-xsl php5-common php5-mysql

Теперь нужно раскомментировать значение в файле /etc/php5/cgi/php.ini чтобы php корректно работал в режиме cgi.
cgi.fix_pathinfo=1
Выполняем:
sudo gedit /etc/php5/cgi/php.ini
ищем
;cgi.fix_pathinfo=1 и убираем ";"


Чтобы включить FastCGI, выполним следующие команды:



sudo lighttpd-enable-mod fastcgi
и сервер сам подскажет нам какие модули ещё доступны:
Available modules: auth cgi fastcgi proxy rrdtool simple-vhost ssi ssl status userdir 
Already enabled modules: 
Enabling fastcgi: ok
Run /etc/init.d/lighttpd force-reload to enable changes

После включения или правки чего-либо перезагружаем сервер

sudo /etc/init.d/lighttpd force-reload
ответ:
Syntax OK
 * Reloading web server configuration lighttpd  



5. Тест PHP5


Создаем файл info.php


gedit /var/www/info.php


В котором надо написать и сохранить следующее:


<?php
phpinfo();
?>





Смотрим по адресу http://localhost/info.php в браузере:



6.  Можно установить еще и другие доступные модули:



sudo apt-cache search php5


Получаем список возможного для установки:


cakephp - MVC rapid application development framework for PHP
dwoo - PHP5 template engine
jffnms - web-based Network Management System (NMS) for IP networks
libgv-php5 - Php5 bindings for graphviz
coding standards
php-imlib - PHP Imlib2 Extension
php5-adodb - Extension optimising the ADOdb database abstraction library
php5-auth-pam - A PHP5 extension for PAM authentication
php5-exactimage - fast image manipulation programs (PHP bindings)
php5-ffmpeg - audio and video support via ffmpeg for php5
php5-geoip - GeoIP module for php5
php5-gpib - libgpib PHP5 bindings
php5-idn - PHP API for the IDNA library
php5-imagick - ImageMagick module for php5
php5-imap - IMAP module for php5
php5-interbase - interbase/firebird module for php5
php5-lasso - Library for Liberty Alliance and SAML protocols - PHP 5 bindings
php5-librdf - PHP5 language bindings for the Redland RDF library
php5-mcrypt - MCrypt module for php5
php5-memcache - memcache extension module for PHP5
php5-memcached - memcached extension module for PHP5
php5-ming - Ming module for php5
php5-ps - ps module for PHP 5
php5-radius - PECL radius module for PHP 5
php5-remctl - PECL module for Kerberos-authenticated command execution
php5-sasl - Cyrus SASL extension for PHP 5
php5-sqlrelay - SQL Relay PHP API
php5-suhosin - advanced protection module for php5
php5-svn - PHP Bindings for the Subversion Revision control system
php5-symfony1.0 - Open-Source PHP Web Framework
php5-uuid - OSSP uuid module for php5
php5-xapian - Xapian search engine interface for PHP5
php5-xcache - Fast, stable PHP opcode cacher
php5-xdebug - Xdebug Module for PHP 5
phpunit - Unit testing suite for PHP5
weborf - Fast and small webserver meant to be run without root privileges
libapache2-mod-php5 - server-side, HTML-embedded scripting language (Apache 2 module)
php-pear - PEAR - PHP Extension and Application Repository
php5 - server-side, HTML-embedded scripting language (metapackage)
php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
php5-gmp - GMP module for php5
php5-ldap - LDAP module for php5
php5-mysql - MySQL module for php5
php5-odbc - ODBC module for php5
php5-pgsql - PostgreSQL module for php5
php5-pspell - pspell module for php5
php5-recode - recode module for php5
php5-snmp - SNMP module for php5
php5-sqlite - SQLite module for php5
php5-sybase - Sybase / MS SQL Server module for php5
php5-tidy - tidy module for php5
php5-xmlrpc - XML-RPC module for php5
php5-xsl - XSL module for php5
libapache2-mod-php5filter - server-side, HTML-embedded scripting language (apache 2 filter module)
php5-enchant - Enchant module for php5
php5-intl - internationalisation module for php5
php5-mapscript - php5-cgi module for MapServer

Устанавливаем что нужно и снова перезагружаем сервер.


14 сент. 2011 г.

Редирект на ftp

Порылся в документации к серверу и наткнулся на такие строки, которые надо добавить в конфиг:


Код:

$SERVER["socket"] == ":80" {
  $HTTP["host"] =~ "(.*)" {
    url.redirect = ( "^/(.*)" => "ftp://%1/$1" )
  }
}


После перезапуска сервера пользователь будет автоматически перенаправляться на ftp.

В версии 1.4.28 не прокатило что-то, возможно дело даже не в версии, а в других шнягах, добавленных мной в конфиг