31 июля 2012

Настройка связки Redmine + ISPManager на CentOS 6.3

Когда я решил написать статью по установке Redmine на CentOS, как я уже и говорил, я даже представить себе не мог, сколько мне придется потратить на это времени. Единственное, на что была надежда, так это на то, что труд этот не пропадет за зря и пригодится возможно не только мне. Однако, опубликовав статью из 3 частей у себя на блоге, я не думал, что данная тема обретет такую популярность! Дабы не останавливаться на достигнутом, тему по установке решил продолжить Руслан Евчев, который предоставил свою версию на ваш суд. По сравнению с моей версией, в данной статье пойдет речь об установке все того же Redmine 2.* (на текущий момент версия 2.0.3) под CentOS 6.3 64 бит, но в данном случае с использованием ISPManager.
Она является более простой по сравнению с той, что описывал я. Поэтому, думаю что данный мануал будет для вас более интересным, в особенности тем, кто экономит собственное время.
Статья предоставлена в формате "as is", то есть без моего вмешательства в содержание статьи, за исключением отображения стилей.

24 июля 2012

CentOS 6.2: Установка OpenAM под управлением Jetty с использованием OpenDJ

Пока я игрался с тестовым сервером, устанавливал разного рода программы такие как Redmine, Jira и прочие, прошло достаточно много времени. Изначально на него была поставлена система SSO (Single Sign On) на основе OpenAM от компании ForgeRock для проверки взаимодействия с другими программами. Но пришла пора создать "боевой" сервер с этой системой. И тут я понял, что абсолютно не помню, каким образом я все устанавливал, в какой последовательности и вообще какие настройки производил. Решил, если что-то забылось один раз, то высока вероятность того, что это забудется и в последующем. А это крайне не желательно, учитывая популярность данной технологии. Для тех, кто ещё не знает, что такое технология Single Sign On, можно объяснить следующим образом. К примеру, есть несколько сервисов, находящихся в рамках единой компании. Для входа на каждую из них, пользователю требуется ввести логин и пароль. Имея технологию SSO, пользователю будет достаточно авторизоваться на одном из сервисов, чтобы получить доступ ко всем остальным. Более подробную информацию вы можете найти на страницах википедии. В этой статье речь пойдет только об установке сервера SSO на основе OpenAM под управлением web-сервера Jetty с использованием LDAP сервера OpenDJ от той же компании ForgeRock. Вся эта установка будет производиться под CentOS 6.2.

11 июля 2012

Определение кодировки текста в PHP и Python

В очередном проекте, понадобилось мне определить кодировку текста, который возвращался в виде XML. Для определения кодировки я уже достаточно давно использовал очень простую функцию, которую сам и написал. Но по воли случая, её не оказалось под рукой. И какой бы функция простой не была, хоть и знал общий принцип её работы, писать её заново мне совершенно не хотелось. Да, обленился я в край, тут уж ничего не поделаешь. И так как ждать мне не хотелось ещё больше, чем переписывать, я, понятное дело, побежал спрашивать Google, чем он мне может помочь...
Чего я только не нашел в его предложениях! Кто-то мистическим образом пытается определить кодировку через preg_match, ограничиваясь кодировкой UTF-8. Кто-то в разных кодировках "парсит" тома "Война и мир" на двубуквенные совпадения, получая на выходе достаточно массивные файлы, при чем для каждой кодировки - собственный. Кто-то даже добрался до исходников mbstring, так как в какой-то кодировке он возвращал не верный результат! Меня хватил шок от увиденного! Я понял одно, что из найденных вариантов, подобную "залипуху" в свой код я пихать не собираюсь, поэтому решение отложил на следующий день. К тому же, мне по проекту это требовалось для отладочной информации: мог спокойно потерпеть и смотреть на возвращающиеся "зюки" и вопросики. Однако, мысли о том, что нужно поделиться с народом как простым способом определить кодировку без подключения сторонних библиотек, меня подтолкнули на написание данной статьи.