Настройка 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»:
youtube.com/embed/vcY_OwbZdIg?autoplay=1><img src=https://img.youtube.com/vi/vcY_OwbZdIg/hqdefault.jpg alt=’Установка LAMP в CentOS 7′>▶</a>» allow=»accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture» title=»Установка LAMP в CentOS 7″ frameborder=»0″>
Установка веб-интерфейса 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.
- В этом руководстве предполагается, что сервер был установлен с минимальными параметрами и правильно зарегистрирован в рамках подписки Red Hat.
- Доступ к серверу, который предоставляет вам доступ к Sudo (администратору).
В зависимости от потребностей вашей организации ваш сервер может иметь графический интерфейс пользователя (GUI) или вы можете просто иметь терминальный доступ. В любом случае рекомендуется сначала пройти это руководство на нерабочем сервере на случай, если вам понадобится пройти его пару раз.
Если у вас графический интерфейс, перейдите в меню «Приложения», затем в подменю «Утилиты» найдите приложение «Терминал» и откройте его.
В терминале (будь то в графическом интерфейсе или через SSH) выполните следующие действия, чтобы упростить задачу, вы можете скопировать и вставить команды в окно терминала.
ПРИМЕЧАНИЕ.
С приведенными ниже командами yum это руководство не устанавливает автоматически какую-либо часть стека LAMP. После того, как вы поймете, что делаете, вы можете использовать команду «-y» для автоматической установки.
# Не будет автоматически обновляться судо ням обновление # Не будет автоматически устанавливать Apache/HTTPD sudo yum установить httpd # Будет автоматически обновляться sudo yum -y обновить # Автоматически установит Apache/HTTPD sudo yum -y установить httpd
ЛАМПЫ Установка Этапы
- Проверьте регистрацию 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" фи
- Сначала обновите систему.
# Сначала обновить систему судо юм обновление
- Установить полезные приложения
#Установить полезные приложения # nano - альтернатива текстовому редактору vi # curl / wget - загрузчики на базе терминала # bind-utils / telnet — полезно для тестирования проблем с доменом и портом sudo yum установить nano curl wget bind-utils telnet
- Установите компоненты 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
- Включить службы, чтобы они загружались при запуске.
# Включить службы, чтобы они загружались при запуске sudo systemctl включить httpd.service sudo systemctl включить mariadb.service
- Открытый брандмауэр для 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
- Создайте простую страницу с информацией о PHP, чтобы убедиться, что PHP работает в Apache.
Основная цель этого файла — убедиться, что PHP работает в Apache, но его также удобно просматривать для каждого проекта, чтобы убедиться, что у вас установлены все необходимые модули/расширения PHP.# Создать простую страницу с информацией о PHP, чтобы убедиться, что PHP работает в Apache судо эхо "" | sudo тройник /var/www/html/info.php эхо "" | sudo тройник /var/www/html/index.php
- Добавить конфигурацию 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
- Защитите 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!
- Запустить Apache.
# Запустить Апач sudo systemctl запустить httpd.service
- Загрузите свой сайт, если вы находитесь в графическом интерфейсе, в зависимости от того, может ли у вас быть интернет-браузер на вашем компьютере, если у вас есть браузер, вы можете открыть его и просто перейти на http://localhost/info.
phpЕсли вы в SSH/терминале приведенный ниже код должен загрузить HTML сайта по умолчанию, если все работает
завиток http://localhost/info.php
На данный момент у вас должен быть работающий стек HTTP LAMP, но он будет запускать только один веб-сайт.
Этапы многосайтовой установки
Очень немногие стеки LAMP настроены специально для запуска только одного веб-сайта. Приведенные ниже шаги помогут вам настроить сервер для обслуживания нескольких веб-сайтов, опять же без особых усилий с вашей стороны.
- Для работы нескольких сайтов нам нужно изменить 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 сейчас - Создайте файл «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
- Сертификаты SSLМесто, где вы размещаете файлы сертификатов SSL, может отличаться от этого руководства. Руководство будет сосредоточено на расположении файлов как /etc/httpd/ssl. Убедитесь, что файлы crt и key находятся в каталоге /etc/httpd/ssl (или в выбранном вами каталоге).
- Установите некоторые базовые переменные для следующих шагов
# Объявите основные переменные - старт объявить 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 # Объявить основные переменные - стоп
- ДОПОЛНИТЕЛЬНО — удалить GUI Desktop
sudo yum удалить gnome-desktop *
- Создать группу веб-разработчиков
В ситуации, когда у вас есть несколько веб-разработчиков, полезно создать группу веб-разработчиков.# Создать группу веб-разработчиков 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 индекс каталога
- Разрешить 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
эхо "