Настройка lamp centos 7: Как установить LAMP на CentOS 7 — INVS.RU

Установка LAMP на CentOS 7

LAMP – это набор ПО для создания web-серверов. Аббревиатура расшифровывается как Linux, Apache, MySQL и PHP. Область применения Без LAMP на сервере не будет работать ни один из web-сервисов. Например, если собираем FreePBX из исходников, необходим установленный web-сервер. Рассмотрим, как установить LAMP на сервер с CentOS 7. Установка Apache Apache – один из популярных web-серверов. […]

LAMP – это набор ПО для создания web-серверов. Аббревиатура
расшифровывается как Linux,
Apache, MySQL и PHP.

Область применения

Без LAMP
на сервере не будет работать ни один из web-сервисов. Например, если собираем FreePBX из исходников,
необходим установленный web-сервер.

Рассмотрим, как установить LAMP на сервер с CentOS 7.

Установка Apache

Apache
– один из популярных web-серверов.
Поставляется с открытым исходным кодом. Является частым выбором для размещения
сайтов. Позволяет работать с различными языками программирования, CMS-системами и web-фреймворками.

Установка Apache

Для его установки на CentOS выполним в консоли команду:

yum install -y httpd 

Установка Apache

Далее запустим Apache с помощью команды:

systemctl start httpd.service 

Проверить статус сервиса можно также с помощью systemctl.

Также необходимо добавить установленный web-сервер в автозагрузку. Делается это командой:

systemctl enable httpd.service 

Запуск Apache и добавление в автозагрузку

Установка MariaDB

MariaDB является ответвлением от MySQL. Она полностью совместима с MySQL.

yum install -y mariadb-server mariadb 

Установка MariaDB

Далее запустим и добавим в автозагрузку MariaDB.

В целях безопасности создаём пароль пользователя root для MariaDB. Для этого выполним команду:

mysql secure_installation 

Далее система задаст ряд вопросов (использовать ли пароль для root, введите новый пароль и другие). После перезагрузки привилегий изменения вступят в силу.

Новый пароль MySQL

Проверим результат установки MariaDB командой:

mysql -u root -p 

MariaDB

Для выхода из MariaDB вводим exit.

Установка PHP

Скачаем PHP по ссылке http://rpms.remirepo.net/enterprise/remi-release-7.rpm и установим его командой:

rpm -Uvh remi-release-7*.rpm   

Может возникнуть ошибка вида:

Ошибка epel-release

Она связана с тем, что репозиторий epel-release изначально не находится в дистрибутиве, и его нужно
установить.

Выполним команду

yum install -y epel-release 

Установка репозитория epel-release

Для того, чтобы привести PHP к версии 5.6, выполним команду:

yum --enablerepo=remi,remi-php56 install php php-common php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd 

Эта команда позволяет установить PHP с прописанных репозиториев.

Установка PHP

Узнать версию установленного PHP, а заодно проверить его установку в систему, можно, выполнив команду:

php -v 

Версия PHP

Для применения всех настроек перезапустим Apache. После этого отдельные компоненты
LAMP будут связаны
между собой.

На этом установка LAMP на CentOS
7 завершена.

Вам также могут быть интересны статьи:

  1. Настройка базового High-Availability кластера под Asterisk на Centos 7;
  2. Установка FreeSwitch из исходников на CentOS 7;
  3. Установка DAHDI, LibPRI и Asterisk 16 на CentOS 7;
  4. Восстановление базы данных MySQL;
  5. Настройка DRBD на CentOS 7.

Установка LAMP на CentOS — CMS Joomla для разработчиков

По шагам разбираем установку Linux, Apache, MySQL и PHP (LAMP) на виртуальный сервер CentOS.

  • 1. Способ — Простой. За вас все делает скрипт.
  • 2. Способ — Ручной. Делаем всю установку самостоятельно
    • Начало установки
    • Установка Apache
    • Установка PHP
    • Установка MariaDB вместо MySQL
    • Завершение установки
  • Создание сайта

