Установка ПО · 4 min read · Jan 27, 2026
Установка Lighttpd с поддержкой PHP5 (PHP-FPM) и MySQL на OpenSUSE 12.2
Установка Lighttpd с поддержкой PHP5 (PHP-FPM) и MySQL на OpenSUSE 12.2
Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter
Lighttpd — это безопасный, быстрый, соответствующий стандартам веб-сервер, разработанный для сред, критичных к скорости. Этот учебник показывает, как установить Lighttpd на сервер OpenSUSE 12.2 с поддержкой PHP5 (через PHP-FPM) и поддержкой MySQL. PHP-FPM (FastCGI Process Manager) — это альтернативная реализация PHP FastCGI с некоторыми дополнительными функциями, полезными для сайтов любого размера, особенно для более загруженных сайтов. Я использую PHP-FPM в этом учебнике вместо spawn-fcgi от Lighttpd.
Я не даю никаких гарантий, что это сработает для вас!
1 Предварительная заметка
В этом учебнике я использую имя хоста server1.example.com с IP-адресом 192.168.0.100. Эти настройки могут отличаться у вас, поэтому вам нужно заменить их там, где это необходимо.
2 Установка MySQL 5
Сначала мы устанавливаем MySQL 5 следующим образом:
zypper install mysql-community-server mysql-community-server-clientЗатем мы создаем системные ссылки для автозагрузки MySQL (чтобы MySQL запускался автоматически при загрузке системы) и запускаем сервер MySQL:
systemctl enable mysql.service
systemctl start mysql.serviceЧтобы обеспечить безопасность установки MySQL, выполните:
mysql_secure_installationТеперь вам будет задано несколько вопросов:
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:~ #
Теперь ваша установка MySQL должна быть защищена.
3 Установка Lighttpd
Lighttpd доступен как пакет OpenSUSE, поэтому мы можем установить его следующим образом:
zypper install lighttpdЗатем мы создаем системные ссылки для автозагрузки Lighttpd (чтобы Lighttpd запускался автоматически при загрузке системы) и запускаем его:
systemctl enable lighttpd.service
systemctl start lighttpd.serviceТеперь направьте ваш браузер на http://192.168.0.100, и вы должны увидеть, что Lighttpd выдает страницу (ну, это страница 404, потому что в корне документов Lighttpd нет индексного файла, но это по крайней мере означает, что Lighttpd работает нормально):

Корень документов по умолчанию для Lighttpd — это /srv/www/htdocs на OpenSUSE, а файл конфигурации — /etc/lighttpd/lighttpd.conf.
4 Установка PHP5
Мы можем заставить PHP5 работать в Lighttpd через PHP-FPM, который мы устанавливаем следующим образом:
zypper install php5-fpmПеред тем как запустить PHP-FPM, переименуйте /etc/php5/fpm/php-fpm.conf.default в /etc/php5/fpm/php-fpm.conf:
mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.confИзмените права доступа к каталогу сессий PHP:
chmod 1733 /var/lib/php5Затем откройте /etc/php5/fpm/php-fpm.conf…
vi /etc/php5/fpm/php-fpm.conf… и измените error_log на /var/log/php-fpm.log:
| [...] error_log = /var/log/php-fpm.log [...] |
Для PHP-FPM под OpenSUSE 12.2 нет файла php.ini, поэтому мы копируем CLI php.ini:
cp /etc/php5/cli/php.ini /etc/php5/fpm/Затем откройте /etc/php5/fpm/php.ini…
vi /etc/php5/fpm/php.ini… и установите cgi.fix_pathinfo на 1:
| [...] ; 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 [...] |
Затем создайте системные ссылки для автозагрузки php-fpm и запустите его:
systemctl enable php-fpm.service
systemctl start php-fpm.serviceGet new posts in your inbox
No spam. Unsubscribe anytime.