Мар 20 2013

web-сервер cherokee

Установка сервера

Установить cherokee на RaspberryPi можно или из этого deb-пакета или из svn.
Проверяем версию, конфигурим с нужными нам параметрами и собираем:
sudo su
svn checkout http://svn.github.com/cherokee/webserver cherokee
svn up cherokee
./configure --localstatedir=/var --prefix=/usr --sysconfdir=/etc --with-wwwroot=/var/www --with-wwwuser=www-data --with-wwwgroup=www-data
make && make install

Так как в конфиге в качестве пользователя, из-под которого будет работать веб-сервер, мы указали www-data, нужно его создать и разрешить ему доступ в папку /var/www.

useradd www-data -M -s /bin/false -U
mkdir /var/www
chmod -R 775 /var/www
chown -R www-data: /var/www

Для автозапуска веб-сервера нужно положить в /etc/init.d/ скрипт cherokee. Если есть исходники cherokee, скрипт можно взять из папки contrib. Если нет, то отсюда: https://saradmin.ru/wp-content/uploads/cherokee. Идём в папку с этим скриптом и делаем:

cp cherokee /etc/init.d/
chmod 755 /etc/init.d/cherokee
update-rc.d cherokee defaults

Если использовать скрипт из исходников, появится ошибка
insserv: warning: script 'cherokee' missing LSB tags and overrides
Это значит, что не соблюдён синтаксис запускаемых через init скриптов. Решение простое: открываем скрипт cherokee и дописываем в начало следующие строки:

### BEGIN INIT INFO
# Provides: cherokee
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Cherokee
# Description: Start the Cherokee Web Server.
### END INIT INFO

Подробно про значение переменных в этом блоке можно прочитать здесь.

Запускаем сервер командой
sudo /etc/init.d/cherokee start
и наслаждаемся красной страницей в браузере:

cherokee - главная страница

Как видим, установка этого веб-сервера особой сложности не представляет.

Теперь установим и запустим php5-fpm, чтобы было кому обрабатывать php-скрипты:
apt-get install php5-fpm
service php5-fpm start

Настройка сервера

sudo cherokee-admin -b
Мы используем ключ -b для того, чтобы можно было подключиться не только по адресу 127.0.0.1. После запуска в консоли будет указан логин на сайт (admin) и временный пароль для доступа. Можно запустить админку без авторизации, набрав в консоли
sudo cherokee-admin -b -u
Теперь можно открыть страницу в браузере и увидеть админку.
cherokee - админка

Русского языка в ней, правда, нет, но кого это когда останавливало? 😉
Жмём на «Sources» и добавляем новый источник (PHP5-FPM, который «слушает» на 9000 порту) 127.0.0.1:9000

cherokee_admin1

Если хочется использовать unix-сокеты, нужно открыть конфиг php5-fpm для хоста (/etc/php5/fpm/pool.d/www.conf), изменить в нём параметр listen
listen = /var/run/php5-fpm.sock
и вписать этот путь в качестве источника.

Затем переходим на вкладку виртуальных хостов «vServers», на вкладке «поведение» («Behaviour») для сервера по умолчанию жмём на «управление правилами» («Rule Management»)

cherokee_admin2

Добавляем новое правило для расширения php

cherokee_admin3

В качестве обработчика (handler) выбираем FastCGI

cherokee_admin4

Прокручиваем страницу вниз до раздела FastCGI Specific и в качестве балансировщика («Balancer») выбираем «Round Robin»

cherokee_admin5

В появившемся ниже блоке назначения источника Assign Information Sources в качестве Application Server выбираем ранее добавленный нами php

cherokee_admin6

Сохраняем настройки и перезагружаем веб-сервер

cherokee_admin7

Проверяем, что всё работает, открыв любую php-страницу на сервере, после чего возвращаемся к виртуальным серверам («vServers») и на вкладке Basics в качестве индексных файлов (Directory Indexes) ставим index.php. При необходимости добавляем другие расширения.

cherokee_admin8

Автор: Johnny

Блог саратовского админа

При использовании материалов сайта на других ресурсах прошу оставлять прямую ссылку на оригинал статьи.