Июл
07
2010
Недавно пришлось решать задачу, когда внутри запароленого виртуального хоста, нужно было отдавать содержимое без авторизации. Решение достаточно простое, тем не менее навскидку не заработало, пришлось потратить чуть-чуть времени на поиск решения. Наверное дело во всевозрастающей популярности Nginx, Apache строить приходится все реже. А настройка виртуального хоста получилась такая:
<VirtualHost *:80>
DocumentRoot /usr/local/www/system
ServerName secure.hilik.kiev.ua
<Directory /usr/local/www/system>
AllowOverride all
</Directory>
<Directory /usr/local/www/system/share/>
Satisfy Any
AllowOverride none
Allow from all
Options +Indexes
</Directory>
</VirtualHost>
Получается так, что http://secure.hilik.kiev.ua/ без авторизации описанной в .htaccess не пускает, а http://secure.hilik.kiev.ua/share – свободен для чтения всем.
Июл
04
2010
Панель управления SysCp обладает достаточным функционалом для управления вебхостинг сервером. В принципе из недостатков, для себя, я отметил отсутствие внятного управления DNS, а так все нормально и даже вполне удобно.
Важным является так же то, что SysCp присутствует в портах FreeBSD. Из них и будем устанавливать. Я описываю установку на голую FreeBSD, после установки, пересборки и обновления портов.
cd /usr/ports/sysutils/syscp/
make install clean
Прелесть установки заключается в том, что будет полностью установлены все приложения необходимые для работы вебсервера, включая побочный софт, такой как FTP и почтовый сервер.
Читать далее »
Июн
27
2010
Smokeping – утилита мониторинга состояния каналов. Удобна она тем, что отображает все состояния в виде графиков. А графики – это как все отлично понимают, самая наглядная вещь.
Помимо мониторинга задержек, с помощью Smokeping можно контролировать скорость реакции сервисов на запросы. Это тоже довольно интересная тема. По возрастанию времени ответа, допустим, вебсервера, можно судить о скорости генерации страниц и о том, насколько он эффективно работает и коственным путем отмечать повышение нагрузки на него. То же самое можно делать и с почтовым сервером и с ДНС, в общем практически с любым сервисом.
Читать далее »
Июн
14
2010
По работе с Linux приходится сталкиваться редко. В основном это если, кто то из клиентов приносит сервер на колокейшен и приходится заглядывать внутрь их, если что то ломается.
И когда заглядываешь, почему то часто обнаруживается, что, казалось бы сервер, в стойке, без признаков постоянно подключенного монитора, а стоят X-сы и, что пародаксально иногда стоит автологин. По факту получается, что часть полезных ресурсов расходуется на никому не нужную графическую оболочку. Чаще всего такая картина наблюдается с установленым Ubuntu Desctopом на сервере.
Читать далее »
Июн
10
2010
До появления протокола OSPF, повсеместно использовался протокол RIP. RIP и OSPF используются для динамической маршрутизации внутри локальной сети . Позже, по мере роста размеров сетей, протокол RIP оказался несостоятелен, поскольку во первых он ограничен 15 хопами, во вторых время перестройки маршрутов по протоколу RIP через-чур велико для нормальной работы, ну а в третьих RIP ретранслирует всю таблицу маршрутизации раз 30 секунд(это по умолчанию), тем самым генерируя довольно ощутимые объемы трафика.
Читать далее »
Filed in Net | hilik | Комментарии отключены
Июн
07
2010
Не так давно я написал скрипт бекапа конфигурации свитчей Edge-Core. Я его приводил в статье Скрипт бекапа свитчей EdgeCore. В этом скрипте есть один недостаток, в случае недоступности одного из свитчей, на работе с ним скрипт вылетит. И все остальные свитчи не будут забекаплены. Но поскольку я писал скрипт на Ruby, воспользуемся его средствами для обработки этой ситуации. Перехватим ошибку.
Доработанный скрипт выглядит так:
#!/usr/local/bin/ruby
require '/root/bin/telnet'
require 'date'
today=Date.today.to_s
file = File.new("/root/bin/switches.txt", "r")
while (line = file.gets)
(name, ip, tftp, logins, pass)=line.split
name="#{name}-#{today}.txt"
begin
tn = Net::Telnet::new("Host"=>ip, "Timeout"=>80, "Prompt"=> /Vty/ )
rescue Exception => e
puts "Switch #{name} unreach"
next
end
tn.login(logins, pass) {|c| print c }
tn.cmd("copy running-config tftp\n#{tftp}\n#{name}\n") { |c| print c }
end
file.close
Этот скрипт забекапит все свитчи, и не вылетит в случае недоступности одного из них.
Июн
03
2010
Для удаления вланов используется команда
v380 – это имя влана.
Но, при удалении влана есть один нюанс. Если влан используется и в нем есть маки и трафик, то свитч может перегрузиться. Поэтому, перед уделением влана из него нужно удалить порты.
configure vlan v380 delete ports 1,3
А потом уже можно удалять влан.
Май
31
2010
Применяя на некоторых своих серверах в USB Flash диски я столкнулся с проблемой бекапа. Первое решение – это применение rsync. Он минимален по используемым ресурсам и не требует много пространства. В принципе этого достаточно для бекапа серверов. Но хочется иметь готовый образ диска, который можно будет в любой момент влить на флешку и в случае выхода из строя обоих флеш дисков(они у меня собраны в RAID1 с помощью gmirror) быстро поменять диски или в случае аварии связанной с физическим разрушением сервера быстро установить flash диски в резервный сервер и с минимумом правок запустить маршрутизатор в работу.
Читать далее »