Устанавливаем ISP-подключение
Пошаговое руководство: Установка ISPManager 5 на сервер с CentOS 6.5 для сайтов на системе управления 1С Битрикс
К написанию этой статьи меня подтолкнула задача поставленная перед Новым годом моим партнером и то, что в интернете мне не удалось найти нормально мануала для «не подготовленного» админа, все собирал урывками в течении нескольких дней.
Мы, в своей веб студии использовали 5 аккаунтов shared хостинга одного из хостеров для размещения сайтов клиентов на битриксе. В месяц набегала порядочная сумма 4125 рублей, на эти деньги можно было взять целый выделенный сервер у того же Hetzner'а. К тому же я хотел опробовать свой опыт в администрировании сервера для хостинга.
Всем кому интересно прошу под кат.
- Нужен выделенный сервер с большим количество ОЗУ и SSD дисками (от 32 GB ОЗУ, от 240 GB SSD);
- Нужна панель управления хостингом, для «не админов», чтобы можно было создать сайт, базу данных, выполнить простейшие операции;
- Нужна настройка, похожая настройке веб окружения битрикса, чтобы сайты на этой платформе нормально работали.
Я буду рассказывать от своего лица, и так, как если бы я читал, мог бы еще раз настроить такой сервер.
Выбираем сервер
Пожалуй я много времени потратил на то, чтобы найти подходящий выделенный сервер за нормальные деньги. И на мой взгляд цена/качество — это взять сервер у Hetzner'а. Я уже использую 2 сервера полгода — «полет нормальный». Техническая поддержка реагирует быстро, правда на английском языке и нет возможности работать с НДС, ну и ладно (зато налог не платим VAT).
Я взял этот сервер. Описание регистрации у Hetzner и оформление заказа я опускаю, там ничего сложного нет — английский понимать нужно в любом случае. Нужна карта для оплаты VISA или MASTERCARD, и скан первой страницы паспорта (попросят им прислать по e-mail). С момента оформления заказа (30.12.13 в 23:41) до момент получения доступа к серверу (31.12.
13 в 13:04) прошло всего 13 часов 25 минут.
Начинаем установку
После получения root доступа я решил не использовать soft'овый raid и ставил через installimage (скрипт hetzner'а в bash), но столкнулся с проблемой, с которой сталкивался и с первыми двумя серверами.
После успешной установки и перезагрузке, сервер перестает пинговаться. В итоге попросил тех. поддержку установить без raid (дал им акцепт в письме).
Установили в течении 2х часов и я получил свой сервер с root'ом и 1 подключенным ssd диском, второй нужно было монтировать. Я просмотрел разделы и диски подключенные:
fdisk -l
Создал папку в которую буду подключать второй ssd диск:
mkdir /sdb
Да, кстати объяснения по поводу не желания использовать RAID массив софтовый — были прецеденты, когда из-за рейда было больше проблем, чем счастья, предпочитаю бекапы на несколько источников. Подключаемся ко второму диску:
fdisk /dev/sdb
Создаем раздел в ext4:
mkfs.ext4 /dev/sdb1
Монтируем раздел в папку /sdb:
mount /dev/sdb1 /sdb
Проверяем на ошибки:
fsck /dev/sdb1
Создаем тестовый файл, проверка на запись:
touch /sdb/test
Дальше у Hetzner при аренде выделенного сервера дается бесплатное бекап хранилище на 100 ГБ, доступное из локальной сети провайдера, я решил смонтировать его в папку на сервере для удобства сохранения бекапов площадки и сайтов. Создаем папку /backup:
mkdir /backup
И нам нужен будет дополнительный софт:
yum install glib2-devel fuse-devel libcurl-devel -y
yum install curlftpfs
yum install gcc В папку tmp сейчас скачаем еще одну программу:
cd /tmp
Скачиваем последнюю версию сurlftpfs: (нужна для монтирования фтп ресурсов)
wget http://sourceforge.net/projects/curlftpfs/files/latest/download
Распаковываем скачанный архив:
tar xvzf curlftpfs-0.9.2.tar.gz
Заходим в разархивированную папку:
cd curlftpfs-0.9.2
Указываем место установки:
./configure —prefix=/opt/curlftpfs
Собираем:
make
make install Такой командой мы можем смонтировать удаленную ftp дирректорию в папку:
/opt/curlftpfs/bin/curlftpfs name:password@u8******.your-backup.de /backup
Затем нам нужно добавить в автозагрузку монтирование второго диска и этой ftp папки: (поправьте если не так делаю, есть файл /etc/rc.local, который запускает команды при загрузке, в него я прописал)
/opt/curlftpfs/bin/curlftpfs name:password@u8******.your-backup.de /backup
mount /dev/sdb1 /sdb Теперь у меня при перезагрузке сервера все папки на месте.
Установка ISPmanager 5
Причины установки именно ISPmanager 5 — долго выбирал, больше всего нравится интерфейс, новую версию взял, т.к. по заверению компании «написали с нуля» и «полностью переработали».
Идем к ним на сайт, регистрируемся, и в личном кабинете оформляем тестовую версию на 2 недели ISPmanager 5 версии, нас просят указать ip адрес нашего сервера для активации.
Его мы можем взять из письма, присланного от Hetzner'а.
После этого скачиваем установочный скрипт ядра ISPmanager:
wget http://download.ispsystem.com/install.5.sh
Выполняем скрипт:
sh install.5.sh
Действуем по готовой инструкции
Там же, в разделе документации, можно ознакомиться с первичной настройкой ISPmanager'а
Расскажу на моменты, на которые нужно обратить внимание. Один из таких моментов ns сервера (указываются у регистратора домена), поскольку мы делаем сервер для хостинга сайтов, нам нужны свои ns сервера, я реализовал это так. Допустим домен нашей веб студии такой: www.example.com и я хочу, чтобы наши ns сервера выглядели так: ns1.example.com и ns2.example.com. Для этого нужно в личном кабинете сервера Hetzner'а добавить услугу Nameserver Robot, она бесплатная для тех, кто берет выделенный сервер. Спустя час, в моем кабинете появилась ссылка DNS entries, там я один раз для своего домена example.com задаю айпишник своего сервера, чтобы иметь возможность у регистратора указать ns сервера hetzner'а и выполнить таким образом базовую настройку. Добавить нужно через New DNS entry. Дальше у регистратора своего домена example.com указываем ns сервера Hetzner'а:
ns1.first-ns.de
robotns2.second-ns.de
robotns3.second-ns.com И еще нужно в панели управления ISPmanager у своего домена (Меню: Домены -> Доменные имена) создать A записи, по аналогии с созданными вида:
ns1.example.com.
ns2.example.com. IP адрес указать нашего сервера. То, что адрес у обоих серверов одинаковый, как меня заверила техническая поддержка hetzner'а — это нормально. После этого у остальных доменов, которые мы хотим привязать к нашему хостингу нужно указывать ns сервера уже наши ns1.example.com. и ns2.example.com. В разделе (Меню: Настройка -> Программное обеспечение) я установил еще Веб-сервер Nginx, Веб-интерфейс для работы с электронной почтой AfterLogic (его в моей версии пришлось, поставить, удалить, затем нажать кнопку настроить, затем нажать кнопку настроить у SMTP и POP и IMAP — в разделе программного обеспечения — тогда все заработало нормально), Веб-интерфейс для администрирования MySQL (phpMyAdmin).
Настройка сервера для работы с сайтами на 1С Битрикс:
ISPmanager использует open_basedir модуль php, нужно установить Apache MPM-ITK и еще одну программу:
yum install apache2-mpm-itk
yum install php-devel
yum groupinstall «Development Tools» После этого в /etc/httpd/conf в файлах *.conf (в том числе и в папке vhosts) нужно комментировать строку вида:
# php_admin_value open_basedir «/var/www/example/data:.»
Тем самым попугаем в мониторе производительности битрикса становится больше — не знаю правда ли влияет, разработчики битрикса утверждают что влияет-влияет. Теперь давайте поставим eaccelerator (Его я нашел как ставить, а Zend Optimizer+ который хвалят разработчики битрикса — нет). В папку tmp сейчас скачаем: (пишем последовательно команды в bash)
cd /tmp
wget http://acelnmp.googlecode.com/files/eaccelerator-0.9.6.1.tar.bz2
tar xvjf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
/usr/bin/phpize
./configure —enable-eaccelerator=shared —with-php-config=/usr/bin/php-config —with-eaccelerator-shared-memory
make
make install
mkdir /var/cache/eaccelerator
chmod 777 /var/cache/eaccelerator
touch /etc/php.d/eaccelerator.ini Дальше редактируем созданный файл:
mcedit /etc/php.d/eaccelerator.ini
Находим и заменяем, если нет добавляем:
extension=»eaccelerator.so»
eaccelerator.shm_size = «256»
eaccelerator.cache_dir = «/var/cache/eaccelerator»
eaccelerator.enable = «1»
eaccelerator.optimizer = «1»
eaccelerator.debug = 0
eaccelerator.log_file = «/var/log/httpd/eaccelerator_log»
eaccelerator.name_space = «»
eaccelerator.check_mtime = «1»
eaccelerator.filter = «»
eaccelerator.shm_ttl = «120»
eaccelerator.shm_prune_period = «1800»
eaccelerator.shm_only = «0»
eaccelerator.allowed_admin_path = «»
eaccelerator.shm_max=»0″
eaccelerator.compress=»1″
eaccelerator.compress_level=»9″ Да и удобно все это добавлять подключившись через filezilla например через протокол SFTP под root'ом. Открыв на редактирование файл в блокноте. (многие мучаются через консоль в putty добавляют) Сохраняем. Перезагружаем apache и nginx
service httpd restart
service nginx restart Затем установим memcached:
yum install libevent libmemcached libmemcached-devel
yum install memcached После чего в файле /etc/sysconfig/memcached заменить строку OPTIONS на OPTIONS=»-l 127.0.0.1″ Добавляем в автозагрузку:
chkconfig memcached on
Стартуем службу:
service memcached start
Вот эти штуки по инструкциям других людей я делал, сейчас уже не помню для чего:
pecl install memcache
yum install php-pear
pecl install memcache
echo «extension=memcache.so» > /etc/php.d/memcache.ini
service httpd restart
php -m | grep memcache
yum -y install php-pecl-memcache Завершением, устанавливаем битрикс на одном из доменов, проверяем в мониторе производительности данные, проверяем с помощью bitrix_server_test.php готовность вашего сервера для работы с Битрикс. Все тесты должны проходиться. Я не знаю пока как выключить при создании домена добавление строчки с open_basedir в *.conf файлы. я ее пока в ручную комментирую. Как найду, сделаю апдейт статьи.
Результат
На выходе мы получили настроенный сервер под хостинг сайтов с нормальной панелью управления, с рабочим функционалом и все это работает с сайтами на битриксе без веб окружения. Клиентам можно создавать пользователей и давать доступ. И самим разделить клиентов по разным пользователям своего хостинга. Есть ньансы.
Я пока еще не знаю как оптимизировать сервер под «высокие нагрузки». Но сделаю апдейт статьи как настрою и опробую на нормальной нагрузке. И еще один нюанс, я не указал свои текущие настройки php.ini, там я поправил некоторые данные для битрикса. См.
ниже те строки, в которые я вносил изменения:
output_buffering = 4096
safe_mode = Off
safe_mode_gid = Off
open_basedir =
realpath_cache_size = 4096k
max_execution_time = 600
max_input_time = 60
memory_limit = 1024M
display_errors = Off
post_max_size = 50M
file_uploads = On
upload_max_filesize = 50M
default_socket_timeout = 600
max_file_uploads = 50
max_input_time = 600
mbstring.internal_encoding = UTF-8
mbstring.func_overload = 2
Отдельно хотел бы вынести важные комментарии
Битриксу нужна работа файлов .htaccess для этого в httpd.conf и подобных файлах в /etc/httpd/ должно быть выставлено AllowOverride ALL (вместо NONE)
У сервера нужно правильно выставить время, я это сделал так:
mv /etc/localtime /etc/localtime-old
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
date Проверяем время:
hwclock —show
root пароль от mysql при установке ispmanager можно посмотреть тут (Настройка -> Серверы баз данных -> нажимем на Mysql и кнопку изменить, там он записан)
При добавлении веб сайтов в панели указываете работу PHP как модуль Apache битрикс, хостинг, администрирование linux-систем, ispmanager, centos 6
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Установка ispmanager 5 на Ubuntu Server
ISPManager — это одна из самых популярных панелей управления хостингом среди коммерческих решений. Она позволяет устанавливать и автоматически настраивать такие популярные программные продукты, как Apache/Nginx, сервера баз данных MySQL или Postgresql, почтовые сервера Sendmail,Exim,Postfix и другое серверное программное обеспечение.
Все это можно полностью настраивать, а все действия выполняются через графический интерфейс. Кроме того, панель позволяет обновлять программное обеспечение, и поддерживает даже получение сертификатов SSL от Lets Encrypt. В этой статье мы рассмотрим как выполняется установка ispmanager 5 на Ubuntu Server. Хотя эта инструкция подойдет и для других дистрибутивов Linux.
Установка ISPManager 5
Обратите внимание, что установка ispmanager ubuntu должна быть выполнена на полностью чистую систему. Панель установит все необходимое программное обеспечение сама, а то что уже было установлено на сервере может только мешать. На данный момент поддерживаются версии Ubuntu 14.04 и 16.04. Нас будет интересовать последняя.
Шаг 1. Загрузка установщика
Панель платная, но получить пробную версию на три недели может каждый. Она автоматически активируется во время установки. Скачать установщик для самой последней версии можно с официального сайта с помощью команды:
wget «http://download.ispsystem.com/install.sh»
Чтобы разрешить выполнение скрипта нужно установить для него флаг исполняемый:
chmod +x install.sh
Шаг 2. Начало установки
Запустите скрипт установки:
sudo ./install.sh
Шаг 3. Проверка системы
Установщик ispmanager проверит, подходит ли ваша система для установки, достаточно ли места на диске и другие параметры:
Возможно, вам придется изменить имя хоста, оно должно соответствовать домену будущего сайта:
Шаг 4. Версия программы
Выберите какую версию вы хотите использовать, стабильную или бета:
Шаг 5. Продукт
Выберите продукт, который нужно установить, нам нужна установка ispmanager lite:
Шаг 6. Редакция
Выберите редакцию программы, которую будете устанавливать, вам доступно Lite, Lite с основным программным обеспечением и Bussines. Мы будем устанавливать версию Lite со всем программным обеспечением:
Шаг 7. Установка панели
Дождитесь завершения установки панели больше вашего вмешательства не потребуется:
Панель установит все необходимые компоненты, в том числе веб-сервер, сервер баз данных и почтовый сервер. После завершения установки вы увидите сообщение по какому адресу можно найти панель:
Установка программы завершена, теперь не менее интересная задача — настройка ispmanager 5.
Шаг 8. Настройка IP и порта
Вы можете изменить IP адрес и порт на котором будет ожидать подключения ispmanager. Программа работает на своем веб-сервере ihttpd и его настройки находятся в папке /usr/local/mgr5/etc/. Откройте конфигурационный файл и задайте нужные параметры:
sudo vi /usr/local/mgr5/etc/ihttpd.conf
Host 192.168.1.2
Port 1700
Затем сохраните и перезапустите панель командой:
killall core
Шаг 9. Запуск панели
Откройте в браузере указанный программой или настроенный адрес. Утилита будет пытаться работать по https. Но если она не смогла получить сертификат от Lets Encrypt, то создаст свой, которому браузер не доверяет:
Но мы знаем, что он надежный, поэтому нажмите Дополнительно, затем Перейти на сайт.
Шаг 10. Вход в панель
Дальше, для авторизации вам нужно ввести логин root и пароль суперпользователя. Вы не сможете работать с панелью без прав суперпользователя:
Шаг 11. Лицензия
При первом входе нужно принять лицензионное соглашение:
Шаг 12. Первоначальная настройка
Дальше вам предстоит выполнить первоначальную настройку, просто проверьте все ли параметры указаны правильно:
Шаг 13. страница
После завершения настройки вы попадаете на главную страницу, откуда можете наблюдать за нагрузкой на сервер, состоянием программного обеспечения и другими параметрами:
Шаг 14. Создание домена
Теперь нужно настроить домен вашего сайта. Перейдите на вкладку WWW-домены на панели слева и выберите Добавить:
Шаг 15. Настройка домена
Укажите все необходимые параметры и нажмите Ок для прикрепления домена. Фактически эта настройка не создает домен, а только настраивает конфигурацию веб-сервера так, чтобы он мог обрабатывать запросы к этому домену:
Из обязательных полей нужно указать имя домена, также можно сделать его приоритетным с помощью галочки, чтобы все запросы перенаправлялись к нему. Дополнительно можно настроить SSL, а также сразу установить движок, например, WordPress.
Шаг 16. Настройка DNS
На стороне нашего сервера домен настроен. Но осталось сделать правильные DNS записи у вашего DNS провайдера. Откройте вкладку Доменные имена, выберите ваш домен в списке и нажмите кнопку Записи:
Все эти записи нужно добавить в настройки вашей DNS зоны. Это необходимо для нормальной работы почты и других сервисов:
Шаг 17. Готово
После завершения всех этих настроек и спустя некоторое время, необходимое на обновление DNS зоны вы можете проверить работу своего сайта набрав в адресной строке имя домена:
Выводы
В сегодняшней статье мы рассмотрели как выполняется установка ispmanager 5 на сервер или обычный компьютер, а также как осуществляется настройка ispmanager 5. С помощью панели управления вы можете намного быстрее настроить систему и подготовить ее к работе.
ISPmanager
ISPmanager — это панель управления сервером, предназначенная для лёгкого решения сложных проблем установки и настройки серверного программного обеспечения.
Чаще всего применяется в Linux: Debian, Ubuntu, CentOS, FreeBDS, Fedora.
Как правило, чистый сервер не предоставляет функционала графического управления сервером, привычного для пользователя Windows.
ISPmanager призван решать эту и много других проблем.
Официальный сайт ISPmanager
Панель ISPmanager 5 — что умеет и что можно сделать
Организовать хостингПанель ISPmanager позволяет разделить реальный физический сервер на несколько виртуальных. Поэтому, с её помощью Вы сможете, например, организовать свой хостинг с чётким разграничением серверных ресурсов между его пользователями.
Также, ISPmanager 5 помогает организовать управление пользователями (создание, редактирование, удаление, выставление лимитов — ограничений). Пользователи имеют только тот функционал, который им разрешён.Создать веб-сервераISPmanager 5 обладает весьма большим потенциалом.
Чаще всего, конечно, его используют для организации и управления веб-сервисом, создания окружения под сайты, а именно:
- Установка и настройка NGINX, Apache, PHP-FPM, MySQL, MariaDB, а также шаблонизатор их конфигурации;
- Получение и установка бесплатного SSL-сертификата от Let’s Encrypt;
- Отслеживание потребления ресурсов: процессора, оперативной памяти, размера занятого пространства диска, файла подкачки (swap), и так далее.
- Ведение и ротация логов с помощью Webalizer, Logrotate.
Настроить почтовый серверВозможно лёгкое создание и управление почтовыми доменами, ящиками. Настройка редиректов и алиасов, спам-фильтров, DKIM и SpamAssassin (подробнее)Создать вебсайтВ один клик можно создать среду под сайт, тут же установить чистую CMS, выбрав из набора самых популярных и бесплатных: WordPress, Joomla, Drupal, Prestashop, phpBB и других. Удобный менеджер управления файлами вебсайтов. Подробнее.
Установка ISPManager в Debian, Ubuntu вручную
ISPManager устанавливается только на чистый сервер, без установленного PHP, MySQL, Apache, NGINX. Всё это можно будет установлено в процессе, доустановить и донастроить можно позже.
- С помощью putty авторизуйтесь на сервере по SSH под пользователем root;
- Скачайте установочный файл:wget «http://cdn.ispsystem.com/install.sh»
- После скачивания файл надо запустить:sh install.sh
- Далее происходит установка. Нужно следовать инструкциям на экране. Сначала скрипт установки покажет нам данные системы, свободную память и место на диске.Если с ними всё в порядке, далее, предложит выбрать, какую версию выбрать, b) — бета версию с новейшими функциями, либо s) — стабильную и проверенную временем. Рекомендую выбирать стабильную, вводим s, затем Enter.
- Далее, выбираем дистрибутив из списка. На выбор ISPmanager, VDSmanager, DCImanager, DNSmanager, IPmanager, BILLmanager. Выбираем 1.
- Далее, на выбор будет версия ISPmanager Lite, Minimal, Business. Выбирайте ту, на которую у вас лицензия. В моём случае, это ISPmanager Lite, то есть вводим 1.
- На этом настройка завершена, скрип пойдёт собирать систему, Вам остаётся только ждать окончания работы.В конце работы, в результате увидите инструкцию для авторизации в ISPmanager:ispmanager-lite is installed Go to the «https://l134a8fc.justinstalledpanel.com:1500/ispmgr» to login Login: root Password: If this doesn't work you can use IP instead of domain : «https://192.168.1.1:1500/ispmgr»
Как зайти в ISPManager
Авторизоваться в панели ISPManager можно так:
- Либо по адресу https://l134a8fc.justinstalledpanel.com:1500/ispmgr (этот адрес выдаётся при установке ISPmanager);
- Либо, что проще запомнить, https://192.168.1.1:1500/ispmgr (Здесь вместо 192.168.1.1 подставьте IP Вашего сервера).
Логин: root, пароль — от root сервера, есть в письме об открытии сервера. Если нет — уточните в службе поддержки хостинга. Как вариант, можно восстановить пароль от ISPmanager
При попытке открыть ISPmanager выскакивает предупреждение о небезопасном соединении
Так как адрес на HTTPS, а на нём нет серификата, то попытка авторизоваться в Mozilla Firefox может закончиться неудачей. Рекомендую воспользоваться Chrome или Яндекс Браузером, и не обращать внимания на предупреждения о небезопасном соединении.
Вот пример, как авторизоваться в ISPmanager с помощью Яндекс Браузера или Google Chrome:
- Переходите по адресу https://192.168.1.1:1500/ispmgr (IP сервера Ваш);
- Видите предупреждение системы безопасности, жмёте Подробности;
- Ниже жмёте Сделать исключение для этого сайта.
- Вуаля, форма авторизации в панели ISPmanager доступна, пользуйтесь.
Как правильно настроить ISPmanager
А точнее, как правильно настроить сервер под управлением ISPmanager.
По умолчанию, в ISPmanager работа в бекенде идёт под Apache. Я считаю, что оптимальнее для вебсервера иметь во фронтенде NGINX, а в бекенде PHP-FPM, так как он производительнее и проще в настройке. Такую возможность и настроим.
Установка NGINX и PHP-FPM в ISPmanager
- Слева в боковом меню находим пункт Настройки — Возможности
- Выбираем пункт Веб-сервер (WWW) — Изменить
- Добавляем галочки напротив NGINX и PHP-FPM FastCGI, сохраняем изменения.
- Обязательно дожидаемся окончания установки NGINX и PHP-FPM.
Как изменить версию PHP
По умолчанию, вебсервер поддерживает версию PHP 5.6. Но Вы можете включить любую другую альтернативную версию, выбрав её в Возможностях. Всё аналогично инструкции выше.
Настройка шаблонов в ISPmanager
Далее, стоит настроить шаблоны, чтобы в 1 клик собирать нужную конструкцию для нового пользователя и проекта.
- В боковом меню слева находим Настройки — Шаблоны, создаём новый;
- Название можно поставить любое, например «NGINX + PHP-FPM». Остальные параметры можете оставить по умолчанию, главное отметить галочками пункты: Может использовать PHP в режиме FastCGI (Nginx + PHP-FPM) и Тип обработчика PHP поставить FastCGI (NGINX + PHP-FPM). Сохранить изменения
Настройка шаблонизатора конфигурационных файлов в ISPmanager
проблема в ISPmanager: если создавать на базе NGINX и PHP-FPM сайт на WordPress, то в конфигурационном файле сайта в vhosts прописываются правила, которые не позволяют работать с постоянными ссылками, все внутренние страницы отдают 404 ошибку. Это из-за того, что в секции Server прописывается следующая конструкция:
location / { location ~ [/].ph(pd*|tml)$ { try_files /does_not_exists @php; } } location @php { ### Остальные правила обработки php }
Её можно заменить вручную на следующую конструкцию:
location / { try_files $uri $uri/ /index.php?$args; location ~ [/].ph(pd*|tml)$ { try_files /does_not_exists @php; } } location @php { ### Остальные правила обработки php }
Либо на:
try_files $uri $uri/ /index.php?$args location ~ .php$ { ### Остальные правила обработки php }
А ещё лучше подключить правила под кеширующий плагин, например NGINX + WP Super Cache
### Создаём и подключаем wpsc.conf, в котором определяем правила обработки под WP Super Cache ### Подробнее https://sheensay.ru/?p=1915 include /etc/nginx/wpsc.conf; location ~ .php$ { ### Остальные правила обработки php }
Но чтобы не править конфигурационный файл руками каждый раз при создании нового сайта, можно 1 раз настроить шаблонизатор конфигурационных файлов NGINX.
Для этого надо скопировать файл nginx-vhosts.template из /usr/local/mgr5/etc/templates/default/nginx-vhosts.template в /usr/local/mgr5/etc/templates с тем же именем и изменить конфигурацию следующим образом:
- Находим блок: location / { {% if $PHP == on %} location ~ [/].ph(pd*|tml)$ { {% if $PHP_MODE == php_mode_fcgi_nginxfpm %} try_files /does_not_exists @php; {% else %} try_files /does_not_exists @fallback; {% endif %} } {% endif %}
- Заменяем его на нужный нам (для примера, универсальный try_files $uri $uri/ /index.php?$args;: location / { {% if $PHP == on %} try_files $uri $uri/ /index.php?$args; location ~ [/].ph(pd*|tml)$ { {% if $PHP_MODE == php_mode_fcgi_nginxfpm %} try_files /does_not_exists @php; {% else %} try_files /does_not_exists @fallback; {% endif %} } {% endif %}
Подробнее.
Настройка резервного копирования в ISPmanager
- Под пользователем root слева в боковом меню находим Инструменты — Резервные копии
- Настраиваем, куда сохранять бекапы. На выбор:
- Локальный каталог (на скриншоте ниже его настройка);
- Dropbox
- Яндекс Диск
- Amazon S3
- FTP (удалённый)
- SFTP (SSH)
Что касается тонкостей настройки:
- Есть возможность установки пароля на архив с резервной копией;
- Можно указать, какие папки исключить из резервной копии (обычно служебные);
- Также, можно исключить некоторые базы данных.
После настройки изменения нужно сохранить.
- Теперь у каждого пользователя в настройках есть возможность включить резервное копирование
Резервные копии будут создаваться только для сайтов, созданных через ISPmanager, то есть тех, о которых он знает.
Добавление нового сайта и пользователя
Я рекомендую под каждый сайт и проект создавать отдельного пользователя, и в панели с сайтами и их данными работать строго под пользователем, которому они принадлежат. Так Вы не перепутаете, кто есть кто, и за что отвечает.
- Создаётся новый пользователель с помощью Учётные записи — Пользователи.
- Тут нужно заполнять много полей, и вот на данном этапе может помочь заранее подготовленный шаблон. Выбираем из списка один из подготовленных выше вариантов, и поля настроек автоматически заполняются под нужную нам конфигурацию.
- На втором шаге можно прописать, какой домен присвоить пользователю с автоматическим созданием соответствующего окружения: WWW, FTP, Почтовый домен, и даже сразу же установить одну из предлагаемых CMS (например, WordPress). От ненужных пунктов можно отказаться.
- После создания пользователя нужно авторизоваться под ним, чтобы продолжить работать над настройкой сайта. Слева в боковом меню находим
Как в ISPmanager установить и обновить MySQL 5.7 и MariaDB 10.1
В ISPmanager 5 версия MySQL по умолчанию — это 5.5. Другие версии устанавливаются из панели с помощью Docker. Звучит страшно, но всё решается парой кликов мыши.
- Слева в боковом меню находим Настройки — Серверы баз данных;
- Добавляем новую базу данных с помощью Создать;
- Выбираете нужную версию MySQL или MariaDB, вводите нужное название, пароль от сервера, остальное как есть;
- Docker автоматически всё установит. Вот как будет выглядеть список серверов баз данных после установки:
- Теперь при создании новой базы данных можно выбрать, на каком сервере создавать.
- При необходимости, базу данных можно вручную перенести из старого сервера MySQL на новый.
Как в Docker запустить, перезапустить, остановить MySQL, MariaDB
Все команды в Docker идут через docker. Обращаться надо к названию контейнера.
Например, в ISPmanager переходим в Настройки — Серверы баз данных — в столбце Имя находим нужный сервер (в моём случае, это mysql-5.7), это и есть имя в Docker.
Теперь, например, команда запустить сервер:
docker start mysql-5.7
Остановить сервер:
docker stop mysql-5.7
Перезапустить сервер:
docker restart mysql-5.7
Ошибка в запросe (1273): Unknown collation: ‘utf8mb4_unicode_520_ci’
Чтобы решить подобную ошибку, достаточно обновить версию MySQL до версии 5.6 или 5.7, либо установить MariaDB 10.1 или выше.
Если обновление невозможно, тогда поможет следующее:
- Открываем дамп базы данных текстовом редакторе, например, Notepad++ или Far Manager
- С помощью автозамены (Ctrl+H в Notepad++) заменяем utf8mb4_unicode_520_ci на utf8_general_ci
- Затем, ещё раз массово заменяем utf8mb4 на utf8
- Сохраняем изменения и используем получившийся дамп для того, чтобы развернуть из него копию базы данных.
Как восстановить доступ к ISPmanager, сбросить пароль root
- Авторизуемся в панели VDSmanager, переходим в Управление — Виртуальные машины — Выделить нужный сервер — Перезапуск:
- Тут же, незамедлительно, переходим в VNC (IPMI или ipKVM для выделенного сервера), чтобы успеть до определённого этапа перезагруки сервера:
- На этапе выбора ядра нажимаем e (сразу после открытия консоли)
Если не успели, повторите перезагрузку ещё раз;
- Находим строку linux и заменяем в ней ro на rw
- Заменяем quiet на single init=/bin/bash
- Нажимаем Ctrl+X, сервер перезагрузится в режим single mode, появится консоль, в которой можно изменить пароль
- В консоль вводите команду passwd
- После успешной установки нового пароля, снова перезагружаем сервер и входим в консоль уже с новым паролем
(3 в среднем: 5,00 из 5)
Загрузка…
Установка ISPmanager 4
Методика установки ISPmanager 4 на чистую операционную систему CentOS.
Ниже представлена методика установки и настройки ISPmanager 4. Она не претендует на профессиональную техничность и законченность. Это лишь те действия, которые потребовались мне самому для установки этой панели.
В конце статьи приведены решения некоторых ошибок, которые возникали при установки.
Для начала следует поменять IP адрес для своего сайта на сайте, где покупалась лицензия для ISPmanager.
Если в процессе установки по каким-то причинам установка зависла, можно её принудительно завершить и заново повторить процедуру.
Установка панели ISP manager на чистую VDS (VPS)
Запустить Терминал и подключиться к серверу:
где user — имя пользователя, host — ip адрес сервера.
Для подключение через специальный порт:
Пример:
ssh -p 123 root@12.123.12.123 |
Скачать установочный файл ISPmanager:
wget «http://download.ispsystem.com/install.sh» |
Запустить скрипт установки ISPmanager:
Установка предложит выбрать редакцию. Указать цифру 1 (ISPmanager), затем редакцию Lite.
На следующем экране предложат выбрать версию. Выбрать нужную версию.
Следующий этап выбор сборки — бета или стабильная. Выбрать стабильную.
Теперь появится синее окно, где управление проводится с помощью стрелок клавиатуры.
Выбираем зеркало, с которого будет скачиваться установщик. После нескольких «Yes» начнётся установка.Начнётся предварительная установка, в которой нужно выбрать конфигурацию:
Install most popular software |
Если выбрать Minimal install, то потом не будет многих элеметнов меню в панели ISP manager, в том числе будут отключены расширения PHP, а как их установить не всегда понятно. Поэтому лучше устанавливать рекомендованные настройки, а Minimal install оставить для профессионалов.
После установки появится сообщение:Installation complete Please use following information for access ISPmanager-Lite: URL — https://ipadress:1500/ispmgr
Authorize as root to reach the panel.
Теперь можно заходить в панель управления, которая будет доступна по адресу:
https://ipadress:1500/ispmgr |
Настройка ISPmanager
Заходим в ISPmanager.
В качестве логина и пароля для входа в ISPmanager используем тот же логин и пароль, что и для доступа к серверу по ssh.
При первом входе в панель ISP manager надо подтвердить лицензионное соглашение.
После этого начнутся настройки сервера. Вводим имя, можно любое, например:
Автоматическое обновление отключаю (можно включить).
Меняем пароль для входа (чтобы отличался от ssh).
Установка nginx
Устанавливаем nginx через Терминал:
rpm -ihv http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm |
Теперь обновляем кэш пакетов yum (пакетный менеджер) и ISPmanager.
Сначала команда:
Затем:
/usr/local/ispmgr/sbin/pkgctl cache |
После перейти в веб-интерфейс ISPmanager в меню «Настройки сервера — Возможности«, где должен появиться пункт «Nginx…».
Нажать кнопку «Установить» на панели инструментов. Могут предложить две сборки – обычную или стабильную. Выбрать стабильную.
Nginx установится и настроится автоматически. Apache будет присвоит порт 8080, а Nginx будет принимать запросы и перенаправлять их на порту 80.
Конфигурация nginx
Иногда требуется более точно настроить nginx.
В файле /etc/nginx/nginx.conf изменить количество процессов worker (worker_processes 1). Изменить цифру на количество ядер в процессоре сервера. После изменений требуется перезапустить nginx. Это можно сделать через ISPmanager во вкладке — Инструменты – Сервисы.
Отключить автоматическое обновление (закомментировать строку) в этом же файле для репозитория из которого nginx был установлен:
/etc/yum.repos.d/nginx.repo |
и эту строку (есть не всегда)
/etc/yum.repos.d/centalt.repo |
В дальнейшем для обновления nginx можно использовать команду:
yum —enablerepo=CentALT update nginx |
Установка расширения PHP
После установки ISPmanager 4 в расширениях php («Настройки сервера» -> «Расширения PHP») установить необходимые расширения.
Программу xcache.so. Она ускоряет исполнение php за счет кэширования. Можно использовать и множество других акселераторов.
xcache.so — установит XCache PHP |
php-gd — иногда требуется для работы с изображениями. Мне, например, нужно было как-то для генерации миниатюр на сайте.
Для ускорения сайта
php-pecl-memcached – установит memcached.so |
Установка Apache MPM-ITK
Этот модуль пришлось установить, когда WordPress не мог обновиться. Он ругался на отсутсвие доступа к определенным папкам. Ошибка возникала из-за того, что Apache создавал файлы от своих прав, в результате править эти файлы от прав пользователя было нельзя.
Для начала следует проверить есть ли этот модуль в установленной сборке:
apachectl -t -D DUMP_MODULES | grep itk |
Модуль уже установлен, если приходит ответ:
Если ответа нет, устанавливаем Apache MPM-ITK.
Добавляем репозиторий CentALT:
rpm -ihv http://centos.alt.ru/repository/centos/6/x86_64/centalt-release-6-1.noarch.rpm |
Затем, чтобы избежать дальнейших конфликтов, сразу же его отключаем. Открываем файл через менеджер файлов:
/etc/yum.repos.d/centalt.repo |
и меняем enabled=1 на 0
Обновляем Apache из добавленного репозитория:
yum —enablerepo=CentALT update httpd |
Теперь приступаем к настройке. Открываем файл:
Раскомментируем или вставляем строчку:
HTTPD=/usr/sbin/httpd.itk |
Открываем файл:
/etc/httpd/conf/httpd.conf |
Добавляем:
Неверная настройка вышеприведенных параметров может повлиять на нехватку оперативной памяти на сервере.
Теперь в файле:
/etc/httpd/conf.d/php.conf |
Добавляем:
LoadModule php5_module modules/libphp5.so |
И в файл:
/usr/local/ispmgr/etc/ispmgr.conf |
Добавляем:
В этом же файле меняем значение:
на
Выполняем команды в терминале:
perl -p -i -e 's/SuexecUserGroup/AssignUserID/g' /etc/httpd/conf/httpd.conf |
Удостоверяемся, что показан список процессов в названиях которых имеется .itk
Установка Swap
Для увеличения производительности сервера нужно установить своп. Смотрим командой free установлен ли он или нет. Если нет, то устанавливаем.
Своп файл (Swap) — это файл на жестком диске, на который временно записывается ненужная информация из оперативной памяти при её не хватки.
Своп обычно делается в размере оперативной памяти. Делать размер больше чем она есть обычно нет смысла.
Создаем своп на 512 мб:
dd if=/dev/zero of=/swap bs=1M count=512 |
где of — место расположения будущего свопа, count — количество мегабайт
Форматируем созданный файл под своп:
Подключаем:
Для автоматического включения свопа надо прописать информацию в файл:
Добавить туда строчку:
echo «/swapfile swap swap defaults 0 0» >> /etc/fstab |
Теперь при каждой перезагрузке системы будет создаваться своп файл на 512 мб.
Для проверки состояние swap файла использовать команду:
Команда для удаления своп файла (если потребуется):
logrotate — ротация логов в ISPmanager 4
Настройки хранятся в файле
Логи хранятся в папке
После изменения конфигурации логов, нужно ввести команду в терминале:
sudo logrotate -f /etc/logrotate.conf |
Для улучшения системы ротации логов в файле logrotate.conf ограничиваем максимальный размер файла в 10 мб. Для этого добавляем строчку:
Уменьшаем хранение старых логов в архивах до 2:
Включаем сжатие логов (раскомментировать следующее):
Для внесения изменений выполняем команду в терминале:
sudo logrotate -f путь_до_logrotate.conf |
Логи хранятся в папке:
Как при обращении по IP сделать перенаправление на нужную страницу
Перед секциями сайтов нужно добавить искусственную секцию:
DocumentRoot /var/www/all/data/www/default |
Ошибка was not close. Ошибка возникла после перезагрузки сервера. Перестал запускаться сервис http.
Проблема оказалась в файле
Иногда ISPmanager 4 чудит и после каждого добавления нового сайта модифицируется файл httpd.conf.
Нужно было удалить в конце файла и поставить с новой строчки то же самое.
Проблемы и решения
Иногда в процессе установки ISPmanager 4 или после неё, уже во время работы, возникают ошибки. Они могут быть самые разные и ругаться на всё что угодно. Ниже перечислены те ошибки, с которыми столкнулся лично.
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Эта ошибка возникала после переустановки VPS. Не получалось зайти в панель, сообщалось об ошибке. Исправил её вводом в терминал следующей команды:
ERROR: selinux enabled. Edit /etc/selinux/config to disable SELINUX, reboot and re-run installation
Эта проблема возникла во время установки панели ISPmanager 4. Для исправления нужно изменить один параметр в указанном файле. Делается следующей командой:
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config |
Затем снова запустить установку:
Конвертация в ‘UTF-8’ не поддерживается на стороне сервера
Файл менеджер в панели ISPmanager 4 не мог открыть текстовые файлы и писал ошибку.
Для исправления в файле:
/usr/local/ispmgr/etc/filemgr.enc |
Надо вынести вперёд кодировку UTF-8, следом поставить кодирвоку — WINDOWS-1251
Forbidden
You don’t have permission to access / on this server
Это ошибка возникала при обращении ко второму занесенному сайту в панель управления ISPmanager.
Для исправления открыть файл:
/etc/httpd/conf/httpd.conf |
Найти строчку:
DirectoryIndex index.html index.htm |
Рядом с этим ставим файлы index.php index.htm и т.д. (те которые нужны), перезагружаем сервер.
Не работают несколько сайтов в ISPmanager на одном IP
Иногда, для работы на одном ip нескольких сайтов, нужно в файле:
/etc/httpd/conf/httpd.conf |
Раскомментировать директиву:
И заменить её на свой ip адрес с портом 81:
NameVirtualHost 123.123.12.123:81 |
Обычно это делается автоматически, но иногда почему-то остаётся.