Установка и настройка LAMP-стека на Centos 7

В этом руководстве будет рассмотрен процесс настройки LAMP-стека на виртуальные серверы под управлением операционной системы Centos 7.

Что такое LAMP-стек?

LAMP — это набор кроссплатформенного ПО для создания web-серверов. Название стека получается из первых букв в названиях используемых технологий Linux, Apache, MySQL и PHP.

Установка Apache

На сегодняшний день веб-сервер Apache является самым популярным веб-сервером в мире. Это отличный выбор для размещения вашего веб-сайта.

Установите пакеты из главного репозитория с помощью менеджера пакетов yum: sudo yum install httpd

После установки вы можете запустить Apache на своем виртуальном сервере: sudo systemctl start httpd.service

Для тестирования успешной установки сервера, перейдите в браузере по следующей ссылке, указав IP-адрес вашего сервера: http://<ip-адрес_сервера>/

Например: http://5.101.77.24/

Примечание: если у вас не получается подключиться, проверьте настройки FireWall, веб-сервер Apache по умолчанию работает на порту 80, чтобы добавить правило выполните следующие команды: iptables -A IN_public_allow -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT
iptables-save

Вы увидите веб-страницу Apache по умолчанию.

 

Чтобы запускать данный web-сервер при включении машины, добавьте сервис в автозагрузку: sudo systemctl enable httpd.service

Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service

 

Установка MySQL/MariaDB

В CentOS 7 MySQL заменяется на популярный аналог - MariaDB. MariaDB имеет те же возможности, что и MySQL, и при этом является полностью бесплатной.

Примечание: если вы предпочитаете использовать базу данных MySQL в CentOS 7 или ваше приложение привязанно именно к ней, вам нужно будет добавить необходимые репозитории и установить БД с помощью команд: sudo yum install http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm sudo yum install mysql-server sudo systemctl start mysqld sudo mysql_secure_installation

Установите пакеты из главного репозитория с помощью менеджера пакетов yum: sudo yum install mariadb-server mariadb

После установки вы можете запустить базу данных на своем виртуальном сервере: sudo systemctl start mariadb

После успешного старта базы данных MySQL необходимо выполнить настройки безопасности и удалить некоторые значения по умолчанию. Запустите интерактивный скрипт с помощью следующей команды: sudo mysql_secure_installation

При первом запуске пароль по умолчанию у суперпользователя отсутствует, поэтому нажмите Enter.

Далее приведен отрывок диалога базовых настроек.

[root@centos7x64 ~]# sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, 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 MariaDB
root user without the proper authorisation.


Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB 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] y
... 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] n
... skipping.

By default, MariaDB 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] y
- 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] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Чтобы запускать базу данных при включении машины, добавьте сервис в автозагрузку: sudo systemctl enable mariadb.service

Установка PHP

Для установки компонента обработки программного кода PHP установите пакеты из главного репозитория с помощью менеджера пакетов yum: sudo yum install php php-mysql

Добавьте компонент в автозагрузку: sudo systemctl restart httpd.service

Установка PHP Modules

Для повышения функциональности PHP вы можете дополнительно установить некоторые модули с помощью менеджера пакетов yum: sudo yum install <имя_пакета>

Например: sudo yum install php-xml.x86_64

Чтобы вывести на экран список доступных пакетов выполните следующую команду: yum search php-

Чтобы вывести информацию о доступном пакете выполните следующую команду: yum info php-xml.x86_64

Проверка работы PHP на вашем Web-сервере

Чтобы проверить корректность настроек создайте следующий файл, с помощью команды touch: sudo touch /var/www/html/info.php

Откройте его с помощью любого текстового редактора, например, nano: nano /var/www/html/info.php

Внесите в него следующую строку и сохраните: <?php phpinfo(); ?>

Затем перейдите в браузере по следующей ссылке, указав IP-адрес вашего сервера: http://<IP-адрес_сервера>/info.php

Например: http://5.101.77.24/info.php

 

Последнее обновление: 07.12.2018