Система Orphus
[]

четверг, 30 апреля 2009 г.

GLPI: Исправление глюка в центральной консоли

Вчера было замечено, что если в центральной консоли GLPI выбрать закладку "Все", то в разделе "Ваши группы" (второй прямоугольник) в пункте "Заявки в ожидании" (тот, который слева) отображаются заявки, которые по настоящему имеют статус "В процессе" и наоборот. Тоже самое будет если перейти на закладку "Ваши группы".

А лечится этот глюк правкой двух строк в файле ./inc/tracking.function.php. Значит открываем этот файл в любимом тестовом редакторе и переходим к строке 195, в которой число 16 меняем на 15:
$title=$LANG["central"][15];
А в строке 205 - наоборот, т.е. 15 на 16:
$title=$LANG["central"][16];


Вот и все :)


ЗЫЖ На всякий резервный: архив, в котором оригинальный файл, измененный и diff-патч :)

[]

среда, 29 апреля 2009 г.

GPLI: Настройка e-mail для уведомлений, без зацикливания

5 минут назад мне задал вопрос один знакомый "У меня такой вопрос по GLPI, ты как завел аккаунты для получения и ответов? Т.е. у меня есть support@xxx.ru для ответов, если использую его, то получается, что зацикливаются заявки..." Дело в том, что нельзя использовать один e-mail, т.к. действильно будет зацикливаться. Тут нужно 2 адреса. Поэтому цель этого поста рассказать как правильно настроить GLPI чтобы и уведомления ходили, и сбор почты работал и циклов не было.


Настройка занимает всего 4 шага. И так:
Шаг 1. Идем в Установки > Уведомления на закладку "Установки", там в полях "Email администратора системы" и "Обратный адрес администратора (если нужен)" надо прописать e-mail-1, у меня это helpdesk@server.ru.
Шаг 2. Переходим на закладку "Настройка уведомлений" и везде убираем "Администратор" (выделяем справа "Администратор" и нажимаем кнопку "<< Удалить"). Потом везде добавиляем "Администратор Организация" (выделяем слева "Администратор Организация" и нажимаем кнопку "Добавить >>")
Шаг 3. Теперь идем в Установки > Почтовый парсер. Тут надо добавить новый почтовый парсер, если это еще не сделано. Как настроить почтовый парсер я рассказывал в первом посте про GLPI (см. п.B). В настройках почтового парсера указать настройки для e-mail-1 (поле "Email (необязательно)" надо оставить пустым), в моем случаем это helpdesk@server.ru.
Шаг 4. Осталось самое нудное :) Нужно пройтись по каждой организации и заполнить поля "Email администратора системы" и "Обратный адрес администратора (если нужен)". В первом надо указать e-mail-2, у меня это support@server.ru - это мой основной рабочий e-mail, а во втором поле - e-mail-1, у меня это helpdesk@server.ru.

Все, теперь циклов быть не должно.


Подведем итоги... Что мы теперь имеем? Если юзер пришлет письмо на helpdesk@server.ru, автоматом создастся новая заявка и отправится уведомление юзеру, админу организации, т.е. тебе. При этом в качестве мыла отправителя будет указано твой адрес, т.е., в моем случае, support@server.ru. Если же юзер ответит на это письмо, то реально он ответит не на support@server.ru, а на helpdesk@server.ru. GLPI прикрепит его к этому запросу как комментарий и снова разошлет уведомления.
Но (!) запрос не будет никому назначен. Чтобы запросы еще и автоматом назначались тебе придется поковыряться в Администрирование > Правила > Правила для заявок. Там ничего сложного нет, но если будут вопросы пиши, постараюсь помочь.

вторник, 28 апреля 2009 г.

Ультратонкий рюкзак для ноутбука. Класс!

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





Вскоре после того, как человечество изобрело ноутбук, появились специальные сумки для его переноски. Сперва они напоминали чемоданы, но затем постепенно становились все тоньше и компактнее. Заслуженной популярностью стали пользоваться рюкзаки для ноутбуков. Но обычный рюкзак – штука довольно громоздкая. Поэтому правильный выбор – ультратонкий рюкзак "Built".





[]

понедельник, 27 апреля 2009 г.

GLPI: Добавляем свои статусы для заявок.

В предыдущем посте (GLPI. Шаг за шагом.) я уже рассказывал как установить GLPI на Ubuntu Server и о "сложностях", с которыми пришлось столкуниться...
На днях пришлось сделать хак/твик, т.к. главного программиста не устроило, что в статусе заявок нет таких пунктов как "Доработка" и "Закрыто и проверено". О чем и хочу рассказать в этом посте. Хотя я все же сделал немного по своему и создал новые статусы "В процессе (доработка)" и "Закрыто (решено и проверено)", такие лучше в общий контент вписываются, имхо.

Говорю один раз, повторять не буду :)
1) все файлы, которые я изменял, были предварительно скопированы в качестве резервной копии, чего и тебе советую
2) все эти твики/хаки проводились с версией 0.71.5, хотя думаю, что для других версий это будет тоже актуально, за исключением не больших отличий, таких как номера строк, хотя точно не знаю
3) непосредственно та строка/подстрока, которая была добавлена/изменена, будет выделяться жирным шрифтом
4) все изменения будут делаться снизу-вверх по файлу, чтобы номера строк не отличались от оригинального файла
5) все пути будут указнанны относительно корневого каталога веб-сервера


