By the Shade of the Tree

В тени электронного дерева

20090717

OES2 такой разный

Не всегда хотят дружить программки от novell для SLES и для NetWare, ой не всегда.

Например, при установке OES2 в существующее дерево где master-репликой является NetWare сервер, не захотели настраиваться AFP и CIFS. Дело в том что настроечные скрипты на Shell, которые Yast запускает при настройке этих сервисов (из /opt/novell/afptcpd/bin/*.sh) не хотят дружить с LDAP-сервером NetWare, и говорят что соединиться с ним не могут. Yast же выдает ошибку "here are no password policies currently defined in eDirectory. To associate policies to users, plase re-configure AFP later using YaST after adding password policies and users to eDirectory. AFP configuration will continue."

Проблема решается выносом из настройки LDAP адресов NetWare сервера (чтобы скрипты соединялись на SLESовский eDirecroty), либо переписыванием скриптов так чтобы вне зависимости от парметров командной строки подставлялся нужный сервер, либо запуском скриптов руками. Я сделал первое, пока не жалею.

20090218

Дампилка mysql

На питоне. Дампит базы в отдельные файлы, состоит из библиотеки и собственно запускаемых скриптов. К имени файла дописывает время, жмет дампы в bzip2, ну или еще чемто. Хорошо работает по крону. Делает ротацию логов. Может дампить все базы с сервера, может дампить все кроме каких то, может выборочно, может таблицы отдельные исключать.

http://enmirneli.ms45.edu.ru/sqlbackup.tar.gz

Файлы:

  • backup.py - библиотека, должна работать так
  • sample.py - собственно сценарий архивации. Скопировать под другое имя и переписать так как нужно.

Установка сетевого времени на маках

Можно через ARD или через SSH, можно без переводов строк
systemsetup -setusingnetworktime off;
ntpdate -d ntp.example.com;
systemsetup -setnetworktimeserver ntp.example.com;
systemsetup -setusingnetworktime on

20081025

Всех быстрее голубиная почта

Посылая почту с вложениями на русском языке в формате html с помощью скриптов, экспериментально выяснено как определяют кодировку вложений веб-интерфейсы mail и yandex.

Для того чтобы Yandex воспринимал кодировку адекватно, использовались тег <meta http-equiv='Content-type' content='text/html; charset=utf-8' /> и xml-декларация <?xml version="1.0" encoding="utf-8"?>

Для того чтобы Mail воспринимал кодировку адекватно, использовался заголовок с указанием кодировки в начале вложения:

Content-Type: text/html; name=file.html; charset=UTF-8

В экспресс-тестировании приняли участие замечательные люди Витя и Ната, спасибо им.

20081016

ВО как

Установка WebObjects на различные платформы довольно хорошо задокументирована в Сети, правда, на Английском языке, и, обычно, не последней версии. Поэтому, смею предложить еще одно такое описание.

Выполнялась установка WebObjects на Apache 1.3 на FreeBSD.

Предполагается что Apache уже установлен. Особой сложности установка этого сервера из портов не представляет. Если ставить на Apache 2.2, изменится часть 5 по настройке апача на адаптер.

  • Обновим коллекцию портов. Сначала, если cvsup не установлен (в ответ на команду csup говорят "чего?"), установим его командой pkg_add -r cvsup-without-gui. Возьмем файлик /usr/share/examples/ports-supfile и закопируем куда-нибудь, например в /root. Отредактируем его: найдем строчку *default host=CHANGE_THIS.FreeBSD.org и вместо CHANGE_THIS напишем какой-либо из реальных серверов. Список сервером здесь, http://www.freebsd.org/doc/handbook/cvsup.html#CVSUP-MIRRORS.

    Завершив редактирование, включим обновление командой csup /куда закопировали файл/ports-supfile.

    Очень важно обновить порты. Кроме очевидных проблем (старые дырявые версии программ), если не обновить порты, ставить яву очень тяжко, потому что ява будет просить вас скачать всякие файлы которые sun уже не дает скачивать напрямую. Если не хотите заниматься шаманизмом и изменением строки запроса в браузере с смутной надеждой выбить таки вожделенный файл, обновите.

  • Ставим яву. Идем в каталог /usr/ports/java/jdk16 (или не 16 а сколько там будет, ищите с самой большой цифрой). Пишем make. От консоли не открепляем, нам еще придется соглашаться с лицензией. С первого раза make не пойдет. Он будет долго просить вас скачать разные файлы с разных сайтов, ссылаясь на проблемы личензирования. Вам потребуется зарегестрироваться на сайте sun.com. После того как вы вознинавидите используемую солнечной компанией схему лицензирования, а make наконец запсутиться, можно дожидаться лицензионного сообщения, писать yes и идти пить кофе (если после того как вы написали yes make делает вид что завис, не пугайтесь, он работает, просто тихо). По завершении сборки пишем make install.
  • Ставим WebObjects. Идем в каталог /usr/ports/www/webobjects. Пишем make. Как и в случае явы читаем чего нам откуда скачать и почему, послушно качаем. В моем случае было написано что нужен файл pax.gz. Или я что то сделал нетак, или это наглая ложь, если положить этот файл, извлеченный из архива извлеченного из образа диска в /usr/ports/distfiles ничего не будет. Класть нужно сам образ диска, с помощью dd и perl make сам вытащит оттудова нужный файл. Нам же проще, не нужен mac. После того как скачали файлик снова делаем make. После него make install.
  • Ставим mod_webobjects. Идем в каталог /usr/ports/www/mod_webobjects. Пишем make, потом make install. На этот раз, слава богам, не придется ничего качать руками. Смотрим как модуль радостно прописывается в апач с помощью apxs. Коварно смеемся, потому что apxs делает это неправильно.
  • Правим настройку апача. Идем в конфиги апача, /usr/local/etc/apache/httpd.conf. Находим строчку AddModule mod_WebObjects.c. Вырезаем/удаляем ее. Находим чуть выше строчку AddModule mod_rewrite.c. Непосредственно после нее вставляем AddModule mod_WebObjects.c. Птом идем в конец конфига апача и дописываем там строчку Include /usr/local/etc/apache/webobjects.conf.

    В интернетах пишут что стандартная настройка WebObjects на /cgi-bin/WebObjects сводит апач с ума и надо это дело в файле /usr/local/etc/apache/webobjects.conf править на /Apps/WebObjects по всему файлу. Не знаю, у меня все и так работет.

  • Разрешаем грузить WebObjects при загрузке. В /etc/rc.conf пишем строчки wotaskd_enable="YES" (чтоб работали программки на webobject) и JavaMonitor_enable="YES" (если хотим монитор на этом компьютере).
  • Стартуем wotaskd и monitor вручную. Для этого /usr/local/rc.d/wotaskd start и /usr/local/rc.d/JavaMonitor start
  • Проверяем по http://server:1085/cgi-bin/WebObjects/wotaskd.woa должно выдвавть что то нечленораздельное полужирным шрифтом. По http://server:56789, если включен монитор, выдается монитор. Там надо сразу задать пароль во вкладке 'Preferences' Дальше нужно найти знакомого программиста на WebObjects и стребовать с него Hello World. Как только у меня будет такая программа, я ее здесь выложу. Если вы сами знаете как писать под webobjects - тем лучше.
  • 20081008

    Путешествие на чамодане через Китай

    Для того чтобы ACL правильно передавался на Mac было сделано следующее. 1. Система с папками учеников расшарена по NFS для сервера на базе XServe 2. На XServe она подмонтирована из меню NFS Share в окне Sharing в Server Admin. Если монтировать из других мест в т.ч. консоли, не работает. При этом том занесся в локальную директорию сервера. Еще не выяснено, сохраняется ли это при перезагрузке, но есть надежда что да. 3. На XServe подмонтированная шара расшарена вновь по AFP.

    20081001

    Вести с фронтов

    Авторизация маков в дерево работает. Невероятно, но факт. Уже целый месяц.

    Выявлены проблемы.

    Проблема за нумером 1: Firefox не желает слушать нас. Мы говорим Firefox-у: друг! Сохраняй на рабочий стол который лежит на /Network/Servers/server/share/class/user/Desktop. Firefox говорит "Да да конечно". И пытается сохранять на стол /Users/Guest/Desktop. Но увы! Прав у него нет туда сохранять. И Firefox говорит "Аххаха жалкие людишки! Я не буду сохранять."

    Проблема за нумером 2: ACL странно работают через стандартную сборку netatalk на Suse. Finder их не видит, и говорит, в чем-то созвучно Firefox-у: "Аххахаха жалкие людишки! Я не буду показывать вам эту папку - у вас нету прав!!!" Что любопытно и показательно, bash на том же компьютере не умничает, и по командам ls и cat спокойно читает содержимое недоступных для умного Finder-а директорий.

    Что странно и страшно, проблема повторяется для SMB, на маке (на Windows все ОК), что пугает к осознанию того что, может быть, Netatalk понимает ACL, а не понимает их Finder.

    Неприятно, но директивы perm:0777 и options:upriv не делают того что кажется должны делать. Применен ли патч на perm на версию netatalk собранную для Suse - неизвестно. В списке опций в комментариях AppleVolumes.default она есть, в мане - нету.

    Намереваюсь пересобрать netatalk, для этого нужно будет доставить пару библиотек на Suse.

    В королевстве туманно.