суббота, 18 мая 2013 г.

Настройка времени в домене

Настройка времени в домене Windows Server 2003 (2008)

Итак в этой статье я расскажу как настроить сервер времени в домене отталкиваясь от своего опыта, и расскажу о допущеннных ошибках. Это статья касается Windows Server 2003 (2008).  Итак:

1. Определение PDC.

Итак как происходит синхронизация времени. Вкратце: сервер выступающий в роли эмулятора PDC должен синхронизироваться с внешним достоверным источником времени, а рабочие станция входящие в домен политикой по умолчанию синхронизируются с контроллером домена. Как узнать кто является PDC, если у вас несколько контроллеров домена?
- открываем оснастку "Active Directory - пользователи и компьютеры" нажимаем правой кнопкой на значке нашего домена и выбираем "Хозяева операции"  и на вкладке "PDC" по имени смотрим кто является эмулятором PDC.

2.Настройка синхронизации времени на контроллере домена Windows Server 2003 (2008).

Теперь нужно зайти на PDC и с помощью regedit открыть редактор реестра, где собственно и будем производить основную настройку. Здесь для удобства я пишу старые значения реестра (т.е которые будем изменять) и новые на которые будем менять.Т.е было - стало.
Приступим:
- В реестре меняем следующие значения:
1) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
Было: NT5DS 
Изменям на: NTP
   
2) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags

Было: а
Изменям на: 5

 

3) Включаем NTP сервер
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer параметр Enabled изменяем на:

Было:0
Изменяем на: 1 
Если стояла 1 менять не нужно



4) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
А вот здесь мы видим time.windows.com,0х1. Здесь лучше значение не менять на какой либо другой сервер. Т.к когда я пытался изменять на др. сервер то у меня появились следующие ошибки W32Timw 29, 47, 38. Возможно это глюк относится только к Windows Server 2003 - можете поэкспериментировать.

 
5) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval 

Было: ffffffff в шестнадцатиричной или 4294967295 в десятичной
Изменяем на: 1800 или 3600 в десятичной - это интервал опроса серверов для синхронизации.




6) Зададим интервалы максимальных величин коррекции времени.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection

Было: ffffffff в шестнадцатиричной или 4294967295 в десятичной
Изменяем на: 1800 или 3600 в десятичной 
 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection 
Было: ffffffff в шестнадцатиричной или 4294967295 в десятичной
Изменяем на: 1800 или 3600 в десятичной 

 Затем выполним в командной строке ("Пуск"->"Выполнить"->"cmd").
net stop w32time && net start w32time
w32tm /resync
Если после этого в журнале появились записи об успешной синхронизации то все готово. Если нет смотри след. абзац.

Ошибки W32Time 29, W32Time47, W32Time38 

Если после этого начинают появляться эти ошибки первое что следует сделать это посмтотреть в DefaultPolicy дефолтной поитике домена а также в gpedit.msc - локальной политике контроллера домена следующие параметры:

"Конфигурация компьютера"-> "Административные шаблоны"->"System"->"Windows Time Service"->"Time Providers" чтобы все опции стояли "Не заданно".


Затем в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer проверить чтобы значение было time.windows.com
Далее в командной сторке выполнить :
w32tm /config /manualpeerlist:time.windows.com,0x1 /syncfromflags:MANUAL
net stop w32time
net start w32time
w32tm /resync
 

четверг, 16 мая 2013 г.

Ошибка DCOM 10005 gupdate

Ошибка DCOM 10005 gupdate

Итак в оди прекрасный день на вашем сервере или компьютере может возникнуть ошибка   следующего содержагия:

"Ошибка DCOM "Указанная служба не может быть запущена, поскольку она отключена или все связанные с ней устройства отключены. " при попытке запуска службы gupdate с аргументами "/comsvc" для запуска сервера:"

Эта ошибка возникает из-за того что отключена служба "Google update" или "Автоматическое обновление". Достаточно либо включить єти службі, либо более кардинальный метод - удалить Google Hrome.

среда, 24 апреля 2013 г.

Установка Java в Linux

