В bacula 5.2 добавили метод сжатия LZO, скорость бэкапа с одного из серверов возросла с 50 Мбит/с до 320 Мбит/с. Просто прекрасно 🙂
Рубрика: Разное
Все прочее, что не попадает в тематическое
redmine и плагин redmine_gitosis
Обновил недавно redmine с 1.3 до 1.4.4, что поломало загрузку ключей в плагин с ошибкой
NameError (uninitialized constant GitosisPublicKeysController::ARCondition):
Выяснилось, что из redmine убрали нужную библиотечку, чтобы ее вернуть, достаточно положить файлик ar_condition.rb в redmine/lib. Взять файлик можно, например, отсюда.
Старый знакомый
Отловил сегодня баг, который меня беспокоил, наверное, 2 или больше года назад.
Предыстория такова: один из пользователей постоянно говорил, что его учетка блокируется ни с того, ни с сего. Причин тогда выяснить так и не удалось, списали все на вирусы, поставили ему политику блокировки достаточно лояльную к такому поведению и он успокоился. Я про эту проблему тоже подзабыл.
Недавно у некоторых пользователей на Windows 7 начали проявляться странные симптомы на компьютерах, не получалось входить на сетевые шары, не подключались сетевые диски и тому подобное. Как выяснилось, шары и диски были подключены через DFS. После нескольких попыток разобраться с DFS, починить DNS и прочее, выяснилось, что виновато RAS-подключение, через которое пользователю выдается интернет. Стоит его отключить, как все магическим образом начинает работать. После этого поиск ошибки стал делом техники, выяснилось, что при подключении к впн, Windows пытается пользоваться именно этой парой логин-пароль для авторизации (не знаю зачем это было добавлено). Отключается элементарно в файле, который отвечает за подключение, нужно заменить 1 в параметре UseRasCredentials на 0. Файл находится либо в профиле пользователя в каталоге %AppData%\Microsoft\Network\Connections\Pbk, либо в каталоге %ProgramData%\Microsoft\Network\Connections\Pbk
После этого мне в голову закрались смутные подозрения и я попробовал вернуть политику блокировки в первоначальное состояние. При подключенном RAS-соединении попытка зайти на DFS шару тут же вызвала блокировку учетной записи. Вот он, старый знакомый.
Убираем /index.php в nginx
У меня есть сайтик, где главная страничка статическая, а весь динамический контент генерируется через index.php, на нем потребовалось, чтобы не дублировались страницы /index.php, /index.html и /. Вот как это сделать в nginx
location ~ ^/index.(html|php)$ { if ($request_uri ~ ^/index.(html|php)) { rewrite ^.*$ / permanent; } }
Теперь запросы на /index.html и /index.php будут давать 301 редирект на корень сайта, а сам сайт целиком будет работать как и прежде.
Squid и куча адресов
Некоторое время назад потребовалось поднять прокси на нескольких адресах, для этого я использовал программу proxy из комплекта 3proxy:
proxy -iIP -eIP -l/dev/null -d -p3128
Увы, когда адресов становится чуть больше чем несколько, это начинает утомлять своей избыточностью и кучей процессов. Поэтому было решено заменить кучу этих proxy на старый добрый squid. Ставится он из репозитория дистрибутива без всяких заморочек, поэтому опишу только конфигурацию.
acl all src all http_access allow all http_port 3128 access_log none cache_store_log none maximum_object_size 0 KB minimum_object_size 0 KB no_cache deny all cache_dir null /tmp forwarded_for off
Отключаем какой-либо контроль за входящими соединениями (их я фильтрую в iptables/ipset), логи, кеширование. Затем добавляем контроль заголовков:
# Header control header_access Allow allow all header_access Authorization allow all header_access Cache-Control allow all header_access Content-Encoding allow all header_access Content-Length allow all header_access Content-Type allow all header_access Date allow all header_access Expires allow all header_access Host allow all header_access If-Modified-Since allow all header_access Last-Modified allow all header_access Location allow all header_access Pragma allow all header_access Accept allow all header_access Accept-Encoding allow all header_access Accept-Language allow all header_access Accept-Charset allow all header_access Content-Language allow all header_access Mime-Version allow all header_access Cookie allow all header_access Set_Cookie allow all header_access Retry-After allow all header_access Title allow all header_access Connection allow all header_access Proxy-Connection allow all header_access Proxy-Authorization allow all header_access Proxy-Authenticate allow all header_access WWW-Authenticate allow all header_access User-Agent allow all header_access All deny all
Теперь ничего кроме заголовков, у которых указано allow за прокси не уйдет. X-Forwarded-For тоже отключен. Далее добавляем «магию» для IP-адресов:
acl ip1 myip 10.0.0.1 tcp_outgoing_address 10.0.0.1 ip1 acl ip2 myip 10.0.0.2 tcp_outgoing_address 10.0.0.2 ip2 acl ip3 myip 10.0.0.3 tcp_outgoing_address 10.0.0.3 ip3
Все, теперь все запросы, пришедшие на какой-то адрес, прокси будет отправлять с этого же адреса, что и требовалось.
HW RAID в Debian
Обнаружил полезный для владельцев железных рейд-контроллеров репозиторий Debian/Ubuntu, который так и называется HWraid.
Подключается оч. просто, например, для Squeeze нужно добавить в /etc/apt/sources.list:
deb http://hwraid.le-vert.net/debian squeeze main
Ключ для подписи, увы, авторы не прилагают, т.ч. просто используем -y —force-yes при установке пакета.
query string и rewrite в nginx
На одном из сайтов потребовалось сделать 301 редирект всех URL на индекс, я прописал в конфиг вот такую конструкцию:
if ( !-e $request_filename ) { rewrite ^.*$ / permanent; }
Увы, URL, к которым добавлялись какие-то параметры типа http://example.com/url1?test=1 редиректились не совсем правильно: http://example.com/?test=1. Оказалось, чтобы этого избежать, подправить нужно совсем чуть-чуть:
if ( !-e $request_filename ) { rewrite ^.*$ /? permanent; }
И все, редирект теперь срабатывает на http://example.com/
Sony Ericsson j108i (cedar) как модем
Смотрю, ищут подобный вопрос достаточно активно. На самом деле, проблем с этим никаких. Вот что надо сделать.
- Подключаем телефон к компьютеру. (Для пользователей Windows 7 есть инструкция)
- Запускаем PC Companion, выбираем приложение «Подключение к интернету»
- Жмем в нем кнопку «Подключить» и через несколько секунд связь будет установлена
Установка redmine на Debian Squeeze
Попросили сделать хост с редмайном для нескольких проектов, ставлю на Debian 6. В репах squeeze редмайн какой-то совсем старый, аж версии 1.0.1, а в бекпортах 1.1.2, хочется же последний, поэтому ставить буду из testing (или можно из unstable).
В файле /etc/apt/sources.list добавить строчку для testing:
deb http://ftp.us.debian.org/debian/ testing main contrib non-free
Сделать привязку к squeeze в /etc/apt/preferences или preferences.d, например, так
Package: * Pin: release n=squeeze Pin-Priority: 700 Package: * Pin: release n=wheezy Pin-Priority: -1
Далее установить редмайн командами
apt-get update
apt-get install mysql-server
apt-get install -t wheezy redmine redmine-mysql
Обновить придется половину системы, так что это будет уже не squeeze в чистом виде, но уж если хочется…
Теперь надо выдать через веб только что установленную систему. Есть множество способов это сделать, я использую apache+mod_fcgid
apt-get install apache2 libapache2-mod-fcgid libfcgi-ruby1.8
Создаем сайт для редмайна в /etc/apache2/sites-available/redmine с таким содержимым
SocketPath "/var/run/redmine/sockets/default" <VirtualHost *:80> ServerName redmine.example.com DefaultInitEnv RAILS_RELATIVE_URL_ROOT "" DefaultInitEnv X_DEBIAN_SITEID "default" Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/ DocumentRoot /usr/share/redmine/public <Directory "/usr/share/redmine/public"> Options +FollowSymLinks +ExecCGI Order allow,deny Allow from all RewriteEngine On RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_FILENAME} dispatch.fcgi$ RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] </Directory> </VirtualHost>
Включаем сайт
a2ensite redmine
и рерайты
a2enmod rewrite
правим права на некоторые каталоги
chown -R www-data /var/run/redmine
перезапустим апач
service apache2 restart
и можно заходить на свежеустановленный редмайн как admin / admin. Не забудьте поставить скин BaseCamp.
debian squeeze 6.0.3 openvz template
Странно, что в сети нет явных ссылок на шаблон Debian Squeeze для OpenVZ с нормально обновленными пакетами. Решил выложить у себя, мало ли кому пригодятся.