Стек LAMP мы будем использовать в качестве среды разработки, тестирования и отладки, при этом работать он будет на стандартном для большинства хостингов дистрибутиве — CentOS.

Статья создана на основе руководства по установке и конфигурированию производительных серверов.

К этому моменту мы предполагаем, что вы уже установили CentOS на виртуальную машину и получили к ней доступ по SSH.

Дальнейшая установка позволит вам получить современный сервер Apache, который поддерживает HTTP2 и настроен на работу с PHP-FPM.

В качестве базы данных будет использована MariaDB, которая уже стала негласным стандартом после приобретения MySQL компанией Oracle. Она ничем не отличается от MySQL и разрабатывается создателем этой базы данных под свободной лицензией.

Есть два варианта установки:

  1. Короткий и простой, но без комментариев и понимания что делаем.
  2. Длинный, ручками, с объяснением каждого шага.

1. Способ — Простой. За вас все делает скрипт.

  1. Скачиваем скрипт установки c сайта hika.su вот такой командой и следуем его указаниям:
    wget https://hika.su/ri.sh && chmod u+x ri.sh && . /ri.sh

  2. Дожидаемся установки всех пакетов и если того потребует скрипт, выполняем reboot.
  3. После перезагрузки снова запускаем скрипт командой ./ri.sh и внимательно следим за установкой и подсказками скрипта.

Можно также поставить файл mc.menu вместо стандартного. Это позволит удобно управлять сервером:


cd /etc/mc
mv /etc/mc/mc.menu /etc/mc/mc.menu.old
wget https://hika.su/mc.menu

На этом все — конфигурирование сервера завершено.

2. Способ — Ручной. Делаем всю установку самостоятельно

Начало установки

Начинаем с обновления установленной системы CentOS.

yum update

Устанавливаем любимый файловый менеджер Midnight Commander:

yum install mc

После обновления нужно проверить — выключен ли SELinux? На виртуальной машине VMware скорее всего он был включен. Команда sestatus показывает включен ли SELinux. Если включен — надо его отключить. В файле /etc/sysconfig/selinux найти строку и установить параметр:

SELINUX=disabled

Устанавливаем локаль utf-8, чтобы корректно отображался русский шрифт и различные специальные символы (в частности те, которые используются mc).

localectl set-locale LANG=en_US.UTF-8

На случай если подключение будет через локаль Windows и если локали не совпадут — то все переключится на ANSI кодировку. Локали должны совпадать. Поэтому убедитесь, что локаль вашей Windows системы совпадает с локалью на сервере (по умолчанию в Windows включается русская локаль).

Устанавливаем (или убеждаемся что они уже установлены) программы cronie и logrotate:

yum install cronie
yum install logrotate

Устанавливаем репозитарий EPEL. Полностью EPEL репозиторий называется так — Extra Packages for Enterprise Linux. Это хранилище пакетов, созданное группой специалистов операционной системы Fedora. Пакеты из EPEL репозитория никогда не конфликтуют и не переустанавливают базовые пакеты RHEL.

yum install epel-release

Установка Apache

Теперь установим репозитарий CodeIT для получения последних версий Apache:

cd /etc/yum.repos.d
wget https://repo.codeit.guru/codeit.el`rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release)`.repo
yum install httpd mod_ssl
systemctl enable httpd
systemctl start httpd

Если у вас установлен Firewall — конфигурируем его для открытия портов веб-сервера:

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

Делаем рестарт веб-сервера:

systemctl restart httpd

На случай если получаем сообщение по типу

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

при перезапуске httpd, то идем в файл /etc/httpd/conf/httpd.conf и ищем вот эти строки:

# ServerName gives the name and port that the server uses to identify itself. 
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName пишем сюда IP адрес сервера

Установка PHP

Для установки новой версии php в CentOS приходится использовать сторонний репозиторий. Если устанавливать через репозиторий Remi, то инструкция такая:

wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7*.rpm
yum install yum-utils

Выбираем какую версию PHP будем устанавливать (в нашем случае PHP 7.3):

yum-config-manager --enable remi-php73
yum install php-fpm php-opcache php-cli php-gd php-mbstring php-mcrypt php-mysqlnd php-xml php-soap php-xmlrpc php-pecl-zip php-pecl-xdebug