Приступим =)

Для начала добавим сам текст, который будет отображаться в выпадающем списке при выборе статуса заявки. Открываем файл ./locales/ru_RU.php и находим 669 строку, а после нее добавляем две строки:
 $LANG["joblist"][28]="В процессе (доработка)";
$LANG["joblist"][29]="Закрыто (решено и проверено)";
С этим готово. Теперь сделаем так, чтобы при создании/именении заявки у нас была возможность указать новые статусы. Для этого открываем файл ./inc/dropdown.function.php и сразу после 1095 строкой пишем:
case "finalize" :
return $LANG["joblist"][28];
break;
case "verified_and_closed" :
return $LANG["joblist"][29];
break;
Тут "finalize" и "verified_and_closed" внутренние имена наших новых статусов, чтобы можно было к ним обращаться в коде GLPI. Программисты поймут, а тем кто не знает программирование поясню подробнее... Когда ты выбираешь из списка статус то видишь что-то типа "В процессе (доработка)", это не имя, как могут подумать некоторые, а значение статуса. Имя мы вибираем сами, в моем случае это "finalize". Такое имя должно быть уникально во всем коде программы. Поэтому важно выбрать внутреннее имя статуса так, чтобы оно было уникальным в программе. Надеюсь ты меня понял :)

Теперь поднимаемся еще выше до строки 1866, в которой объявлена функция dropdownStatus(). Теперь внимание: в данном месте важен порядок (!), именно в том порядке, в котором ты сюда добавишь новые строки кода, будут отображаться статусы в своем выпадающем списке при создании/именении заявок. Я решил поставить "Закрыто (решено и проверено)" сразу после "Закрыто (решено)" поэтому добавил следующий код под строкой 1874:
echo "<option value='verified_and_closed' ".($value=="verified_and_closed"?" selected ":"").">".$LANG["joblist"][29]."</option>";
А "В процессе (доработка)" - "В процессе (назначено)" и код добавлял под строкой 1871:
echo "<option value='finalize' ".($value=="finalize"?" selected ":"").">".$LANG["joblist"][28]."</option>";
Теперь уже новые статусы для запросов работают, можешь войти в GLPI и убедиться. Но пока еще не работает с новыми статусами поиск запросов, тот самый который в меню "Поддержка > Отслеживание", т.к. он про них ничего еще не знает. Значит нам надо рассказать нашему другу "Поиску", что есть новые статусы. Для этого открываем файл ./inc/tracking.function.php и... набираемся терпения, т.к. тут поработать ручками придется больше, чем в предыдущих двух файлах вместе взятых :)) Не пугайся, ничего сложного тут нет, лучше двигайся к строке 1638 и под ней пиши вот этот код:
case "verified_and_closed": $title.=$LANG["joblist"][29];break;
а теперь поднимись чуточку выше, к строке 1635 и набери под ней вот этот код:
case "finalize": $title.=$LANG["joblist"][28];break;
Тут опять же важен порядок, как я уже писал выше, но этот порядок для заголовка PDF-экспорта. Хотя может тут порядок и не важен, но я не стал заморачивать проверками и сделал именно так.
Едим дальше вверх :) до строки 1386 и вставляем под ней вот этот код:
case "finalize": $where.=" ( glpi_tracking.status = 'finalize' )"; break;
case "verified_and_closed": $where.=" ( glpi_tracking.status = 'verified_and_closed' )"; break;
Теперь идем на три шага выше, т.е. к строке 1383 и приводим ее вот к такому виду (ориентируйся по жирному шрифту):
case "old_done": $where.=" ( glpi_tracking.status = 'old_done' OR glpi_tracking.status = 'verified_and_closed' )"; break;
теперь еще выше и правим 3 строки с 1379 по 1381 (опять по жирному):
case "notold": $where.=" (glpi_tracking.status = 'new' OR glpi_tracking.status = 'plan' OR glpi_tracking.status = 'assign' OR glpi_tracking.status = 'waiting' OR glpi_tracking.status = 'finalize')"; break;
case "old": $where.=" ( glpi_tracking.status = 'old_done' OR glpi_tracking.status = 'old_notdone' OR glpi_tracking.status = 'verified_and_closed')"; break;
case "process": $where.=" ( glpi_tracking.status = 'plan' OR glpi_tracking.status = 'assign' OR glpi_tracking.status = 'finalize' )"; break;
Тремя правками выше мы рассказали нашему другу "Поиску" какие статусы к каким категориям относить. Если ты не понял о чем я, зайди в GLPI в поиск и посмотри, что есть в выпадающем списке "Статус"... Вот-вот, Эти самые все "Не закрыто" и т.п. это и есть группы, т.е. сюда попадают заявки с разными статусами, которые можно объеденить в одну логическую группу. Что-что??? Там еще нет новых статусов? Не пугайся, еще надо 4 строчки добавить в этот файлик и 1 изменить и будут видны новые статусы. Надеюсь ты еще не устал :)

Пришло время научить расширенную форму поиска видеть новые статусы. Для этого поднимаемся до строки 1103 и под ней набираем такой код:
echo "<option value='verified_and_closed' ".($status=="verified_and_closed"?"selected":"").">".$LANG["joblist"][29]."</option>";
а чуть выше, в под строкой 1100 вот такой:
echo "<option value='finalize' ".($status=="finalize"?"selected":"").">".$LANG["joblist"][28]."</option>";


Отлично. Осталось 2 строки добавить, чтобы научить простой поиск видеть новые статусы. Лезь еще выше, остановка на строке 968, под которой пиши вот этот воть код:
echo "<option value='verified_and_closed' ".($status=="verified_and_closed"?"selected":"").">".$LANG["joblist"][28]."</option>";
а под строкой 965, вот такой:
echo "<option value='finalize' ".($status=="finalize"?"selected":"").">".$LANG["joblist"][28]."</option>";
И последняя строка, в которой надо сделать правку, ее номер 317 (правь в ней код, ориентируйся по жирному):
$where = "(status = 'old_done' OR status = 'old_notdone' OR status = 'verified_and_closed')";
Этой правкой мы рассказали GLPI какие запросы считать закрытыми.

Уф... В принципе это все... Но только в принципе :) Почему? Иди GLPI и сделай новую заявку, присвой ей один из новых статусов. А теперь иди в Поддержка > Отслеживание. Что видишь? Да-да, для новых статусов нет значков :( Не хорошо получается, да? Давай это исправим :)
Иди в папку ./pics и скопируй куда-нибудь файлы new.png, assign.png, plan.png, waiting.png, old_done.png, old_notdone.png, они тебе послужат образцом. Как же надо обозвать новые файлы? Да очень просто: именно такими именами, которые мы присвоили нашим новым статусам (имеются ввиду внутренние имена), т.е. finalize.png и verified_and_closed.png соответственно для "В процессе (доработка)" и "Проверено и закрыто".

Вот теперь полностью все =)


ЗЫЖ На всякий резервный: архив, в котором оригинальные файлы, измененные, diff-патчи и иконки, которые я сделал для этих статусов =)

[]

пятница, 24 апреля 2009 г.

Собираем vnstat в ubuntu и настраиваем lighttpd для vnstati

С тех пор как я купил себе Мегафон-модем, решил поставить какую-нибудь простенькую программку для учета трафика. Выбор пал на vnstat, он работает в консольке, что очень даже хорошо (лично для меня, люблю я консоль). Но когда я увидел вебморду vnstati для vnstat, то, естественно, мне захотелось ее заиметь 8-). В репах я ее не нашел, а на оф. сайте были только сорцы... Ну это не беда подумал я и взялся за дело :)

Для начала нужно поставить libgd2-noxpm и libgd2-noxpm-dev либо libgd2-xpm и libgd2-xpm-dev (я выбрал последние):
sudo aptitude install libgd2-xpm libgd2-xpm-dev
Теперь скачаем сорцы vnstat (vnstati вместе с ними идет):
wget http://humdi.net/vnstat/vnstat-1.7.tar.gz
Распаковываем:
tar zxf vnstat-1.7.tar.gz
cd vnstat-1.7
И ставим:
sudo make all
sudo make install
Убеждаемся, что с ядром все "ок":
vnstat --testkernel
Узнаем какие фейсы можно поставить наконтроль:

vnstat --iflist
И ставим (в моем случае это ppp0):
vnstat -u -i ppp0

Теперь нажно настроить запуск демона (а зачем на через cron мониторить фейс?), для этого добавляем в файл /etc/rc.local перед "exit 0" строку:
vnstatd -d
Правим конфиг vnstat (/etc/vnstat.conf); тут надо только одну строчку поменять, а именно:
Interface "ppp0"
Наконец-то можно запустить демон:
sudo vnstatd -d

Почти все готово, осталось совсем немножко, поставить и настроить lighttpd. Ставим:
sudo aptitude install lighttpd
Включаем CGI:
sudo lighttpd-enable-mod cgi
И настраиваем его, для этого надо в файле /etc/lighttpd/conf-enabled/10-cgi.conf добавить строчку (я хочу чтобы у меня cgi выполнялся из корня вебсервера):
$HTTP["url"] =~ "^/" {
cgi.assign = ( ".cgi" => "/usr/bin/perl" )
}
Теперь скопируем в корень вебсервера cgi-скрипт:
sudo cp examples/vnstat.cgi /var/www/
И чуточку его подправим:
my $host = 'Laptop';   # Имя машины (просто для глаз)

my $cachetime = '1'; # Как часто обновлять картинки в кеше (1 раз в минуту)

my @graphs = ( # Для каких фесов генерировать статистику
{ interface => 'ppp0' },
);
Чтобы смотреть через браузер статистику нужно создать файл index.html, что и делаем:
/var/www/vnstat.cgi | sudo tee /var/www/index.html
И настраиваем права доступа (у меня от имени www-data работает lighttpd):
sudo chown -R www-data:www-data /tmp/vnstatcgi
sudo chown -R www-data:www-data /var/www


Вот теперь все, можно наслаждаться :)))
firefox -new-tab 'http://localhost/'


ЗЫ: Хоум пага проекта - http://humdi.net/vnstat/.

пятница, 17 апреля 2009 г.

Водка Microsoft =)

Водка Microsoft продается в трех основных разновидностях:

ВодкаNT - 35 градусов, предназначена для распития в компаниях от одного до пяти человек. В случае, если собравшихся выпить больше пяти - Вы должны доплатить в магазине, где вы ее покупали.
Водка95 - на этикетке написано "Водка", но в бутылке - недорогой мятно-апельсиновый ликер.

Водка98 - то же самое, только ликер с повышенным содержанием сахара.

Сейчас к продаже готовиться новая разновидность - Водка 2000 - смесь Водки NT с мятно-апельсиновым ликером в пропорции три к одному. Содержание сахара приближается к абсолютному.

Существует еще Водка СЕ - "чекушка".

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

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

Рюмки перед использованием необходимо проинсталировать. Водка автоматически определяет тип и объем рюмок при помощи технологии "plug and play". (В переводе: "наливай и пей!"). В случае затруднений индентификации, вы всегда можете выбрать используемую тару из списка. В любом случае, по заверению представителя Microsoft, в очередном билде локализованной русской версии предусмотрена поддержка дополнительного нестандартного оборудования, как-то: кружки пивные, баночки майонезные, мыльницы пластмассовые.

Для удобства выпивающего прямо в бутылке поставляется необходимый набор разнообразных закусок.

В случае возникновения конфликтной ситуации - например, застревания в горлышке кусочка маринованного огурца, необходимо одновременно тремя пальцами нажать на дно, горлышко бутылки и этикетку. Если это не поможет, закройте пробку и откройте бутылку заново.

Хотя водка и поддерживает многоалкоголичность, выпивание более двух рюмок одновременно не рекомендуется. В этом случае водка может совершить необъяснимую операцию и бутылка будет закрыта.

Если в момент открывания рядом с бутылкой оказывается телефон, Водка автоматически отправляет регистрационные данные (кто пьет, с кем и с какой целью) в Microsoft и в ближайший медвытрезвитель. Это сделано для удобства выпивающего.

В комплекте с бутылкой поставляется также 600-страничное "Руководство выпивающего".

Стоит бутылка Водки Microsoft около четырехсот долларов.

P.S. Многие российские пользователи, однако, предпочитают употреблять водку Microsoft без акцизной марки (самогон), а также напитки Linux.

воскресенье, 12 апреля 2009 г.

Адаптируем любой сайт для мобилы. Легко :)

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

Вопрос: Как?
Ответе: Легко!

Заходим по адресу http://www.google.com/gwt/n и вводим нужный адрес сайта, в результате получаем страничку этого сайта адаптированную для мобилы :)

Классно?

А еще можно и так http://www.google.com/gwt/n?u=http://URL


Вот так выглядит мой блог, обработанный гуглом :)

Мобильная версия моего блога

Сделал мобильную версию блога :) Теперь блог удобно читать даже с мобильника :)


Как такое сделать? Читай дальше ;)


Все не просто, а очень просто:
1. Идем на сайт http://mofuse.com/ и регаемся там
2. Сразу попадаем в панель управления и жмем линк Launch a Mobile Site
3. Проходим 3 шага:
3.1. Вбиваем название и урл своего будущего мобильного блога
3.2. Вбиваем заголовок фида своего блога (для который мобильную версию делаем) и урл этого фида
3.3. Ставим 2 галки, там и так понятно для чего они ;)
4. Жмем кнопку ниже

Вот и все :)
А дальше дело за малым... В общем и так все понятно.
Удачи.


Подсмотрено в Записках дебианщика

суббота, 11 апреля 2009 г.

Один на один с Windows XP

В-общем, прочитав в известном и весьма популярном журнала "Компьютерра" две статьи из серии "Один на один с..." (Один на один с Ubuntu и Один на один с Mandriva) я, представьте себе, проникся. Подумал, что ж это за ОС Windows, если ее поклонники воротят нос от дистрибутивов Ubuntu и Mandriva? Наверное, что-то безумно феерическое и чрезвычайно дружелюбное. И решился. Выложил две с половиной тысячи рублей за специальную версию этой системы именно для домашнего пользователя.
А потом подумал, что как-то оно нехорошо получается. Несправедливо. Как Ubuntu и Mandriva — так один на один. А как Windows XP — так молчок. Придется восстанавливать мировую гармонию. Если уж и раздавать серьги, то всем сестрам, а не только любимчикам.

Правила игры, разумеется, менять не буду. Один на один — так один на один. Ну и, разумеется, никаких консультаций со специалистами. Надо же поддержать почин уважаемого издания — в эксперты по стенам годятся только плохие танцоры.

Теперь немного технических деталей. Дано: ноутбук Toshiba Satellite A200-1HV, легально приобретенный дистрибутив ОС Windows XP Home Edition и я — обычный домашний пользователь, решивший сменить убогое СПО на чудо программерской мысли.

Начну с инсталляции. Несмотря на бойкое начало процедуры, ждать первого прилета птицы обломинго долго не пришлось. Инсталлятор совершенно справедливо заметил, что свободное место на жестком диске моего ноутбука отсутствует. Впрочем, я это и без него знал — все занял Zenwalk. Начал искать кнопку, запускающую менеджер разделов, чтобы уменьшить одну из партиций и очистить таким образом место для новой ОС.

Не нашел. Конечно, первое, что пришло на ум — предположить, что инсталлятор Windows вообще не умеет выполнять подобные операции. Но я ее отбросил с негодованием. С подобной ерундой даже Ubuntu справляется, что же тогда говорить о лучшей ОС всех времен и народов.

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

Да и не стоит лишний раз смущать пользователя сообщениями о непонятной файловой системе. У него может возникнуть неверное толкование. Мол, а вдруг Windows откажется подключать разделы формата Ext3? Конечно, этого не может быть, так как этого не может быть никогда, но сопроводительный текстик мог бы быть поинформативнее.

Поскольку инсталлятор даже не предложил выбрать точки монтирования для уже существующих Linux-партиций, то я решил, что это будет сделано автоматически. Решение мудрое — незачем морочить голову обычному пользователю.

С освобождением места я решил разобраться по-простому, благо, что дистрибутив с Zenwalk был под рукой. Правда, правило "один на один" пришлось нарушить. Но это я не по злобе, а по безграмотности. Надеюсь, опытные товарищи подскажут, как изменить размер раздела из инсталлятора Windows, не прибегая при этом к помощи Linux, пока еще не обретшего человеческого лица.

Справедливости ради скажу, что больше претензий не было. Даже графический режим был сконфигурирован автоматически. Оно и понятно — ждать иного от домашней системы за две с половиной тысячи мне даже как-то неловко.

Итак, система установлена. Машина перезагружается. Здравствуй, Windows. Простите, а куда делась запись для загрузки Zenwalk? Как мне теперь его прикажете запускать? Ой, как нехорошо получилось.

Впрочем, не будем паниковать раньше времени. Наверное, загрузку второй ОС можно будет настроить потом из дружелюбной Windows. Хотя некоторый неприятный осадок уже появляется — и про разделы ничего не спросила, и при первом запуске ничего похожего на Lilo или GRUB (или как там это у них называется) не видно.

Увы, буквально через минуту выяснилось, что оптимизм и мудрость — категории несовместимые. Излагаю по пунктам.

Во-первых, просмотрев все инструменты "Панели управления" я так и не нашел способа сконфигурировать мультизагрузчик, чтобы иметь возможность запускать не только Windows, но и Linux. Во-вторых, фирменный драйвер NVIDIA, вероятнее всего, установлен не был. В третьих, не работает звук — вероятнее всего, система не смогла распознать звуковую карту. В четвертых, Ext3-разделы не подключены и непонятно, как это сделать (сильно подозреваю, что с RaiserFS и XFS ситуация будет не лучше). И самое главное — не определилось ни одно из сетевых устройств, стало быть посоветоваться с Google насчет решения всех вышеупомянутых проблем нет никакой возможности. Если это образец дружелюбия, то я — звезда кордебалета.

Оставалась последняя надежда — активация. Но выполнить ее при нерабочей сети никак невозможно. Есть, конечно, вариант по телефону, но тут уж вообще получится курам на смех — телефона-то в стандартной комплектации нет, а покупать его дополнительно за свои деньги лично мне ни разу не улыбается.

Впрочем, из всякого безвыходного положения есть хотя бы один выход. Достаю с полки дистрибутив Zenwalk и возвращаю Lilo на свое место, предварительно прописав в нем возможность загрузки Windows — надо же довести до конца эксперимент "один на один", хотя его провал уже очевиден. Уже два раза мне приходится прибегать к помощи Linux, что явно противоречит условиям задачи.

Загрузка Zenwalk показала, что ни одно устройство не сломалось — все функционирует вполне исправно. Стало быть — в Google и срочно повышать образовательный уровень. Довольно быстро выяснил, что все драйверы надо качать из интернета. Правда, авторы советов не уточняют, каким образом это сделать при нераспознанных сетевых адаптерах. Наверное, подразумевается, что надо сперва перезагрузиться в Linux и загрузить требуемый модуль поддержки. Впрочем, я уже и так понял, что с "один на один" ничего не получится. Только непонятно, почему в комплект поставки ОС Windows не входит что-то типа Ubuntu или Mandriva — при всей их якобы "недоделанности" подобных фортелей они не выкидывают. По крайней мере, на моем "железе".

Сухой остаток — на поиск и выкачивание драйверов к моему ноутбуку ушло примерно три часа времени (я ж не знал, что искать их надо не на сайте Microsoft, а на сайте Toshiba) и примерно полгигабайта трафика. А, в принципе, оно и правильно. Заплатил Microsoft — заплати и провайдеру. Ему тоже жить надо. Бизнес-солидарность в действии.

Плюс установка всего этого добра. Итого — почти полдня с перекурами. Причем, проблемы решились только частично. Linux-разделы как были недоступны, так и остались. А для настройки мультизагрузчика потребуется вручную править конфигурационный файл. Лучше оставить Lilo, руководствуясь известным правилом, запрещающим чинить то, что не ломалось.

Что бы там не говорили многочисленные сторонники Winodws, считать все это дружелюбием мне как-то непривычно. По-моему, тут больше подходит иной термин — издевательство.

Впрочем, как тут не вспомнить великого Веничку Ерофеева. Он писал, что "все на свете должно происходить медленно и неправильно, чтобы не сумел загордиться человек, чтобы человек был грустен и растерян". Приятно, что разработчики из Microsoft так тщательно проштудировали русского классика и применяют его заветы на практике.

Пока я предавался философским размышлениям на сей счет, появилось окошко, в котором было написано, что без активации система будет работать только месяц. И ни слова о том, зачем мне, обычному домашнему пользователю, все это надо.

Ну да ладно — жму на кнопку, выполняющую активацию по сети. Облом. Несмотря на то, что это была первая установка, мне сообщается о исчерпании лимита на подобную процедуру. Остается только телефон.

При этом компанию Microsoft ни разу не волнует, есть ли у меня этот девайс. И в лицензионном соглашении про необходимость его иметь ничего не сказано.

А если пользователь глухонемой, то что ему делать прикажете? Вот тут недавно показывали в новостях историю о том, как инвалида по зрению не пустили в самолет. Так дело до суда довели — нельзя так относится к людям с физическими недостатками, поскольку они в этом нисколько не виноваты.

Хочу обратить внимание, что для многих глухонемых людей компьютер и интернет — чуть ли не единственные средства нормальной интеграции в общество. Ну не могут они работать водителями троллейбусов и монтажниками-высотниками. А вот компьютерными дизайнерами, программистами, журналистами — запросто. Правда, компания Microsoft им в этом не союзник. Некрасиво все это, честное слово.

Выдержав и это испытание, я обнаружил, что заметных функциональных изменений в системе не появилось. То есть, мне все это совершенно не нужно — набирать номер, диктовать символы, заполнять какие-то поля... Хорошо хоть, что не заставляют хлопать в ладоши и вопить "Developers, developers...". Ну да еще не вечер.

Переходим к функционалу. То есть, именно тому, ради чего и нужна система. Напоминаю, что я имею дело с версией Windows специально для домашнего пользователя, поэтому имею право ожидать от нее чего-то реально полезного.

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

Вот те, бабушка, и Юрьев день. Оказывается, домашняя система, по мнению Microsoft, не должна включать в себя торрент-клиента. Странная концепция, однако.

Попытка найти что-то похожее на менеджер приложений окончилась полным провалом. Нет, что-то похожее есть, но программ там — раз-два и обчелся. Причем, торрент-клиент отсутствует.

По всей видимости, роль менеджера приложений в системе Windows играет Google, а репозиторием является весь интернет. Мол, ищите и обрящете.

Нашел, обрял. Легче не стало. В том смысле, что сам фильм, конечно, загрузился, а вот посмотреть его нельзя. Кодеков нету и где их брать непонятно — автоматическая загрузка, как в недружелюбной Ubuntu отсутствует. Снова в Google — отрабатывать навыки составления поисковых запросов.

Не буду долго рассказывать о своих софтовых мучениях, но чтение форумов и личные эксперименты ясно показали, что ни одна из прикладных программ, которыми укомплектована Windows, не является лучшей в своем классе (разве что "Сапер" — приятное исключение). И это с учетом того, что значительной части нужных домашнему пользователю приложений там попросту нет — ни торрент-клиента, ни менеджера закачек, ни мультипротокольного интернет-пейджера, ни более-менее приличного и всеядного проигрывателя... Все это приходится искать в интернете и пополнять таким образом кошелек провайдера.

И теперь мне стало понятно, почему сериал "Один на один..." автор решил начать именно с Linux, а не с куда более популярной Windows. Слишком короткий рассказ получится — если систему и удаться установить без повреждения уже существующих разделов, то в результате получится совершенно неработоспособное окружение.

Возможно, кому-то это и нравится, но лично у меня такого большого бубна, который необходим для этой ОС, в наличии нету. Поэтому я пока погожу с миграцией и останусь пользователем чрезвычайно "недружелюбного" Zenwalk. А Microsoft пусть пока растет, набирается опыта — может быть со временем у нее что-то путное и получится. Если это когда-нибудь случится, надеюсь уважаемая "Компьютерра" тут же сообщит об этом своим читателям.

А пока — где-то как-то примерно так. Претензии по клевете на продукцию мегакорпорации, разумеется, принимаются. Только без апелляций к социологии — мол, большинство использует Windows. Я думаю, даже если все человечество в едином порыве ломанется кушать в "Макдоналдсы", домашняя еда останется объективно полезнее и субъективно вкуснее.

PS. Теперь серьезно. По роду деятельности я прочитываю практически все публикации в нашей прессе, посвященные СПО. И все чаще мне приходится вспоминать слова Алексея Новодворского: "Отовсюду поперло...".

С одной стороны — приятно. Если даже издания, некогда считающиеся объективными, решаются помещать на своих страницах материалы типа "Решил я поставить Linux и убедился, что это ужас", то это значит, что в определенных кругах СПО теперь воспринимается как явная и реальная угроза.

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

Мой прогноз таков. Если в ближайшее время СПО-сообщество не найдет возможностей для запуска альтернативной пропагандистской машины (давайте уж называть вещи своими именами), то практическое внедрение свободных решений будет сильно затруднено.


Скопипастено отсюда: http://citkit.ru/articles/1300/
[]

понедельник, 6 апреля 2009 г.

Сменить время на Linux-сервере

# date 040618522009
# hwclock --systohc
Первая команда ставит локальное время, формат:
date MMDDhhmmCCYY.ss
где MM — месяц, DD — день месяца, hh — часы, mm — минуты, CCYY — 4 цифры года, ss — секунды

А вторая, копирует в аппаратные часы текущее системное время.
[]

ssmtp - минимальная настройка

Чтобы отправлять почту с линукс сервер не обязательно ставить Sendmail/Postfix/Exim4/etc. Порой, и даже зачастую, достаточно поставить ssmtp и слать почту через общедоступный сервер.

rdesktop + SeamlessRDP

Бывает, что мне не нужен сам рабочий стол, а только окно какой-то конкретной проги. Тут на помощь приходит SeamlessRDP :)

Скачиваем на терминальный сервер прогу SeamlessRDP от сюда - http://www.cendio.com/seamlessrdp/, кладем ее в какую-нибудь папку, например, C:\srdp\ и запускаем rdesktop, например, так:
rdesktop -u user -p 'password' -k en-us -N -a 8 -z -x m -P -r clipboard:PRIMARYCLIPBOARD -r sound:off -r disk:Name=/path/to/Share -5 -A -s 'C:\srdp\seamlessrdpshell.exe "C:\Program Files\Internet Explorer\iexplore.exe"' ServerNameOrIP

Удобно :)))))))))
Хотя для RDPv4 и ниже не пашет :(


[]

четверг, 2 апреля 2009 г.

OnLine IMs

У меня иногда бывают ситуации, когда срочно нужно выйти на связь по jabber/icq/msn, но на машине, за которой я в данный момент, нет соответствующего клиента. Конечно можно залить портативную версию на флешку и таскать ее (флешку) с собой, но тут есть три нюанса:
раз) Для винды то понятно, но как быть с *nix системами?
два) Не всегда есть возможность подключить флешку.
три) Не всегда есть возможность запустить какой-либо бинарник с этой флешки.

В таких ситуациях хорошо выручают online-im-клинты, т.е. те, которые работают прямо из браузера и не требуют установки на машину, а так же, естественно, не зависят от ОСи, которая стоит на машине.
Мне нравятся следующие online-клинты, которыми я пользуюсь время от времени:
Meebo.Com - поддерживает много разных IM, в числе которых есть jabber, icq, msn и другие. Т.ж. у Meebo.Com есть свой "протокол" и Meebo Widget, который, например, можно повесить на сайте для обратной связи ;) (требует регистрации на Meebo.Com). Чтобы сделать виджет нужно зайти на http://meebome.com/ и пройти 3 простых шага.

MUCkl - это не совсем online-im-клиент, это простой группой чат (groupchat), выполненный на основе протокола jabber (может не совсем корректно, но зато наиболее понятно :)). Разработчики т.ж. выложили в сеть исходники и банарники, благодаря чему можно поставить MUCkl на своем сервере.

WebMDC - отечественная разработка. Простой online джаббер-клиент. Никаких наворотов, в отличии от того же Meebo.Com. Т.ж. есть offline версия MDC, которая доступна для Microsoft Windows (2000/XP/Vista, 32-бита), Linux (32/64), Mac OS X (Intel).

ICQ2GO - думаю про него даже не стоит рассказывать, и так все знают :)))

Windows Live (MSN) - с ним ситуация обстоит точно также как и с предыдущим :)



Возможно, некоторые спросят почему я не упомянул GTalk? Да потому, что его просто не стоит упоминать, т.к. и так все про него знают :)


ЗЫ:
Как запомнить все эти ссылки? А очень просто: идем на сайт Б23, вбиваем в единственном поле ввода нужную нам длинную ссылку, жмем единственную кнопку и получаем в ответ короткую ссылку вида: http://b23.ru/2wy. Такую куда легче же запомнить :)

Я уже об этом позаботился ;) (хотя пользую только для ICQ2GO, чтобы прямиком было)
Meebo.Com - http://b23.ru/2wl
MUCkl - http://b23.ru/2w0
WebMDC - http://b23.ru/2wv
ICQ2GO - http://b23.ru/2wy
MSN - http://b23.ru/2wh


[] []

среда, 1 апреля 2009 г.

GLPI. Шаг за шагом.

GLPI - система техподдержки, учета комптехники, ведения внутренних документов (имеющих отношение к ИТ отделу), учет расходных материалов. Да много еще чего там есть. Моя цель не достоинства GLPI описывать, а рассказать как это добро использовать :)
Можно GLPI ставить из репозиториев... Тогда тебе эта статья не нужна. Ну, а если хочешь из тарбола поставить, как это сделал я, тогда это то, что тебе надо :)

Я решил ставить GLPI на Ubuntu 8.04.2 Server. Почему? Люблю я эту систему :) GLPI 0.71.5 - последняя версия на данный момент.

1. Для начала надо поставить зависимости:
Если на твоем сервере еще не стоит какой-либо MTA (Mail Transfer Agent), то советую поставить ssmtp, чтобы MySQL не тянул за собой Exim:
$ sudo aptitude install ssmtp
$ sudo aptitude install apache2 libapache2-mod-php5 php5 php5-mysql dbconfig-common mysql-server-5.0 php5-curl php5-ldap php5-imap

2. GLPI для своей работы использует базу данных MySQL, поэтому нам нужно сделать БД "glpidb" и пользователя "glpiuser" с паролем "glpi" (естественно пароль надо выбрать подлиннее и по сложнее ;) ):
$ mysql -u root -p
mysql> create database glpidb;
mysql> grant all privileges on glpidb.* to glpiuser@localhost identified by 'glpi';
mysql> quit

3. Теперь настроим PHP, как рекомендуется в документации:
3.1. Убедимся, что memory_limit достаточного размера:
$ grep -i memory_limit /etc/php5/apache2/php.ini
memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB)
если нет, то нужно поставить 128M, ниже не желательно.
3.2. Убедимся, что строка "extension=mysql.so" в конфиге MySQL не закоментирована:
$ grep -i mysql.so /etc/php5/conf.d/mysql.ini
extension=mysql.so
если это не так, то ее надо раскомментировать (или добавить если ее совсем нет).

4. Перезапускаем Apache:
$ sudo /etc/init.d/apache2 restart

5. Теперь пора скачать и распаковать GLPI в папку Apache, а так же сделать владельцем файлов GLPI пользователя, от имени которого запускается Apache:
$ cd /tmp/
$ wget https://forge.indepnet.net/attachments/download/589/glpi-0.71.5.tar.gz
$ sudo tar -xvzf glpi-0.71.5.tar.gz -C /var/www/
$ sudo chown -R www-data:www-data /var/www/

6. Чтобы работали основные процессы (проверка почты, отправка уведомлений и т.д.) когда нет никого на сервере (т.е. ни кто не тыкает по сслыкам/кнопкам) нужно настроить crontab пользователя, от имени которого работает apache:
sudo crontab -u www-data -e
*/5 * * * * /usr/bin/php5 /var/www/front/cron.php &>/dev/null

7. Почти все готово. Можно отключиться от сервера. Теперь открываем браузер и заходим на наш сервер по http, у меня это http://helpdesk.myserver.ru/

8. После того как подконнектимся, то увидим мастер, в котором:
8.1. Выбираем язык.
8.2. Принимаем лицензию.
8.3. Выбираем пункт установка, т.к. мы устанавливаем GLPI, а не обновляем :)
8.4. Сейчас будет показан результат некоторой внутренней проверки, жмем кнопку "Продолжить". (шаг 0)
8.5. Указываем параметры соединения с базой данных (сервер 127.0.0.1, юзер и пароль те, что мы сделали в п.2): (шаг 1)
Сервер Mysql: 127.0.0.1
Пользователь Mysql: glpiuser
Пароль Mysql: glpi
И жмем кнопку "Продолжить".
8.6. Выбираем базу данных, которую сделали в п.2: glpidb. (шаг 2)
8.7. Жмем кнопку "Продолжить". (шаг 3)
8.8. Читаем, запоминаем/записываем: (шаг 4)
* glpi/glpi для административной учетной записи
* tech/tech для технической учетной записи
* normal для обычной учетной записи
* post-only/post-only для учетной записи публикатора
Жмем кнопку "Продолжить".

9. Выполняем вход в только-что установленный GLPI :)
Воспользуемся логином glpi, сразу сделем себе юзера support и добавим его в профиль super_admin, а все остальные учетные записи можно заблокировать (или удалить).
Все, теперь можно настраивать GLPI дальше под себя, благо все и так понятно и наглядно :)



И на последок расскажу о тех "сложностях", с которыми пришлось столкуниться:
A. Если хотите чтобы при создании новых заявок в поле "Назначить" по умолчанию была выбрана определенная группа, а не пустая строка, в файле ./front/helpdesk.php в строке 71 параметр "$assign_group=0" меняем на свое значение. Узнать ID группы можно, например, так: идем в Администрирование > Группы, открываем нужную группу и смотрим в адресную строку - http://helpdesk.myserver.ru/front/group.form.php?ID=2. У меня группа "Техподдержка" имеет в базе ID=2, поэтому выставил "$assign_group=2".

B. Если почтовый парсер (Установки > Почтовый парсер) при проверке ящика сообщает, что ему не удалось подключиться к почтовому серверу, то нужно в настройках парсера оставить пустым поле "Email (необязательно)". Т.ж. в поле "Настройки соединения" стоит выбрать "NO-TLS" и "NO-VALIDATE-CERT" в третьем и четвертом выпадающих списках, соответственно.

C. Если почтовый парсер не забирает почту из ящика самостоятельно, то надо сделать симлинк на конфиг-файл php:
$ cd /etc/php5/cli
$ sudo ln -s ../apache2/php.ini
либо в /etc/php5/cli/php.ini добавить те строки, про которые сказано в п.3 (см. выше)

D. Рекомендую поставить плагины (их надо скачать с оф. сайта и распаковать в папку /var/www/plugins/):
alerting - дополнительные уведомления
archires - генерирует графическое представление сетевой структуры
mailkb  - уведомление по мылу при создании нового FAQ
treeview - список в виде дерева с сортировкой по местонахождению
wol  - WakeOnLan (включение компьютеров по сети)