За месяц Март, 2011

Репликация в MySQL

Некоторые неупорядоченные заметки-ссылки по репликации mysql-сервера.

http://onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html?page=3

Настройка репликации в MySQL очень подробно описана в мануале. Чтобы разобраться в репликации (возможно, не до мелочей), рекомендую просмотреть официальный мануал Mysql.

Краткая шпаргалка по репликации

http://www.opennet.ru/tips/info/1205.shtml
http://www.webnext.ru/blog/2007/08/21/replication-mysql-master-slave.html
http://debian.telenet.ru/adjustmentsoft/mysql_master_master_replication
http://informst.ucoz.ru/publ/subd/mysql/osnovy_replikacii_v_mysql/49-1-0-128
http://www.ossg.ru/wiki/Admin/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20Master-Master%20%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8%20%D0%B2%20MySQL
http://ru.ispdoc.com/index.php/%D0%A0%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_master-master_%D0%B2_MySQL

Репликация Master-Slave

Вариант репликации Master-Slave позволяет “добавить” к основному серверу MySQL запасной.. Все изменения, внесенные на Master-е, практически мгновенно (периодичность задается в настройках) синхронизируются со Slave-ом.

Для создания дампа с мастера можно использовать:

mysqldump –all-databases –master-data > all_databases.dump

****

Репликация Мастер-Мастер

Для репликации мастер-мастер (двусторонняя репликация) проводится настройка аналогичная “Master-Slave” с точностью до наоборот (основной Master настраивается как Slave, а второй (бывший Slave) - как Мастер). Если на втором мастере не будет производиться запись (”пассивный” мастер), то изменение Autoincrement-increment не потребуется.

При репликации двух активных master-master следует обратить внимание на Autoincrement. Действительно, если на двух серверах одновременно будет создана запись с одинаковым первичным ключом, то при попытке репликации получим ошибку Dublicate entry.

Проблема с auto_increment решается выставлением двух переменных
## в оба конфига добавляем двоечку -
--auto-increment-increment=2
## добавляем в Server-1 ; на первом - нечетные
--auto-increment-offset = 1
## добавляем в Server-2 ; на втором - четные
--auto-increment-offset = 2

Однако, при этом следует иметь ввиду, что на первом сервере ВСЕ автоинкрементные поля будут нечетными, а на втором - все будут четными.

Подборка ссылок по уникальным ключам (в PostgreSQL)
http://www.sql.ru/forum/actualthread.aspx?tid=422194

Подборка ссылок по Master-Slave репликации
http://habrahabr.ru/blogs/mysql/56702/ - подробно, с описанием “рокировки”;

Подборка ссылок по двусторонней репликации в MySQL
http://www.howtoforge.com/mysql_master_master_replication
http://www.itnotes.org.ua/administration/mysql/master_master_replication_db.html
http://www.initialize.ru/mysql-master-master-replikaciya
http://www.gra2.com/article.php/setting-up-database-replication-on-mysql

MySQL Multi Master Manager
http://mysql-mmm.org/
http://onlamp.com/onlamp/2006/04/20/advanced-mysql-replication.html

MySQL Load Balanced Cluster
http://www.howtoforge.com/loadbalanced_mysql_cluster_debian
http://www.dancryer.com/2010/01/mysql-circular-replication

Синхронизация сайтов:

http://habrahabr.ru/blogs/ubuntu/104342/
http://habrahabr.ru/blogs/sysadm/86496/
http://en.wikipedia.org/wiki/High-availability_cluster
http://habrahabr.ru/blogs/studiobusiness/90349/
http://kuroikaze85.wordpress.com/2009/11/24/%d1%81%d0%b8%d0%bd%d1%85%d1%80%d0%be%d0%bd%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-drupal-%d1%81%d0%b0%d0%b9%d1%82%d0%be%d0%b2-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-migraine/
http://barkingiguana.com/2008/07/20/load-balanced-highly-available-mysql-on-ubuntu-804/

Основы масштабирования + ссылки
http://habrahabr.ru/blogs/webdev/15362/

Опубликовано Март 27, 2011 | автор: levik  |  Нет комментариев »

VPN сервер за маршрутизатором Dlink DI-524

VPN-сервер в локальной (*домашней) сети  работает (Клиент VPN успешно подключается с соседней машины). Вся сеть смотрит в интернет через Router Dlink DI-524 с внешним IP-адресом. На маршрутизаторе настроен проброс 1723 порта к VPN-машине.

При попытке подключения к VPN-серверу извне проверка имени и пароля проходит успешно. Однако дальше - ничего. Не проходит ни пинг по PPP-сети, ни маршрут до внутренних компьютеров сети.. А также “пропадает интернет” (что вполне логично - весь трафик направляется в VPN сеть, которая “молчит”)

Следует открыть также 500 порт  IPSec  UDP 500 / 500

В настройках роутера включены PPTP Pass Through или VPN Pass Through (* есть мнение, что автоматически включается при активации 1723 порта).

В логах pptpd сервера:
CTRL: Starting call (launching pppd, opening GRE)
GRE: Bad checksum from pppd
CTRL: Ignored a SET LINK INFO packet with real ACCMs!

http://www.pcreview.co.uk/forums/vpn-pass-through-not-working-d-link-di-524-a-t1947748.html
http://www.broadbandreports.com/forum/r19116529-VPN-questions

про GRE протокол (47 протокол)
http://support.microsoft.com/kb/241251

про VPN туннели
http://support.microsoft.com/kb/241252

Опубликовано Март 25, 2011 | автор: levik  |  Нет комментариев »

Windows XP не видит DNS VPN Windows 2003

Не работает DNS в VPN сети. VPN-сервер - Windows 2003 Server. Клиент - Windows XP. Соединение проходит успешно, ping по IP, соединение по IP к внешним серверам проходит. А при попытке обращения по DNS - ошибка разрешения DNS-имени. При подключении с клиентской машины под Windows 7 - “удаленный” DNS работает. Предложенное решение можно посмотреть чуть ниже

Всё дело в том, что при VPN-подключении, (начиная с Windows Vista) приоритетным DNS-сервером считается удаленный DNS-сервер. В Windows XP, несмотря на галочку (использовать удаленный шлюз) и жестко прописанные DNS-серверы, приоритетным считается текущий (локальный DNS-сервер). Проверить это, можно выполнив команду nslookup (она выведет что-то вроде Default Server: YourLocalServer). И если DNS-сервер локальной сети не “форвардит” запросы к внешним серверам, то DNS разрешаться не будут.

Надо внести правку в реестре, в ветке[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage]в параметре Bind переместите в начало строку \Device\NdisWanIp отностительно других строк.Удаленный DNS сервер (в сети VPN) начнет отвечать.

При этом, nslookup google.com RemoteDnsServer работает. Остается только “заставить” компьютер обращаться к DNS-серверу в VPN-сети. Однако, ни манипуляции с реестром, ни изменение порядка подключений в сетевых подключениях-дополнительно не привели к желаемому результату :(

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Linkage\Bind

Параметр реестра Bind является многостроковым параметром, содержащим список сетевых адаптеров в порядке привязки. Первый по списку сетевой адаптер привязан первым, второй по списку является вторым в порядке привязки, и т.д.

Корпорация Майкрософт подтвердила, что это является проблемой в продуктах корпорации Майкрософт, перечисленных в начале этой статьи.

http://support.microsoft.com/kb/311218/ru

Note This symptom may also occur with Virtual Private Networking (VPN) connections. A client computer may not use the DNS server from a VPN connection if the default gateway is set to the remote connection.

http://www.computing.net/answers/networking/vpn-dns-issue/31161.html

http://support.microsoft.com/kb/315236/en-us
http://support.microsoft.com/kb/894564/en-us

ps. ХЗ.. но мне не помогло :) Если у кого имеется работающий вариант решения проблемы с DNS-сервером в VPN сети на клиенте Windows XP - сообщите, пожалуйста, в комментарии.