Cоздаем файл /etc/httpd/conf.d/php.conf со следующим содержимым:

# Tell the PHP interpreter to handle files with a . php extension.
# Proxy declaration
<Proxy "unix:/var/run/php-fpm/default.sock|fcgi://php-fpm">
# we must declare a parameter in here (doesn't matter which) or it'll not register the proxy ahead of time
  ProxySet disablereuse=on connectiontimeout=3 timeout=60
</Proxy>
# Redirect to the proxy
<FilesMatch \.php$>
  SetHandler proxy:fcgi://php-fpm
</FilesMatch>
#
# Allow php to handle Multiviews
#
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
#
#<LocationMatch /status>
#  SetHandler proxy:fcgi://php-fpm
#</LocationMatch>
#ProxyErrorOverride on

Директива ProxyErrorOverride on нужна для нормальной работы кастомных ошибок, которые настраиваются через htaccess в каждом сайте с помощью директивы ErrorDocument 404. Нужно учитывать, что в этом случае вместо 500 ошибок так же будет выводиться кастомная страница или стандартное сообщение об ошибке Apache. Если для написания сайта используется php фреймворк (например Laravel или Joomla) лучше оставить директиву ProxyErrorOverride отключенной – иначе сайт может работать неверно (например не будет работать перевод сайта в offline). Связано это с действием директив php throw. В том случае, если вы пишите сайт на голом php – возможно включение этой директивы поможет вам в работе. Ее можно включить на уровне виртуальных хостов (и это самый лучший способ так сделать).

Редактируем файл /etc/php-fpm.d/www.conf — находим строку:

listen = 127.0.0.1:9000

и заменяем ее на:

listen = /var/run/php-fpm/default.sock
listen.allowed_clients = 127.0.0.1
listen.owner = apache
listen.group = apache
listen.mode = 0660
user = apache
group = apache

Если вы хотите чтобы в Apache логи PHP-FPM разбивались индивидуально по сайтам, а не писались в один файл, необходимо закомментировать еще две строки в этом же файле /etc/php-fpm. d/www.conf :

;php_admin_value[error_log] = /var/log/php-fpm/www-error.log
;php_admin_flag[log_errors] = on

Если есть экзотическое желание заставить работать страницы .html как .php (чтобы в них могли исполняться PHP скрипты), то придется исправить еще одну строку в этом файле:

security.limit_extensions = .php .html

Здесь мы добавляем расширение .html для того, чтобы в нем могли исполняться PHP скрипты.

Директории для сессий при установке PHP могут быть не созданы. Проверьте в конце файла наличие строк:

php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache

Если необходимо, создайте эти директории :

mkdir /var/lib/php/session
mkdir /var/lib/php/wsdlcache

Проверим что конфигурационный файл PHP-FPM корректен:

php-fpm -t

Теперь перезапускаем сервис php-fpm и делаем его автоматически запускаемым:

systemctl enable php-fpm systemctl start php-fpm

Не забудьте изменить ограничение на загрузку файлов в 2M. В файле

/etc/php.ini найдите эти параметры и исправьте на приведенные значения (или на те, которые вас устроят):

memory_limit = 256M
upload_max_filesize = 32M
post_max_size = 32M

Установка MariaDB вместо MySQL

Выполняем команды:

cd /etc/yum.repos.d/
echo "# MariaDB 10.3 CentOS repository list - created 2018-10-22 16:03 UTC" > MariaDB.repo
echo "# https://downloads.mariadb.org/mariadb/repositories" >> MariaDB.repo
echo "[mariadb]" >> MariaDB.repo
echo "name = MariaDB" >> MariaDB.repo
echo "baseurl = https://yum.mariadb.org/10.3/centos7-amd64" >> MariaDB.repo
echo "gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB" >> MariaDB.repo
echo "gpgcheck = 1" >> MariaDB.repo
yum install MariaDB-server MariaDB-client
systemctl start mariadb
systemctl enable mariadb

Запускаем команду:

