Гид по технологиям

Установка LAMP на openSUSE Leap 42.1

7 min read DevOps Обновлено 27 Nov 2025
Установка LAMP на openSUSE Leap 42.1
Установка LAMP на openSUSE Leap 42.1

Введение

LAMP — это набор свободного программного обеспечения, устанавливаемый на операционной системе Linux, который даёт базовую платформу для запуска веб‑сайтов и веб‑приложений на PHP и MariaDB/MySQL (например, WordPress, Joomla, Drupal). В этом руководстве показана установка и базовая настройка LAMP на openSUSE Leap 42.1. Также будет показано, как установить и защитить phpMyAdmin с помощью .htaccess.

Кому это полезно: системным администраторам, девопсам и разработчикам, которым нужно быстро поднять веб‑сервер на openSUSE.

Важно: в примерах используется IP 192.168.1.101. Везде, где встречается этот адрес, замените его на ваш.

Краткие термины

  • LAMP — Linux, Apache, MySQL/MariaDB, PHP.
  • phpMyAdmin — веб‑интерфейс для управления базами данных MySQL/MariaDB.
  • SuSEfirewall2 — утилита настройки файрвола для openSUSE (генерирует iptables‑правила).

Требования

  • Сервер с установленным openSUSE Leap 42.1.
  • Права root или доступ через sudo.
  • Подключение к интернету для установки пакетов.

Пример входа на сервер и перехода в root:

ssh [email protected]
sudo su

Шаг 1 — Настройка SuSEfirewall2

SuSEfirewall2 формирует правила iptables из файла /etc/sysconfig/SuSEfirewall2. Мы установим SuSEfirewall2, разрешим SSH и HTTP (порт 80), затем перезапустим сервисы.

Установка:

zypper in SuSEfirewall2

Откройте конфигурационный файл:

vim /etc/sysconfig/SuSEfirewall2

Найдите или добавьте строку, определяющую внешние службы. Пример (строка в файле может отличаться по номеру):

FW_CONFIGURATIONS_EXT="sshd apache2"

Перезапустите файрвол и sshd:

/sbin/rcSuSEfirewall2 restart
systemctl restart sshd

Проверка внешнего доступа к SSH (замените IP на ваш):

telnet 192.168.1.101 22

Important: Если в вашей сети используется firewalld или другой менеджер, убедитесь, что вы управляете только одним файрволом, чтобы избежать конфликтов.

Шаг 2 — Установка и настройка Apache

Apache2 доступен в стандартных репозиториях openSUSE.

Установка:

zypper in apache2

Создайте тестовую страницу в корне веб‑документов:

cd /srv/www/htdocs/
echo "

This is Apache OpenSUSE Leap 42.1

" > index.html

Добавьте Apache в автозагрузку и запустите его:

systemctl enable apache2
systemctl start apache2

Откройте в браузере http://192.168.1.101/ (замените IP) и проверьте, что отображается тестовая страница.

Совет: лог ошибок Apache — /var/log/apache2/error_log, лог запросов — /var/log/apache2/access_log.

Шаг 3 — Установка и настройка MariaDB

MariaDB — форк MySQL, совместимый по интерфейсу и использующийся как СУБД в LAMP.

Установка MariaDB и клиента:

zypper in mariadb mariadb-client

Запустите и включите сервис на автозапуск:

systemctl start mysql
systemctl enable mysql

Безопасная начальная настройка (установка пароля root и базовые меры безопасности):

mysql_secure_installation

Типичный вход в диалог выглядит так: введите текущий пароль (обычно пустой), затем согласитесь установить новый пароль, удалить анонимных пользователей, запретить удалённый вход root и перезагрузить таблицы привилегий.

Подключение к MariaDB для проверки:

mysql -u root -p
# введите пароль

Вход в MariaDB для проверки

Пояснение: mysql_secure_installation — интерактивный помощник; отвечайте Y для усиления безопасности в большинстве случаев.

Шаг 4 — Установка и настройка PHP

PHP — серверный язык, широко используемый для веб‑приложений. Мы установим пакет PHP 5 и необходимые модули для работы с MariaDB и phpMyAdmin.

Установка PHP и модулей:

zypper in php5 php5-mysql php5-mcrypt apache2-mod_php5 php5-mbstring php-mcrypt php-gd php-json php-zlib

Включите модуль php5 для Apache и перезапустите веб‑сервер:

