Настройка centos 7 lamp: Установка LAMP (apache+php+mysql) в CentOS 7

Содержание

Установка LAMP в CentOS 7 » Блог Андрея Бондаренко

Доброго времени суток, уважаемые читатели. Сегодня тема статьи: «Установка LAMP в CentOS 7». Кроме того, для работы с базами данных, будет рассмотрена установка веб-приложения Phpmyadmin.

LAMP – это комплект серверного ПО (Linux, Apache, MySQL, PHP), готовая платформа для работы веб-сайтов или веб-приложений.

Создание инфраструктуры.
  • Для начала создадим директории для нашего веб-сайта или веб-приложения.
  • Будем использовать директорию /var/www, в качестве хранилища наших веб-ресурсов.
  • В директории www создаём первый каталог под веб-сайт, и называем его так же, как и доменное имя нашего сайта, чтобы не было путаницы, если сайтов будет несколько.
  • Для примера создадим каталог test.ru.
  • В основном каталоге создадим две директории: site – для файлов сайта, и log – для логов доступа и ошибок.
# mkdir -p /var/www/test.ru/{site,log}
Установка Apache.
  • Переходим к установке веб-сервера Apache.
# yum install httpd
  • После установки, запускаем Apache, и добавляем его в автозагрузку.
# sudo systemctl start httpd
# sudo systemctl enable httpd
  • Делаем Apache владельцем директории /var/www/.
# chown -R apache. /var/www/
  • Теперь нужно создать конфигурационный файл для нашего сайта.
  • Идём в директорию /etc/httpd/conf.d/, и создаём файл test.ru.conf с таким содержанием:
ServerName test.ru
ServerAlias www.test.ru
DocumentRoot /var/www/test.ru/site
ErrorLog /var/www/test.ru/log/error.log
CustomLog /var/www/test.ru/log/access.log common

Options FollowSymLinks
AllowOverride All
Require all granted

php_admin_value date.timezone 'Europe/Moscow'
php_admin_value max_execution_time 60
php_admin_value upload_max_filesize 30M
  • На этом с Apache, пока мы закончили.
Установка PHP.
  • Переходим к установке PHP.
  • Во внутреннем репозитории старые версии пакетов, поэтому будем подключать сторонний репозиторий Remi.
# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
  • Теперь нужно установить дополнительные пакеты для пакетного менеджера yum.
# yum install yum-utils
  • По завершении установки, активируем remi-php73.
# yum-config-manager --enable remi-php73
  • Устанавливаем php, и некоторые компоненты.
# yum install php php-cli php-mysqlnd php-json php-gd php-ldap php-odbc php-pdo php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip
Настройка брандмауэра.
  • Добавляем правило в файл /etc/sysconfig/iptables.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
  • Перезапускаем iptables.
# systemctl restart iptables
  • Теперь можно перезагрузить Apache, и проверить его работоспособность.
# systemctl restart httpd
  • Открываем браузер, и заходим по ip-адресу или доменному имени.
  • Открывается страничка заглушка Apache. Правильно, ведь в директории /var/www/test.ru/site/ у нас пусто.
  • Для проверки, создадим файл index.html, с текстом «Hello».
# echo "Hello" >> /var/www/test.ru/site/index.html
  • Если теперь зайти через браузер, то вместо заглушки, будет белая страница с надписью Hello.
Установка mariadb.
  • В директории /etc/yum.repos.d/, создаём файл mariadb.repo с таким содержанием:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
  • Запускаем установку сервера баз данных.
# yum install MariaDB-server MariaDB-client
  • По завершении установки, запускаем mariadb, и добавляем в автозагрузку.
# systemctl start mariadb
# systemctl enable mariadb
  • Открываем скрипт первоначальной настройки, и производим настройку.
# /usr/bin/mysql_secure_installation
  • Создаём пароль для root, и на все вопросы отвечаем Y.
  • На этом настройки сервера баз данных завершены.
Установка Phpmyadmin.
  • Прежде чем заняться phpmyadmin, нам нужно создать необходимые директории.
  • Установку будем производить на поддомен.
  • Создадим поддомен myadmin.test.ru. (Вы можете создать поддомен на своё усмотрение)
