Web-сервер на CentOS 7.1 – установка и настройка Apache, PHP и MySQL

Данная статья является частью единого цикла статьей про сервер .

Открытие портов в файрволе на CentOS 1

Как уже было сказано выше, для того чтобы наш web сервер был доступен по определенным портам, т.е. обычно это 80 для http и 443 для https, необходимо открыть соответствующие порты на файрволе, делается это достаточно просто, поэтому отключать файрвол, как рекомендуют некоторые web мастера, нет необходимости и я даже больше скажу — это крайне не рекомендуется.

Примечание! Все мы будем делать в терминале (консоли) Linux, поэтому неважно установлена ли графическая оболочка у Вас или нет.

Выполняем от имени суперпользователя следующие команды, 1 для открытия 80 порта, 2 для 443 и 3 для перезапуска файрвола:

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

Установка  MariaDB на сервер Ubuntu

’опционально,

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

Выберите свою операционную систему, необходимую версию MariaDB После чего введите в терминале полученные команды для установки свежей версии MariaDB

Обновим все пакеты Ubuntu, чтобы установить самое свежее ПО со всеми исправлениями

Установка  MariaDB на сервер Ubuntu

apt-get update && sudo apt-get upgrade -y

Установим систему управления базами данных MariaDB на сервер

aptget install mariadbserver

Теперь займемся созданием базы данных, пользователя для базы данных, а также установки необходимых ему привилегий

Читайте также:  Mandriva linux — легендарный дистрибутив, который оставил след

Файл с настройками конфигурации MariaDB ()

Конфиг MariaDB, — (СУБД, которая устанавливается в Debian 9 при установке MySQL на сервер), разбросан по разным папкам, большая его часть находится в папке /etc/mysql. Нас сейчас интересует папка, находящаяся в ней, а вернее файл с настройками MySQL, который можно найти по адресу: /etc/mysql/.

При создании с консоли новой базы данных на сервере без явного указания кодировки её таблиц, создаётся БД с кодировкой utf8mb4_general_ci. Однако, почитав про то, что пишут, я пришёл к выводу, что utf8mb4_unicode_ci предпочтительнее.

Поэтому, в конфиге MariaDB находим строчку:

collation-server = utf8mb4_general_ci

У меня она 112-я. И меняем кодировку на:

collation-server = utf8mb4_unicode_ci

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

mysql restart

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

Бесплатные курсы кибербезопасность

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

  • аналитик по кибербезопасности;
  • инженер сетевой безопасности;
  • специалист по информационной безопасности.

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

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

Как я уже писал ранее, сейчас все большее распространение получает форк mysql — mariadb . Она имеет полную совместимость с mysql, так что можно смело пользоваться. Я предпочитаю использовать именно ее.

Устанавливаем mariadb на CentOS 7:

Читайте также:  Использование арифметических операторов в сценариях Bash

# yum install -y mariadb mariadb-server

Добавляем mariadb в автозапуск:

# systemctl enable

Запускаем mariadb:

# systemctl start mariadb

Проверяем, запустилась или нет:

# netstat -tulnp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 22276/mysqld

Обращаю внимание, что она даже в системе отображается как сервис mysqld . Теперь запускаем стандартный скрипт настройки безопасности:

# /usr/bin/mysql_secure_installation

Не буду приводить весь вывод работы этого скрипта, там все достаточно просто и понятно. Сначала задаем пароль для root (текущий пароль после установки пустой), потом удаляем анонимных пользователей, отключаем возможность подключаться root удаленно, удаляем тестового пользователя и базу.

Файл настроек mysql/mariadb лежит в /etc/ . Для обычной работы достаточно настроек по-умолчанию. Но если вы решите изменить их, не забудьте перезапустить службу баз данных.

Перезапуск mariadb /mysql в CentOS 7:

# systemctl restart mariadb

На этом все. Базовый функционал web сервера на CentOS 7 настроен.

Буду рад замечаниям и комментариям по теме статьи. Напоминаю, что данная статья является частью единого цикла статьей про сервер .

Тюнинг MySQL

Оптимизация настроек очень тонкий процесс, ведь нужно на основании собранной статистики изменить только то, что действительно повлияет на производительность. Самым известным инструментом для MySQL является Perl-скрипт MySQLTuner, который доступен в репозиториях большинства дистрибутивов Linux. Он читает текущие настройки сервера и установки MySQL, после чего выдает рекомендации (только рекомендации) по их изменению. Если установка производилась при помощи пакетов, то достаточно ввести имя скрипта, иначе следует вызывать, указывая интерпретатор:

$ perl

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

Тюнинг MySQL

Оригинальный скрипт написан под *nix, но на CodePlex доступна адаптированная версия для Win. Альтернативой можно назвать MySQL Performance Tuning Primer Script, который выдает не такую наглядную информацию, но зато более «разговорчивый» о проблемах.

Читайте также:  Как скачать и установить debian 9 stretch