mysql_secure_installation

Когда будет задан вопрос о root пароле, то устанавливаем его. В качестве ответа на остальные вопросы просто жмем Enter.

В конфигурационном файле /etc/my.cnf.d/server.cnf в разделе [mysqld] раскомментируем строку bind-address и задаем значение 127.0.0.1:

bind-address=127.0.0.1

В файл .bashrc (расположен в домашней папке) добавляем строку в конце:

export EDITOR=mcedit

Также добавляем строку с паролем MariaDB:

export MYSQLPASS=ваш_пароль

Завершение установки

yum install unzip

Настраиваем локальное время (например, Московское):

mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Генерируем самоподписанный сертификат SSL на 10 лет:

openssl req -new -days 3650 -x509 -nodes -out /etc/pki/tls/certs/localhost.crt -keyout /etc/pki/tls/private/localhost.key

Указываем только страну, остальное Enter.

Для удобного управления сервером можно использовать созданные заранее скрипты для MC.

Загрузить их можно с сайта hika.su командой:

cd /etc/mc && mv mc.menu mc.menu.old && wget https://hika.su/mc.menu

На этом можно считать конфигурацию завершенной.

Создание сайта

Если вы установили скрипты для MC, то для того, чтобы создать сайт, создаем папку в директории /var/www/html с именем сайта (например joomla.test), затем наводим на нее куросор в MC и нажимаем F2.

Появится меню с выбором возможных действий:

  1. С помощью стрелок выбираем пункт меню создать сайт по имени папки (можно воспользоваться клавиатурой и просто нажать цифру 2).
  2. Выбираем пункт меню coздaть бaзy mysql пo имени папки (можно просто нажать цифру 3) – скрипт создаст базу данных с таким же названием как и сайт.
  3. Выбираем пункт меню скачать Joomla в папку (можно просто нажать j) — автоматически загружается последняя стабильная версия Joomla 3. x.
  4. Нажимаем нa установить владельцем apache. Не забываем сделать рестарт сервера Apache. До тех пор пока вы этого не сделаете — сайт не будет доступен.
  5. Прописываем в Windows файле hosts наш сайт. Путь к файлу hosts на Windows машине следующий:
    C:\Windows\System32\drivers\etc

    Файл необходимо открыть от имени администратора и добавить строку:

    IP адрес виртуальной машины joomla.test

    Например так:

    192.168.0.3 joomla.test



  6. Теперь открываем в обозревателе адрес joomla.test — мы должны увидеть страницу установки Joomla.

Для корректной работы скриптов требуется установленная в файле .bashrc переменная с root паролем от базы MariaDB.

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

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

 

База знаний Главная / Как установить LAMP (Linux, Apache, MySQL, PHP) на CentOS 7

// Просмотр комментариев //

В этом руководстве мы рассмотрим шаги по установке и настройке стека LAMP на CentOS 7 VPS.

Все команды — без sudo

 обновление yum
ням установить httpd -y
systemctl запустить httpd
systemctl включить httpd
yum установить mariadb-сервер mariadb -y
systemctl запустить mariadb
systemctl включить mariadb
systemctl mysql_secure_installation
yum установить epel-release yum-utils -y
ням установить http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
yum-config-manager --enable remi-php73
yum установить php php-mysql -y
systemctl перезапустить httpd

 

Все команды — с sudo

 sudo yum update -y
sudo yum установить httpd -y
sudo systemctl запустить httpd
sudo systemctl включить httpd
sudo yum установить mariadb-сервер mariadb -y
sudo systemctl запустить mariadb
sudo systemctl включить mariadb
sudo systemctl mysql_secure_installation
sudo yum установить epel-release yum-utils -y
sudo yum установить http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum-config-manager --enable remi-php73
sudo yum установить php php-mysql -y
sudo systemctl перезапустить httpd 

LAMP — это набор пакетов программного обеспечения с открытым исходным кодом, который используется для создания веб-сайтов и веб-приложений. ЛАМПА — это аббревиатура. Он состоит из L inux в качестве операционной системы, A pache в качестве веб-сервера, M ySQL/MariaDB в качестве системы управления реляционной базой данных и P HP в качестве языка сценариев на стороне сервера. В этом документе мы рассмотрим шаги, необходимые для установки стека LAMP на сервере CentOS 7.

Все, что вам нужно для этих операций, это VPS с установленной на нем CentOS 7 и доступ к серверу с правами root/root.

Необходимые условия

  • CentOS 7 VPS
  • Root-доступ к серверу
  • Клиент SSH (например, PuTTY)

Шаг 1: Обновите систему

Прежде чем мы начнем, всегда полезно обновить системное программное обеспечение на сервере. Это можно сделать, выполнив команду ниже.

 sudo yum update -y 

Шаг 2: Установите Apache

Установка Apache — это простой шаг, который можно выполнить с помощью диспетчера пакетов Yum.

 sudo yum install httpd -y 

Запустите и включите службу Apache с помощью следующей команды.

 sudo systemctl запустить httpd
sudo systemctl enable httpd 

Проверьте, работает ли Apache, вызвав ваш IP/имя хоста в браузере. Если Apache работает, будет отображаться веб-страница CentOS 7 Apache по умолчанию.

Тестовая страница Apache на сервере CentOS 7

Шаг 3. Установка базы данных MariaDB

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

 sudo yum install mariadb-server mariadb -y 

Теперь, когда MariaDB успешно установлена, выполните приведенную ниже команду, чтобы запустить и включить службу.

 sudo systemctl запустить mariadb
sudo systemctl enable mariadb 

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

 sudo mysql_secure_installation 

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

Шаг 4: Установите PHP

PHP — это широко используемый язык сценариев, подходящий для веб-разработки. Он работает с Apache для отображения динамического контента для вашего сайта. По умолчанию PHP 5.4 доступен в репозиториях CentOS 7 Yum. Мы рекомендуем вам установить последнюю стабильную версию PHP 7.x, так как она имеет множество улучшений и новых функций.

Чтобы установить последнюю версию PHP, нам нужно добавить репозитории EPEL и REMI. Начнем с установки пакета «yum-utils» для настройки репозиториев yum и включения репозитория EPEL.

 yum install epel-release yum-utils -y 

Теперь загрузите и установите репозиторий REMI.

 yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y 

Настройте репозиторий для установки PHP 7.3 (или последней стабильной версии) с помощью следующей команды. Если есть более поздняя версия, просто измените команду, изменив номера версий в команде, чтобы они соответствовали выпуску, который вы хотите установить.

 yum-config-manager --enable remi-php73 

Теперь мы можем установить PHP 7.3 вместе с его SQL-зависимостью, используя приведенную ниже команду.

 yum install php php-mysql -y 

После установки PHP перезапустите службу Apache.

 sudo systemctl restart httpd 

Заключение

Вот и все. Вы успешно установили платформу LAMP в свою систему CentOS 7, которая теперь может запускать динамические веб-сайты и программные приложения. В зависимости от ваших потребностей в веб-хостинге вам также может потребоваться установить дополнительные модули Apache и расширения PHP.

Мы настоятельно рекомендуем проверить веб-сервер OpenLiteSpeed ​​в качестве замены Apache с открытым исходным кодом. Запустив OpenLiteSpeed, можно значительно увеличить скорость. У нас есть статья о том, как установить OpenLiteSpeed, чтобы помочь вам.


Если у вас есть какие-либо вопросы по веб-хостингу, свяжитесь с нами по телефону .
Мы рады помочь.


Наши руководящие принципы

  • Предоставление последовательных, стабильных и надежных услуг веб-хостинга.
  • Обеспечьте быстрое реагирование на заявки и быстрое решение проблем.
  • Никогда не перегружайте серверы и не выделяйте их слишком много, чтобы обеспечить стабильность и скорость для наших клиентов.
  • Используйте только высококачественное оборудование корпоративного класса, чтобы обеспечить минимальное время простоя из-за аппаратных сбоев.
  • Предоставьте четкие цены без скрытых комиссий и подвохов.

Эта статья была размещена в How-To Guide, mySQL, веб-серверах и помечена как Apache, CentOS 7, настройка LAMP, установка LAMP, LAMP, Linux, MySQL, PHP

Блоги, информационные бюллетени и обновления

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

Статьи по теме

  • Как установить phpMyAdmin на CentOS 7
  • Как установить MariaDB/MySQL на CentOS 7
  • Как установить веб-сервер OpenLiteSpeed ​​на CentOS 7
  • Как отключить отчеты об ошибках PHP
  • Как установить NGINX, MySQL, PHP v7 (LEMP) на CentOS 7
  • Как проверить свой сайт на битые ссылки в WordPress

    Ссылки, ведущие к недоступным местам назначения, называются «битыми ссылками». Эти ссылки могут быть результатом ошибок программирования, неправильного написания URL-адресов, ссылок в сообщениях или удаления страниц из вашей панели управления WordPress. Broken Link Checker — эффективный плагин для обнаружения битых ссылок в режиме реального времени. С настраиваемыми временными интервалами и выборочным

    Продолжить чтение…

  • Как заменить задание WordPress Cron реальным заданием Cron

    Медленное время загрузки WordPress или неудачные запланированные публикации могут быть вызваны функцией cron WordPress по умолчанию. вы можете заменить его заданием cron операционной системы (Unix/Linux) для повышения производительности. Фактическое задание cron — это планировщик cron, представляющий собой системный процесс, который автоматически выполняет задачи для вас в соответствии с

    Продолжить чтение…

  • Как настроить Redis Object Cache в WordPress

    Существует ряд плагинов, которые позволяют настроить Redis как Object Cache для вашего веб-сайта WordPress, тем самым повышая его производительность. В этой статье мы обсудим LiteSpeed ​​Cache для WordPress, также известный как LSCWP, и плагины Redis Object Cache. Перед началом этого руководства предполагается, что Redis включен в cPanel. Если нет,

    Продолжить чтение…

  • Как включить кэш объектов Redis для использования на вашем веб-сайте

    Мы серьезно относимся к отзывам клиентов и продолжаем добавлять новые функции. Вы просили «Redis Object Cache», и мы недавно завершили добавление этой функции для вас. Прежде чем идти дальше, давайте посмотрим, что такое Redis. Что такое Редис? Redis — это хранилище структур данных в памяти, бесплатное и с открытым исходным кодом. Он содержит строки,

    Читать далее…

  • Учебники по phpMyAdmin

    Работа с базами данных в phpMyAdmin Посмотрите это видео на YouTube   Как управлять базой данных MySQL с помощью phpMyAdmin в cPanel Посмотрите это видео на YouTube   Как удалить поля из таблиц с помощью phpMyAdmin Посмотрите это видео на YouTube   Как изменять поля в таблицах с помощью phpMyAdmin Посмотрите это видео на YouTube  

    Продолжить чтение…

Как установить стек LAMP на CentOS 7

Независимо от того, являетесь ли вы новичком в хостинге веб-сайтов или опытным разработчиком, вы, скорее всего, слышали о стеке LAMP. Стек LAMP — это базовый набор приложений, из которых обслуживается большинство веб-сайтов, работающих на сервере Linux, и обычно его называют «Lamp». LAMP представляет собой не одну программу, взаимодействующую с обслуживаемым веб-сайтом, а несколько независимых программ, работающих в тандеме: Linux, Apache, MySQL/MariaDB и PHP. В этой статье мы рассмотрим установку стека LAMP на ваш сервер CentOS 7, чтобы вы могли запускать веб-сайт с любого выделенного сервера или виртуального частного сервера. Хотя мы сосредоточены на установке LAMP на сервер CentOS 7, шаги, которые мы рассмотрим, очень похожи для разных дистрибутивов Linux.

