Показаны сообщения с ярлыком ISPManager. Показать все сообщения
Показаны сообщения с ярлыком ISPManager. Показать все сообщения

среда, 17 января 2018 г.

debian: ispmanager 4 + letsencrypt

Есть штатный модуль интеграции, но он доступен только с версии 5.65, а нам надо под более адекватную 4 версию.
Можно конечно поставить сервис, сгенерировать сертификаты, скопировать их из файлов и добавить через панель, а потом каждые 2 месяца обновлять... Но можно сделать проще!

вторник, 8 апреля 2014 г.

ISPManager и сбойный перенос пользователя

Бывает, что запускается процесс переноса.. и всё. Сутками будет гореть значок импорта, повторно запустить не даст -- задача запущена.
Как чистить?

  1. Удаляем /usr/local/ispmgr/var/run/ispmgr
  2. Также, /usr/local/ispmgr/var/.usermove
  3. Прибиваем pbackup (killall, pkill)
  4. А теперь сам процесс ispmgr, он перезапустится при первом же обращении к панели.
Но если возникают такие ситуации, значит что-то не так с процессом переноса, надо проверить права на каталоги, файлы, нет ли конфликтов имен, включить дебаг-режим и изучать.
Ну и помнить, что перенос далеко не всегда начинается сразу, и если мы пытаемся смигрировать миллион файлов, процесс может быть крайне долгим.

http://forum.ispsystem.com/ru/showthread.php?t=7499

четверг, 29 августа 2013 г.

debian 7: куда сохранять правила для iptables?

Ищем загрузку правил:
grep -rl iptables /etc/
/etc/network/if-up.d/iptables

cat /etc/network/if-up.d/iptables
#!/bin/sh
/sbin/iptables-restore < /var/lib/iptables/rules

Значит, искомый путь в /var/lib/iptables/rules

ЗЫ 
Если стоит ispmanager, он этот файл заполняет, но иногда почему-то при запуске оно игнорируется. Проверить наличие правил: 
iptables -L -v
Если пусто - можно загрузить руками, /sbin/iptables-restore < /var/lib/iptables/rules

четверг, 14 марта 2013 г.

ispmanager: зачем root задаётся через переменную

Обнаружилось на новом сервере, что в nginx панель пишет так:
server {
    ...
    set $root_path /var/www/...
    location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
        root $root_path;
        ...
    }
}

"Используется для определения владельца домена. Пользователи начали ломать location'ы своими плагинами и менять root. Как результат, доменов в панели нет."
http://forum.ispsystem.com/ru/showthread.php?p=127025#post127025

При этом, на старом сервере формат записи всё тот же, root задаётся напрямую в location без всяких переменных.

четверг, 29 ноября 2012 г.

apache: Особенности работы сайтов от заданных пользователей

Штатно все сайты работают от пользователя апача (www, www-data, apache).

Как изменить это поведение на работу от заданного пользователя:
suphp
suexec
cgi/fastcgi
apache-mpm-itk

Особенности:
для mpm-itk выставляем пользователя через
AssignUserID

Для isp также надо вписать в ispmgr.conf:
Option ApacheMPM

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

Для suexec опция
SuexecUserGroup

но!!! работает suexec только в режиме cgi/fastcgi! Через mod_php пользователь будет апача. Связано с тем, что apache через suexec запускает php от заданного пользователя и передаёт ему коннект через mod_proxy.

Также в режиме fastcgi будет особенность обработки конфигурационных файлов, в частности в debian будет читаться только содержимое каталога
/etc/php5/apache2/conf.d/
но при этом полностью игнорируется содержимое
/etc/php5/apache2/php.ini

Таким образом, для каждого пользователя надо вносить изменения в
/var/www/_user_/data/php-bin/php.ini
а глобально - создавать файлы в

/etc/php5/apache2/conf.d/

Например для fastcgi и битрикса можно создать глобальный файл 
/etc/php5/apache2/conf.d/mbstring.ini
с содержимым

[mbstring]
mbstring.internal_encoding = UTF-8
mbstring.func_overload = 2

также обычно я выношу файл datetime.ini (по имени секции из главного конфига), где выставляется таймзона сервера.




Линки
куда делся режим "PHP как FastCGI"

понедельник, 24 сентября 2012 г.

php-сессии в memcached

В php.ini:

session.save_path=tcp://127.0.0.1:11211
session.save_handler=memcache
session.name=SESSIONID

С ispmanager может быть бага
Fatal error: session_start(): Failed to initialize storage module: memcache (path: /home/user/data/mod-tmp) in ...

"Внутри VirtualHost в конфиге Apache прописан php_admin_value session.save_path и оттуда берется значение на которое ругается в ошибке."

среда, 7 марта 2012 г.

ISPManager: всякие заметки

Этот пост будет изменяться и дополняться по мере приведения заметок в порядок.

При создании нового домена он заполняется каталогом webstat и файлом index.html. Убираем:
# rm -rf /usr/local/ispmgr/etc/www.skel/*

Очистка кэша:
/usr/local/ispmgr/sbin/pkgctl cache
killall -9 ispmgr

Основной конфиг располагается в /usr/local/ispmgr/etc/ispmgr.conf

Когда много mysql баз, работа с ними в админке крайне медленная - каждый раз пересчитывается их размер. Отключить - в конфиг:
Option HideDbSize

Задать по умолчанию режим работы для php в fastcgi:
Option ForcePhpFastCgi

Разрешить создание домена и его поддоменов на разных пользователей:
Option PermitRootMixDomain

куда делся режим "PHP как FastCGI"

forum.ruweb.net/viewthread.php?fid=18&tid=2813

В шаблонах VDS для FreeBSD-6 имелось 3 режима работы PHP:
- PHP как модуль Apache;
- PHP как CGI;
- PHP как FastCGI.

Во FreeBSD-8 их осталось только два:
- PHP как модуль Apache;
- PHP как CGI.

Поэтому часто приходится слышать вопрос: куда делся режим "PHP как FastCGI"?

Дело в том, что режим "PHP как модуль Apache" на новых VDS претерпел изменения. Теперь Apache там собран с поддержкой MPM-ITK, который позволяет запуск каждого виртуального хоста под отдельными uid и gid. Иными словами, php-скрипты в этом режиме будут обрабатываться от имени владельца домена, что повышает безопасность и снимает некоторые ограничения (например, safe mode - отключен).
Таким образом, в большинстве случаев оптимальным режимом работы PHP на VDS с FreeBSD-8 теперь является "PHP как модуль Apache".


Что делать, если для сайта крайне необходим режим "PHP как FastCGI"?

К сожалению, просто так вернуть его не получится - в частности нужно пересобрать Apache без поддержки MPM-ITK. Это означает, что он перестанет обновляться автоматически вместе с шаблоном, и забота об актуальности Apache в дальнейшем целиком ложится на плечи владельца VDS.

Если вы понимаете последствия данного шага, вернуть "PHP как FastCGI" можно следующим образом:

1) открываем файл /etc/make.conf и удаляем строчку "WITH_MPM=itk" из блока:

.if ${.CURDIR:N*/usr/ports/www/apache22} == ""
WITH_MPM=itk
WITH_SUEXEC=yes
SUEXEC_DOCROOT=/
WITH_PROXY_MODULES=yes
.endif

2) удаляем apache-itk:
# pkg_delete -f apache-itk-2.2.21

3) устанавливаем apache (без itk):
# cd /usr/ports/www/apache22 && make install clean

4) устанавливаем mod_fcgid:
# cd /usr/ports/www/mod_fcgid && make install clean

5) открываем файл /usr/local/etc/apache22/httpd.conf и добавляем строчку:
LoadModule fcgid_module libexec/apache22/mod_fcgid.so

6) в том же файле во всех виртуальных хостах (если они уже есть) меняем:
AssignUserID имя_юзера имя_юзера
на
SuexecUserGroup имя_юзера имя_юзера

7) открываем файл /usr/local/ispmgr/etc/ispmgr.conf и удаляем оттуда строчку:
Option ApacheMPM

8) убиваем все процессы ISPmanager:
# killall ispmgr

9) если после этого режим "PHP как FastCGI" не появился, добавляем строчку:
Option ForcePhpFastCgi
в файл /usr/local/ispmgr/etc/ispmgr.conf и повторяем пункт 8.

суббота, 28 января 2012 г.

exim: отправка почты для отдельных доменов с другого айпи

exim и отправка некоторых доменов через отдельные айпи

Находим секцию
begin transports
        remote_smtp:
                driver = smtp

дописываем до вида
begin transports
        remote_smtp:
                driver = smtp
                interface = ${if exists {/etc/exim4/mail_ips}{${lookup{$sender_address_domain}lsearch{/etc/exim4/mail_ips}{$value}{}}}{}}
                helo_data = ${lookup dnsdb{ptr=$sending_ip_address}{$value}{$primary_hostname}}
При этом формат файла /etc/exim4/mail_ips:
domain.ru: 1.1.1.1
domain2.ru: 2.2.2.2

Остальные отправляться будут со стандартного айпи.

вторник, 4 октября 2011 г.

ISPManager и python

Как cgi запустить несложно, но это очень ограничивает производительность

Также можно через mod_python и mod_wsgi

Django хорошо работает через mod_wsgi:
http://forum.ispsystem.com/ru/showthread.php?t=14832

http://stackoverflow.com/questions/799354/configure-apache-to-use-python-just-like-cgi-php

четверг, 15 сентября 2011 г.

Где купить ISPManager

Конечно, лучше всего брать бесплатные версии с хостингом :) Но если по каким-то причинам такого нет - нашёл неплохой вариант
http://www.isplicense.ru/services/ispsystem/ispmanager/
Проблема в том, что на офсайте цены несколько негуманные, можно найти в разы дешевле.
Если кто знает дешевле этого - оставляйте в комментах, добавлю.

вторник, 9 августа 2011 г.

Подключение существующего ssl сертификата в ISPManager

Чтобы подключить сертификат (неважно, через панель или руками в конфиге Apache) необходимо иметь сам сертификат и ключ.
Их следует указывать в ISPmanager в меню SSL сертификаты на уровне пользователя как "существующий" сертификат и затем там же активировать.

http://forum.ispsystem.com/ru/showthread.php?t=16016

Похоже, тут ключевой момент "на уровне пользователя".

Ошибочная инструкция по SSL-сертификатам
От рута даже не пытайтесь, при попытке включения будет ошибка "Пользователь не существует".

пятница, 27 мая 2011 г.

очиска кэша в ispmanager

1) /usr/local/ispmgr/sbin/pkgctl -D cache
Заодно и перестроит.

2) /usr/local/ispmgr/sbin/pkgctl -D -m ispmgr cache
вариант.

3) rm -rf /usr/local/ispmgr/var/.xmlcache
Просто стереть список пакетов, перестроит при новом обращении.

Но после сброса кэша надо перезапустить сам isp:
killall -9 ispmgr

суббота, 5 марта 2011 г.

vsftpd - 530 Permission denied.

При попытке зайти по фтп, выдавало
530 Permission denied.

Под разными пользователями (не рутом), на всех такое.

Есть решение для 3.0.0+: allow_writeable_chroot=YES

For the extended vsFTPd build (vsftpd-ext):
allow_writable_chroot=YES


Обновление vsftpd под дебианом/убунтой

Here are the steps to be taken (copy paste from the tutorial, in case the link dies)
login as root (or sudo..) and do the following:
apt-get install python-software-properties
sudo add-apt-repository ppa:thefrontiergroup/vsftpd
sudo apt-get update
sudo apt-get install vsftpd
echo "allow_writeable_chroot=YES" >> allow_writeable_chroot=YES
sudo service vsftpd restart


Если что - доки о настройке
официальный
перевод большинства опций

http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/
http://www.boxtricks.com/500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/
http://stackoverflow.com/questions/16102996/vsftpd-refusing-to-run-with-writable-root-inside-chroot

среда, 2 марта 2011 г.

ISPManager смена типа лицензии

1) с лайта на про
меняем лицензию
запускаем /usr/local/ispmgr/sbin/up2prof.sh

2) С про на лайт
опять же, меняем лицензию
качаем http://blog.ihtiandr.info/wp-content/uploads/ispmanager/down2lite.sh

вторник, 15 февраля 2011 г.

неприятный баг с apache для SEO

Если используется штатный конфиг, во freebsd надо найти и убрать строки

#
# This should be changed to the ServerRoot/manual/. The alias provides
# the manual, even if you choose to move your DocumentRoot. You may comment
# this out if you do not care for the documentation.
#
#AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.*)?$ "/usr/local/share/doc/apache2$1"

и дальше блок с directory, иначе при индексировании сайта оценка сайту будет падать и сеошники совсем не скажут спасибо. Предположительно, в centos этого бага в штатном конфиге нет.

К слову, ISPManager эту багу фиксит - он разбивает конфиг на подконфиги, в частности

# Local access to the Apache HTTP Server Manual
#Include etc/apache22/extra/httpd-manual.conf

И это по умолчанию закомментировано.

среда, 19 января 2011 г.

ISPManager - вынос apache доменов по отдельным файлам

1. в папке, где у вас лежит конфиг апачи делаем вложенную папку sites (папку, где лежит конфиг апача можно посмотреть в ispmgr.conf в строке "path httpd.conf". например, это /etc/apache2/)
2. прописываем в конфиг апачи строку
Код:
Include /etc/apache2/sites/*.inc
3. прописываем в ispmgr.conf строку
Код:
path httpd-include /etc/apache2/sites/
4. перегружаем апач и ispmanager
5. наслаждаемся

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

http://forum.ispsystem.com/ru/showpost.php?p=54140&postcount=8

Возможные баги:
добавляем эту опцию, когда в httpd.conf уже есть виртуалхост юзера
блокируем юзера
разблокируем юзера
сайты у него работать не будет пока руками из *.inc файла не удалишь секцию типа....
http://forum.ispsystem.com/ru/showthread.php?t=8758
Ошибка возникает, если у вас есть Directory для домашнего каталога пользователя как в основном конфиге, так и в конфиге пользователя.
Зафиксировано, обещают исправить

- при создании домена создается файл конфигурации в указанном каталоге и все работает;
- при удалении www домена файл удаляетcя, вебсервер перегружается и процесс ispmgr умирает, а пользователь во фрейме со списком доменов получает следующее:...
http://forum.ispsystem.com/ru/showthread.php?t=7277
Зафиксировано, обещают исправить

среда, 15 декабря 2010 г.

Отладка плагинов ISPManager

Заметил, что панель при попытке удаления домена стала ругаться
malformed result

Запустим плагин руками
> perl /usr/local/ispmgr/addon/wwwdomainsd
Can't locate XML/LibXML.pm in @INC (@INC contains: /usr/local/lib/perl5/5.10.1/BSDPAN /usr/local/lib/perl5/site_perl/5.10.1/mach /usr/local/lib/perl5/site_perl/5.10.1 /usr/local/lib/perl5/5.10.1/mach /usr/local/lib/perl5/5.10.1 . /usr/local/ispmgr/lib/perl) at /usr/local/ispmgr/addon/wwwdomainsd line 11.
BEGIN failed--compilation aborted at /usr/local/ispmgr/addon/wwwdomainsd line 11.

В данном случае не хватало p5-XML-LibXML (freebsd)
И таким образом отлаживаем модуль, пока не заработает.