Методика установки ISPmanager 4 на чистую операционную систему CentOS.
Ниже представлена методика установки и настройки ISPmanager 4. Она не претендует на профессиональную техничность и законченность. Это лишь те действия, которые потребовались мне самому для установки этой панели.
В конце статьи приведены решения некоторых ошибок, которые возникали при установки.
Для начала следует поменять IP адрес для своего сайта на сайте, где покупалась лицензия для ISPmanager.
Если в процессе установки по каким-то причинам установка зависла, можно её принудительно завершить и заново повторить процедуру.
Установка панели ISP manager на чистую VDS (VPS)
Запустить Терминал и подключиться к серверу:
где user — имя пользователя, host — ip адрес сервера.
Для подключение через специальный порт:
Пример:
Скачать установочный файл ISPmanager:
Запустить скрипт установки ISPmanager:
Установка предложит выбрать редакцию. Указать цифру 1 (ISPmanager), затем редакцию Lite.
На следующем экране предложат выбрать версию. Выбрать нужную версию.
Следующий этап выбор сборки — бета или стабильная. Выбрать стабильную.
Теперь появится синее окно, где управление проводится с помощью стрелок клавиатуры.
Выбираем зеркало, с которого будет скачиваться установщик. После нескольких «Yes» начнётся установка.
Начнётся предварительная установка, в которой нужно выбрать конфигурацию:
Если выбрать Minimal install, то потом не будет многих элеметнов меню в панели ISP manager, в том числе будут отключены расширения PHP, а как их установить не всегда понятно. Поэтому лучше устанавливать рекомендованные настройки, а Minimal install оставить для профессионалов.
После установки появится сообщение:
Please use following information for access ISPmanager-Lite:
URL — https://ipadress:1500/ispmgr
Authorize as root to reach the panel.
Теперь можно заходить в панель управления, которая будет доступна по адресу:
Настройка ISPmanager
Заходим в ISPmanager.
В качестве логина и пароля для входа в ISPmanager используем тот же логин и пароль, что и для доступа к серверу по ssh.
При первом входе в панель ISP manager надо подтвердить лицензионное соглашение.
После этого начнутся настройки сервера. Вводим имя, можно любое, например:
Автоматическое обновление отключаю (можно включить).
Меняем пароль для входа (чтобы отличался от ssh).
Установка nginx
Устанавливаем nginx через Терминал:
Теперь обновляем кэш пакетов yum (пакетный менеджер) и ISPmanager.
Сначала команда:
Затем:
После перейти в веб-интерфейс ISPmanager в меню «Настройки сервера — Возможности«, где должен появиться пункт «Nginx…».
Нажать кнопку «Установить» на панели инструментов. Могут предложить две сборки – обычную или стабильную. Выбрать стабильную.
Nginx установится и настроится автоматически. Apache будет присвоит порт 8080, а Nginx будет принимать запросы и перенаправлять их на порту 80.
Конфигурация nginx
Иногда требуется более точно настроить nginx.
В файле /etc/nginx/nginx.conf изменить количество процессов worker (worker_processes 1). Изменить цифру на количество ядер в процессоре сервера. После изменений требуется перезапустить nginx. Это можно сделать через ISPmanager во вкладке — Инструменты – Сервисы.
Отключить автоматическое обновление (закомментировать строку) в этом же файле для репозитория из которого nginx был установлен:
и эту строку (есть не всегда)
В дальнейшем для обновления nginx можно использовать команду:
Установка расширения PHP
После установки ISPmanager 4 в расширениях php («Настройки сервера» -> «Расширения PHP») установить необходимые расширения.
Программу xcache.so. Она ускоряет исполнение php за счет кэширования. Можно использовать и множество других акселераторов.
php-gd — иногда требуется для работы с изображениями. Мне, например, нужно было как-то для генерации миниатюр на сайте.
Для ускорения сайта
Установка Apache MPM-ITK
Этот модуль пришлось установить, когда WordPress не мог обновиться. Он ругался на отсутсвие доступа к определенным папкам. Ошибка возникала из-за того, что Apache создавал файлы от своих прав, в результате править эти файлы от прав пользователя было нельзя.
Для начала следует проверить есть ли этот модуль в установленной сборке:
Модуль уже установлен, если приходит ответ:
Если ответа нет, устанавливаем Apache MPM-ITK.
Добавляем репозиторий CentALT:
Затем, чтобы избежать дальнейших конфликтов, сразу же его отключаем. Открываем файл через менеджер файлов:
и меняем enabled=1 на 0
Обновляем Apache из добавленного репозитория:
Теперь приступаем к настройке. Открываем файл:
Раскомментируем или вставляем строчку:
Открываем файл:
Добавляем:
<IfModule itk.c>
StartServers 2
MinSpareServers 2
MaxSpareServers 10
ServerLimit 100
MaxClients 100
MaxRequestsPerChild 4000
</IfModule>
Неверная настройка вышеприведенных параметров может повлиять на нехватку оперативной памяти на сервере.
Теперь в файле:
Добавляем:
<IfModule itk.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
И в файл:
Добавляем:
В этом же файле меняем значение:
на
Выполняем команды в терминале:
Удостоверяемся, что показан список процессов в названиях которых имеется .itk
Установка Swap
Для увеличения производительности сервера нужно установить своп. Смотрим командой free установлен ли он или нет. Если нет, то устанавливаем.
Своп файл (Swap) — это файл на жестком диске, на который временно записывается ненужная информация из оперативной памяти при её не хватки.
Своп обычно делается в размере оперативной памяти. Делать размер больше чем она есть обычно нет смысла.
Создаем своп на 512 мб:
где of — место расположения будущего свопа, count — количество мегабайт
Форматируем созданный файл под своп:
Подключаем:
Для автоматического включения свопа надо прописать информацию в файл:
Добавить туда строчку:
Теперь при каждой перезагрузке системы будет создаваться своп файл на 512 мб.
Для проверки состояние swap файла использовать команду:
Команда для удаления своп файла (если потребуется):
logrotate — ротация логов в ISPmanager 4
Настройки хранятся в файле
Логи хранятся в папке
После изменения конфигурации логов, нужно ввести команду в терминале:
Для улучшения системы ротации логов в файле logrotate.conf ограничиваем максимальный размер файла в 10 мб. Для этого добавляем строчку:
Уменьшаем хранение старых логов в архивах до 2:
Включаем сжатие логов (раскомментировать следующее):
Для внесения изменений выполняем команду в терминале:
Логи хранятся в папке:
Как при обращении по IP сделать перенаправление на нужную страницу
Перед секциями сайтов нужно добавить искусственную секцию:
ServerName default
DocumentRoot /var/www/all/data/www/default
</VirtualHost>
Ошибка
Проблема оказалась в файле
Иногда ISPmanager 4 чудит и после каждого добавления нового сайта модифицируется файл httpd.conf.
Нужно было удалить в конце файла и поставить с новой строчки то же самое.
Проблемы и решения
Иногда в процессе установки ISPmanager 4 или после неё, уже во время работы, возникают ошибки. Они могут быть самые разные и ругаться на всё что угодно. Ниже перечислены те ошибки, с которыми столкнулся лично.
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Эта ошибка возникала после переустановки VPS. Не получалось зайти в панель, сообщалось об ошибке. Исправил её вводом в терминал следующей команды:
rm .ssh/known_hosts
ERROR: selinux enabled. Edit /etc/selinux/config to disable SELINUX, reboot and re-run installation.
Эта проблема возникла во время установки панели ISPmanager 4. Для исправления нужно изменить один параметр в указанном файле. Делается следующей командой:
Затем снова запустить установку:
Конвертация в ‘UTF-8’ не поддерживается на стороне сервера
Файл менеджер в панели ISPmanager 4 не мог открыть текстовые файлы и писал ошибку.
Для исправления в файле:
Надо вынести вперёд кодировку UTF-8, следом поставить кодирвоку — WINDOWS-1251
Forbidden
You don’t have permission to access / on this server.
Это ошибка возникала при обращении ко второму занесенному сайту в панель управления ISPmanager.
Для исправления открыть файл:
Найти строчку:
Рядом с этим ставим файлы index.php index.htm и т.д. (те которые нужны), перезагружаем сервер.
Не работают несколько сайтов в ISPmanager на одном IP
Иногда, для работы на одном ip нескольких сайтов, нужно в файле:
Раскомментировать директиву:
И заменить её на свой ip адрес с портом 81:
Обычно это делается автоматически, но иногда почему-то остаётся.