# mkdir -p /var/www/myadmin.test.ru/{site,log}
  • Далее нужно создать конфигурационный файл, по аналогии с файлом, который мы создавали для сайта test. ru.
  • Создаём файл /etc/httpd/conf.d/myadmin.test.ru.conf.
ServerName myadmin.test.ru
ServerAlias www.myadmin.test.ru
DocumentRoot /var/www/myadmin.test.ru/site
ErrorLog /var/www/myadmin.test.ru/log/error.log
CustomLog /var/www/myadmin.test.ru/log/access.log common

Options FollowSymLinks
AllowOverride All
Require all granted

php_admin_value date.timezone 'Europe/Moscow'
php_admin_value max_execution_time 360
php_admin_value upload_max_filesize 180M
  • Изменяются только пути к директориям и файлам.
  • Предварительная подготовка завершена. Можно переходить к установке.
  • Заходим на официальный сайт https://www.phpmyadmin.net/, и либо скачиваем архив через браузер, либо копируем ссылку, и скачиваем на сервер при помощи wget.
  • Файлы phpmyadmin должны быть добавлены в директорию /var/www/myadmin.test.ru/site.
  • Производим необходимые настройки доступа.
# chown -R apache. /var/www/myadmin.test.ru/site
Проверка работоспособности.
  • Теперь можно проверить работоспособность нашей конфигурации.
  • Если Вы производите установку в локальной сети, и в сети нет DNS-сервера, то можно добавить записи в файл C:\Windows\System32\drivers\etc\hosts.
Ip-адрес       test.ru
Ip-адрес       myadmin.test.ru
  • Открываем браузер, и обращаемся на test.ru.
  • Открывается страничка, созданная нами в директории /var/www/test.ru/site.
  • Открываем новую вкладку, и обращаемся на myadmin.test.ru.
  • Открывается страница авторизации Phpmyadmin.

Конфигурация работает. Оба наших виртуальных хоста доступны.

Настройка ротации логов.
  • Единственное что нам осталось сделать, это настроить ротацию логов наших виртуальных хостов.
  • Ротация настроенная по умолчанию, не коснётся наших виртуальных хостов, так как мы изменили директории логов.
  • Чтобы поправить дело, нужно найти файл /etc/logrotate.d/httpd, именно он и отвечает за ротацию Apache, и добавить в него одну строчку.
