Установка серверов · 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-cgi
make  
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.rpm
cd 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 в оболочке.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.