Другі год запар мы з вялікай сям'ёй збіраемся на сплаў. Гэта пост - караценькае справаздача аб гэтым годзе
...читать далее "Сямейны сплаў па Нёману"
Системное администрирование и DevOps
По сути, этот блог — просто коллекция всякой разной информации обо мне, моей работе и просто какие-то мысли
Статьи
Другі год запар мы з вялікай сям'ёй збіраемся на сплаў. Гэта пост - караценькае справаздача аб гэтым годзе
...читать далее "Сямейны сплаў па Нёману"
Ещё один кусочек автоматизации, предназначенный упростить жизнь билд инжинеру и убрать необходимость ручного конфигурирования параметров Umbraco, уже заданных во время конфигурации билд процесса.
...читать далее "Автоматическая модификация umbracoSettings.config"
2 years ago I posted an article on HabraHabr, which describes how Continuous Integration is done in Colours, where I am working ATM. Those time it was published only on Russian, but, it seems to me, that newest explanation should be published on both languages (russian version is accessible here - http://habrahabr.ru/post/249523/).
...читать далее "Continuous Delivery as done in Colours"
Относительно недавно, Microsoft выпустил менеджер виртуализации под названием Hyper-V. В этом посте я расскажу про мое с ним близкое знакомство, про мое мнение по поводу данного менеджера, и, на сладкое - установка Debian Squeeze в виртуальную машину под управлением Hyper-V ...читать далее "Windows 2008 Hyper-V"
Итак, поставив относительно удачный эксперимент с соединением двух Интернет-кафе посредством протокола точка-точка, я решил развить эту идею...
И путь для развития, избранный мной, стал таким - зачем использовать в Интернет-кафе, не ориентированном на игры и не обладающем достаточными системными ресурсами для игр, дорогую и всеми любимую ОС производства 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/). Это и будет темой моего следующего поста.
Перевод статьи с блога Rhyous о том, как в несколько простых шагов установить, настроить десктоп под управлением ОС FreeBSD с KDE GUI (кстати, последний смотрится ЗНАЧИТЕЛЬНО лучше, чем интерфейс Windows 7 Aero) - оригинальный вариант статьи (на английском языке) опубликован тут - http://rhyous.com/2009/12/18/how-to-install-and-configure-a-freebsd-8-desktop-with-xorg-and-kde/
Хочу уточнить, гайд подразумевает, что ОС FreeBSD устанавливается на машину с одним винчестером и без других операционных систем.
Первоначальные положения
Для конечного пользователя, компьютер должен обладать следующими характеристиками и возможностями:
Шаг 1 - Скачать DVD диск и записать его
Шаг 2 - Установите FreeBSD, с дополнительными пакетами KDE и Xorg
Допольнительно - необязательно, но в будущем может пригодиться
Итак, у Вас уже установлена ОС FreeBSD 8 с Xorg 7 и KDE 4. Однако, чтобы это все заработало - нужно сделать еще несколько простых шагов.
Шаг 3 - Обновите и пропатчите свежеустановленную систему
Важно: несмотря на то, что при установке Вы выбрали копировать систему портов, не забывайте периодически обновлять ее.
portsnap fetch update
По моим сведениям, этих шагов недостаточно, чтобы проапдейтить ОС. Необходимо еще и перестроить kernel (ядро). Не пугайтесь, тут нет ничего страшного.
Шаг 4 - настройка зависимостей Xorg
Шаг 5 - Настройка Xorg
Это необязательная процедура, так как большинство машин сейчас работает и без настройки Xorg.
Дальше, все зависит от Ваших предпочтений: если Вы хотите логиниться в командной строке, потом запускать KDE, проделайте следующие шаги:
Шаг 6 - Запуск ГУИ KDE при загрузке ОС
Чтобы не логиниться в командной строке, а сразу стартовать KDE при загрузке ОС - проделайте следующие операции:
Шаг 7 - Обеспечить возможность подключать CD/DVD/USB
По умолчанию, система FreeBSD запрещает подключение и доступ к внешним носителям данных. Описанные далее шаги подразумевают, что Ваш пользователь находиться в группе operator.
# Allow all USB Devices to be mounted
perm /dev/da0 0666
perm /dev/da1 0666
perm /dev/da2 0666
perm /dev/da3 0666
perm /dev/da4 0666
# Misc other devices
perm /dev/pass0 0666
perm /dev/xpt0 0666
perm /dev/agpart 0666
perm /dev/uscanner0 0666
Дополнение: если поставить 0660 - то лишь пользователи, состоящие в группе operator смогут подключать USB флешки и CD/DVD диски
на
<config version="0.1">
<define_admin_auth group="operator"/>
<match action="org.freedesktop.hal.storage.mount-removable">
<return result="yes"/>
</match>
<match action="org.freedesktop.hal.storage.mount-fixed">
<return result="yes"/>
</match>
<match action="org.freedesktop.hal.storage.eject">
<return result="yes"/>
</match>
</config>
После перезагрузки, Вы сможете подключать CD, DVD и USB драйвы. Также Вы сможете считывать и записывать информацию, записывать диски.
Шаг 8 - Включение звука в ОС
FreeBSD, как и многие серверные ОСи не включает звук по умолчанию. Для того, чтобы его включить - нужно проделать пару нехитрых операций.
Шаг 9 - установка программ
Для того, чтобы десктоп приобрел законченные черты, нам необходимо установить следующий софт (ИМХО):
Готовые бинарники
FireFox
Примите мои поздравления, FireFox установлен. Правда, без поддержки Flash Player, но эту досадную неприятность мы исправим...
Open Office
Наиболее быстрый и безболезненный способ установить Open Office - использовать заранее собранный пакет. Сперва, Вам нужно выбрать подходящий Вам пакет по этому адресу - http://pub.ocpsys.com/bsd/killasmurf86/OpenOffice.org-3.2.0-i686/. Далее, выбрав подходящий пакет, переходите в консоль, переключаетесь su под root и выполняете команду pkg_add http://pub.ocpsys.com/bsd/killasmurf86/OpenOffice.org-3.2.0-i686/OOo_3.2.0_FreeBSD80Intel_install_ru.tbz. Более подробное обсуждение опубликовано тут - http://forums.freebsd.org/showthread.php?t=8639.
Если же Вы все-таки решитесь пойти по идеологически более правильному пути, то есть собрать Open Office из исходников - в первую очередь проверьте, чтобы Ваш компьютер обладал хотя бы 2мя гигабайтами ОЗУ и у него было более 11 гигабайт свободного места в /usr.
Итак, в итоге, после долгого билда - Вы получили программу, для написания/редактирования документов, совместимых с MS Office. Поздравляю
K3b
Программа для записи дисков
Проигрывать MP3 файлы можно при помощи встроенной утилиты - juK, музыкальный проигрывать, по умолчанию устанавливаемый в KDE.
Эта статья - вольный перевод статьи http://rhyous.com/2009/12/18/how-to-install-and-configure-a-freebsd-8-desktop-with-xorg-and-kde/
Вот и состоялся первый тур Techlabs Cup 2010. Турнир проходил в 5 дисциплинах: оверклокинг, скоростная сборка компьютеров, Counter-Strike 1.6, WarCraft III TFT, FIFA 2010.
Финал турнира состоится 3 апреля, в городе Минске, в ТЦ Столица. Приходите, будет очень интересно, так как все действо будет проходить в формате шоу...
А в этой статье, я хочу рассказать о том, каким был первый тур Techlabs Cup 2010 для нас - команды организаторов турнира, обеспечивавших бесперебойное функционирование, постройку и сопровождение всего турнира.
Для нас турнир начался задолго до официальной церемонии открытия и символического перерезания ленточки (которого, кстати говоря не было). Работать над турниром мы начали еще в начале февраля, а железо для турнира и прочие необходимые вещи приезжать стали к нам со среды, 24 марта.
К сожалению, из-за отсутствия маек и участия топовых белорусских команд в первом туре турнира (таково наше предположение), мы не смогли собрать по-настоящему большого количества геймеров (всего играть приехало 269 человек, а на отборочных WCG мы собираем, как правило, не менее 700 участников). Однако, компьютеры, сетевое оборудование и электрическое оборудование заказывалось из расчета, что у нас будет участников не меньше чем на WCG. Даже привезли серверный шкаф и сервер рэковый, однако мы его так и не задействовали, ввиду того, что тому было две причины: 1) нам он был не нужен; 2) мы, к нашему большому сожалению, не знали как эту дуру собрать. А раз оно нам не надо, а спец, который должен был его собрать не приехал - нами и было принято решение просто поставить шкафчик и закинуть в него свитч.
Помимо развлечений в виде сборки серверного шкафа, нам очень мешала выставка меда, поэтому пришлось начать монтаж со сцены. Притащили туда столы, поставили плазменные панели (8 штук, потому что еще две оказались настолько сложно демонтируемыми, что мы их решили не снимать). Пока шел монтаж сцены и задника, на который транслировалось живое видео с камеры, мы начали подключать питание и тащить сеть. Тут то и образовалась первая накладка - электрик, который должен был обеспечить нас электричеством - просто не пришел, а второй человек, который был в курсе, как и что в ДК подключается - был занят развешиванием растяжек (Серега, он вообще - чудо-человек, и швец, и жнец, и на дуде игрец). Пришлось подождать, пока он освободится и отвлечь его подключением питания.
Получив электропитание на сцене и в холле, Олег подключил сеть и настал мой выход - заливка заранее подготовленного образа на эти машинки. Кстати, если будет покупать и ставить себе свитчи Planet - учтите заранее их крайне интересную особенность: в отличии от всех остальных свитчей, в них, по умолчанию, на интерфейсе управления стоит IP 192.168.0.100. Как то непривычно, и, на мой взгляд, неприлично, чтоли ;-). У меня на этом IP стоит роутер, и как только воткнули свитч в сетку, в клубе Tarantul (который работал в ту ночь) отвалился доступ в Интернет. Я сперва грешил на то, что эта проблема из-за мультикаста Ghost'а, но потом выявил таки эту нехорошую (для меня) особенность свитча. Пока на машинки на сцене заливался образ, фойе освободилось и мы смогли приступить к расстановке столов.
В этот момент (было уже почти 12 часов ночи), мы очень порадовались малому количеству участников, так как вместо запланированных в фойе 40 компьютеров, нужно было установить всего 20. Расставили столы, Олег приступил к прокладке сети, Леха отправился подключать плазмы на сцене, а я, с командой верных мне друзей и, по совместительству, моих подчиненных, отправился таскать компьютеры, мониторы, и прокладывать сеть питания и перетаскивать тяжеленные дьюары с азотом.
Кстати, с этими самыми дьюрами тоже связана интересная история: когда их привезли, в четверг, 25 марта, один оказался без пробки и из него постоянно испарялся азот, в виде тумана. Я то знаю, что в хорошо проветриваемом помещении азот, в принципе, не опасен, но ни команде SnG/maxigame.by/, ни наша бухгалтерша, ни директор Сергей, как оказалось, такими знаниями не обладали. В итоге, мой телефон просто раскалился от звонков с вопросом: "А это не опасно? А мы не умрем? А мы не взорвемся?". Единственный человек, отнесшийся с юмором к этой ситуации, была мама Дениса (директора), которая сказала, что азот полезен для кожи лица и применяется в омолаживающих процедурах.
После завершения процедуры расстановки, потребность в грубой физической силе совершенно отпала, и часть команды отправилась домой - помыться, поспать и подготовиться к следующему дню. А мы остались настраивать компьютеры, доделывать сетку и проводить окончательное тестирование. Собственно говоря, на этом подготовка к турниру была завершена, и в 7 часов утра у нас выпал шанс немножечко отдохнуть - 2 часа здорового сна досталось ребятам, а мне досталось 2 часа полусна, так как я еще пытался следить за расставленным железом, чтобы ничего не украли. Как потом выяснилось, я не уследил и одну флешку, объемом 2 гигабайта, таки кто то увел.
В 9 утра, начали прибывать организаторы и спонсоры: NewsComputers выставили 2 стенда - ASUS и CoolerMaster, Velcom выставил свой стенд с активацией и бесплатными напитками и водой, ну и кто-то там еще что-то еще выставлял. Собственно говоря, тут я уже приступил к рулению клубом и подготовке к турниру в дисциплине Counter-Strike 1.6. На первый день у нас было запланировано две киберспортивные дисциплины: Counter-Strike 1.6 (в клубе Tarantul) и FIFA2010 (в фойе, в игровой зоне). Футболом управлял Tigerwin (наш постоянный судья в этой дисциплине), а Counter-Strike'ом - Flex.
Репортаж первого дня вы можете прочитать на портале Sport in the Game: Counter-Strike 1.6 (день первый), FIFA 2010.
За время этого турнира, я обнаружил, как бороться с ошибкой svc_bad на HLTV трансляции. Такая ошибка, иногда, возникает не только у тех, кто смотрит трансляцию, но и у тех кто играет, и объясняется она элементарно просто двумя одинаково вероятными причинами:
Первый день завершился довольно-таки рано - в 21 час мы уже разъехались домой, оставив в качестве охраны директора Сергея.
Утром, после того как к нам с Олей в гости приехали наши друзья (давно ожидаемые) и после перевода часов на час вперед, не выспавшись, мы прибыли работать во второй день.
Во второй день продолжались соревнования в дисциплинах Counter-Strike 1.6 (репортаж), скоростная сборка и оверклокинг, а также - состоялись соревнования в дисциплине WarCraft III TFT (отчет).
Так как стратегов-варкрафтеров было маловато, то уже во второй половине дня мы приступили к сборке игровой зоне внизу, и подготовке к уборке сцены.
А вот игры в дисциплине Counter-Strike 1.6 очень сильно затянулись - все упорно сражались, за возможность таки попастьна финал Techlabs Cup 2010, который состоится третьего апреля в ТЦ Столица. К тому времени, когда контристы таки выяснили четверку лучших команд - уже было 22 часа, внизу уже все было убрано на склад и, даже, частично отвезено на места постоянного хранения.
Вот так вот прошел первый тур Techlabs Cup 2010.
Финал во всех дисциплинах состоится третьего апреля, в городе Минске, в Торговом Центре "Столица" и пройдет в формате шоу. Вход - свободный, поэтому приходите посмотреть. Кроме всего прочего, я планирую показать там, на финале, первую работу нашей моддинг-студии "Фёст-Лайн" - довольно-таки интересный компьютер, выполненый по мотивам игры S.T.A.L.K.E.R. из старого советского осциллографа.
И напоследок, немного ссылок:
А еще, я хочу Вам рассказать о новом проекте Gamebox.ru, внедрение которого значительно снизит временные и трудовые затраты администраторов и участников при проведении турниров:
Система организации киберспортивных турниров Gamerbox – настоящий рай. Пользователь получает удобное, динамическое, эргономическое и продуманное решение для проведения лиг и турниров.
Игроки, которые участвуют в чемпионатах, которые запущенных на Gamerbox, получают множество удобных функций в одном месте – с помощью удобной панели они могут вносить результаты игр и отслеживать свои позиции в чемпионате, договориваться о тренировках и внетурнирных встречах, а так же меняться файлами и контактами.
Регистрация в системе и вступление в чемпионат занимает не более минуты.
Долгие годы администраторы киберспортивных лиг и турниров не могли стать счастливыми – не было удобной системы организации и проведения матчей.
Давайте посмотрим на типичного администратора турнира.
Обычно это человек, который:
При всем этом, он еще и бегает от игрока к игроку, дико устает и невероятно нервничает.
Администратор чемпионата в системе Gamerbox – абсолютно другой человек. Расслабившись, он просто наблюдает за прохождением чемпионата, [встревая] лишь в редких спорных ситуациях между командами или игроками.
Организовывая чемпионат на нашей системе вы бережете нервы, а так же экономите силы и время своей команды.
Если пользователь регистрировался ранее в чемпионатах, проводимых на системе Gamerbox, то он сможет присоединится к вашему чемпионату сделав несколько кликов. Вы получаете огромную аудиторию игроков, которым не нужно прилагать множество усилий для участия в ваших чемпионатах.
Весь процесс управления чемпионатом автоматизирован и продуман. Все заинтересованные посетители сайта получают удобный интерфейс управления и просмотра данных – для каждого игрока, команды, матча, таблицы, группы!
Я рад Вам, мои читатели, представить давно обещанную статью об установке MySQL на компьютер под управлением FreeBSD. Расскажу о том, с какими проблемами я столкнулся и какими способами я их решал.
В первую очередь, представлю подопытного:
FreeBSD some_name 7.2-RELEASE-p3 FreeBSD 7.2-RELEASE-p3 #0: Thu Sep 3 16:32:37 EEST 2009 root@some_name:/usr/obj/usr/src/sys/ROUTER i386. Он давно и успешно трудиться как роутер в одном из наших Интернет-клубов, и отлично справляется с возложенной на него задачей. А раз это ему под силу, то и небольшую базу данных, для управления клубом, он тоже вполне может потянуть, потому что доменный контроллер с сервером антивируса и сервером программы управления клубом уже не справлялся с возложенными на него задачами.
Когда то, давным-давно я уже пытался провернуть эту идею - установку MySQL на него, но что-то не заладилось (что именно, я не припомню, но, судя по всему, мне просто не хватило знаний и настойчивости) и я отложил эту идею.
Итак, у меня есть готовый файл my.cnf (настройки, рекомендуемые производителем программы управления клубом). Я его просто вставил в /etc и исправил пути.
Перед тем, как собственно устанавливать из портов MySQL - сперва нужно эти самые порты обновить:
portsnap fetch
Давненько я систему портов не обновлял, но этому есть одно простое и элегантное объяснение - несмотря на то, что обновление таким способом занимает весьма порядочно времени, оно экономит, в первую очередь, мой траффик, так как в Беларуси, к моему большому сожалению, нету возможности поставить в клуб нормальный, быстрый и достаточно недорогой анлим, чтобы поддерживать систему в адекватном состоянии посредством того же CVSUp.
Фетчим 10 382 новых порта - есть время покурить, поспать, поесть :-).
portsnap extract
portsnap fetch update
"Раз пошла такая пьянка, режь последний огурец" - проверим систему на наличие известных уязвимостей в установленных портах при помощи порта portaudit, командой portaudit -Fda. После проверки, уязвимостей обнаружено не было, что есть приятно.
Собственно, сам процесс установки MySQL сервера 5.0.90 из портов:
Рассказывать буду так, как делал сам.
cd /usr/ports (тут все порты находяться)
make search name=mysql | grep mysql-server: для того, чтобы отсортировать выдачу, с тем, чтобы не искать в огромном количестве
В итоге, нахожу подходящую версию - cd по пути, указанному в выдаче make search и make install.
Опять таки, есть некоторое время для того, чтобы покурить/поспать/перекусить, пока скачается, скомпилируется и установиться.
Собственно говоря, на этом установка завершена и можно поработать с самой базой...
mysqld_safe & запустит сервер mysql в фоновом режиме.
Тут я столкнулся с первой проблемой - сервер стартует и тут же отключает.
Проверив файл some_name.err, который mysql сервер создал, я обнаружил, что он не может прочитать файл /etc/my.cnf - неверно выставлены права на него (юзер mysql должен иметь возможность прочитать этот файл). Попутно проверил юзер mysql использовать папку, где должна храниться БД со всеми правами.
Итак, права выставлены верно - запускаем MySQL снова - mysqld_safe &.
Все запустилось и работает, файлы InnoDB создались, полет нормальный. Теперь, нужно создать пользователя, который сможет писать в БД с удаленного хоста:
mysql (консольный клиент MySQL) -u root (подключаюсь под пользователем root)
Если бы я все сделал правильно, то я бы смог зайти как пользователь root@localhost (изначально он без пароля) и задать ему пароль командой > update user set password=PASSWORD(”newrootpassword”) where user=’root’;, однако, в ходе предыдущих экспериментов, я что то напутал и мне сказали, что access denied
Для того, чтобы исправить эту досадную оплошность - останавливаю сервер MySQL (killall mysqld) и запускаю его командой mysqld_safe --skip-grant-tables &: эта команда позволяет пропустить загрузку таблиц, в которых указаны пароли.
mysql -u root - я подключился к серверу
> Flush priviliges; - эта команда загружает те самые таблицы, в которых указаны привилегии и пароли пользователей
Очень важно использовать mysql-клиент, который не разрывает соединения после выполнения команды, иначе опять окажемся в ситуации, когда у нас спрашивают пароль root, а мы его не знаем.
> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
> GRANT ALL PRIVILEGES ON *.* TO some_user@"some_host" IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
Проверил, SELECT * FROM user; что может user root и тот, которого я создал…
Все это делается для того, чтобы root'ом можно было зайти только с localhost, а второй пользователь мог бы зайти с удаленного хоста, расположенного в локальной сети.
Достаточный уровень безопасности, для сети такого уровня, обеспечит ipfw, запрещающий входящие соединения на порт, который слушает демон MySQL (3306) всем, кроме доверенного хоста: deny tcp from not хост_которому_можно_подключиться to me dst-port 3306
Итак, пользователи созданы, сервер вроде как стартует - осталось добавить строчку его запуска в /etc/rc.conf и перезапустить компьютер: mysql_enable=”YES” и reboot .
Машинка перезагрузилась, пинг и доступ в интернет появились, даже к MySQL я смог подключиться удаленно, а вот доступа по ssh нет - Putty любезно сообщил мне, что отклика от машины на порту нет, из чего я сделал вывод, что демон sshd не запустился, по каким то причинам. Подключаю монитор, и вижу строчку о том, что скрипт /usr/local/etc/rc.d/mysql-server отлично выполнился, но не передал управление дальше по команде и не ушел в фон, а остался висеть на foreground, не давая тем самым запуститься демону sshd. Скипаю скрипт (Ctrl+C), mysqld и доступ к MySQL сохраняется, sshd стартует - из чего делаю вывод, что нужно изменить сам скрипт mysql-server.
Редактирую, убираю строчку с параметрами запуска (нужные мне параметры описаны в /etc/my.cnf), а после строчки вызывающий mysqld_safe - добавляю амперсанд (&).
Вуаля, после перезагрузки все проходит штатно, MySQL стартует, уходит в фон и передает управления дальше - что и требовалось получить.
З.Ы. Я не претендую на то, что эта статья является единственно верным руководством для установки MySQL сервера в среде FreeBSD. Надеюсь, она поможет кому либо, кто столкнется с похожими проблема. В конце концов, она поможет мне в будущем, когда я опять столкнусь с чем-либо схожим. Однако, если у Вас есть советы - я буду рад получить их тут в комментариях. Спасибо большое...
И, напоследок, маленький анонс - обещаю в ближайшее время написать статью, о том, как бэкапить базы данных MySQL.
deny tcp from not хост_которому_можно_подключиться to me dst-port 3306
Вчера, по пути домой услышал по радио Unistar новость (!!!) о том, что в Германии впервые за 65 лет опубликована неанонимная книга о жертвах советских солдат (http://unistar.by/#read/news/14174.html?day=1&month=03&year=10).
Спросил у Гугла по этой строчке - всего нашлось 46 с чем-то тысяч страниц.
Знаете, что меня поразило? Какой-то нездоровый ажиотаж вокруг этой книги - как же так, во время войны, на территории государства, развязавшего эту войну, кто-то пострадал, кто-то умер, кого-то изнасиловали, еще что-то нелицеприятное случилось... И об этом говорят на территории страны, каждый четвертый гражданин которой был убит, а сколько пострадало от того же сексуального насилия (вероятно, многократного) - я не знаю, но уверен, что только на территории Беларуси таких жертв было значительно больше, чем во всей Германии.
Вот и получается, что если посмотреть на историю в этом преломлении, то уже Германия (агрессор) - бедная и пострадавшая страна, а советские солдаты, ворвавшиеся на территорию враждебного государства, которое в течении четырех лет разграбляло, терроризировала и подвергало насилию, в том числе и сексуальному, население СССР - прямо таки отродья зла.
Я ни в коем случае не хочу обелять и приукрашать советских солдат, совершавших те самые акты многократного сексуального насилия, о которых написаны в этой книге, но, на мой взгляд, при преподнесении таких новостей, стоит все-таки как-то противопоставлять им исторические примеры из нашей истории, и напоминать, что наша страна тоже пострадала во время Второй мировой войны, с той целью, чтобы память об ужасах той войны не угасала. Иначе, народ, потерявший память, потерявший свою историю - рискует нарваться на ее повторение.
Белорусская квалификация на крупный онлайн-турнир в дисциплине Couter-Strike 1.6. По очевидным причинам, турнир проводился в режиме онлайн и с клуба играла, пожалуй, единственная про-команда Беларуси, не у всех членов которой есть дома быстрое и стабильное подключение к Интернету, но, тем не менее, демонстрирующих неплохие результаты в турнирах в дисциплине Counter-Strike 1.6 (например, ASUS Winter 2010 CS Non-pro). С учетом того, что команда, игравшая из клуба, была одной - проблем со скоростью подключения и качеством связи, описанных мной в посте про предыдущий онлайн-турнир "Counter-Strike 1.6 - Онлайн-турнир", не наблюдалось.
Турнир оказался очень простым: всего 12 команд (репортаж можно прочитать тут - http://sng.by/articles/430.html), мы с Флексом сидели в клубе (лишь потому, что у нашего главного судьи, Паши Флекса, до сих пор нет дома мощного компа и доступа в Интернет), а Рико управлял серверами нашего партнера Maxigame.by из дома.
Начало турнира было запланировано на 13 часов, однако мы немного опоздали из-за того, что мне не хотелось свою любимую жену Оленьку оставлять одну дома на все выходные. Однако, задержка получилась небольшой, и в 13.15 мы начали наш турнир. Все прошло без особых происшествий и эксцессов, и, в итоге, мы выбрали команду, которая будет представлять Беларусь на турнире WES Masters Cup EU - vit-A-min.CosmosTV.
Если говорить в общем, то мне очень нравяться именно онлайн-турниры, хотя бы просто потому, что можно сидеть дома и спокойно, не напрягаясь, управлять всем процессом, находясь в приятной для себя обстановке. Однако, без LAN турниров, если мы хотим развивать киберспорт в общем, и эту дисциплину в частности - никак не обойтись хотя потому, что:
Этот турнир в дисциплине Counter-Strike:Source был на грани провала (19 февраля в пятницу, свое участие подтвердили лишь 5 команд), несмотря на всяческие заманухи в виде бэджей, наградных чеков, зоны для зрителей в баре Святогор и обещание нормальной фотогалерии - активность сурсеров, за исключением комментариев (2 мегабайта страничка турнира весит - http://sng.by/tours/73.html), была крайне низка. В итоге, к вечеру пятницы, Виктор 'Чака' Корнеев, при помощи уговоров и еще неизвестно чего, довел количество команд до 7, после чего обратился к команде SnG/maxigame.by/ с предложением поучаствовать в турнире, а потом, и ко мне - с идеей организовать команду администрации, для создания массовости, так сказать.
В итоге, турнир состоялся, в нем приняли участие 9 команд (хи-хи-хи, сказал Аццик) - репортаж о турнире опубликован тут: http://sng.by/articles/431.html. К сожалению, свои обещания, за исключением фотогалереи, мы сдержать не смогли. Единственное, что может нас извинить - то, что мы предполагали, что чемпионата не будет, а изготовление бэджей, наградных чеков, подготовка бара - это время (необходимо около 2х суток на все про все).
Технически, турнир прошел хорошо - сервера не лагали, SourceTV работал, и даже, в начале турнира, собирал около 60 зрителей. В отличии от CS 1.6, где зрители на HLTV подтягиваются ближе к финалу, на CS:S получилась диаметрально противоположная ситуация - пока играли групповую стадию - зрители были, а потом, в плей-офф, зрителей становилось все меньше и меньше.
Я тоже поиграл в эту игру, под ником "Добрая турель" - в Counter-Strike:Source все настолько яркое и подвижное, что заметить оппонента очень сложно, и я их просто не видел. Что привело к тому, что я просто был балластом. Финал этого турнира, как, впрочем и прошлого Source in the Game состоял из двух команд, пришедших из CS 1.6 (Lambordzhini, они же K29 (победители белорусских отборочных на ASUS Winter 2010 CS Masters) и SnG/maxigame/by/)просто для удовольствия.
Мои выводы из этого турнира: