Как установить стек Linux, Apache, MySQL, PHP (LAMP) на CentOS 7

Вступление

Стек «LAMP» - это группа программного обеспечения с открытым исходным кодом, которое обычно устанавливается вместе, чтобы сервер мог размещать динамические веб-сайты и веб-приложения. Этот термин на самом деле является аббревиатурой, обозначающей операционную системуLinux с веб-сервером spacheA. Данные сайта хранятся в базе данныхMySQL (с использованием MariaDB), а динамический контент обрабатываетсяPHP.

В этом руководстве мы установим стек LAMP на CentOS 7 VPS. CentOS выполнит наше первое требование: операционная система Linux.

[.note] #Note: Стек LAMP может быть автоматически установлен на вашу каплю, добавивthis script к его пользовательским данным при запуске. Ознакомьтесь сthis tutorial, чтобы узнать больше о пользовательских данных Droplet.
#

Предпосылки

Прежде чем вы начнете читать это руководство, у вас должна быть отдельная учетная запись без полномочий root, настроенная на вашем сервере. Вы можете узнать, как это сделать, выполнив шаги 1–4 вinitial server setup for CentOS 7.

[[step-one -—- install-apache]] == Шаг первый - установка Apache

Веб-сервер Apache в настоящее время является самым популярным веб-сервером в мире, что делает его отличным выбором по умолчанию для размещения веб-сайтов.

Мы можем легко установить Apache с помощью диспетчера пакетов CentOSyum. Менеджер пакетов позволяет без проблем устанавливать большинство программ из репозитория, поддерживаемого CentOS. Вы можете узнать больше оhow to use yum здесь.

Для наших целей мы можем начать, набрав эти команды:

sudo yum install httpd

Поскольку мы используем командуsudo, эти операции выполняются с привилегиями root. Он попросит вас ввести пароль вашего обычного пользователя для проверки ваших намерений.

После этого ваш веб-сервер будет установлен.

После установки вы можете запустить Apache на своем VPS:

sudo systemctl start httpd.service

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

http://your_server_IP_address/

Вы увидите веб-страницу CentOS 7 Apache по умолчанию, предназначенную для ознакомления и тестирования. Это должно выглядеть примерно так:

CentOS 7 Apache default

Если вы видите эту страницу, значит ваш веб-сервер теперь правильно установлен.

Последнее, что вам нужно сделать, это включить Apache для запуска при загрузке. Для этого используйте следующую команду:

sudo systemctl enable httpd.service

Как найти публичный IP-адрес вашего сервера

Если вы не знаете, что такое публичный IP-адрес вашего сервера, вы можете найти его несколькими способами. Обычно это адрес, который вы используете для подключения к вашему серверу через SSH.

Из командной строки вы можете найти это несколькими способами. Во-первых, вы можете использовать инструментыiproute2, чтобы получить свой адрес, набрав это:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Это даст вам одну или две строки назад. Они оба являются правильными адресами, но ваш компьютер может использовать только один из них, поэтому не стесняйтесь пробовать каждый из них.

Альтернативный метод - использовать внешнюю сторону, чтобы сообщить вам, какit видит ваш сервер. Вы можете сделать это, задав конкретному серверу ваш IP-адрес:

curl http://icanhazip.com

Независимо от метода, который вы используете для получения вашего IP-адреса, вы можете ввести его в адресную строку веб-браузера, чтобы получить доступ к вашему серверу.

[[step-two -—- install-mysql-mariadb]] == Шаг второй - установка MySQL (MariaDB)

Теперь, когда наш веб-сервер запущен и работает, пришло время установить MariaDB, замену MySQL. MariaDB является разработанным сообществом форком системы управления реляционными базами данных MySQL. По сути, он будет организовывать и предоставлять доступ к базам данных, где наш сайт может хранить информацию.

Опять же, мы можем использоватьyum для приобретения и установки нашего программного обеспечения. На этот раз мы также установим некоторые другие «вспомогательные» пакеты, которые помогут нам связать наши компоненты друг с другом:

sudo yum install mariadb-server mariadb

Когда установка завершится, нам нужно запустить MariaDB с помощью следующей команды:

sudo systemctl start mariadb

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

sudo mysql_secure_installation

Приглашение попросит вас ввести ваш текущий пароль root. Поскольку вы только что установили MySQL, скорее всего, у вас его не будет, поэтому оставьте его пустым, нажав клавишу ввода. Затем на экране появится запрос, хотите ли вы установить пароль root. Вперед, введитеY и следуйте инструкциям:

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorization.

New password: password
Re-enter new password: password
Password updated successfully!
Reloading privilege tables..
 ... Success!

Для остальных вопросов вы должны просто нажать клавишу «ВВОД» в каждом приглашении, чтобы принять значения по умолчанию. Это приведет к удалению некоторых примеров пользователей и баз данных, отключению удаленных учетных записей root и загрузке этих новых правил, чтобы MySQL немедленно учитывал сделанные нами изменения.

Последнее, что вам нужно сделать, это включить MariaDB для запуска при загрузке. Для этого используйте следующую команду:

sudo systemctl enable mariadb.service

На данный момент ваша система баз данных настроена, и мы можем двигаться дальше.

[[step-three -—- install-php]] == Шаг третий - установка PHP

PHP - это компонент нашей установки, который будет обрабатывать код для отображения динамического содержимого. Он может запускать сценарии, подключаться к нашим базам данных MySQL для получения информации и передавать обработанный контент на наш веб-сервер для отображения.

Мы снова можем использовать системуyum для установки наших компонентов. Мы также собираемся включить пакет php-mysql:

sudo yum install php php-mysql

Это должно установить PHP без проблем. Нам нужно перезапустить веб-сервер Apache, чтобы он работал с PHP. Вы можете сделать это, набрав это:

sudo systemctl restart httpd.service

Установить модули PHP

Чтобы расширить функциональность PHP, мы можем дополнительно установить некоторые дополнительные модули.

Чтобы увидеть доступные опции для модулей и библиотек PHP, вы можете ввести это в свою систему:

yum search php-

Результатом являются все дополнительные компоненты, которые вы можете установить. Это даст вам краткое описание для каждого:

php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php-cli.x86_64 : Command-line interface for PHP
php-common.x86_64 : Common files for PHP
php-dba.x86_64 : A database abstraction layer module for PHP applications
php-devel.x86_64 : Files needed for building PHP extensions
php-embedded.x86_64 : PHP library for embedding in applications
php-enchant.x86_64 : Enchant spelling extension for PHP applications
php-fpm.x86_64 : PHP FastCGI Process Manager
php-gd.x86_64 : A module for PHP applications for using the gd graphics library
. . .

Чтобы получить больше информации о том, что делает каждый модуль, вы можете выполнить поиск в Интернете или посмотреть подробное описание в пакете, набрав:

yum info package_name

Будет много выходных данных, с одним полем с именемDescription, в котором будет более подробное объяснение функций, предоставляемых модулем.

Например, чтобы узнать, что делает модульphp-fpm, можно ввести следующее:

yum info php-fpm

Наряду с большим количеством другой информации, вы найдете что-то похожее на это:

. . .
Summary     : PHP FastCGI Process Manager
URL         : http://www.php.net/
License     : PHP and Zend and BSD
Description : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI
            : implementation with some additional features useful for sites of
            : any size, especially busier sites.

Если после исследования вы решите, что хотите установить пакет, вы можете сделать это с помощью командыyum install, как мы это делали для другого нашего программного обеспечения.

Если мы решили, чтоphp-fpm - это то, что нам нужно, мы могли бы ввести:

sudo yum install php-fpm

Если вы хотите установить более одного модуля, вы можете сделать это, перечислив каждый из них, разделенный пробелом, после командыyum install, например:

sudo yum install package1 package2 ...

На этом этапе ваш стек LAMP установлен и настроен. Мы все еще должны проверить наш PHP, хотя.

[[step-four -—- test-php-processing-on-your-web-server]] == Шаг четвертый - протестируйте обработку PHP на вашем веб-сервере

Чтобы проверить, правильно ли настроена наша система для PHP, мы можем создать очень простой скрипт PHP.

Мы назовем этот скриптinfo.php. Чтобы Apache мог найти файл и правильно его обслужить, он должен быть сохранен в очень конкретном каталоге, который называется «веб-корнем».

В CentOS 7 этот каталог находится в/var/www/html/. Мы можем создать файл в этом месте, набрав:

sudo vi /var/www/html/info.php

Это откроет пустой файл. Мы хотим поместить в файл следующий текст, который является допустимым кодом PHP:

Когда вы закончите, сохраните и закройте файл.

Если вы используете брандмауэр, выполните следующие команды для разрешения трафика HTTP и HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Теперь мы можем проверить, может ли наш веб-сервер правильно отображать контент, сгенерированный скриптом PHP. Чтобы попробовать это, мы просто должны посетить эту страницу в вашем веб-браузере. Вам снова понадобится публичный IP-адрес вашего сервера.

Адрес, который вы хотите посетить, будет:

http://your_server_IP_address/info.php

Страница, на которую вы заходите, должна выглядеть примерно так:

CentOS 7 default PHP info

Эта страница в основном дает вам информацию о вашем сервере с точки зрения PHP. Это полезно для отладки и проверки правильности применения ваших настроек.

Если это было успешно, то ваш PHP работает как положено.

Возможно, вы захотите удалить этот файл после этого теста, потому что он может дать информацию о вашем сервере неавторизованным пользователям. Для этого вы можете ввести это:

sudo rm /var/www/html/info.php

Вы всегда можете воссоздать эту страницу, если вам понадобится доступ к информации позже.

Заключение

Теперь, когда у вас установлен стек LAMP, у вас есть много вариантов, что делать дальше. По сути, вы установили платформу, которая позволит вам устанавливать большинство типов веб-сайтов и веб-программного обеспечения на ваш сервер.

Related