Cherokee является очень быстрой, гибкой и простой программой в настройке Web сервера. Он поддерживает распространенных технологий в настоящее время: FastCGI, SCGI, PHP, CGI, TLS и SSL зашифрованные соединения, виртуальных хостов, аутентификацию, кодирование на лету, балансировку нагрузки, Apache совместимые файлы журналов, и многое другое. В этом материале показано, как можно установить Cherokee на Fedora 14 с поддержкой PHP5 (через FastCGI) и поддержкой MySQL.
Предварительные замечания
В данной статье я использую имя хоста server1.example.com с IP-адреса 192.168.1.101. Эти параметры могут отличаться у Вас, поэтому Вам придется заменить их в случае необходимости.
Установка MySQL 5
Сначала установите MySQL 5 следующим образом:
|
Затем мы создаем автозапуск для MySQL (так что бы MySQL запускалась автоматически при загрузке системы) и запустим MySQL сервер:
|
Установите пароль для пользователя root (в противном случае любой желающий cможет получить доступ к MySQL базе данных):
[root@server1 ~]# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): - ENTER OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. Set root password? [Y/n] - ENTER New password: - yourrootsqlpassword Re-enter new password: - yourrootsqlpassword Password updated successfully! Reloading privilege tables.. ... Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] - ENTER ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] - ENTER ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] - ENTER - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] - ENTER ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL! [root@server1 ~]#
Как правило установка происходит в консольном виде, но с небольшим интерфейсом переведенным на язык который вы выбирали при установке.
Установка Cherokee
Cherokee доступен как пакет Fedora 14, поэтому мы можем установить его так:
|
Далее мы создадим автозапуск для Cherokee и запустить его:
|
Теперь перейдем в Вашем браузер по адресу http://192.168.1.101 , и вы должны увидеть приветствующую страницу Cherokee:
Cherokee может быть настроена через веб-панель управления, которую мы запустим следующим образом:
|
(По умолчанию Cherokee-admin подключается только с 127.0.0.1 ( локальный ), который означает, что можно подключиться к нему только с той же системы. С параметром -b можно указать сетевой адрес. Если не указать IP , он будет подключать все интерфейсы)
Вывод должен быть похож на этот:
[root@server1 ~]# cherokee-admin -b Login: User: admin One-time Password: gunCkIxdT8nQ6JqW Web Interface: URL: http://localhost:9090/ [10/11/2010 14:50:26.964] (error) rrd_tools.c:120 - Could not find the rrdtool binary. Cherokee Web Server 1.0.4 (Jun 28 2010): Listening on port ALL:9090, TLS disabled, IPv6 enabled, using epoll, 4096 fds system limit, max. 2041 connections, caching I/O, single thread
Вам необходимо это имя пользователя и пароль для входа ввести в web интерфейс, который расположен на http://192.168.1.101:9090/ :
Вот как выглядит web интерфейс Cherokee:
Чтобы остановить Cherokee-admin, в консоли нажмем CTRL + C.
Установка PHP5
Мы можем произвести запуск PHP5 Cherokee через FastCGI. К счастью, Fedora 14 предоставляет FastCGI с поддержкой PHP5 пакет, который мы устанавливаем так:
|
Настройка PHP5
Мы должны править /etc/php5/cgi/php.ini и раскомментировать строку cgi.fix_pathinfo = 1 :
|
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]
Теперь мы перезапустим Cherokee:
|
Включение PHP5 В Cherokee
PHP не включена в Cherokee по умолчанию. Чтобы включить ее, мы должны запустить web панели управления Cherokee ...
|
... и войти в него ( http://192.168.1.101:9090/ ).
Теперь перейдите к vServers , выбрать по умолчанию виртуальный хост и перейти к вкладке Behavior, нажмите Rule Management кнопку:
В левой колонке, Вы должны увидеть все существующие в настоящее время правила:
Нажмите "плюс" рядом с Behaviourчто бы добавить новое правило:
В продолжении появляется всплывающее окно, выберите Languages из левого столбца, а затем выберите PHP и нажмите кнопку Добавить:
Затем нажмите кнопку Create в окне Configuration Assistant:
Теперь вы должны увидеть новое правило для PHP в левой колонке (со статусом NON FINAL). Вы можете изменить настройки PHP по умолчанию, если Вам это надо:
Для завершения настройки, нажмите на окно, которое NON FINAL...
В правом верхнем углу должна появиться кнопка SAVE - нажмите на ее, чтобы сохранить новую конфигурацию ...
На вопрос Would you like to apply the changes to the running server now?, что в переводе Хотели бы Вы, применить изменения к работающем серверу? выберите одну из кнопок (Do not restart/Graceful restart/Hard restart), в моем случае это Graceful restart без полной перезагрузки сервера, а только программной части.
PHP теперь должно быть перечислено на вкладке Behavior:
Так как я не выбрал Hard restart, я выполняю перезапуск сервера вручную, перейдя на главную страницу и нажав кнопку Stop Server ...
... , а затем кнопку Start Server, чтобы перезапустить Cherokee:
Чтобы остановить Cherokee-admin, в консоли нажмем CTRL + C.
Тестирование PHP5. Получение информации о Вашей установленной PHP5
Документ root веб-сайта по умолчанию /var/www. Теперь мы создадим небольшой файл PHP (info.php) в этот каталог и откроем его в браузере. Появится много полезной информации о нашей установленной PHP, таких как версия PHP.
|
Теперь мы вызовим этот файл в браузере (например, http://192.168.1.101/info.php):
Как видите, PHP5 работает, и он работает через FastCGI обработчик, как показано в строке Server API. Если Вы прокрутите дальше, Вы увидите все модули, которые уже включены в PHP5. MySQL не перечисленные в нем, что означает что у нас пока нет поддержки MySQL в PHP5.
Запуск поддержкой MySQL в PHP5
Чтобы получить поддержку MySQL в PHP, мы установим пакет php5-MySQL. Для поиска доступных PHP5 модулей которые нам могут понадобятся для работы Web приложений найдем следующим образом:
|
Выберите из них нужное Вам, и установить их так:
|
Теперь перезапустите Cherokee:
|
Теперь обновите страницу http://192.168.1.101/info.php в вашем браузере и прокрутите снова вниз до раздела модулей. В этот раз Вы должны найти много новых модулях, в том числе модуль MySQL: