На этом уроке, мы рассмотрим, как установить Apache, MariaDB, PHP7 (стек LAMP) с PhpMyAdmin на OpenSUSE 42.2 Leap.
Перед установкой любого программного обеспечения, всегда хорошая идея для обновления репозитория и пакетов программного обеспечения.
sudo zypper update
Установка Apache на OpenSUSE с помощью следующей команды.
sudo zypper install apache2
По умолчанию, Apache не будет запускаться автоматически после того, как будет установлен. Вы можете запустить его с помощью команды:
sudo systemctl start apache2
И включить автоматический запуск во время загрузки:
sudo systemctl enable apache2
Проверьте статус:
systemctl status apache2
Мы можем видеть на скриншоте, что Apache работает и автоматический запуск включен.
Проверьте версию Apache:
sudo httpd -v
Вывод:
Server version: Apache/2.4.23 (Linux/SUSE) Server built: 2016-09-13 13:41:45.000000000 +0000
Теперь создайте файл index.html
в корне документа.
sudo nano /srv/www/htdocs/index.html
Поместите следующий текст в файл.
<html> <body> <h1> It works!</h1> </body> </html>
Сохраните и закройте файл. Затем в адресной строке браузера введите IP-адрес OpenSUSE 42.2 Leap. Вы должны увидеть “It works!” на веб-странице, а это значит, веб-сервер Apache работает правильно.
Если вы устанавливаете LAMP на локальной машине OpenSUSE Leap 42.2, просто введите 127.0.0.1
или localhost
в адресной строке браузера.
По умолчанию брандмауэр SuSE запретит общий доступ к порту 80. Чтобы разрешить общий доступ, необходимо изменить конфигурацию брандмауэра.
sudo nano /etc/sysconfig/SuSEfirewall2
Найти следующую строку.
FW_CONFIGURATIONS_EXT=""
Измените его к следующему, чтобы разрешить общий доступ к порту 80.
FW_CONFIGURATIONS_EXT="apache2"
Сохраните и закройте файл. Затем перезапустите брандмауэр SuSE.
sudo systemctl restart SuSEfirewall2
И, наконец, нам нужно сделать wwwrun
(пользователь Apache) в качестве владельца корневого документа.
sudo chown wwwrun /srv/www/htdocs/ -R
Установить MariaDB сервер и клиент на OpenSUSE Leap с помощью следующей команды.
sudo zypper install mariadb mariadb-client mariadb-tools
По умолчанию, MariaDB не запускается автоматически после того, как была установлена. Мы можем запустить ее с помощью команды:
sudo systemctl start mysql
И включить автоматический запуск во время загрузки:
sudo systemctl enable mysql
Проверьте статус MariaDB:
systemctl status mysql
Мы можем видеть на скриншоте, MariaDB работает и включена в автоматический запуск.
Проверьте версию MariaDB:
mysql --version
Вывод:
mysql Ver 15.1 Distrib 10.0.28-MariaDB, for Linux (x86_64) using readline 5.1
Теперь любой пользователь в системе может войти в MariaDB как root с помощью следующей команды:
mysql -u root
Для того, чтобы ограничить доступ, необходимо установить пароль для корневого пользователя MariaDB. Выполните следующую команду:
sudo mysql_secure_installation
Когда он попросит вас ввести пароль MariaDB для root, нажмите Enter , потому что вы не установили пароль администратора еще. Затем введите y
и установите корневой пароль для сервера MariaDB.
Далее вы можете просто нажать Enter, чтобы ответить на все остальные вопросы. Это приведет к удалению анонимного пользователя, запретить удаленный вход администратора и удалить тестовую базу данных. Этот шаг является основным требованием для обеспечения безопасности базы данных MariaDB.
Теперь вы можете войти в MariaDB с помощью следующей команды
mysql -u root -p
Введите следующую команду, чтобы установить PHP7 и расширения PHP7.
sudo zypper install php7 php7-mysql apache2-mod_php7
Затем включите PHP модуль и перезапустить веб-сервер Apache.
sudo a2enmod php7 sudo systemctl restart apache2
Создайте файл test.php
в корневом каталоге документов.
sudo nano /srv/www/htdocs/test.php
Вставьте следующий код PHP в файл.
<?php phpinfo(); ?>
Сохраните и закройте файл. Теперь в адресной строке браузера, введите server-ip-address/test.php
. Замените sever-ip-address
с текущим IP- адресом. Если вы будете следовать этим учебным пособием на локальном компьютере, а затем введите 127.0.0.1/test.php
или localhost/test.php
.
Вы должны увидеть PHP информацию вашего сервера. Это означает, что обработка PHP работает.
Для безопасности вашего сервера, вы должны удалить файл test.php
сейчас.
PhpMyAdmin является веб-инструмент администрирования MySQL/MariaDB. Если вы не хотите администрировать MariaDB из командной строки, то вы можете установить PhpMyAdmin с командой ниже.
sudo zypper install phpMyAdmin
Менеджер пакетов Zypper автоматически установит необходимые расширения PHP7 для вас. После его установки, перезапустите Apache, чтобы включить эти расширения PHP7.
sudo systemctl restart apache2
После этого вы можете посетить веб-интерфейс PhpMyAdmin с помощью
your-server-ip/phpMyAdmin
или
localhost/phpMyAdmin
И войти в MariaDB с корневым паролем.
Поздравляю! Вы успешно установили Apache, MariaDB и PHP7 на OpenSUSE 42.2 Leap.
× apache2.service – The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2021-11-03 06:35:38 EET; 13s ago
Process: 25616 ExecStart=/usr/sbin/start_apache2 -DSYSTEMD -DFOREGROUND -k start (code=exited, status=1/FAILURE)
Main PID: 25616 (code=exited, status=1/FAILURE)
CPU: 49ms
ноя 03 06:35:38 localhost.localdomain systemd[1]: Starting The Apache Webserver…
ноя 03 06:35:38 localhost.localdomain start_apache2[25616]: [Wed Nov 03 06:35:38.733917 2021] [php:crit] [pid 25616:tid 1400282>
ноя 03 06:35:38 localhost.localdomain start_apache2[25616]: AH00013: Pre-configuration failed
ноя 03 06:35:38 localhost.localdomain systemd[1]: apache2.service: Main process exited, code=exited, status=1/FAILURE
ноя 03 06:35:38 localhost.localdomain systemd[1]: apache2.service: Failed with result ‘exit-code’.
ноя 03 06:35:38 localhost.localdomain systemd[1]: Failed to start The Apache Webserver.