Установка серверов · 4 min read · Nov 26, 2025
Установка Cherokee с поддержкой PHP5 и MySQL на OpenSUSE 11.3
Установка Cherokee с поддержкой PHP5 и MySQL на OpenSUSE 11.3
Версия 1.0
Автор: Фалько Тимме
Следите за мной в Twitter
Cherokee — это очень быстрый, гибкий и простой в настройке веб-сервер. Он поддерживает широко распространенные технологии: FastCGI, SCGI, PHP, CGI, TLS и SSL зашифрованные соединения, виртуальные хосты, аутентификацию, кодирование на лету, балансировку нагрузки, совместимые с Apache журналы и многое другое. Этот учебник показывает, как установить Cherokee на сервер OpenSUSE 11.3 с поддержкой PHP5 (через FastCGI) и поддержкой MySQL.
Я не даю никаких гарантий, что это сработает для вас!
1 Предварительная заметка
В этом учебнике я использую имя хоста server1.example.com с IP-адресом 192.168.0.100. Эти настройки могут отличаться от ваших, поэтому вам нужно заменить их, где это необходимо.
2 Установка MySQL 5
Сначала мы устанавливаем MySQL 5 следующим образом:
yast2 -i mysql mysql-client mysql-community-server libmysqlclient-develЗатем мы создаем системные ссылки для автозапуска MySQL (чтобы MySQL запускался автоматически при загрузке системы) и запускаем сервер MySQL:
chkconfig --add mysql
/etc/init.d/mysql startЗапустите
mysql_secure_installationчтобы установить пароль для пользователя root (в противном случае любой сможет получить доступ к вашей базе данных MySQL!):
server1:~ # mysql_secure_installation
ПРИМЕЧАНИЕ: РЕКОМЕНДУЕТСЯ ЗАПУСКАТЬ ВСЕ ЧАСТИ ЭТОГО СКРИПТА ДЛЯ ВСЕХ MySQL
СЕРВЕРОВ, ИСПОЛЬЗУЕМЫХ В ПРОИЗВОДСТВЕ! Пожалуйста, внимательно прочитайте каждый шаг!
Чтобы войти в MySQL и обеспечить его безопасность, нам нужен текущий
пароль для пользователя root. Если вы только что установили MySQL, и
вы еще не установили пароль root, пароль будет пустым,
поэтому вам просто нужно нажать Enter здесь.
Введите текущий пароль для root (нажмите Enter, если нет): <– ENTER
OK, пароль успешно использован, продолжаем…
Установка пароля root гарантирует, что никто не сможет войти в
пользователя root MySQL без надлежащей авторизации.
Установить пароль root? [Y/n] <– Y
Новый пароль: <– введите желаемый пароль root для MySQL
Повторите новый пароль: <– подтвердите этот пароль
Пароль успешно обновлен!
Перезагрузка таблиц привилегий..
… Успех!
По умолчанию установка MySQL имеет анонимного пользователя,
позволяющего любому войти в MySQL без необходимости создания
учетной записи для них. Это предназначено только для тестирования,
и чтобы установка прошла немного легче. Вы должны удалить
их перед переходом в производственную среду.
Удалить анонимных пользователей? [Y/n] <– Y
… Успех!
Обычно root должен иметь возможность подключаться только
с ‘localhost’. Это гарантирует, что кто-то не сможет
угадать пароль root из сети.
Запретить удаленный вход root? [Y/n] <– Y
… Успех!
По умолчанию MySQL поставляется с базой данных с именем
‘test’, к которой может получить доступ любой. Это также
предназначено только для тестирования и должно быть удалено
перед переходом в производственную среду.
Удалить тестовую базу данных и доступ к ней? [Y/n] <– Y
- Удаление тестовой базы данных…
… Успех! - Удаление привилегий на тестовую базу данных…
… Успех!
Перезагрузка таблиц привилегий обеспечит, что все
внесенные изменения вступят в силу немедленно.
Перезагрузить таблицы привилегий сейчас? [Y/n] <– Y
… Успех!
Очистка…
Все готово! Если вы завершили все вышеперечисленные шаги,
ваша установка MySQL теперь должна быть безопасной.
Спасибо за использование MySQL!
server1:~ #
3 Установка PHP5
Мы можем заставить PHP5 работать в Cherokee через FastCGI. Поэтому мы устанавливаем пакет php5-fastcgi (плюс пакеты rrdtool и rrdtool-devel, которые необходимы Cherokee):
yast2 -i php5-fastcgi rrdtool rrdtool-develМы должны изменить /etc/php5/fastcgi/php.ini и раскомментировать строку cgi.fix_pathinfo=1:
vi /etc/php5/fastcgi/php.ini| [...] ; cgi.fix_pathinfo предоставляет *реальную* поддержку PATH_INFO/PATH_TRANSLATED для CGI. PHP ; предыдущее поведение заключалось в том, чтобы установить PATH_TRANSLATED в SCRIPT_FILENAME и не понимать, ; что такое PATH_INFO. Для получения дополнительной информации о PATH_INFO смотрите спецификации cgi. Установка ; этого в 1 заставит PHP CGI исправить свои пути в соответствии со спецификацией. Установка ; нуля заставляет PHP вести себя как раньше. По умолчанию 1. Вы должны исправить свои скрипты ; чтобы использовать SCRIPT_FILENAME вместо PATH_TRANSLATED. ; http://php.net/cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
4 Установка Cherokee
К сожалению, для OpenSUSE 11.3 нет пакета Cherokee (для OpenSUSE 11.1 есть, но он не работает на 11.3), поэтому мы должны собрать Cherokee из исходников:
cd /usr/src
wget http://www.cherokee-project.com/download/1.0/1.0.15/cherokee-1.0.15.tar.gz
tar xvfz cherokee-1.0.15.tar.gz
cd cherokee-1.0.15/
./configure --localstatedir=/var --prefix=/usr --sysconfdir=/etc --with-wwwroot=/srv/www/htdocs --with-wwwuser=wwwrun --with-wwwgroup=www --with-mysql --with-php=/usr/bin/php-cgimake
make installЕсли вы находитесь на 64-битной системе, также выполните это (Cherokee ожидает найти свои библиотеки в /usr/lib64/ вместо /usr/lib/ на 64-битных системах):
cp /usr/lib/libcherokee-* /usr/lib64/Теперь нам нужен скрипт инициализации для Cherokee. Вместо того чтобы писать его самостоятельно, мы можем скачать файл src.rpm для Cherokee для OpenSUSE 11.1 и использовать скрипт инициализации из пакета src.rpm:
cd /usr/src
wget http://download.opensuse.org/repositories/server:/http/openSUSE_11.1/src/cherokee-0.98.1-4.1.src.rpm
rpm -ivh cherokee-0.98.1-4.1.src.rpmcd packages/SOURCES/
cp cherokee.init /etc/init.d/cherokeeПосле этого мы делаем скрипт инициализации исполняемым и добавляем системные ссылки для автозапуска:
chmod 755 /etc/init.d/cherokee
chkconfig --add cherokeeЗатем мы запускаем Cherokee:
/etc/init.d/cherokee start(Вывод будет следующим - Cherokee не вернется к командной строке, пока вы не нажмете CTRL+C; если вы это сделаете, Cherokee продолжит работать в фоновом режиме, что нам и нужно:
server1:~ # Cherokee Web Server 1.0.15 (10 янв 2011): Слушает на порту ALL:80, TLS
отключен, IPv6 включен, использует epoll, 4096 fds системный лимит, макс. 2041
соединений, 5 потоков, 408 соединений на поток, стандартная политика планирования)
Теперь направьте ваш браузер на http://192.168.0.100, и вы должны увидеть страницу-заглушку Cherokee:

Cherokee можно настроить через веб-интерфейс, который мы можем запустить следующим образом:
cherokee-admin -b(По умолчанию cherokee-admin связывается только с 127.0.0.1 (localhost), что означает, что вы можете подключиться к нему только с той же системы. С параметром -b вы можете указать сетевой адрес для прослушивания. Если IP не указан, он будет связываться со всеми интерфейсами.)
Вывод должен быть похож на этот:
server1:~ # cherokee-admin -b
Cherokee Web Server 1.0.15 (10 янв 2011): Слушает на порту ALL:9090, TLS
отключен, IPv6 включен, использует epoll, 4096 fds системный лимит, макс. 2041
соединений, кэширование I/O, 5 потоков, 408 соединений на поток, стандартная
политика планирования
Логин:
Пользователь: admin
Одноразовый пароль: Vk2yR8alQft73zzn
Веб-интерфейс:
URL: http://localhost:9090/Вам нужны имя пользователя и пароль для входа в веб-интерфейс, которые можно найти по адресу http://192.168.0.100:9090/:

Вот как выглядит веб-интерфейс:

Чтобы остановить cherokee-admin, введите CTRL+C в оболочке.
Get new posts in your inbox
No spam. Unsubscribe anytime.