a2enmod php5
systemctl restart apache2

Примечание: a2enmod — утилита для включения модулей Apache; в некоторых версиях openSUSE может потребоваться ручная правка конфигурации.

Проверка работы PHP: создайте phpinfo страницу:

cd /srv/www/htdocs/
echo "" > info.php

Откройте http://192.168.1.101/info.php и убедитесь, что PHP загружен и видны модули, включая MySQL/MariaDB.

PHP info на OpenSuSE

Если phpinfo не показывает расширение для MySQL/MariaDB, убедитесь, что пакет php5-mysql установлен и модуль активирован.

Шаг 5 — Установка и защита phpMyAdmin

phpMyAdmin облегчает управление базами данных через веб‑интерфейс. Установим его и защитим доступ через .htaccess.

Установка phpMyAdmin:

zypper in phpMyAdmin

Для корректной работы phpMyAdmin требуется расширение mbstring. Откройте php.ini для Apache и включите mbstring. В редакторе замените или добавьте строку (в зависимости от версии PHP на вашей системе корректный модуль может называться другим образом):

vim /etc/php5/apache2/php.ini
# найдите и раскомментируйте или добавьте
extension=php_mbstring.so
# либо
extension=mbstring.so

Сохраните и закройте файл. Перезапустите Apache.

Разрешение .htaccess: откройте файл конфигурации phpMyAdmin для Apache и разрешите переопределения конфигурации через .htaccess.

cd /etc/apache2/conf.d/
vim phpMyAdmin.conf

Измените строку:

AllowOverride None

на

AllowOverride all

Сохраните и выйдите.

Теперь создайте .htaccess в каталоге phpMyAdmin и настройте базовую HTTP‑аутентификацию:

cd /srv/www/htdocs/phpMyAdmin/
vim .htaccess

Вставьте:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpMyAdmin/.htpasswd
Require valid-user

Описание директив:

  • AuthType — метод аутентификации (Basic — базовый, через заголовок Authorization).
  • AuthName — текст подсказки аутентификации, который увидит пользователь.
  • AuthUserFile — путь к файлу с учетными записями и зашифрованными паролями.
  • Require valid-user — разрешить доступ только пользователям из указанного файла.

Перезапустите Apache:

systemctl restart apache2

Создайте файл паролей и добавьте пользователя. Первый пользователь создаётся с опцией -c (создать файл):

htpasswd -c /etc/phpMyAdmin/.htpasswd megumi

Для добавления других пользователей используйте команду без -c:

htpasswd /etc/phpMyAdmin/.htpasswd yuki

Команда htpasswd

Теперь при попытке доступа к phpMyAdmin через браузер вы увидите окно базовой HTTP‑аутентификации, и только пользователи из .htpasswd смогут попасть на страницу.

Откройте http://192.168.1.101/phpMyAdmin/ и войдите сначала по .htpasswd, затем по учетным данным MySQL.

phpMyAdmin: запрос HTTP‑аутентификации

Страница входа phpMyAdmin

Интерфейс phpMyAdmin

Теперь LAMP и phpMyAdmin установлены на openSUSE Leap 42.1.

Проверка работоспособности — чеклист

  • [ ] Apache отвечает на HTTP-запросы (http://YOUR_IP/).
  • [ ] PHP отображает phpinfo (http://YOUR_IP/info.php).
  • MariaDB запущена и вы можете подключиться (mysql -u root -p).
  • phpMyAdmin доступен и защищён .htpasswd.
  • SuSEfirewall2 пропускает SSH и HTTP.

Типичные проблемы и способы их решения

  1. Apache не запускается

    • Проверьте логи: /var/log/apache2/error_log.
    • Убедитесь, что порт 80 не занят другим процессом.
  2. PHP модуль не загружен

    • Проверьте, установлены ли нужные пакеты (php5, php5-mysql и т. п.).
    • Убедитесь, что модуль включён в php.ini и перезапущен Apache.
  3. Ошибка при входе в MariaDB

    • Повторно выполните mysql_secure_installation.
    • Проверьте, корректно ли задали пароль и используете ли опцию -p при подключении.
  4. phpMyAdmin не защищён .htaccess

    • Проверьте AllowOverride all в /etc/apache2/conf.d/phpMyAdmin.conf.
    • Убедитесь, что .htaccess находится в правильном каталоге и имеет права чтения для Apache.

Безопасность и hardening — рекомендации

  • Используйте сильные пароли для пользователя root MariaDB и для учётных записей .htpasswd.
  • Отключите удалённый доступ root в MariaDB (мы делали это через mysql_secure_installation).
  • Перенесите phpMyAdmin в нестандартный URL (например, /dbadmin), чтобы снизить риск автосканирования.
  • Ограничьте доступ по IP к phpMyAdmin в конфигурации Apache при возможности.
  • Используйте HTTPS: создайте сертификат и настройте виртуальный хост для SSL.
  • Регулярно обновляйте пакеты: zypper refresh && zypper up.

Пример ограничения доступа по IP в конфигурации Apache (добавьте в конфигурацию phpMyAdmin):


    Require ip 192.168.1.0/24
    Require ip 203.0.113.5

Альтернативные подходы

  • Вместо MariaDB можно установить официальную MySQL (пакеты MySQL работают аналогично, но имейте в виду различия в версиях).
  • Для развёртывания окружения используйте контейнеры Docker с официальными образами Apache/PHP/MariaDB.
  • Используйте Nginx + PHP‑FPM вместо Apache для лучшей производительности в высоконагруженных средах.

Миграция и обновление — советы

  • Перед обновлением системы создайте резервные копии: /etc/apache2, /etc/mysql, /srv/www/htdocs.
  • Экспортируйте базы данных через mysqldump:
mysqldump -u root -p --all-databases > all_databases.sql
  • При переходе на новую версию PHP протестируйте приложения на staging‑среде.

Роли и обязанности — краткие чеклисты

Администратор сервера:

  • Установить OS и обновления.
  • Настроить SuSEfirewall2.
  • Установить и поддерживать Apache, MariaDB, PHP.

Разработчик веб‑приложения:

  • Проверить совместимость кода с PHP 5.5.
  • Обновлять зависимости и тестировать на staging.

Оператор/DevOps:

  • Настроить бэкапы баз данных.
  • Автоматизировать обновления и мониторинг.

Быстрый набор команд (Cheat sheet)

  • Установка пакетов: zypper in <пакет>
  • Перезапуск сервиса: systemctl restart
  • Включить в автозагрузку: systemctl enable
  • Проверить порты: netstat -tulpen или ss -tulpen
  • Создать .htpasswd: htpasswd -c /etc/phpMyAdmin/.htpasswd username

Мини‑методология развертывания (4 шага)

  1. Подготовка — установить OS и настроить сеть/SSH.
  2. Платформа — установить Apache и PHP, проверить phpinfo.
  3. СУБД — установить MariaDB, выполнить mysql_secure_installation.
  4. Утилиты — установить phpMyAdmin и защитить доступ.

Потенциальные ограничения и когда это не подходит

  • Для современных приложений лучше использовать более новые версии PHP (7.x или 8.x). PHP 5.5 устарел.
  • Для высоконагруженных сайтов рассмотрите Nginx + PHP‑FPM и кластерную БД.
  • Для управления множеством сайтов лучше использовать панели управления (например, ISPConfig, Plesk).

Пример потока развёртывания (Mermaid)

flowchart TD
  A[Подготовка ОС] --> B[Установка Apache]
  B --> C[Установка PHP]
  C --> D[Установка MariaDB]
  D --> E[Установка phpMyAdmin]
  E --> F[Настройка безопасности]
  F --> G[Тестирование и бэкап]

Критерии приёмки

  • Apache отвечает на HTTP‑запросы.
  • PHP выводит phpinfo и загружает расширения для работы с БД.
  • MariaDB принимает подключение от root с заданным паролем.
  • phpMyAdmin доступен и защищён .htpasswd.
  • SuSEfirewall2 настроен и не блокирует SSH/HTTP.

Короткое резюме

Вы развернули полный LAMP‑стек на openSUSE Leap 42.1, включая защиту доступа к phpMyAdmin. Для продакшена дополнительно настройте HTTPS, регулярные бэкапы и мониторинг.

Ресурсы

Глоссарий в одну строку

LAMP — стандартный набор для PHP‑сайтов: Linux, Apache, MySQL/MariaDB, PHP.

Примечание по совместимости

openSUSE Leap 42.1 — устаревшая версия. Для новых проектов рассмотрите более свежие релизы openSUSE или другую поддерживаемую ОС. Обновление PHP также рекомендовано для безопасности и производительности.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро