Установка сервера
Установить 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
и наслаждаемся красной страницей в браузере:
Как видим, установка этого веб-сервера особой сложности не представляет.
Теперь установим и запустим 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
Теперь можно открыть страницу в браузере и увидеть админку.
Русского языка в ней, правда, нет, но кого это когда останавливало? 😉
Жмём на «Sources» и добавляем новый источник (PHP5-FPM, который «слушает» на 9000 порту) 127.0.0.1:9000
Если хочется использовать unix-сокеты, нужно открыть конфиг php5-fpm для хоста (/etc/php5/fpm/pool.d/www.conf), изменить в нём параметр listen
listen = /var/run/php5-fpm.sock
и вписать этот путь в качестве источника.
Затем переходим на вкладку виртуальных хостов «vServers», на вкладке «поведение» («Behaviour») для сервера по умолчанию жмём на «управление правилами» («Rule Management»)
Добавляем новое правило для расширения php
В качестве обработчика (handler) выбираем FastCGI
Прокручиваем страницу вниз до раздела FastCGI Specific и в качестве балансировщика («Balancer») выбираем «Round Robin»
В появившемся ниже блоке назначения источника Assign Information Sources в качестве Application Server выбираем ранее добавленный нами php
Сохраняем настройки и перезагружаем веб-сервер
Проверяем, что всё работает, открыв любую php-страницу на сервере, после чего возвращаемся к виртуальным серверам («vServers») и на вкладке Basics в качестве индексных файлов (Directory Indexes) ставим index.php. При необходимости добавляем другие расширения.