upd: Принудительно задать DNS-сервер по умолчанию (в nslookup отображается как Default Server ) можно, изменив параметр “NameServer” в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient\NameServer  (не забываем сделать резервную копию…

Одним из вариантов решения проблемы VPN-DNS в Windows XP - установить локальный DNS-сервер (BIND для Windows, например) и прописать 2 forvard-сервера - локальный и интернет.

UPD2 Нашел-таки как заставить Windows XP обращаться к DNS-серверу в VPN-сети. В свойствах подключения по сети (локальное, простое, не VPN) - протокол интернета TCP/IP - Свойства - Дополнительно - Вкладка DNS, в окошке “Адреса DNS-серверов в порядке использования” прописываем DNS сервер из VPN сети

Windows XP remote VPN DNS server

Опубликовано Март 19, 2011 | автор: levik  |  Комментарии (3) »

Livestreet - неПутевые заметки

Создание плагина в Livestreet

http://livestreet.ru/tag/livestreet/ - куча информации на сайте Livestreet по одноименному тэгу

Руководство по созданию плагина:
http://burnovoding.mobi/blog/dev_documentation/3710.html?imz_ed=livestreet.ru&imz_s=c59a1e1540c85ec5a6170170ca94d53e

Создание модуля в LiveStreet
http://livestreet.ru/blog/dev_documentation/254.html

Ajax в плагине LiveStreet - PluginPeople EventAjaxDelete

Проектирование сайта
http://habrahabr.ru/blogs/studiobusiness/115738/

Видение сайта
http://habrahabr.ru/blogs/studiobusiness/115224/

Опубликовано Март 14, 2011 | автор: levik  |  Нет комментариев »

Поиск одинаковых файлов на компьютере. Поиск похожих файлов

Довольно часто на одном компьютере.. даже на одном диске.. возможно, даже в одной папке лежат одинаковые файлы.. У них может быть разное название.. разная дата изменения.. Часто бывает так, что даже размер разный.. а содержимое одинаковое.. ну или очень похожее - особенно последнее касается изображений и текстовых документов.
Итак, как же можно обнаружить одинаковые файлы? Читать целиком »

Опубликовано Март 11, 2011 | автор: levik  |  Комментарий (1) »

Запуск приложений в Windows 7 с правами администратора (UAC включен)

Все-таки, разработчики Windows решили усилить контроль за системными файлами. Даже если пользователь вошёл в систему “под администратором” При попытке изменить системные файлы, система выдает окошко Контроль учетных записей пользователей (UAC - User Access Control). Для выполнения некоторых действий требуются права администратора.

Лично я не рекомендую отключать UAC, хотя первое время может показаться слишком назойливым постоянный ввод пароля администратора. Особенно, при активной установке приложений :) читать дальше про запуск с правами администратора в Windows 7

Опубликовано Март 10, 2011 | автор: levik  |  Нет комментариев »

Инструменты для коллективной разработки в IT-компании

Любая коллективная разработка программного обеспечения сталкивается с одними и теми же проблемами:

  • групповая работа над кодом, документами;
  • учет проблем, ошибок, требований;
  • документирование, накопление и циркуляция (поиск, трансляция, агрегация) знаний компании;
  • организация правильного тестирования.

Какие варианты решения этих проблем существуют в принципе? Что лучше выбрать?
Читать целиком »

Опубликовано Март 6, 2011 | автор: levik  |  Нет комментариев »

Шаблон админки - готовые шаблоны для админ-панели

При разработке практически любой CMS или некоторых модулей нередко встаёт вопрос - как организовать административный раздел. Какой дизайн? Какие элементы управления?

Естественно, создать что-то собственное - вариант заманчивый. Однако, в этом случае шанс что-нибудь не предусмотреть довольно велик. Поэтому, имеет смысл (на мой взгляд) как минимум ознакомиться с уже имеющимися шаблонами админки. Вы можете взять один из приглянувшихся шаблонов админ-панели, и доработать его под свои нужды и по собственному усмотрению. Естественно, минимальные знания HTML + CSS не помешают ;)

http://habrahabr.ru/qa/4875/ - поиск админки на хабре.
http://mathew-davies.co.uk/2010/03/13/free-admin-template.html - Free admin template based on 960gs css framework

Удачного администрирования! )

Опубликовано Март 3, 2011 | автор: levik  |  Нет комментариев »

PHP Zend Optimizer - как раскодировать файлы

PHP файл, закодированный с использованием Zend Optimizer (если быть точным, используется Zend Encoder) содержит частично скомпилированный (оптимизированный) код. Платный Zend encoder кодирует, а бесплатный zend optimizer (установленный на хостинге) - раскодирует обратно. Теоретически, выполнение заранее скомпилированного кода должно ускорять работу скрипта PHP. В случае с Zend Optimizer, однако, вопрос конфиденциальности скриптов, пожалуй, приоритетнее производительности. Однако, в любом случае, если потребуется внести исправления в закодированный файл, возникнут сложности..

дезендер есть… спроси у nulled.ws - у них вроде был…

How Does it Work?

The Zend Encoder compiles and converts plain-text PHP scripts into a platform-independent binary format known as a ‘Zend Intermediate Code’ file. These encoded binary files are the ones that are distributed instead of the human-readable PHP files. The performance of the encoded PHP application is completely unaffected!

The Zend Optimizer, a free download, is the run-time environment that enables end-users to transparently execute these files as if they were regular PHP scripts. The Zend Optimizer not only provides an additional level of increased security against reverse engineering, it also improves performance speed.

http://www.zend.com/store/products/optimizer-faq.php
http://www.zend.com/store/products/zend-encoder.php

PHP Dezend можно найти в упоминаниях. Некоторые предлагают его приобрести…

http://creotiv.in.ua/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/dezend-php-decompiler/

http://www.qinvent.com/cyrj/dezender/index-en.php

Однако, рекомендую не терять “оригинальные” незашифрованные ЗЕНДом версии файлов.

Опубликовано Март 1, 2011 | автор: levik  |  Нет комментариев »