Каждая среда немного отличается, поэтому давайте обсудим среду, которую мы будем использовать в этом руководстве. Мы начнем с чистой установки последней версии CentOS 7 (версия 7.6) на виртуальную машину, установленную на рабочей станции. Для простоты установки мы будем использовать пользователя root для установки служб. Вы можете использовать альтернативного системного пользователя, если хотите, но вам нужно будет добавить sudo к следующим командам, чтобы они могли установить или взаимодействовать с программным обеспечением. Для любой среды, которую вы выберете, важно, чтобы вы были подключены к Интернету для доступа к yum репозиториев для загрузки пакетов для установки.

После запуска сервера и доступа к нему через консоль или SSH-терминал мы можем приступить к выполнению следующих шагов. Если вам нужна помощь во взаимодействии с сервером через терминал, ознакомьтесь с нашей статьей о SSH.

Предполетные проверки

Чтобы узнать, какой дистрибутив Linux у вас запущен, используйте следующую команду:
cat /etc/redhat-release
Пришло время убедиться, что наша среда yum чиста и обновлена. сделаем это, очистив весь кеш yum и обновив yum, используя:
yum clean all
yum update

Установка LAMP

Теперь, когда мы знаем, в какой среде мы работаем, давайте приступим к установке стека LAMP на CentOS 7:

L — Linux

Первая часть стека — Linux. Это ваша операционная система, и поскольку она уже установлена, вам не нужно беспокоиться об ее установке или внесении каких-либо изменений. Установка CentOS 7 легко загружается и устанавливается с помощью файлов изображений, предоставленных на сайте centos.org. В CentOS есть полезное руководство по установке, если вам нужно обратиться к нему за дополнительными инструкциями по установке.

A — Apache

Apache — следующая часть стека LAMP. Apache — это программное обеспечение веб-сервера, которое отвечает за доставку контента в ваш веб-браузер с сервера. Он принимает запросы, которые он получает, и отправляет код HTML для интерпретации вашим браузером.
Установить Apache с помощью Yum:
yum -y install httpd

Открытые порты в FW:
firewall-cmd --permanent --add-service=http -add-service=https
firewall-cmd - -перезагрузить

Запустите и включите apache для запуска при запуске сервера:
systemctl start httpd
systemctl enable httpd

Расположение установки Apache по умолчанию:

Некоторые важные расположения серверов, которые следует помнить для Apache, перечислены ниже. Это стандартные значения по умолчанию, которые можно изменить по своему усмотрению:
Бинарный файл httpd: /sbin/httpd
Файл конфигурации Apache: /etc/httpd/conf/httpd.conf
Файлы веб-сайта: /var/ www/html/
Журналы Apache: /var/log/httpd/

M — MySQL/MariaDB

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

Установить MariaDB:
yum -y install mariadb-server
systemctl start mariadb

Хотя защита mysql необязательна, настоятельно рекомендуется: Среда Mysql/MariaDB

Разрешить запуск MariaDB при запуске сервера:
systemctl enable mariadb

Расположение установки по умолчанию:

Некоторые важные расположения серверов, которые следует помнить для MySQL/MariaDB, перечислены ниже. Это стандартные значения по умолчанию, которые можно изменить по своему усмотрению:
Двоичный файл MariaDB: /bin/mysql
Файл конфигурации MariaDB: /etc/my.cnf
Расположение базы данных: /var/lib/mysql
Журналы MariaDB: /var/log/mariadb/mariadb.log

P – PHP

Большинство существующих сегодня веб-сайтов создаются с использованием кода PHP. PHP предоставляет программисту больше возможностей для динамического содержимого по сравнению с простым html-кодом. Для использования доступны несколько версий PHP в зависимости от того, на какой версии PHP был построен веб-сайт. Мы установим последнюю версию PHP.

Чтобы установить последнюю версию PHP, нам сначала нужно установить репозиторий CentOS Software Collection (SCL):
yum -y install centos-release-scl.noarch

Теперь у нас есть доступ для установки PHP 7.2 :
yum -y install rh-php72

Теперь поправим символьную ссылку для бинарника:
ln -s /opt/rh/rh-php72/root/usr/bin/php /usr/bin /php

Установите обновленный модуль PHP для Mysql/MariaDB:
yum -y install rh-php72-php-mysqlnd

Перезапустите apache для работы с только что установленным PHP:
systemctl restart httpd

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