ГлавнаяРегистрацияВходВ закладки

Главная » Статьи » CentOS » Как настроить CentOS
Установка Lighttpd PHP Mysql CentOS 5.5
Установка 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.

Делаем следующее:
[-hide-]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-4.noarch.rpm

i386

# rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.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 start

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.



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 – /var/www/lighttpd)

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

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

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



Открываем браузер и набираем – 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" )
}

Для редиректа всех доменов без www на www, пишем так:

$HTTP["host"] =~ "^([^.]+\.[^.]+)$" {
url.redirect = (
".*" => "http://www.%1"
)
}[-hide-]
Просмотров: 4351
Дата: 2011-07-15 17:57:05
Комментариев: 0
Источник: