sysmerge IT

28 февр. 2017 г.

openbsd: автоматическое скачивание файлов snapshot'а

Openbsd я использую в виде снепшотов и обновляюсь, соответственно, от снепшота к снепшоту  без необходимости пересобирать систему из исходников, за меня уже все сделали. Файлы снепшота можно найти тут, к примеру, http://mirror.yandex.ru/openbsd/snapshots/amd64/.
В принципе, можно скачать только bsd.rd и, загрузившись с него, указать путь к файлами и они скачаются. Но как по мне, то проще их скачать заранее и устанавливать с диска.
Файлы я качаю вот этим скриптом

 #!/bin/sh  
 #files="INSTALL.amd64 SHA256 SHA256.sig base58.tgz bsd bsd.mp bsd.rd comp58.tgz man58.tgz xbase58.tgz xfont58.tgz xserv58.tgz xshare58.tgz";  
 ftp="ftp://mirror.yandex.ru/pub/OpenBSD/snapshots/amd64/";  #путь к файлам
 ftp $ftp/index.txt > /dev/null 2>&1  #получаем список файлов в директории
 index=`cat index.txt|awk '{print $10}'`  
 echo $index  
 echo "Preparing directory..."  
 for i in $index ; do  
     rm $i  
     echo "$i has been cleared..."  #удаляем старые файлы
 done  
 for i in $index ; do  
     echo "Downloading $i..."   #качаем новые
     ftp $ftp$i > /dev/null 2>&1  
 done  

Все. Далее можно копировать bsd.rd в корень и продолжать обновление.
24 февр. 2017 г.

Создать цепочку ssl сертификатов. bundle.crt от comodo

Многие после покупки сертификата у Comodo сталкиваются с тем, что не понятно, как все это добро установить, ведь получаем мы кучу файликов. На самом деле все довольно просто, как правило нам нужно в итоге получить сам файл сертификата .crt и цепочку bundle.crt(ca-bundle.crt). Как же получить цепочку ssl сертификатов comodo? Все просто. Ищем эти три файла:

 COMODORSADomainValidationSecureServerCA.crt  
 COMODORSAAddTrustCA.crt  
 AddTrustExternalCARoot.crt  

Именно в этой последовательности содержимое этих трех файлов мы собираем в один:

 # cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > site-bundle.crt  

Готово, теперь его можно подключать.
21 февр. 2017 г.

414 request-uri too large в apache

На одном из сайтов  на известном движке ocStore у знакомого был модуль (вроде как mega filter или что-то типа). И по непонятным причинам сохранение данных из полей происходило посредством GET запроса. Причем в форме были поля textarea. В итоге при отправке текста в 2-3к символов мы натыкаемся 414 request-uri too large ошибку, которая говорит нам, что ваш uri слишком большой. Что ж, передаем привет разработчикам модуля и правим конфиг апача /etc/httpd/conf/httpd.conf (для Centos/RHEL) или /etc/apache2/apache2.conf (Debian/Ubuntu):

 LimitRequestLine 512000  

Это можно добавить или в глобальный конфиг или для отдельного виртуалхоста. Имеет смысл только для отдельного, но тут есть заминка, цитирую:

Warning

When name-based virtual hosting is used, the value for this directive is taken from the default (first-listed) virtual host for the NameVirtualHost the connection was mapped to.
А потому в случае с NameVirtualHost будьте осторожнее, чтобы разместить директиву в нужное место.

16 февр. 2017 г.

ispmanager5 установка модулей к дополнительным версиям php

В панели ISPManager5 можно орудовать сразу несколькими версия PHP - основная(системная) и дополнительные. Если ваш сайт использует доп. версию PHP (скажем, 5.4), а системная у вас 5.6, то при необходимости установить модуль к PHP5.4 обычным пакетным менеджером не обойтись. К счастью доп. версии php в ISPManager5 уже снабжены необходимыми утилитами для сборки (phpize, php-config).
Итак, переходим в папку нужной версии php /opt/php54

 # cd /opt/php54/  

качаем необходимый модуль(тут, к примеру, https://pecl.php.net/package/memcache). Распаковываем:

 # tar -xvf memcache-3.0.8.tgz  
 # cd memcache-3.0.8  

Далее

 # /opt/php54/bin/phpize  

После успешного завершения предыдущей команды выполняем

 # ./configure --with-php-config=/opt/php54/bin/php-config  

Теперь можно и установить:

 # make && make install  

.ini конфиг модуля должен находиться тут /opt/php54/etc/МОДУЛЬ.ini, сам модуль тут /opt/php54/lib/php/modules/. 

Не забываем удалить архив и папку с исходниками модуля.
15 февр. 2017 г.

Ispmanager 5 restart панели

Ispmanager4 можно было рестартнуть простым killall:
 # killall -9 ispmgr  

Панель ISPmanager5 в принципе тоже:
 # killall -9 core  

Или же более нативным способом:
 # /usr/local/mgr5/sbin/mgrctl -m ispmgr exit  

14 февр. 2017 г.

Roundcube: Connection to Storage server failed - namespace configuration error: inbox=yes namespace missing

После обновления dovecot  до 2.2.10 Roundcube при логине начал выбивать ошибку "Connection to Storage server failed ". Смотрим в логи dovecot'а, видим следующее:

 Feb 08 18:55:23 imap(info@site.com): Error: user info@site.com: Initialization failed: namespace configuration error: inbox=yes namespace missing  

Судя по всему что-то изменилось в конфиге. Просто выполняем то, о чем говорил данный лог, идем в /etc/dovecot/conf.d/15-mailboxes.conf и находим следующий кусок кода "namespace inbox {", добавляем  "inbox = yes", приводя к виду:

 namespace inbox {  
    inbox = yes  
    .....  

Пробуем логиниться в roundcube
9 февр. 2017 г.

Vesta roundcube PHP Fatal error: Call to undefined function: MDB2_Driver_mysql

После обновления панели Vesta на Debian слетел Roundcubemail, белый экран 500 error  с ошибкой в логах

 [Thu Feb 09 10:35:25 2017] [error] [client XXX] PHP Fatal error: Call to undefined function: MDB2_Driver_mysql::pushErrorHandling(). in /usr/share/php/MDB2.php on line 1950  


Ошибка обусловлена нехваткой драйверов(хотя пакетный менеджер сообщит, что MDB2_Driver_Mysql установлен). Нужно установить недостающие драйвера с помощью pear. Выполняем последовательно:
 # apt-get install php-mdb2-driver-mysql (этот драйвер у вас уже установлен, скорее всего)  
 # apt-get install php-pear  
 # pear install MDB2  
 # pear install MDB2_Driver_Mysql  

После чего Roundcubemail должен работать успешно