пятница, 28 августа 2015 г.

"Error when reading from SSL socket connection" Dell iDRAC 5 PE2900


1) Find java.security file:
$ sudo find / -name java.security
Password:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/java.security
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/security/java.security
/Users/jack/Documents/JDK7/Contents/Home/jre/lib/security/java.security

2) Add/Edit line in java.security:
sudo vim /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/java.security

jdk.tls.disabledAlgorithms=

вторник, 13 января 2015 г.

OSX: Распаковать JDK в выбранную папку

1) Скачать dmg-файл, например, jdk-7u71-macosx-x64.dmg
2) Кликнуть 2 раза в Finder чтобы примонтировать раздел в папку /Volumes
3) $ pkgutil —-expand  /Volumes/JDK\ 7\ Update\ 71/JDK\ 7\ Update\ 71.pkg JDK7
4) cd JDK7
5) cpio -i < ./jdk17071.pkg/Payload
6) $ mv Contents/Home /tools/jdk-1.7.0_71
7) export JAVA_HOME=/tools/jdk-1.7.0_71

вторник, 14 мая 2013 г.

Установка FTP-сервера для CloudStorage на CentOS 6

Необходимо выкладывать часть файлов на clodo-хранилище. Краткая версия для CentOS 6.

Теория.
Управление файлами и контейнерами в Облачном хранилище можно осуществлять посредством API, различных приложений-клиентов и веб-интерфейса панели Clodo. Чтобы не устанавливать на ваш компьютер дополнительных программ, а управлять файлами в хранилище с помощью обычного FTP-клиента, можно на вашем сервере (или любом другом компьютере) установить FTP-сервер, который будет служить ретранслятором стандартных команд FTP в понятное Облачному хранилищу API.

Практика.
1. Установка пакетов
yum install python-daemon python-setuptools git

2. Скачать и установить библиотеку языка Python для работы с облачным хранилищем; расширение для работы с FTP-серверами/клиентами и сам FTP-сервер.

# Установка python-cloudfiles
git clone git://github.com/ClodoCorp/python-cloudfiles.git
cd python-cloudfiles && python setup.py install && cd ..

# Установка pyftpdlib, версия имеет значение - более новая не запустится
wget http://pyftpdlib.googlecode.com/files/pyftpdlib-0.7.0.tar.gz 
tar xf pyftpdlib-0.7.0.tar.gz
cd pyftpdlib-0.7.0 && python setup.py install && cd ..

# Установка ftp-cloudfs
git clone git://github.com/ClodoCorp/ftp-cloudfs.git

3. Запуск
ftpcloudfs -b 127.0.0.1 -p 2021 -a http://api.clodo.ru -l  /var/log/ftpcloudfs.log --workers=2 --pid-file=/var/run/ftpcloudfs.pid, где

-b 127.0.0.1 указывает IP-адрес, который будет прослушивать сервер
-p 2021 указывает порт, прослушиваемый сервером
-l  /var/log/ftpcloudfs.log путь к лог-файлу FTP-сервера
-a http://api.clodo.ru адрес API
--workers=2 количество рабочих процессов FTP-сервера
--pid-file=/var/run/ftpcloudfs.pid путь к файлу, в котором будет
записан номер главного процесса FTP-сервера

4. Подключение к серверу:
ftp -n 127.0.0.1 2021
> user API_USER_FROM_CLODO_PANEL
> password API_KEY_FROM_CLODO_PANEL

Литература:
http://lib.clodo.ru/cloud-storage/ftp_to_cs.html

четверг, 4 апреля 2013 г.

Backupninja ошибка "Previous backup seems to have failed, regressing destination now"

Пришел отчет от одного из серверов с сообщением об ошибке -
Previous backup seems to have failed, regressing destination now.

В качестве обходного пути нужно удалить на приемнике близкие по дате файлы current_mirror.SOMEDATE в директории rdiff-backup-data.

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

OpenX slow page (workaround)

Обратились с проблемой - мол, тормозит OpenX, но не весь, а только несколько страничек. Конкретно, edit-zone.php. Страница открывается, но через минуту ни больше, ни меньше.
В логах самого OpenX наблюдаются такие записи, при попытках перейти на вышеуказанный урл:
"RPC server did not send response before timeout."
Стал разбираться. В логах httpd ничего противозаконного, nginx (frontend) показывает время ответа от httpd (backend) в районе 60 секунд. Возможно, таймаут какой-то. Ищу в php.ini строчки со значением 60:
$ grep 60 /etc/php.ini 
*****
max_input_time = 600
default_socket_timeout = 60
mysql.connect_timeout = 60
;mssql.timeout = 60
apc.ttl=3600
****
Меняю default_socket_timeout на 30, перезапускаю httpd, открываю страницу - теперь 30 секунд задержка. Логи OpenX что-то говорят про XML RPC сервер, который не отвечает на запросы.
Ищу timeout в php-файлах проекта:
grep -ri timeout *
****
OA/XmlRpcClient.php:            ini_set('default_socket_timeout', $old_timeout)
****

Среди огромного вывода замечаю вышеуказанные строки. Открываю файл, немного изучаю - curl пытается отправить запрос на какой-то сервер (что за сервер, что за запрос непонятно).
Пробую выяснить - вношу в код:
file_put_contents('/tmp/123123', curl_getinfo($ch));
Т.е. записываю в файл /tmp/123123 содержимое curl-запроса, верней его часть. Узнаю, что запрос - https://api.pc.openx.com:443/api/public/v200000000000000-1-100Array.
Он не проходит по таймауту, пробую локально, пробую из браузера - не проходит.
Ставлю "грязный" хак - curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 2);
Данная страничка открывается 2 секунды вместо минуты. Вроде приемлемо. Вот такой поток сознания.

понедельник, 25 марта 2013 г.

Samba и пользователи в ldap

Небольшая заметка для себя, скорее несколько моментов, на которые стоит обратить внимание. Итак, имеется ldap-сервер с логинами/паролями пользователей и прочей информацией. Нужно, чтоб пользователи хранили важные данные на отдельном samba-сервере, причем использовать имеющуюся базу пользователей из ldap.
Сервер с samba на CentOS 6.2 обновлен до версии 6.4, в которой samba уже версии 3.6.

1. Вообщем, ставим или обновляем:
sudo yum install samba nss-pam-ldapd

2. Правим /etc/nsswitch.conf (конфигурационный файл cистемных баз данных и переключателя сервисов имен). Т.е. искать информацию о пользователях/паролях/группах не только в файлах, но и ldap
*****
passwd:     files ldap
shadow:     files ldap
group:      files ldap
*****

3. Правим /etc/nslcd.conf (конфигурационный файл демона, который будет проверять/искать информацию в ldap)

uri ldap://LDAP_SRV_IP
base dc=DOMAIN,dc=local
binddn cn=admin,dc=DOMAIN,dc=local
bindpw SOMEPW
scope sub
base   group  ou=Groups,dc=DOMAIN,dc=local
base   passwd ou=Users,dc=DOMAIN,dc=local
base   shadow ou=Users,dc=DOMAIN,dc=local

# На данном моменте происходит подмена параметра homeDirectory на homeDirectory2 или подстановку известного пути. В моем случае у пользователей в атрибуте homeDirectory хранится путь к почтовой папке (по историческим причинам, конечно). У части пользователей был ранее заведен атрибут homeDirectory2 с путем к домашней samba-директории. Это нужно мне, чтоб изменить путь к домашней директории пользователя (/home/vmail/e-mail -> /samba/homes/uid)
map    passwd homeDirectory    "${homeDirectory2:-/samba/homes/$uid}"

4. Правим /etc/samba/smb.conf. Особо расписывать не буду, должно быть более менее понятно.
*******
        security = user
        passdb backend = ldapsam:ldap://LDAP_SRV_IP
        ldap suffix = dc=DOMAIN,dc=local
        ldap user suffix = ou=Users
        ldap group suffix = ou=Groups
        ldap machine suffix = ou=Computers
        ldap admin dn = "cn=smbadmin,dc=DOMAIN,dc=local"
        ldap delete dn = no
        ldap passwd sync = yes
        ldap ssl = off
# Важный параметр, без него не будет использоваться pam, а значит не будут автоматически создаваться домашние папки пользователей при первом входе.
        obey pam restrictions = yes

[homes]
        comment = Home Directories
        ;path = /samba/homes/%S
        browseable = no
        writable = yes
        valid users = %S
****************

5. Вводим 2 раза пароль пользователя smbadmin
smbpasswd -W

6. Правим /etc/pam.d/samba. Перед session    include      password-auth вставляем
session    required     pam_mkhomedir.so skel=/etc/skel/ umask=0077

7. Запуск/перезапуск сервисов
service nslcd restart
service smb restart
service nmb restart

воскресенье, 24 марта 2013 г.

Установить модуль xt_LOG (Gentoo)

Имеется Gentoo, не хватает модуля для логгирования iptables. Краткая инструкция для себя.
# В данном случае версия ядра 3.5.7
cd /usr/src/linux
make menuconfig

# Установить CONFIG_NETFILTER_XT_TARGET_LOG=m и выйти, сохранив конфиг

# Откомпилировать модуль
make net/netfilter/xt_LOG.ko

# Скопировать в нужный каталог
cp net/netfilter/xt_LOG.ko /lib/modules/3.5.7-gentoo/kernel/net/netfilter/

# Создать файл зависимостей модулей
depmod -a

# Проверить наличие xt_LOG
grep -i xt_log /lib/modules/3.5.7-gentoo/modules.dep

# Получить информацию о модуле
modinfo xt_LOG

# Загрузить модуль
modprobe xt_LOG

# Добавить модуль в автозагрузку в файле /etc/conf.d/modules
modules="xt_LOG"

# Добавить правило в iptables для ограничения числа сообщений о блокировке пакета от
одного хоста-отправителя до 1 раза в минуту
iptables -A INPUT -m hashlimit --hashlimit-upto 1/min --hashlimit-burst 1 
--hashlimit-mode srcip --hashlimit-name lim_log --hashlimit-htable-expire 60000 
-j LOG --log-prefix "IPTABLES: DEF DROP: "

# Сохранить текущий набор правил
iptables-save > /var/lib/iptables/rules-save

# Отредактировать в /etc/syslog-ng/syslog-ng.conf
destination iptables { file("/var/log/iptables.log"); };
filter f_iptables {    message("IPTABLES.*") };
log { source(src); filter(f_iptables); destination(iptables); flags(final); };

# Перезапустить syslog-ng
/etc/init.d/syslog-ng reload

# Добавить в /etc/logrotate.d/syslog-ng.conf
/var/log/iptables.log {
    missingok
    notifempty
    rotate 300
    compress
    sharedscripts
    postrotate
        /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true
    endscript
}