/var/www/*/log/*log

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

Сегодня мы рассмотрели тему: «Установка LAMP в CentOS 7». Произвели установку и настройку всех компонентов. Смотрите также видео по теме.

Надеюсь статья была вам полезна. До встречи в новых статьях.

С уважением, Андрей Бондаренко.


Видео на тему «Установка LAMP в CentOS 7»:

Установка веб-интерфейса PHPMyAdmin на Centos 7.3

Управление базами данных и СУБД используя стандартные инструменты, является достаточно неудобным занятием, поэтому администраторами СУБД и разработчиками используются сторонние средства администрирования и разработки, например использующие web-интерфейс.

Phpmyadmin — это веб-интерфейс для администрирования MySQL, написанный на PHP. Поэтому предварительно желательно настроить LAMP-стек. (Linux, Apache (в случае Centos он называется Httpd),MySQL (опять же в Centos это MariaDB), PHP). Для этого можно воспользоваться соответствующей инструкцией.

Для установки PhpMyAdmin на системах, использующих пакетный менеджер yum достаточно выполнить следующие действия:

Обновляем базу пакетов yum используя команду yum makecache

yum makecache


Loaded plugins: fastestmirror
base                                                     | 3. 6 kB     00:00
epel/x86_64/metalink                                     |  31 kB     00:00
epel                                                     | 3.2 kB     00:00
extras                                                   | 3.4 kB     00:00
updates                                                  | 3.4 kB     00:00
(1/2): epel/x86_64/updateinfo                              | 931 kB   00:01
(2/2): epel/x86_64/primary                                 | 3.5 MB   00:03
Loading mirror speeds from cached hostfile
 * base: mirror.reconn.ru
 * epel: mirror.linux-ia64.org
 * extras: mirror.corbina.net
 * updates: mirror.logol.ru
epel                                                                12581/12581
Metadata Cache Created

Далее ищем этот пакет в базе данных yum командой

yum list phpmyadmin


yum list phpmyadmin
Загружены модули: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror. reconn.ru
 * epel: mirror.linux-ia64.org
 * extras: mirror.corbina.net
 * updates: mirror.logol.ru
Доступные пакеты
phpMyAdmin.noarch                      4.4.15.10-2.el7                      epel
[root@centos7x64 ~]#

Устанавливаем этот пакет командой yum install. При этом yum предложит доставить (предварительно поставить) компоненты, наличия которых требует данный пакет (зависимости). Также, если это не установлено ранее поставим Mariadb, HTTPd и PHP.

yum install httpd mariadb-server php phpmyadmin

После установки запускаем Httpd и mariadb командой systemctl.

systemctl status <имя службы> — проверить запущен ли службу

systemctl start <имя службы> — запустить службу

systemctl stop <имя службы> — остановить службу

systemctl enable <имя службы> — добавить службуl в автозагрузку

т.е в нашем случае

systemctl start httpd

systemctl start mariadb

systemctl status httpd

systemctl status mariadb

Также проинициализируем MariaDB С помощью команды

mysql_secure_installation.

После задания паролей система спрашивает запретить ли доступ анонимных пользователей — скажем да, запретить


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]

Запретить ли пользователю root логиниться удаленно — обычно да, запрещают по соображениям безопасности, так как у этого пользователя неограниченные права на доступ в СУБД.


... 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] y

Убрать ли тестовые базы. Скажем, например, нет.


 ... Success!

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] n

Перезагрузить ли таблицу привилегий — это таблица прав доступа


... skipping.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n]

По умолчанию к phpmyadmin на Centos разрешено логиниться только с локального сервера (127.0.0.1). Если Нас это не устраивает то нужно поправить конфигурационный файл web-сервера HTTPD (Apache) Для этого сохраните исходный конфигурационный файл Apache.

cp /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.orig

После этого в этом конфигурационном файле надо заменить строку

Require ip 127. 0.0.1

На

Require all granted

И перезапустить сервер.

На этом установка закончена. Работоспособность, если стандартный порт TCP 3306 не закрыт firewall, можно проверить просто набрав в браузере http://<имя сервера>/phpmyadmin — должна открыться консоль входа в которую можно зайти пользователем root и паролем заданным на шаге 6. После успешного входа Вы попадете в PhpMyAdmin который выглядит так:

 

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

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

Введение

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

В этой статье мы объясним, как установить WordPress со стеком LAMP на CentOS 7.

Предварительные условия

Прежде чем начать, вам потребуется:

  • Сервер CentOS 7
  • Установить стек LAMP

Шаг 1 — Загрузите WordPress

После того, как вы успешно установили LAMP Stack на основе приведенной выше статьи, измените текущий каталог на веб-каталог:

 

$

cd /var/www/html

Теперь загрузите последнюю версию WordPress файл, выполнив эту команду:

 

$

wget https://wordpress.org/latest.tar.gz

Затем извлеките файл WordPress в текущий каталог:

 

$

tar xvzf last.tar.gz

После этого вам нужно переместить файлы из каталога wordpress в веб-каталог:

$

4

mv /var/www/html/wordpress/* /var/www/html

Шаг 2. Создание базы данных MySQL

Вам потребуется база данных для хранения, сбора и получения информации о веб-сайте. Теперь нам нужно создать базу данных MySQL. Первый вход в MySQL:

 

$

mysql -u root -p

Введите пароль и создайте имя базы данных:

 

mysql>

CREATE DATABASE wordpress;

После этого предоставьте привилегии имени базы данных, создайте пользователя базы данных и установите пароль:

 

mysql>

ПРЕДОСТАВЬТЕ ВСЕ ПРИВИЛЕГИИ на wordpress.

Сбросить привилегии для внесения изменений.

 

mysql>

FLUSH PRIVILEGES;

И выйдите из MySQL:

 

mysql>

exit

Вы успешно создали базу данных для своего сайта WordPress. Теперь измените файл конфигурации WordPress с помощью созданной вами базы данных. Сначала переименуйте wp-config-sample.php в wp-config.php:

 

$

mv wp-config-sample.php wp-config.php

Откройте файл wp-config.php:

 

$

nano wp-config.php

Изменить строки, выделенные красным:

С базой данных, которую вы создали выше:

Закройте файл, нажав CTRL+X, введите Y, чтобы сохранить изменения, и нажмите Enter.

Шаг 3. Установите PHP 7

Если вы следовали инструкциям в разделе «Предварительные условия», вам необходимо обновить PHP до версии 7.0 или более поздней. Для обновления вам потребуется установить репозитории Remi и Epel:

 

$$

yum install epel-release yum-utils -y ням установить http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Теперь включите PHP 7.0 Repo:

 

$

Yum-config-Manager-remi-php70

и установка Php 7.0 с MSYQL модуль:

 

$

40004 Yum Устройство PHP-MISSQ-MISSQ

 

5 44.

Перезапустите веб-сервер, чтобы изменения вступили в силу:

 

$

systemctl reboot httpd

Шаг 4 — установка WordPress ://ваш адрес. После того, как вы зашли на свой сайт, вы получите знаменитый пятиминутный процесс установки:

Предоставьте информацию ниже в соответствии с вашими предпочтениями и нажмите кнопку «Установить WordPress», чтобы завершить процесс установки:

Теперь войдите в панель администратора WP:

И управляйте своим сайтом WordPress:

Заключение

Вы успешно установили WordPress со стеком LAMP на CentOS 7. Теперь вы создали свой веб-сайт и можете оформить его по своему желанию.

Как настроить стек LAMP в Red Hat Enterprise Linux 7

Вас попросили создать стек LAMP, независимо от того, думаете ли вы: «Стек ламп, как свет и лампочки» или «Хорошо, давайте создадим веб-сервер "Это руководство поможет вам быстро начать работу.

Во-первых, для тех, кто не знает, стек LAMP, также известный как LAMP, является аббревиатурой для сервера Linux/UNIX с Apache в качестве серверного ядра, MySQL/MariaDB в качестве ядра базы данных и PHP в качестве основного сервера. язык сценариев.

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

Всего пара вещей, которые вам нужно будет подготовить:

  • Приличное интернет-соединение.
  • Непроизводственный сервер для использования с этим руководством.
    • В этом руководстве предполагается, что сервер был установлен с минимальными параметрами и правильно зарегистрирован в рамках подписки Red Hat.
  • Доступ к серверу, который предоставляет вам доступ к Sudo (администратору).

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

Если у вас графический интерфейс, перейдите в меню «Приложения», затем в подменю «Утилиты» найдите приложение «Терминал» и откройте его.

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

ПРИМЕЧАНИЕ.
С приведенными ниже командами yum это руководство не устанавливает автоматически какую-либо часть стека LAMP. После того, как вы поймете, что делаете, вы можете использовать команду «-y» для автоматической установки.

 # Не будет автоматически обновляться
судо ням обновление
# Не будет автоматически устанавливать Apache/HTTPD
sudo yum установить httpd
# Будет автоматически обновляться
sudo yum -y обновить
# Автоматически установит Apache/HTTPD
sudo yum -y установить httpd
 

ЛАМПЫ Установка Этапы

  1. Проверьте регистрацию Red Hat, в этом поможет приведенный ниже скрипт.
    Если вы зарегистрированы правильно, вы получите сообщение «Зарегистрировано правильно», в противном случае вам будет предложено ввести имя пользователя и пароль Red Hat вместе с именем хоста сервера.
     если [ "$(статус менеджера подписки sudo]; то
    прозрачный
    эхо "Зарегистрировано правильно"
    еще
    прозрачный
     
    echo -e "\033[32mРегистрация Red Hat - Старт\033[0m"
        если [-z ${1+x}]; затем
            echo -e "\033[01m\e[4mВведите свое имя пользователя для RedHat.com, а затем [ENTER]:\e[0m\033[0m"
            читать rhUser
        еще
            объявить rhUser=$1
        фи
        если [-z ${2+x}]; затем
            echo -e "\033[01m\e[4mВведите пароль для RedHat. com, а затем [ENTER]:\e[0m\033[0m"
            читать -s rhPass
        еще
            объявить rhPass=$2
        фи
        прозрачный
        echo -e "\033[32mSet Имя хоста сервера - Start\033[0m"
        если [-z ${3+x}]; затем
            echo -e "\033[01m\e[4mВведите желаемое имя хоста для сервера, а затем [ENTER]:\e[0m\033[0m"
            прочитать имя хоста
            sudo hostnamectl set-hostname $hostname
        еще
            объявить имя хоста = $3
            sudo hostnamectl set-hostname $hostname
        фи
        echo -e "\033[32mSet Имя хоста сервера - Стоп\033[0m"
        # Зарегистрировать сервер Red Hat - Start
        регистр диспетчера подписки sudo --имя пользователя $rhUser --пароль $rhPass --auto-attach
        прозрачный
        обновление менеджера подписки sudo
        прозрачный
        история -с
        личность менеджера подписки sudo
        # Зарегистрировать сервер Red Hat - Stop
        echo -e "\033[32mРегистрация Red Hat - Стоп\033[0m"
     
    фи
     
  2. Сначала обновите систему.
     # Сначала обновить систему
    судо юм обновление 
  3. Установить полезные приложения
     #Установить полезные приложения
    # nano - альтернатива текстовому редактору vi
    # curl / wget - загрузчики на базе терминала
    # bind-utils / telnet — полезно для тестирования проблем с доменом и портом
    sudo yum установить nano curl wget bind-utils telnet 
  4. Установите компоненты LAMP.
     # Установить ЛАМПУ
    # httpd - базовый Apache
    # mod_ssl и openssl — необходимы для защищенных HTTPS/SSL веб-сайтов.
    # mariadb-server & mariadb — база данных MariaDB (последняя БД на основе MySQL после того, как Oracle купила MySQL)
    # php - базовый PHP
    # php-mysql - разрешить PHP работать с MariaDB/MySQL
    # php-gd - Разрешить PHP создавать/манипулировать изображениями
    # php-mbstring - Разрешить PHP работать с многобайтовыми строками - http://php.net/manual/en/book.mbstring.php
    sudo yum установить httpd mod_ssl openssl mariadb-сервер mariadb php php-mysql php-gd php-mbstring 
  5. Включить службы, чтобы они загружались при запуске.
     # Включить службы, чтобы они загружались при запуске
    sudo systemctl включить httpd.service
    sudo systemctl включить mariadb.service 
  6. Открытый брандмауэр для HTTP и HTTPS.
     # Открыть брандмауэр для HTTP и HTTPS
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload 
  7. Создайте простую страницу с информацией о PHP, чтобы убедиться, что PHP работает в Apache.
    Основная цель этого файла — убедиться, что PHP работает в Apache, но его также удобно просматривать для каждого проекта, чтобы убедиться, что у вас установлены все необходимые модули/расширения PHP.
     # Создать простую страницу с информацией о PHP, чтобы убедиться, что PHP работает в Apache
    судо эхо "" | sudo тройник /var/www/html/info.php
    эхо "" | sudo тройник /var/www/html/index.php
     
  8. Добавить конфигурацию PHP в Apache. 9[ \t]*//' /etc/httpd/conf/httpd.conf
    sudo sed -i "s|IncludeOptional|#IncludeOptional|" /etc/httpd/conf/httpd.conf
    sudo sed -i "s|#ServerName www.example.com:80|ServerName localhost|" /etc/httpd/conf/httpd.conf
    sudo sed -i "s|DirectoryIndex index.html|DirectoryIndex index.html index.php|" /etc/httpd/conf/httpd.conf
    # Добавляем конфигурацию PHP в Apache
    echo "Приложение AddType/x-httpd-php .php" | sudo tee -a /etc/httpd/conf/httpd. conf
  9. Защитите MariaDB/MySQL.
    Это необходимый шаг для защиты вашего сервера MariaDB/MySQL. Эта команда сначала запустит службу, а затем задаст ряд вопросов, в зависимости от потребностей проекта ответы будут различаться.
     # Защитить MariaDB/MySQL
    sudo systemctl запустить mariadb.service
    прозрачный
    судо /usr/bin/mysql_secure_installation 

    Это то, что вы увидите

     $ sudo /usr/bin/mysql_secure_installation
    ПРИМЕЧАНИЕ. ЗАПУСК ВСЕХ ЧАСТЕЙ ЭТОГО СКРИПТА РЕКОМЕНДУЕТСЯ ДЛЯ ВСЕХ MariaDB.
          СЕРВЕРА В ПРОИЗВОДСТВЕННОМ ИСПОЛЬЗОВАНИИ! ПОЖАЛУЙСТА, ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ КАЖДЫЙ ШАГ!
    Чтобы войти в MariaDB для ее защиты, нам понадобится текущий
    пароль для пользователя root. Если вы только что установили MariaDB и
    вы еще не установили пароль root, пароль будет пустым,
    так что вы должны просто нажать Enter здесь.
    Введите текущий пароль для root (введите, если нет): 

    На этом этапе нажмите ввод/возврат, так как на этом этапе у вас не должно быть пароля root.

     Введите текущий пароль для root (не вводите, если нет):
    ОК, пароль успешно использован, идем дальше...
    Установка пароля root гарантирует, что никто не сможет войти в MariaDB.
    пользователь root без надлежащей авторизации.
    Установить пароль root? [Да/нет] 

    На этом этапе введите Y (регистр может быть ниже или выше) и нажмите ввод/возврат

    Вам нужно будет ввести пароль, а затем подтвердить его. ПРИМЕЧАНИЕ. Это ваш «божественный» пароль для всей вашей системы MariaDB, поэтому угадать пароль будет сложно.

     Установить пароль root? [Да/нет] г
    Новый пароль:
    Повторно введите новый пароль:
    Пароль успешно обновлен!
    Перезагрузка таблиц привилегий..
     ... Успех!
    По умолчанию установка MariaDB имеет анонимного пользователя, что позволяет любому
    войти в MariaDB без необходимости создания учетной записи пользователя для
    их. Это предназначено только для тестирования и установки
    идти немного мягче. Вы должны удалить их, прежде чем двигаться в
    производственная среда. 
    Удалить анонимных пользователей? [Да/нет] 

    В большинстве случаев вы хотите удалить неавторизованных пользователей, поэтому введите Y (регистр может быть ниже или выше) и нажмите ввод/возврат.

     Удалить анонимных пользователей? [Да/нет] г
     ... Успех!
    Обычно пользователю root должно быть разрешено подключаться только с «localhost». Этот
    гарантирует, что кто-то не сможет угадать пароль root из сети.
    Запретить удаленный вход в систему root? [Да/нет] 

    В большинстве случаев вы хотите удалить удаленный root-доступ «бога», поэтому введите Y (регистр может быть ниже или выше) и нажмите ввод/возврат.

     Запретить удаленный вход в систему root? [Да/нет] г
     ... Успех!
    По умолчанию MariaDB поставляется с базой данных с именем «test», которую может использовать каждый.
    доступ. Это также предназначено только для тестирования и должно быть удалено
    перед переходом в производственную среду.
    Удалить тестовую базу данных и доступ к ней? [Да/нет] 

    Если это окно разработки, чтобы начать учиться делать что-то с MariaDB/MySQL, вы можете отказаться от этого, но в большинстве случаев введите Y (регистр может быть ниже или выше) и нажмите ввод/возврат

     Удалить тестовую базу данных и доступ к ней? [Да/нет] г
     - Удаление тестовой базы данных. ..
     ... Успех!
     - Удаление привилегий на тестовой базе данных...
     ... Успех!
    Повторная загрузка таблиц привилегий гарантирует, что все сделанные до сих пор изменения
    вступит в силу немедленно.
    Перезагрузить таблицы привилегий сейчас? [Да/нет] 

    В большинстве случаев введите Y (регистр может быть прописным или нижним) и коснитесь ввода/возврата.

    Теперь вы закончили и увидите что-то вроде этого

     Перезагрузить таблицы привилегий сейчас? [Да/нет] г
     ... Успех!
    Убираться...
    Все сделано! Если вы выполнили все вышеперечисленные шаги, ваша MariaDB
    теперь установка должна быть безопасной.
    Спасибо за использование MariaDB! 
  10. Запустить Apache.
     # Запустить Апач
    sudo systemctl запустить httpd.service 
  11. Загрузите свой сайт, если вы находитесь в графическом интерфейсе, в зависимости от того, может ли у вас быть интернет-браузер на вашем компьютере, если у вас есть браузер, вы можете открыть его и просто перейти на http://localhost/info. phpЕсли вы в SSH/терминале приведенный ниже код должен загрузить HTML сайта по умолчанию, если все работает
     завиток http://localhost/info.php
     

На данный момент у вас должен быть работающий стек HTTP LAMP, но он будет запускать только один веб-сайт.

Этапы многосайтовой установки

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

  1. Для работы нескольких сайтов нам нужно изменить SELinux, чтобы он работал в разрешительном режиме.
    ПРИМЕЧАНИЕ: 9$/d’ /etc/selinux/config
    SELinuxStatus=$(cat /etc/selinux/config | grep SELINUX=|cut -d’=’ -f2)
    echo «Текущее состояние: $SELinuxStatus»
    sudo sed -i «s|SELINUX=$SELinuxStatus|SELINUX=permissive|» /etc/selinux/config
    SELinuxStatus=$(cat /etc/selinux/config | grep SELINUX=|cut -d’=’ -f2)
    echo «Новый статус: $SELinuxStatus»
    sudo shutdown -r сейчас
  2. Создайте файл «websites. csv», в этом файле мы определим дополнительные сайты для сервера.
     Имя домена, HTTP_Port, HTTPS_Port, SSLCertificateFile, SSLCertificateKeyFile
     

    Этот файл Websites.csv имеет некоторую логику, связанную с ним: если вы не определите HTTPS_Port, SSLCertificateFile и SSLCertificateKeyFile, ваш сайт будет просто HTTP, а не безопасным сайтом (HTTPS).

    Этот сценарий ниже создаст для вас заголовок CSV, а затем загрузит файл в текстовый редактор nano.

    Введите значения, не забывая добавлять запятую в качестве разделителя (не добавляйте пробел).

    Когда вы закончите, удерживайте нажатой клавишу Control/Ctrl и нажмите клавишу X, чтобы закрыть файл, система спросит вас, хотите ли вы сохранить файл, введите Y, если да, или N, если нет, затем нажмите клавишу Enter/Return.

     echo -e "DomainName, HTTP_Port, HTTPS_Port,SSLCertificateFile,SSLCertificateKeyFile\n" | sudo тройник /var/www/websites.csv
    судо нано /var/www/websites.csv
     

    Вот пример того, как может выглядеть окончательный файл

     Имя домена, HTTP_Port, HTTPS_Port, SSLCertificateFile, SSLCertificateKeyFile
    test. someurl.local,80,443,/etc/httpd/ssl/SSLCRT.crt,/etc/httpd/ssl/SSLKey.key
    test2.someurl.local,80
     
  3. Сертификаты SSLМесто, где вы размещаете файлы сертификатов SSL, может отличаться от этого руководства. Руководство будет сосредоточено на расположении файлов как /etc/httpd/ssl. Убедитесь, что файлы crt и key находятся в каталоге /etc/httpd/ssl (или в выбранном вами каталоге).
  4. Установите некоторые базовые переменные для следующих шагов
     # Объявите основные переменные - старт
    объявить netAdapter=$(состояние устройства nmcli | grep en | cut -d " " -f1)
    если [-z "$netAdapter"]; затем
    netAdapter=$(состояние устройства nmcli | grep eth | cut -d " " -f1)
    фи
    объявить netIP=$(/sbin/ip -o -4 список адресов $netAdapter | awk '{print $4}' | cut -d/ -f1)
    #declare netCIDR=$(/sbin/ip -o -4 список адресов $netAdapter | cut -d ' ' -f7)
    объявить netMask=$(ipcalc -m $netIP | cut -d '=' -f2)
    объявить netCIDR=$(ipcalc -p $netIP $netMask | cut -d '=' -f2)
    объявить netWork=$(ipcalc -n $netIP $netMask | cut -d '=' -f2)
    echo -e "Имя хоста: $(имя хоста)\n$netAdapter: $netIP\nСетевая маска: $netMask\nCIDR: $netWork/$netCIDR"
    объявить AzureServer=$(awk -v address="$netIP" -f /opt/DSP/checkIP. awk /opt/DSP/AzureIPRange.txt)
    LoggedInUser=$(ктоами)
    эхо $LoggedInUser
    # Объявить основные переменные - стоп
     
  5. ДОПОЛНИТЕЛЬНО — удалить GUI Desktop
     sudo yum удалить gnome-desktop *
     
  6. Создать группу веб-разработчиков
    В ситуации, когда у вас есть несколько веб-разработчиков, полезно создать группу веб-разработчиков.
     # Создать группу веб-разработчиков
    sudo groupдобавить webdev
    # Добавить пользователей в группу веб-разработчиков
    sudo usermod -G webdev -a $LoggedInUser
    sudo usermod -G webdev -a apache
    sudo usermod -G webdev -корень
    # Создайте пользователя webdev и добавьте его в группу веб-разработчиков
    sudo useradd -g webdev -m webdev
    USR=вебдев
    # Будет сгенерирован случайный 8-символьный пароль:
    PASS=`tr -dc A-Za-z0-9[ \t]*//' /etc/httpd/conf/httpd.conf
    sudo sed -i "s|IncludeOptional|#IncludeOptional|" /etc/httpd/conf/httpd.conf
    sudo sed -i "s|#ServerName www.example.com:80|ServerName localhost|" /etc/httpd/conf/httpd.conf
    sudo sed -i "s|DirectoryIndex index. html|DirectoryIndex index.html index.php|" /etc/httpd/conf/httpd.conf
    echo "IncludeOptional /etc/httpd/sites-available/*.conf" | sudo tee -a /etc/httpd/conf/httpd.conf
    кошка /etc/httpd/conf/httpd.conf | grep
    кошка /etc/httpd/conf/httpd.conf | grep индекс каталога
     
  7. Разрешить CSV определить дополнительные сайты
     # Прочитать файл Websites.csv и создать виртуальный хост для каждого сайта — запуск
    sed 1d /var/www/websites.csv | в то время как IFS=$’,’ читать -r -a сайт
    делать
    echo "Чтение файла CSV"
    echo "Имя домена: ${site[0]}"
    echo "Порт HTTP: ${site[1]}"
    echo "Порт HTTPS: ${site[2]}"
    echo "Файл SSL CRT: ${site[3]}"
    echo "Файл ключа SSL: ${site[4]}"
    если [-n "${сайт[1]}" ]; затем
    echo "Настройка HTTP для ${site[0]}"
    эхо -е "\n"\
    "имя_сервера ${сайт[0]}\n"\
    "Корень документа /var/www/${сайт[0]}/public_html\n"\
    "Журнал ошибок /var/www/${сайт[0]}/error.log\n"\
    "CustomLog /var/www/${site[0]}/requests.log вместе\n"\
    "\п"\
    "Параметры Все\n"\
    "Разрешить переопределить все\n"\
    "Требовать все предоставленные\n"\
    "\п"\
    "" | sudo tee /etc/httpd/sites-available/${site[0]}. conf
    фи
    если [-n "${сайт[2]}" ]; затем
    если [ -z "${сайт[3]}" ] || [-z "${сайт[4]}"]; затем
    echo "Запрошен HTTPS, но параметры SSL не заполнены"
    выход 0
    фи
    echo "Настройка HTTPS для ${site[0]}"
    эхо -е "\n"\
    "имя_сервера ${сайт[0]}\n"\
    "Корень документа /var/www/${сайт[0]}/public_html\n"\
    "Журнал ошибок /var/www/${сайт[0]}/error.log\n"\
    "CustomLog /var/www/${site[0]}/requests.log вместе\n"\
    "\п"\
    "Параметры Все\n"\
    "Разрешить переопределить все\n"\
    "Требовать все предоставленные\n"\
    "\п"\
    "SSLEngine включен\n"\
    "SSLCertificateFile ${сайт[3]}\n"\
    "SSLCertificateKeyFile ${сайт[4]}\n"\
    "" | sudo tee /etc/httpd/sites-available/${site[0]}_secure.conf
    фи
    sudo ln -s /etc/httpd/sites-available/${site[0]}.conf /etc/httpd/sites-enabled/${site[0]}.conf
    sudo mkdir -p /var/www/${site[0]}/public_html
    echo "$ip ${site[0]}" | sudo tee -a /etc/hosts
    # Загрузите тестовый файл index.php на место
    компакт-диск /var/www/${сайт[0]}/public_html
    эхо "