Установка Java в Linux
Скажу вам сразу, установка java в Linux, дело весьма мутное и неблагодарное. Для разных систем установка может отличаться, но во многих моментах они схожи. Здесь я опишу установку Sun Java SE Development Kit 7 в Centos. По умолчанию в Centos стоит OpenJDK, но некоторые программы, в частности Apache OpenMeetings требуют именно Sun Java. 
Итак начнем:
1) Для начала проверим не установлена ли SunJava уже, а вдруг повезет
java -version
Если вывело, что то вида (версии могут отличаться):

java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
То нам повезло, и она уже установленна, если нет смотрим ниже.
2) Идем для начала вот сюда 

3) Устанавливаем наш пакет

4) Теперь смотрим после установки в /usr/java/ должна появиться папка /usr/java/jdk1.7.0_21
5)Теперь нам надо поменять OpenJDK на Sun JDK для смены версий JAVA служит утилита 
alternatives. Для начала с помощью alternatives зарегистрируем нашу новую версию, делается это так:
#alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_21/bin/java 100
#alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.7.0_21/bin/javaws 100
#alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_21/bin/javac 100
6) Теперь надо сменить версию используемую по умолчанию делаем это так поочередно вводя команды:

# alternatives --config java
# alternatives --config javaс
# alternatives --config javaws

Здесь каждый раз будет выводиться список вида
Выбор Команда
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
3 /usr/java/jre1.7.0_21/bin/java

Enter - сохранить текущий выбор[+], или укажите номер: 3
___________________________________________________________
 
Здесь надо выбрать строку вида  
/usr/java/jre1.7.0_21/bin/java и ввести цифру стоящую напротив нее
и так для всех трех команд.
 
7) Теперь снова введем
 
java -version
Если все получилось должна появиться строки вида:
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
Если нет значит что-то сделали не так попробуйте повторить процесс

8) Добавим в ~/.bash_profile или в /etc/profiles строку вида
export JAVA_HOME=/usr/java/jre1.7.0_21
Для того чтобы появилась системная переменная JAVA_HOME. 
 


Mysql Table is marked as crashed and should be repaired

Mysql Table is marked as crashed and should be repaired

Случилось мне как то раз наблюдать записи в mysqld.log вида "Table is marked as crashed and should be repaired" после того как свет благополучно потух без предупреждения, а на серваке как раз не было бесперебойника. Так вот не стоит сразу впадать в панику, для начала выполним следующие шаги.
Если пишет всего о нескольких таблицах, то их можно поочередно восстановить выполнив следующее:
> USE user_base
> REPAIR TABLE TABLE;

Если же таблиц много то лучше сделать так:
mysqlcheck -uUSER -pPASSWORD  --repair --extended user_base

Ну а если уже совсем много то так, сделать для всех таблиц БД:
mysqlcheck -uUSER -pPASSWORD  --repair --extended -A
Ну а коли база данных загнулась то лучше восстановить из бэкапа. Но эта тему уже др. статьи

понедельник, 15 апреля 2013 г.

Драйвер TP-Link TL-WN727N в Linux Ubuntu

Ошибка Userenv 1505 Драйвер  TP-Link TL-WN727N в Linux Ubuntu
Опишу здесь случившуюся со мной ситуацию. Случилось как то мне настраивать  Wi-Fi карточки TP-Link TL-WN727N в Ubuntu. Так вот на старых версиях драйвера под таковой вообще не оказалось, а новых Ubuntu 11.10, Ubuntu 12.04, Ubuntu 12.10 он хоть и определился автоматически, и вроде бы как начал работать но иногда сам отваливался, иногда тормозил, иногда не хотел подсоединяться - вообщем куча проблем. Так вот опишу как это все решить. Покопавшись в интернетах, я нашел что проблема состоит в модулях rt2800.lib и rt2800usb к-е использует этот адаптер, и которые желателбно заменить, как читай ниже.
Итак приступим:
Откроем терминал и посмотрим подключенные USB устройства, с помощью команды
1) lsusb
lsusb - вывод списка подключенных USB устройств 
2) В списке видим и инуитивно догадываемся что 5370 Ralink Technology это есть наш любимый TP-Link TL-WN727N.
3) Качаем драйвера для адаптера отсюда Качаем с сайта www.mediatek.com драйвера для нашего адаптера RT8070 /RT3070 /RT3370 /RT5370 /RT5372 USB 
4) Клацаем на скачаный bzip2 архив правой кнопкой мыши и выбираем "Распаковать сюда" или "Extract here"
Разархивируем архив bz2 
5) Теперь мы получили tar архив опять также распаковываем его.
6) Переименуем например в tplink и скопируем в домашнюю папку
cp - r ./ tplink ~

