Как то бродил я по форумам линуксовым и попался мне на глаза чей то пост, что мол, есть очень удобный веб сервер – Cherokee называется… Ясное дело меня это сильно заинтересовало. Может это отличная замена моей любимой связке Nginx + Apache.
В общем вот, что о нем говорится:
Очень быстрый, гибкий и простой в настройке web-сервер. Он поддерживает широкий перечень технологий, которые актуальны в наши дни: FastCGI, SCGI, PHP, CGI, SSL и TLS шифрованные соединения, виртуальные хосты, аутентификация, кодировка “на лету”, балансировка нагрузки, Apache совместимые лог файлы, и многое другое. В данном мануале будет показано, как можно установить Cherokee на Debian 5.04 с поддержкой PHP5 (через FastCGI) и поддержкой MySQL.
Интересно. Но ведь написать можно что угодно?! Пока не попробуешь – не поймешь. Подумал, и решил поиграться с установкой в Debian Lenny 5.04.
Для начала поставим MySQL сервер:
test:~# apt-get install mysql-server mysql-client
После установки, нас просят задать пароль пользователя:
New password for the MySQL "root" user: _здесь_ваш_пароль_ Repeat password for the MySQL "root" user: _здесь_ваш_пароль_
Теперь устанавливаем сам Web сервер Cherokee:
test:~# apt-get install cherokee
После установки заходим через web браузер на ip сервера, где его установили ( у меня это 172.16.0.4 ).
Как видим, сервер стартанул. Уже хорошо, но пока ничего не понятно. Продолжаем путешествие:)
Вычитал, что у этого сервера, настройка производится через web интерфейс. А вот чтобы он стал доступен, нужно в консоли запустить:
test:~# cherokee-admin -b
Опция -b дает возможность подключаться к админке сервера откуда угодно, а не только с 127.0.0.1. Чтобы узреть админку, нужно зайти на http://172.16.0.4:9090.Видим такую вот симпатичную админку:
Учтите, что админка не защищена паролем! Это означает, что вы должны прекратить Чероки администратор сразу же после окончания процесса настройки!
Теперь надо бы поставить PHP5. Cherokee поддерживает работу с PHP через FastCGI. Поэтому именно эту версию пакета и ставим:
test:~# apt-get install php5-cgi
Для нормального функционирования PHP, нам надо добавить в конец /etc/php5/cgi/php.ini строчку cgi.fix_pathinfo = 1:
test:~# echo "cgi.fix_pathinfo = 1" >> /etc/php5/cgi/php.ini
После чего перегружаем cherokee:
test:~# /etc/init.d/cherokee restart
Корневым документом веб сайта по дефлолту является /var/www. Создаем небольшой файл PHP (info.php) в этой директории и откроем его в браузере. Файл отобразит массу полезных деталей о установленном PHP, включая версию.
Листинг info.php:
<? phpinfo(); ?>
Ну и в браузере смотрим:
Как видим, PHP5 работает, и что он работает через FastCGI, как показано в строке Server API. Если посмотреть вниз документа, вы увидим модули, которые уже включены в PHP5. MySQL ещё не включен в этот список и это означает, мы не имеем поддержки MySQL в PHP5. Что ж, организовываем эту поддержку:)
Вместе с модулем для MySQL можно поставить также необходимые пакеты. Поищем все что касается модулей php:
test:~# aptitude search php5
Соответственно из всего списка выбираем нужные, и ставим:
test:~# apt-get install php5-mysql
Чтобы изменения вступили в силу, мы должны остановить Cherokee, убить Чероки-хранитель PHP и CGI-процессах и запустить Cherokee еще раз:
test:~# /etc/init.d/cherokee stop test:~# killall cherokee-guardian test:~# killall php-cgi test:~# /etc/init.d/cherokee start