Поиск медленных запросов MySQL

В MySQL есть замечательная встроенная фишка, которая поможет отловить самые медленные запросы к базе данных. Все очень легко настраивается.

Настройка логирования

Открываем конфигурацию для MySQL 5.5:

$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Внимание. В других версиях mysql файл с настройками возможно находится в другом месте. Например в /etc/my.cnf

В блоке [mysqld] дописываем следующие строки:

slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-query.log
long_query_time = 30

Где:
slow_query_log — включаем отслеживание медленных запросов
slow_query_log_file — путь к лог файлу, куда будем записывать запросы
long_query_time — макс. время выполнения запроса в секундах, более — записываем в лог

Создаем лог файл

$ touch /var/log/mysql/slow-query.log

Даем права на запись:

$ chown mysql:mysql /var/log/mysql/slow-query.log

Перезагружаем mysql

$ sudo /etc/init.d/mysql restart

Просмотр лога запросов

Просмотр 10 последних запросов

$ tail /var/log/mysql/slow-query.log

В онлайн режиме смотрим самые долгие запросы

$ tail -f /var/log/mysql/slow-query.log

Просмотр 10 самых медленных

$ mysqldumpslow -t 10 /var/log/mysql/slow-query.log

Как добавить в белый лист fail2ban


Если вам нужно добавить определенный ip  в whitelist fail2ban, выполняем следующее.

$ nano /etc/fail2ban/jail.conf

Находим строку с ignoreip = и добавляем свой ip, например:

$ ignoreip = 127.0.0.1/8 192.168.0.1

Перезагружаем fail2ban

$ service fail2ban restart

Не работает phpMyAdmin после установки ISPConfig 3

Снимок экрана от 2017-07-11 17-04-24

Если вдруг, вы столкнулись с такой же проблемой как и я: при открытии phpMyAdmin, в браузере загружается файл index.php, то есть простой способ решения.
Открываем для редактирования файл:

$ sudo nano /etc/apache2/mods-available/suphp.conf

И закомментим в нем следующие строки:

$
#<FilesMatch "\.ph(p3?|tml)$">
# SetHandler application/x-httpd-suphp
#</FilesMatch>

Сохраняемся, закрываем файл. Перезагрузим апач:

$ sudo service apache2 restart

Смена порта ISPConfig 3

ispconfig-770x160

Для смены порта отредактируйте файл конфигурации ISPConfig:

$ sudo nano /etc/apache2/sites-available/ispconfig.vhost

Снимок экрана от 2017-07-11 17-36-24

8080 — замените на нужный Вам порт. Сохраните, закройте.
Перезапустите апач:

$ sudo service apache2 restart

PHP 7.0 и PHP 5.6 на одном сервере

php-v7-logo

Внимание! Для полной установки и настройки веб-сервера, перейдите СЮДА

В последней версии Ubuntu 16.04 Xenial в репозитория пропал PHP 5.6, т.к. уже давно полноценно работает новая версия — PHP 7.0.

Но возможно кому то, как и мне (я не успел еще протестировать свои приложения на новой версии)  нужен php 5.6, так почему же не установить их вместе?

Шаг 1. Репозитироии PHP 5.6

Если вы хотите использовать php 5.6, добавим репозиторий для старой версии:

$ sudo add-apt-repository ppa:ondrej/php

Обновим репозитории:

$ sudo apt-get update

Шаг 2. Установка PHP

Теперь давайте установим обе версии php (или  устанавливаем нужную)

$ sudo apt-get install php5.6
$ sudo apt-get install php7.0

Шаг 3. Дополнительные модули

Для нормальной работы веб-сервера, мне пришлось еще доставить недостающие модули.

$ sudo apt-get install php5.6-mbstring php5.6-mysql php5.6-gd
$ sudo apt-get install php-mbstring php7.0-mbstring php-gettext
$ sudo apt-get install php7.0-mysql

И включить Mod Rewrite

Переключение и конфигурация

Конфиг файлы (php.ini) можно найти здесь:
PHP 5.6

/etc/php/5.6/

PHP 7

/etc/php/7.0/

 

Переключать активные версии можно командами:
Отключаем PHP 5.6

$ sudo a2dismod php5.6

Включаем PHP 7

$ sudo a2enmod php7.0

Перегружаем апач

$ sudo service apache2 restart

И обратно
Проверить рабочую версию в данный момент, можно функцией phpinfo

<?php phpinfo(); ?>

Или продолжайте установку веб-сервера LAMP с Шага 3.1

Как включить mod_rewrite Ubuntu 14.04

mod_rewrite_logo

Самый простой способ включить mod_rewrite заключается в следующем.

  1. Активируем модуль:
    $ sudo a2enmod rewrite
  2. Перезагружаем апач
    $ sudo service apache2 restart
  3. Включите поддержку .htaccess, в виртуальном хосте
    $ sudo nano /etc/apache2/sites-available/000-default.conf

    И добавьте следующий текст между Directory «/var/www/html»> и /Directory>

    AllowOverride All