Skip to content

Установка Lighttpd + PHP + Mysql + CentOS 5.5

lighttpd -  веб-сервер, разрабатываемый с расчётом на быстроту и защищённость, а также соответствие стандартам. В lighttpd есть поддержка сжатия отдаваемого содержимого «на лету», HTTP-аутентификации, перезаписи URL, SSL и автоматической балансировки нагрузки (нагрузка может автоматически распределяться по нескольким запущенным серверам lighttpd). Веб-сервер также поддерживает интерфейсы CGI, SCGI, FastCGI и AJP (только в разрабатываемой сейчас версии 1.5), позволяя использовать приложения, написанные на любых языках программирования.

Что и говорить lighttpd достойная замена тяжеловесному Apache (не в обиду). Особенно для тех у кого хостинг на VPS/VDS, очень сильно экономит  ресурсы сервера.

Итак приступим установке связки lighttpd + php + mysql. Все это хозяйство я поставля на ОС CentOS 5.5.

1. Подключаем  и устанавливаем репозиторий Epel. Он нам понадобится для установки lighttpd и lighttpd-fastcgi.В зависимости от вашей системы это либо x86_64 или i386.

x86_64

# rpm -ihv http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm

# rpm -Uvh epel-release-5-3.noarch.rpm

i386

# rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm

# rpm -Uvh epel-release-5-3.noarch.rpm

2.  Установим Mysql

# yum install mysql mysql-server

3. Добавим службу в автозагрузку и запустим службу

# chkconfig –level 3 mysqld on

# service mysqld start

4. Выставим пароль рута

# mysqladmin  -u  root  password  ‘новый-пароль’

5. Установим Lighttpd и добавим службу в автозагрузку и после запустим службу

# yum install lighttpd lighttpd-fastcgi

# chkconfig –level 3 lighttpd on

# service lighttpd on

6. Установим php и его модули. Устанавливать я буду стандартный для CentOS 5 – php-5.1. (Статья как  установить версию 5.2.x, здесь!)

# yum install php-cli php-mysql php-gd  php-pear php-xml php-xmlrpc php-pdo php-mcrypt

7. Настраиваем PHP и Lighttpd для работы с ним.

Открываем php.ini

# vi /etc/php.ini

В конец файла добавляем следующую строку

cgi.fix_pathinfo = 1

Теперь сконфигурируем Lighttpd

# vi /etc/lighttpd/lighttpd.conf

Раскомментируем необходимые нам модули

server.modules = (
«mod_rewrite»,
«mod_redirect»,
«mod_alias»,
«mod_access»,
«mod_setenv»,
«mod_fastcgi»,
«mod_accesslog» )

Прописываем наши хосты и указываем путь до document-root

$HTTP["host"] == «www.test.ru» { server.document-root = «/home/www/test.ru/» }
$HTTP["host"] == «test.ru» { server.document-root = «/home/www/test.ru/» }

Далее находите 212 строчку – fastcgi module и раскомментируйте строки с 215 по 222.

light2

8. Создаем необходимые папки и назначаем права.

# mkdir /var/run/lighttpd (если нет, то создаем)

# chown lighttpd.lighttpd /var/run/lighttpd

# chmod 755 /var/run/lighttpd

# mkdir -p /home/www/test.ru/

9. Запускаем lighttpd

# service lighttpd start

10. Проверим работоспособность PHP. (по умолчанию root-директория Lighttpd – /srv/www/lighttpd)

Создадим директории test.ru новый файл:

# vi /home/www/test.ru/test.php

Добавим в него следующую строчку:

<?php phpinfo();?>

Открываем браузер и набираем – hhtp://адрес сервера/test.php

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

Итак допустим у вас два хоста – site1.ru и site2.ru.

1. Создаем необходимые директории.

Создаем директории для сайтов

# mkdir -p /home/www/site1

# mkdir -p /home/www/site2

Создаем директории для логов

# mkdir /var/log/lighttpd/site1

# mkdir /var/log/lighttpd/site2

2. Выставляем права

# chown  -R lighttpd:lighttpd /home/www/

# chown -R lighttpd:lighttpd /var/log/lighttpd

3. Отредактируем конфигурационный файл lighttpd

# vi /etc/lighttpd/lighttpd.conf

Добавляем следующии строки:

Для хоста – site1.ru

$HTTP["host"] =~ "(^|\.)site1\.ru$" {
server.document-root = "/home/www/site1"
server.errorlog = "/var/log/lighttpd/site1/error.log"
accesslog.filename = "/var/log/lighttpd/site1/access.log"
server.error-handler-404 = "/e404.php"
}

Для хоста – site2.ru

$HTTP["host"] =~ "(^|\.)site2\.ru$" {
server.document-root = "/home/www/site2"
server.errorlog = "/var/log/lighttpd/site2/error.log"
accesslog.filename = "/var/log/lighttpd/site2/access.log"
server.error-handler-404 = "/e404.php"
}

Рассмотрим синтаксис:

  • $HTTP["host"]… – данная строчка поддерживает запросы как к www.site1.ru, так и site1.ru.
  • server.document-root – местонахождения файлов веб-сервера lighttpd.
  • server.errorlog – где лежат логи об ошибках.
  • accesslog.filename – где лежат логи об успешных операциях.
  • server.error-handler-404 – местонахождения файла с 404 ошибкой.

Редирект.

Для редиректа раскомментируем и добавим в конфигурационном файле Lighttpd, следующии строки:

server.modules              = (
"mod_rewrite",
"mod_redirect",

Редирект с www.test.ru >>> test.ru (без www)

$HTTP["host"] =~ "^www\.(.*)" {
url.redirect            = ( "^/(.*)" => "http://%1/$1" )
}

Обратный редирект с test.ru  >>> www.test.ru (принудительная подстановка www)

$HTTP["host"] =~ "^test\.ru$" {
url.redirect = ( "^/(.*)" => "http://www.test.ru/$1" )
}

Read more from Linux

Share your thoughts, post a comment.

Есть что сказать? Оставьте Ваш комментарий!
  1. (required)
  2. (valid email required)
  3. (required)
  4. Отправить
  5. Captcha
 

cforms contact form by delicious:days