7) Заходим в нашу папку cd ~/tplink/os/linux и находим файл config.mk
8) Находим следующие строки и меняем n на y
# Support Wpa_SupplicantHAS_WPA_SUPPLICANT=y

# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

9) Переходим в cd ~/tplink 
и выполняем следующее:

$ sudo make
$ sudo make install
$ sudo modprobe rt5370sta

10) Добавим наш драйвер в /etc/modules 
echo rt5370sta >> /etc/modules

11) Добавим ненужные модули rt2800 в blacklist, чтобы они не подгружались для этого в
/etc/modprobe.d/blacklist пропишем
blacklist rt2800usb
blacklist rt2800lib
blacklist rt2x00usb
blacklist rt2x00lib 

12) Перегружаемся и пробуем.
 

понедельник, 1 апреля 2013 г.

Ошибка Userenv 1505

Частенько случается, что  вроде Windows Server 2003 или Windows XP нормально работал, но врдруг при входе в систему появляется ошибка:  

"Системе Windows не удалось загрузить профиль пользователя, поэтому вход в систему выполнен с помощью стандартного системного профиля"
Что в данном случае делать. Итак если эта ошибка появляется на сервере терминалов можно попробовать след вариант:
1) Открыть редактор реестра набрав в окне "Пуск"-> "Выполнить" команду regedit.
2)Зайти в следующий раздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
3) Создать параметр DWORD с названием PoolUsageMaximum, либо если уже есть отредактировать существующий
4) Щелкнуть правой кнопокой мыши на нем и выбрать "Изменить"
5) Выбрать переключателем систему "Десятичная" и ввести значение 60.
6) Затем необходимо изменить значение "Paged Pool Size" установив знчение равное 8-ми
т.е fffffffff.
7)Перегрузить компьютер .

 На своем опыте скажу что данная инструкция не всегда помогает, т.к один раз мне попалась непонятная сборка ХР и данные ухищрения не помогли. Походу был битый файл ntuser.dat, т.к пришлось полностью сносить систему и ставить новою, с полным (именно полным а не быстром форматированием, т.к при полном помечаются битые секторы, а при быстром нет). Вообщем можете еще загрузиться с HirensBoot CD, выбрать режим Mini Windows XP. И в команлной строке ввести chkdsk c: /x  /f  /r. Может поможет. Кому попмгло пишите в коментарии.
 

пятница, 1 марта 2013 г.

PHP какие библиотеки подключены.

PHP какие библиотеки подключены.
PHP динамическое подключение библиотек.
Часто при работе с PHP требуется посмотреть какие библиотеки подключены в данный момент и если необходимо подключить необходимую. Многие лезут в php.ini и смотрят список библиотек, что не очень удобно, после чего раскоментируют необходимую библиотеку и перегружают Apache. Все это не очень удобно поэтому я предлагаю простой скрипт как посмотреть библиотеки активные в данные момент и их функции. А также простенькая функция по динамической подгрузке библиотек.

echo "Function sets supported in this install are:<br>";
          $extensions   = get_loaded_extensions();
          foreach   ($extensions   as   $each_ext)
          {
             echo "$each_ext <br>";
             echo "<ul>";
             $ext_funcs      =   get_extension_funcs($each_ext);
             foreach($ext_funcs         as   $func)
             {
                  echo     "<li>   $func" ;
             }
             echo    "</ul>" ;


dl ("php_mysql.dll") - динамическая подгрузка библиотек. Только Windows у меня не работала.