Перейти к содержимому

Я – большой фанат TeamCity, автоматической доставки, развертывания и любой автоматизации. Как правило, я имею дело с доставкой разработанных нами приложений, но в данном посте речь пойдет о доставке дополнительного функционала в “чужое”, “коробочное” веб-приложение, развернутое на нашем сервере.

...читать далее "Teamcity: Трансформация web.config развернутого приложения"

Azure предлагает огромное количество опций и возможностей, в том числе и для автоматизации. В принципе, если вы планируете хостить свою работу исключительно там, то Вам даже не нужен Continuous Delivery сервер, так как всё необходимое уже есть в самом Azure. Однако, бесплатного ничего не бывает и за многое Azure вам выставит дополнительный счет.

...читать далее "Azure & Teamcity–автоматическое включение/выключение приложений"

Сегодня, во время выполнения одного из запросов, столкнулся с тем, что необходимо настроить серверные переменные для URL Rewrite 2.0 в IIS  7.5. В принципе, никакой проблемы в том, чтобы сделать это через  GUI  (как показано тут) на моей машине не составляет никакой проблемы. Даже на продакшн сервере - это не проблема. Однако, как не забыть этот кусок конфигурации для других разработчиков??

...читать далее "IIS: Настройка серверных переменных для URL Rewrite 2.0"

Если вы когда либо, развернув свежий сервер и установив ASP.NET MVC проект, сталкивались в YSOD "Could not load file ...

Если вы когда либо, развернув свежий сервер и установив ASP.NET MVC проект, сталкивались в YSOD "Could not load file or assembly ... " - Вам читать далее...

...читать далее "ASP.NET MVC 4: Could not load file or assembly System.Web.Helpers"

Трансформация web.config'а может не работать, если в нем есть секция nhibernate

Трансформация web.config'а может не работать, если в нем есть секция nhibernate. Далее я расскажу как починить эту проблемку
...читать далее "Трансформация web.config & NHibernate"

Сегодня, после долгих плясок с бубном, я смог победить RRAS PPPoE в Win2008R2 Server

Встала перед мной задача: настроить раздачу интернетов в Windows Server 2008 R2, не привлекаю внешнего софта (лицензионные и ресурсные ограничения имели место быть). Таким образом, решено было использовать стандартную службу RRAS (Routing and Remote Access) в Windows 2008 R2. Саму суть настройки рассказывать не буду, но, далее - фикс небольшой проблемы, которая возникает при попытке использования PPPoE подключения. ...читать далее "RRAS PPPoE в Windows Server 2008 R2"

Вчера предо мной была поставлена задача - получить из имеющегося sql дампа базы данных MySQL - базу данных в MSSQL. Обратившись к всемирному разуму в виде поисковика Google - я нашел решение данной проблемы.

Вчера предо мной была поставлена задача - получить из имеющегося sql дампа базы данных MySQL - базу данных в MSSQL. Обратившись к всемирному разуму в виде поисковика Google - я нашел решение данной проблемы. ...читать далее "Миграция баз данных (MySQL -> MSSQL)"

Я очень люблю читать IT Happens - помимо того, что на этот ресурсу есть масса занимательных историй, там так же можно почерпнуть интересные и полезные решения для системного администрирования.

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

1

Итак, Microsoft предлагает всем желающим скачать и попробовать в действии Service Pack 1 для Windows Server 2008 R2. Далее, подробнее о новшествах...

За исключением очередных баг фиксов и прочих мелких радостей жизни, в первом сервис-паке, который станет релизом в первой половине 2011 года, Microsoft привносит две новых для Windows технологии, весьма интересных на мой взгляд.

Динамическая память позволит администраторам виртуальных машин Hyper-V распределять доступную оперативную память динамически, в зависимости от текущей нагрузки на основную машину, без остановки и перезапуска сервиса виртуализации. Подробнее от технологии Динамической памяти смотрите тут - http://blogs.technet.com/virtualization/archive/2010/03/18/Dynamic-Memory-Coming-to-Hyper-V.aspx.

RemoteFX - технология, ориентированная на улучшение работы с удаленным десктопом посредством протокола RDP. Эта технология позволит доставлять пользователям удаленного рабочего стола полноценный звуковой, видео и 3D контент. Также, появиться возможность форвардить доступ к USB портам локального клиента.

Полезные ссылки:
SP1 Beta Resource Page
TechNet SP1 Page
Подробнее о Microsoft RemoteFX
Скачать SP1 Beta

1

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

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

На эту идею меня натолкнул директор предприятия Денис и сайт Internet-club.info, посвященный проблематике компьютерных центров, в частности, статья об использовании Linux в Интернет-кафе. Тщательно изучив, погуглив по предоставленной информации - я остановился на двух системах:

Первым, в очереди на препарацию стал OutKafe.
Причинами тому стало то, что он ставиться на существующую систему (то есть, клиент можно установить на любую ОС, в том числе и производства MicroSoft), что позволяет с минимальными затратами перевести уже существующую инфраструктуру Интернет-кафе КофеБерри на новые рельсы.

Установка и настройка OutKafe.

Система управления клубом OutKafe в своей основе опирается на базу данных PostGRESQL. Таким образом, первый шаг - установка на управляющую машину этой самой БД.
Установка и настройка PostgreSQL на FreeBSD подробно описана тут - http://jasonk2600.wordpress.com/2010/01/11/installing-postgresql-on-freebsd/ (если я когда нибудь получу разрешение и у меня будет время - я обязательно его переведу).

