За месяц Октябрь, 2008

Эта копия windows не прошла проверку подлинности.

Как убрать сообщение “Эта копия windows не прошла проверку подлинности.“?

windows XP

1. Запускаем редактор реестра (Пуск - Выполнить - regedit - Enter)
2. Находим раздел реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon
3. Удаляем весь раздел WgaLogon (сомневающиеся могут предварительно сделать экспорт этого раздела)
4. Перегружаемся

После перезагрузки сообщение о проверке подлинности не появляется.

ps. http://support.microsoft.com/kb/892130 - все же, наверное, стОит ознакомиться - возможно, используемое программное обеспечение подлинное, однако требуется обновить ключ..
pps. Последствия не проверял, однако, скорее всего, ничего страшного не случится

upd для windows 7 убрать сообщение о проверки подлинности:
решение на форуме Хакера (http://forum.xakep.ru/m_931661/mpage_2/tm.htm)
программка RemoveWAT21 (http://turbobit.net/ux7z3b9jm54b.html)

Спасибо Стасу

Опубликовано Октябрь 28, 2008 | автор: levik  |  Комментарии (40) »

cacti для vps/vds или мониторим виртуальную память и диск

Cacti очень удобен для мониторинга системных ресурсов - изменения в работе сервера в буквальном смысле выделяются на графиках (резкие всплески и падения). И не станет неожиданностью очередное переполнение логами (что очень актуально для vds-vps) Читать целиком »

Опубликовано Октябрь 23, 2008 | автор: levik  |  Комментарии (2) »

Cacti и snmp или мониторим сеть

Про установку и настройку Cacti

Кроме мониторинга локальных характеристик сервера, на котором он и установлен, cacti позволяет отслеживать параметры других серверов и сетевых устройств, поддерживающих протокол snmp. Довольно удобно в одном месте иметь всю информацию о работе системы вцелом и каждой из частей, вместо того, чтобы перескакивать по разным серверам.

Итак, настраиваем Cacti для сбора данных по сети

Установка службы SNMP (snmp-агент) на наблюдаемый компьютер (проверяем, установлен ли:)
rpm -q net-snmp
и, если необходимо - ставим
yum install net-snmp

файл конфигурации искать где-то тут:/etc/snmpd.conf, /etc/snmp/snmpd.conf, /usr/local/etc/snmpd/snmpd.conf

! следует обратить внимание, что SNMP предоставляет довольно обширную информацию о системе. При недостаточном внимании к безопасности, эта информация может быть получена злоумышленником и использована “против вас” :)

Неплохая статья о конфигурации SNMP и Nagios
http://www.samag.ru/cgi-bin/go.pl?q=articles;n=11.2004;a=01

Можно воспользоваться утилитой создания файлов конфигурации:
snmpconf -g

или взять за основу готовый файл (изменить белиберду на другую не менее белибердовую - что-то вроде пароля, а адрес - на допустимый для запроса):
sysservices = 79
rocommunity IndhiNue45 localhost
rwcommunity tuI937NB92 localhost

После настройки snmpd.conf запускаем
service snmpd start
И, если все в порядке (проверим командой snmpwalk -c community_name -v 1 localhost), добавляем "автозагрузку"
chkconfig --level 3 smnpd on

пока так

Мониторим сетевые интерфейсы с помощью Cacti

Graph-management  - Add (в правом верхнем углу.. с непривычки можно не найти

Статья дополняется…

настраиваем SNMP в  (Linux/Unix):
Переходим в /etc/snmp/ и правим  snmp.conf до такого: (старый можно сохранить - мало ли)
http://www.opennet.ru/openforum/vsluhforumID1/84222.html
syslocation Test.
syscontact INF <mail@test.ru>
#      sec.name   source          community (password)
com2sec Mybox     localhost          public
com2sec cacti     <ip адрес>     public
com2sec Outside   default            public
#      group.name sec.model  sec.name
group   RWGroup    v2c       Mybox
group   ROGroup    v1        cacti
group   ROGroup    v2c       cacti
group   Others     v2c       Outside
view all     included  .1        80
view system  included  system    fe
#              context sec.model sec.level prefix  read    write  notif
access  ROGroup   ""      any    noauth    exact   all     none   none
access  RWGroup   ""      v2c    noauth    exact   all     all    all
access  Others    ""      v2c    noauth    exact   system  none   all

Опубликовано Октябрь 17, 2008 | автор: levik  |  Нет комментариев »

Virtuemart напильником

Волей судьбы пришлось бороться с Virtuemart’ом. Сразу хочу отметить, что бОльшая часть файлов находится в каталоге administrator/components/com_virtuemart/.

1. меню из каталога товаров стандартное (mod_virtuemart) слишком сильно грузит магазин. Альтернативный вариант решения - меню “ручками”. Т.е. делаем меню, пунктами которого становятся ссылки на категории нашего магазина. Читать целиком »

Опубликовано Октябрь 13, 2008 | автор: levik  |  Комментарий (1) »

Установка Cacti на Linux (Unix)

Cacti  (Кактус)  - cacti.net - официальный сайт.

Cacti предоставляет удобный интерфейс для отслеживания изменений параметров сервера. Вообще-то, можно настроить на отображение чего угодно (вплоть до прогноза погоды, курса доллара), но обычно мониторят что-то вроде загрузки процессора, оперативную память,  отслеживают свободное место на диске, количество запущенных процессов, время отклика, трафик… В общем, есть, чего мониторить.

Установка Cacti на Linux сервер

В сети куча инструкций-мануалов (помимо официального) по установке-настройки Cacti

http://system-administrators.info/?p=2619
http://hostinfo.ru/articles/773
http://noty.net/tech/cacti (статья та же, зато ресурс “под рукой”)
http://www.lissyara.su/articles/freebsd/programms/cacti/
http://forum.lissyara.su/viewtopic.php?f=3&t=11256&start=75#p102179
http://belgorod.lug.ru/wiki/index.php/Cacti_-_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0

Отмечу лишь некоторые моменты при установке Cacti, которые могут оказаться полезным мне (и не только).

Не забываем отключить SafeMode
(и до кучи не забываем перезапустить service httpd restart)

Часть проблем можно снять, если запускать poller с правами Root-а. Тут уж хозяин-барин.
Не забываем дать права на файл конфигурации db.php

При запуске poll.php ошибка нет файла/директории
sh: /php: No such file or directory
sh: /rrdtool: No such file or directory

при указании cron не забываем путь к php-интерпретатору - вместо
*/5 * * * * cactiuser php /usr/share/cacti/poller.php > /dev/null 2>&1
пишем что-то вроде
*/5 * * * * cactiuser /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
И не забываем пустую строчку в конце файла crontab

cacti не рисует графики

Если Cacti не рисует графики даже для Localhost.. да и вообще, если с ним чего не ладится - первым делом смотрим в логи Apache (могут быть тут: /etc/httpd/logs/error_log или тут : /var/log/httpd/error_log - чтоб наверняка - посмотреть в httpd.conf)

sh: /rrdtool: No such file or directory
следует настроить путь к rrdtool - в web-интерфейсе вкладка “console”, в меню - Configuration - Settings- нижняя вкладка paths - отсутствующие файлы выделяются красным

Cacti - settings - general исправляем версию RRDtool (1.2.x, по умолчанию 1.0.x). Если реальная версия выше, то есть шанс, что работать будет (проверялось для версии 1.3 работало)

ERROR: opening ‘/var/www/html/cacti/rra/yourfile: No such file or directory
sh: line 14: /var/www/html/cacti/log/rrd.log: Permission denied -

Cacti отображает пустые графики

Похоже, проблема в “исходных” данных для cacti (а точнее для RRD) - если скрипт ничего не нашел, то cacti ничего и не покажет. Будем разбираться, почему “нет данных”

Если в логах (или при запуске вручную  “#/usr/bin/php /usr/share/cacti/poller.php” (лучше от cactiuser)
su cactiuser
/usr/bin/php /usr/share/cacti/poller.php
появляется сообщение про 300 секунд - значит или не запускается cron или… не пишет данные скрипт. Кстати, на момент отладки можно убрать из cron-а “> /dev/null 2>&1″ и добавить чуть выше MAILTO=my@email-addres.tld

POLLER: Poller[0] WARNING: Cron is out of sync with the Poller Interval!  The Poller Interval is ‘300′ seconds, with a maximum of a ‘300′ second Cron, but 637 seconds have passed since the last poll!

Если удалось добиться отображения графиков для Localhost - полдела сделано. :)
Осталось ещё полтора!

Опубликовано Октябрь 9, 2008 | автор: levik  |  Комментарий (1) »

Как изменить разрешение экрана (Win32 API)

В свое время вставала задача программно изменить разрешение экрана монитора в windows.

Для изменения разрешения экрана есть специальная функция WIN32 API с именем ChangeDisplaySettings в неё необходимо передать указатель на структуру типа DEVMODE, где указывается желаемое разрешение. Естественно, что Ваш монитор и видеокарта должны это разрешение поддерживать.

Естественно, хорошим тоном будет предварительное сохранение предыдущих настроек экрана и возврат после окончания работы программы (или той части программы, где изменяется разрешение) .

// Screen.cpp : Defines the entry point for the console application.
//
#include “stdafx.h”
#include “windows.h”
void main(){
DEVMODE dm;
memset(&dm,0,sizeof(DEVMODE));
dm.dmSize=sizeof(DEVMODE);
dm.dmPelsWidth=800;
dm.dmPelsHeight=600;    dm.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT|DM_DISPLAYFREQUENCY;    ChangeDisplaySettings(&dm,CDS_UPDATEREGISTRY);
}

form.top=screen.height/2-form.height/2
form.left=screen.width/2-form.width/2

// Еще один вариант получения информации о мониторе

procedure TForm1.Button1Click(Sender: TObject);
Var    TC,BPP,CP,VR,x:  integer; x2:real;
begin
BPP:=GetDeviceCaps(Form1.Canvas.Handle,BITSPIXEL);
CP:=GetDeviceCaps(Form1.Canvas.Handle,PLANES);
x2:=intpower(2,BPP);
x2:=intpower(x2,CP); TC:=round(x2);
Label1.Caption:=’Бит на пиксел: ‘+IntToStr(BPP);
if (TC<3) then  Label2.Caption:=’Монохромный дисплей ‘ else
Label2.Caption:=’Число цветов: ‘+IntToStr(TC);
end;

//
VR:=GetDeviceCaps(Form1.Canvas.Handle,VREFRESH);

// непосредственно.. Изменить разрешение монитора
procedure Display( X, Y : Word );
var
dm : TDEVMODE;
begin
ZeroMemory( @dm, sizeof( TDEVMODE ) );
dm.dmSize := sizeof ( TDEVMODE );
dm.dmPelsWidth := X;
dm.dmPelsHeight := Y;
dm.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
ChangeDisplaySettings( dm, 0 );
end;
// установить разрешение монитора

procedure SetScreen(BPP: byte; width, height, FR: integer);
var
D: TDevMode;
h: HWND;
begin
h:=0;
D.dmDeviceName:=’DISPLAY’;
D.dmBitsPerPel:=BPP;
D.dmDisplayFrequency:=FR;
D.dmPelsWidth:=Width;
D.dmPelsHeight:=Height;
D.dmFields:=DM_BITSPERPEL+DM_PELSWIDTH+DM_PELSHEIGHT+DM_DISPLAYFREQUENCY;
D.dmSize:=SizeOf(D);
if ChangeDisplaySettings(D,CDS_TEST)=DISP_CHANGE_SUCCESSFUL then
ChangeDisplaySettings(D,CDS_UPDATEREGISTRY)
else
MessageBox(h,’Этот режим не поддерживается видеокартой.’,
‘Ошибка изменения режима!’, MB_ICONWarning);
end;

Вызывается так: SetScreen(глубина цвета, разрешение по горизонтали, разрешение по вертикали, частота в герцах);
Например:
SetScreen(16,800,600,80); {16 бит цвет, 800х600, 80Гц.}

* Найдено на форумах, опробовано и сведено воедино давненько. Просьба отписаться, если работает. :)

Опубликовано Октябрь 5, 2008 | автор: levik  |  Комментарии (2) »