среда, 28 декабря 2011 г.

Качественный сервер видеонаблюдения - ZoneMinder

По  работе наткнулся на хороший бесплатный продукт ZoneMinder. Собственно это самая достойная альтернатива платным и "железячным" решениям с которыми довелось работать.

Простой мануал по установке:
http://www.zoneminder.com/wiki/index.php/CentOS

Позже попробую описать "ньюансики" и "рюшечки" данного комбайна.

четверг, 24 ноября 2011 г.

Данные о памяти на серверах Proliant без помощи AIDA64, CPU-Z и т.д.

В одной из сопровождаемых компаний потребовалось увеличить количество оперативной памяти на сервере. Т.к. сервера HP Proliant имеют в разных комплектациях (одинаковых моделей) разные типы оперативки, отличающейся по цене и форм фактору... предыдущий саппорт выполнял остановку и вскрывал сервера для того чтоб сфотографировать что нужно. Такой подход к вопросу поначалу удивил, а затем стало понятно почему так. Оказалось что Proliant блочит доступ к SPD, ну или по крайней мере дает инфу не в том формате что нужно для тех же AIDA64, CPU-Z, и прочьих "железософтов". Выход из ситуации довольно простой - использовать wmic, который встроен в Windows.

Пример команды: "wmic memorychip"   

четверг, 17 ноября 2011 г.

Zimbra - Initializing ldap...failed. (5632) и chown: invalid option -- 1


Во время внедрения сервера Zimbra произошла ситуация которая немного "погрызла" мозги.

  Т.к. установка Zimbra проводилось не впервой, то после всех базовых шагов смутила неожиданная надпись во время применения конфигурации - "Initializing ldap...failed. (5632)" ... Перерыв кучу малу форумов по данной ошибке, стало абсолютно понятно, что имею дело с чем то не ДНС связанным, т.к. любые тесты по записям проходили абсолютно нормально, не говоря о том что были перепробованы варианты с локальным ДНС и dnsmasq. Решил более плотно посмотреть логи которые создает Zimbra при применении конфигурации... и среди строчек нашел штук 7 предупреждений " chown: invalid option -- 1 ". Плотный поиск нашел лишь одинокое упоминание, о таких же предупреждениях, увы без каких либо ответов и комментариев. Далее руководствуясь скорее усталостью, начал методом тыка искать любые отличия между текущим и созданным на виртуалке серверами. В первую очередь отличие было в состоянии системы...если на виртуалке это была чистая CentOS, то в случае с сервером, ребята с хостинга (у которых арендовали сервак) проявили инициативу и установили кучу малу служб включая ISPManager, MySQL, Postfix, Apache ну и т.д... вообщем набор для полноценного предоставления хостинг услуг, который как казалось мне - был успешно снесен и вычищен из автозапуска. Беспокоило по сути только удаление ISPManager.. которое из разряда "убей директорию и попробуй перезагрузится". Доведенный до крайности полез в файлы passwd и group. Как оказалось ISPManager создает пользователей и группы с такими же id что и Zimbra. Убив окончательно все аккаунты id которых были в диапазоне 500-502, все отлично отработало и Zimbra полноценно установилась.

понедельник, 11 июля 2011 г.

Создание процесса "заявление на отпуск" при помощи SharePoint Designer

Статья находится в стадии написания, приношу извинения


Добрый день! В этой статье постараюсь описать создание типичного процесса для предприятия на базе SharePoint Foundation (Services), а именно - процесс подачи и утверждения заявления на отпуск от одного из сотрудников.

Итак имеем, к примеру, следующий алгоритм (выдуман из головы):
1. Человек подает заявление на отпуск, указывает период и тип
2. Заявку должен утвердить его непосредственный руководитель
3. После этого заявка попадает, для утверждения, в отдел управления персоналом
4. Затем как формальное уведомление главному бухгалтеру
5. Ну и в конце концов на утверждение к директору предприятия

По сути, для того чтоб человек ушел в отпуск, необходимо 4 согласия от лиц задействованных в данном процессе.


Сперва необходимо подготовить рабочую область для данного процесса... Она будет состоять из двух списков:
1. Список заявлений на отпуск предприятия
2. Задачи рабочего процесса, те при помощи которых будет получено согласие от необходимых людей, для принятия решения по заявлению

Создаем список SharePoint  и назовем его "заявления на отпуск"
Дальше необходимо определить требуемые колонки которые будут фигурировать в заявлении, возьмем к примеру следующие:
1. Имя заявителя
2. Тип отпуска (оплачиваемый, за свой счет... и т.д.)
3. Дата с которой запланирован отпуск
4. Дата по которую запланирован отпуск
5. Руководитель заявителя
6. Комментарии
Т.к. в списке есть один неудаляемый столбец с текстовым значением, то переименуем его в "Комментарии"

Добавляем колонку "Имя заявителя" с уже существующих "скрытых" колонок

Добавляем колонку с выпадающим списком "Тип отпуска"

Добавляем колонки "период с" и "период по"

Добавляем колонку с выбором пользователя "Руководитель"


Теперь создаем список задач для рабочего процесса... В нем нам необходимы следующие столбцы:
1. Заявитель
2. Кому назначено
3. Статус (выполнена или нет)

Для этого достаточно удалить все лишние колонки с представления. т.к. по умолчанию все уже есть


Запускаем SharePoint Designer и подключаемся к серверу SharePoint
Выбираем список "заявления на отпуск"

Создаем рабочий процесс... в поле область задач рабочего процесса указываем список задач созданный ранее

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

Создаем первый шаг по сбору информации от руководителя

В случае если получен отказ руководителя, необходимо остановить процесс и выслать оповещение заявителю

Теперь создаем второй шаг по сбору информации от отдела персонал

В случае ели получен отказ от отдела персонала, необходимо остановить процесс и выслать оповещение заявителю

Формальный шаг по уведомлению бухгалтера, от которого по сути потребуется лишь закрыть задачу и тем самым дать ход процессу далее

Ключевой шаг по результату от директора предприятия

В случае если получен отказ оповестить всех кто был задействован в данном процессе, во избежание недоразумений

В итоге имеем готовый процесс по утверждению заявления на отпуск, который разумеется потребуется доработать "под себя", как с точки зрения логики, так и с точки зрения безопасности (см. предыдущую статью) ... ну и который можно "прокачать" общим календарем отпусков и учетом оставшихся дней в запасе для каждого из сотрудников. Данная реализация имеет много минусов, но ее преимущество - это цена... Т.к. фактически она находится на бесплатной платформе. ИМХО намного интереснее реализовывать процессы на базе InfoPath, но к сожалению пока что официально бесплатной версии данного решения - нету. На этом собираюсь взять паузу по статьям посвященным SharePoint. Следующая запланированная тема - это процесс внедрения BlackBerry Enterprise Server Express на домен контроллер 2008 с установленным Microsoft Exchange 2010. Всем спасибо!

среда, 29 июня 2011 г.

Автоматизация назначений прав доступа к объектам SharePoint при помощи SharePoint Designer

Представим ситуацию, что у Вас есть общая библиотека документов (задач), в которую периодически пользователи (процесс или программа) сбрасывают информацию в том или ином виде. В какой-то момент возникает необходимость задать автоматически для всех документов некий шаблон разрешений, например «владелец может редактировать, все остальные нет»… или как более распространено с задачами рабочего процесса «тот, кому назначена, может редактировать, все остальные вообще не видят ее» ну и так далее. Т.к. разграничивать на уровне самого сервера довольно тяжело визуально, и не всегда практично, гораздо легче сделать это при помощи SharePoint Designer. Перед тем как приступить, пожалуйста, создайте отдельный список или библиотеку. Сугубо для тестов.

1. Вначале нам нужно подключиться к нужному списку посредством SharePoint Designer

2. Для примера выберем «Задачи»

3. Далее нажимаем «Рабочий процесс списка» и вводим имя, описание (опционально)


4. После нажатия «ОК» мы сразу попадаем на страницу создания рабочего прочесса, Важно переместить курсор подсветки немного выше первого шага

5. Теперь выше «шага 1»… Вы должны вставить «шаг олицетворения»… после этого «шаг 1» можно спокойно удалить

6. После перевода курсора внутрь шага, выбираем «действие» - заменить разрешения объекта списка (Replace List Item Permissions)


7. Выбираем подсвеченные «эти разрешения» (these permissions), в появившемся окне нажимаем «добавить»

8. Для задач рабочего процесса, как правило, достаточно предоставления полных прав только пользователю, которому назначена (Assigned to) задача. Нажимаем «выбрать», в появившемся окне выбора пользователей выделяем «поиск рабочего процесса для пользователя»…нажимаем «добавить». Далее появляется окно поиска, где собственно указывается откуда брать того пользователя кому будет предоставлен доступ… выбираем «текущий элемент» и поле «кому назначена» (Assigned to)…

9. После нажатия «ОК» в двух окнах, остается лишь выбрать уровень прав которые получит человек и нажать «ОК» два раза


10. После этого завершающим моментом будет выбор подсвеченного «списка» (this list). И в появившемся окне выбрать «текущий элемент» …нажать «ок»

11. Нажимаем «Сохранить» и возвращаемся к «Процесс разграничения прав» (путь навигации). И справа выбираем тип запуска процесса. Для задач рабочего процесса лучше всего его установить на «Автоматический при создании элемента». Т.е. как только что-либо создастся в библиотеке «задачи», права на этот элемент будут перезаписаны новыми. Нажимаем еще раз «сохранить» и «опубликовать»


Теперь любая созданная задача в списке «Задачи» автоматически станет недоступна для всех, кроме того кому она назначена. Надеюсь, данный пример поможет реализовать более практичные сценарии по разграничению прав на создаваемые элементы SharePoint и возможно заинтересует в создании типичных процессов документооборота SharePoint, об одном из которых я постараюсь рассказать в следующей статье блога

вторник, 28 июня 2011 г.

Сопровождение пользователей SharePoint

Весьма часто системные администраторы слышат от пользователей SharePoint "А почему другие видят мой документ?" или "А почему другие могут изменять его?". На практике, как правило, подобные ситуации заканчиваются созданием отдельной папки для документов и жестким ограничением прав «всех и вся» кроме тех, кто собственно спрашивал. Но по факту получаем новую порцию вопросов и предложений из разряда «Давайте перенесем этот файлик в общую папку для всех, но ответственным за него будет отдельный человек, я ему продиктую по почте, что там менять». Такой подход – зло. Причем как для пользователей, так и для заваленных кучей вопросов администраторов. И даже когда, казалось бы, все и все понимают, появляется новенький, который обязательно выложит скан чей то визы в общий список файлов для работы. Само собой винить его никто не станет, просто будет поручен вопрос создания инструкций. Кому? Ответ очевиден – тому, кто знает, где какие права даны, ну и в лучшем случае ему в помощь выделят секретаря (!?), потому что как минимум о половине проблем офиса он (она) знает. В итоге может возникнуть натянутость в отношениях с персоналом, ведь теперь есть документ и любой, казалось бы, очевидный момент (нельзя закрывать чужую задачу, удалять «не свой» документ) потребуется описать в вольном стиле на двадцати страничной инструкции по использованию документооборота, которую, к сожалению никто так толком и не примет во внимание.


С моей практики, ключевыми моментами успеха сопровождения общего документооборота являются:
1. Создание правильных групп пользователей
2. Создание простой и понятной структуры документооборота
3. Использование версионности документов
4. Настройка авто-оповещений для всех списков
5. Автоматизация процессов назначения прав доступа к объектам данных
6. Краткие инструкции по тому, что и где найти, а не кнопочные курсы подготовки к сертификации
7. Автоматизированный бекап данных с оповещением по почте

Об автоматизации назначений прав доступа к объектам SharePoint (задачи, документы, отчеты) я постараюсь подробно написать в следующей статье блога.

Зачем этот блог?

Приветствую! На данный момент начинающему ИТ специалисту сложно найти правильный вектор и начальный НУЖНЫЙ минимум знаний для реализации ИТ решений, поэтому надеюсь, мои практические рекомендации послужат хорошей базой для дальнейшего поиска уже конкретной и нужной Вам информации. В данном блоге я постараюсь описать ключевые моменты, связанные с установкой, сопровождением, настройкой самых распространенных ИТ продуктов на рынке СНГ. Большинство предоставленной информации не является авторской разработкой или еще какой-либо частью мега-методологии. Весь объём данных я находил через поисковые системы на форумах, блогах, заметках… когда на родном, а когда и на английском, китайском языках. Возможно кто-то задаст вопрос – «А зачем на это тратить время, тем более бесплатно?». Да затем что на рынке появилось слишком много пафоса. Специалистов единицы, а все остальные пытаются торговать ими. Дуть щеки на встречах, преувеличивать сложность реализации, играть на рекомендациях - вот реалии теперешнего ИТ рынка. Внедренцы обросли лишней кучей персонала, которую нужно содержать, и при этом сознательно завышать цены на услуги - "на всякий пожарный", вдруг не потянем - сможем передать другим дешевле. Жадность консалтинговых компаний не дает развиваться главному потребителю - малому бизнесу, а это не позволяет развиваться новшествам и сервису в целом. Для себя и своей компании я выбрал путь - лояльность. Лояльность позволяет находить новых клиентов, становится партнером для более "крутых" компаний, увеличивать багаж знаний и опыт.