Вкратце, суть такова:
В /etc/rc.conf необходимо внести запись 'postrgresql_enable="YES"' и затем, запустить инициализацию БД командой '/usr/local/etc/rc.d/postgresql initdb'. После чего, PostGRESQL создаст необходимую структуру папок в /usr/local/pgsql/data, в том числе и конфигурационные файлы.
Далее, чтобы разрешить доступ к БД со всех интерфейсов, необходимо отредактировать файл /usr/local/pgsql/data/postgresql.conf, установив в нем параметр listen_addresses = '*'.
Далее, необходимо отредактировать файл /usr/local/pgsql/data/pg_hba.conf для того, чтобы разрешить в аутентификацию по паролю:
host  all  all  10.0.1.0/24  password (разумеется, не забудьте заменить 10.0.01.0/24 на свою сеть)
И последний шаг - запуск СУБД и добавление пользователя:
# /usr/local/etc/rc.d/postgresql start
# su pgsql
$ createuser -sdrP username
Enter password for new role: ******
Enter it again: ******
$ exit

Первая проблема, с которой я столкнулся - Postgresql не стартует, ругаюсь не недостаточность системных ресурсов. Как оказалось, именно во FreeBSD наиболее простой способ тюнинга этих самых параметров - посредством изменения параметров sysctl. Суть в том, что некоторые параметры в настройках по умолчанию - слишком малы, и их необходимо увеличить. Подробности, необходимые для понимания, что и как увеличивать - можно прочитать тут: http://www.postgresql.org/docs/8.2/static/kernel-resources.html

Опять же, опишу вкратце:

Изначально, FreeBSD после установки выделяет мало места для семафоров и общей памяти, которых явно недостаточно для запуска полноценной БД PostGRESQL. Данная ситуация очень легко изменяется изменением (простите за тавтологию), некоторых переменных в sysctl.
Редактируем /etc/sysctl.conf , добавляя туда нижеуказанные параметры:
kern.ipc.shmall=32768
kern.ipc.shmmax=134217728
kern.ipc.semmap=256
kern.ipc.shm_use_phys=1

Редактируем /boot/loader.conf, добавляя туда нижеуказанные параметры (они могут буть изменены лишь до загрузки):
kern.ipc.semmni=256
kern.ipc.semmns=512
kern.ipc.semmnu=256

После настройки и тюнинга ОС для запуска Postgresql - теперь нужно сконфигурировать его. Для этого, уже есть DB schema... У меня не поставился PGadmin3 (ни из портов, ни из пэкеджей), но так как это все еще тестовая среда - то я пока решил не задумываться над этой проблемой и просто скачать и поставить Windows-версию.

Шаг 2 - Установка OutKafe Daemon

OutKafe поставляется как Unified Installer, запакованный при помощи MakeSelf. При простой попытке запуска - он вываливается с ошибкой о том, что ./setup.sh не найден. Однако, как на самом деле оказалось - setup.sh написан для BASH (Bourne Again Shell) и вызывается так, как это делается в Linux (/bin/bash), а во FreeBSD BASH устанавливается в /usr/local/bin/bash.
Есть два выхода из этой ситуации - редактировать setup.sh или же, сделать просто link на BASH в /bin ;-). Второй выход мне кажется более правильным и универсальным, в связи с тем, что необходимость в BASH'е явно возникнет у демона после установки.

Итак, графический инсталлятор запустился, и сразу же начал ругаться на отсутствие файла libpq.so.4. Опять же - проблема в том, что во FreeBSD все исполняемые/используемые пользователем билиотеки/файлы пишутся в /usr/local/lib. А во FreeBSD, Linux версии софта начинают поиск необходимых им библиотек с /usr/compat/linux/lib. Там они их не могут найти, находят их в /usr/lib, либо же в /usr/local/lib, но не могут их применять. Решается копированием из /usr/local/lib в /usr/compat/linux/lib и использованием команды brandelf -f Linux имя_библиотеки.

Однако, запустить Outkafe на машине с FreeBSD у меня так и не получилось :-(, что, вероятно, и к лучшему: зачем класть все яйца в одну корзину. В идеале, все-таки, схема должна быть такова: роутинг и БД - на отдельной машине, админ - на отдельной машине.

Так что, демона и программу контроля развернем под управлением Ubuntu, а базу данных и роутинг - оставим на плечах FreeBSD. Все-таки, Ubuntu более привычная пользователю Windows ОС, нежели чем FreeBSD, что впрочем, не умаляет для меня значения Фри.

Установку Ubuntu 10.04 я тут описывать не буду - так как все не просто очень просто, а по настоящему удобно и прекрасно :-).

К сожалению, от использования OutKafe мне пришлось отказаться, ввиду того, что пока там нет привычной системы управления клубо (то есть, табличка, с состоянием компьютеров и пост оплатой клиентами), а есть система, ориентированная на постоянных пользователей с предоплатой, что не очень удобно для моего формата Интернет-кафе, подразумевающего небольшое количество постоянных клиентов (около 200-300) и большой проходняк людей, которым интернет нужен здесь и сейчас, но не надолго. Если этому человеку понравиться сервис - вероятно он вернется, но постоянных клиентом он станет лишь значительно позже.

Итак, следующий в очереди на препарацию - Zencafe 2.0 (http://linux.blogs.ie/documentation/). Это и будет темой моего следующего поста.