Xorg us,ru (русская раскладка и переключение языков)

Все тысячу раз поменялось, раньше настраивали просто xorg.conf, затем через hal.
Хал в gentoo был вообще не обнаружен как и use-флаг, можно не трудиться собирать с USE="-hal" его нет.
Зато новостью стал evdev.

Включаем в:
USE="X evdev udev"
VIDEO_CARDS="своя карта"
INPUT_DEVICES="evdev, keyboard, mouse" (на всякий случай :) )

При запуске иксов, ясен пень никакого русского не заработало, xorg.conf постаринке был подточен и не дал результатов. Через логи был пойман - /usr/share/X11/xorg.conf.d/10-evdev.conf который и портил всю малину, а наверное наоборот.
Теперь в секции InputClass ловиться клава:

Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
#Драйвер уже не kbd
Driver "evdev"
тут все постаринке
Option "AutoRepeat" "500 30"
Option "XkbModel" "acpi"
Option "XkbRules" "xorg"
Option "XkbLayout" "us(alt-intl),ru(winkeys)"
Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
MatchIsKeyboard "true"
EndSection

Сначала грузиться /etc/X11/xorg.conf - его настройки InputDevice игнорируются, затем подключается evdev.conf что в /usr/share. Можно все загнать в xorg.conf для кошерности.
Аналогично можно подточить мышь если надо....тачпад если есть или тачскрин вхуйневпившийся :)

Apache + php + mysql + SMTP + ZEND + FTP и т.д.

Я уже не припомню какая это по счету сборка мной веб-сервера... и каждый раз что то идет не так как запланировано, вот например уникальный для меня случай:
Windows Server 2008 R2 standart русский
Apache 2.2.16-win32-x86-openssl-0.9.8o
PHP 5.2.14
MySQL 5.1.28-rc-community
1. Ставлю апач - проверяю - все работает.
2. Ставлю мускул - проверяю (navicat) - все работает.
3. Ставлю PHP (c:/php ибо терпеть кучу пробелов в пути выше моих нерв)- проверяю нихрена не работает.
В httpd.conf'e:

LoadModule php5_module C:/php/php5apache2_2.dll
DirectoryIndex index.php index.html
AddType application/x-httpd-php .phtml .php .html
PHPIniDir "c:/php"
На выходе получаю "Ошибка 1067", в логах ничего кроме PID'a
Ставлю Log_level debug но это мне тоже не помогает. Стоит закомментировать подгрузку модуля php и апач взлетает с бешеной скоростью.
Качаю ту же версию рнр только не инсталлером а просто в зип-архиве. Распаковываю туда же, чтобы не менять пути, предварительно снеся старый рнр.
 Ура рнр завелся! Смотрю phpinfo(); и не нахожу там мускула.
Лезу в php.ini:
short_open_tag = On
extension_dir="./ext"
extension=php_mysql.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_gd2.dll
extension=php_imap.dll
extension=php_mhash.dll
extension=php_mcrypt.dll
extension=php_mime_magic.dll
extension=php_xmlrpc.dll
extension=php_zip.dll
mysql.default_port = 3306
mysql.default_host = localhost
mysql.default_user = root
mysql.default_password = 'njytyfcnjzobqgfhjkm

Рестартую апач, мускула не видать не в phpinfo();, не по скрипту test.php

<?php
$dblocation = "127.0.0.1";
$dbname = "mysql";
$dbuser = "root";
$dbpasswd = " 'njytyfcnjzobqgfhjkm";

$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx)
{
echo "<p>К сожалению, не доступен сервер mySQL</p>";
exit();
}
if (!@mysql_select_db($dbname,$dbcnx) )
{
echo "<p>К сожалению, не доступна база данных</p>";
exit();
}
$ver = mysql_query("SELECT VERSION()");
if(!$ver)
{
echo "<p>Ошибка в запросе</p>";
exit();
}
echo mysql_result($ver, 0);
?>

Полез почитать логи....а таааам.....ууу.....

PHP Warning: PHP Startup: Unable to load dynamic library './ext\\php_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library './ext\\php_pdo.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library './ext\\php_pdo_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library './ext\\php_gd2.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library './ext\\php_imap.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library './ext\\php_mhash.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library './ext\\php_mcrypt.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library './ext\\php_mime_magic.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library './ext\\php_xmlrpc.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library './ext\\php_zip.dll' - The specified module could not be found.\r\n in Unknown on line 0

Вообщем php не находит в упор свои расширения.

Я пробовал закинуть их в корень РНР и поменять экстеншн_дир на "./" но все то же самое.
Пробовал указывать абсолютные пути. Разные слэши. Даже закидывал libmysql.dll себе в system32 по советам и отговоркам многих. Как вариант можно было бы ребутнуться чтоб библиотека таки подцепилась, или прописаться в PATH.....но ребутиться очень уж не хотелось и я  на одном из буржуйских сайтов нашел солюшн.

Достаточно прописать в httpd.conf куда нибудь в конец:

Loadfile "c:/php/php5ts.dll"
Loadfile "c:/php/libmysql.dll"

И все сразу же заработало!

Далее я проинсталлировал SPECTral Personal SMTP Server.

украду немного из чужой статьи настроек :


Вкладка "Запуск и интерфейс", отметьте все пункты из этого списка, остальное отключите (далее поступайте так же):

Запускать вместе с Windows
Только для меня
Запускать свернутым
Сворачивать программу при щелчке на "X"
Язык интерфейса: Russian
Вкладка "Отчеты":

Очищать отчет после (строк): 100
Вкладка "Сервер":

Порт сервера: 25
Ограничить размер письма (МБайт): 5
Отключить аутентификацию (НЕ РЕКОМЕНДУЕТСЯ!)
На вкладке "Сервер/Фильтр подключений":

Принимать только разрешенные подключения
Разрешенные: 127.0.0.1
Вкладка "Отправка":

Сохранять успешно отправленные
Использовать A-доставку при неуспешной MX
Пытаться начать отправку при получении
Всплывающая подсказка с результатами
Показывать процесс отправки в отдельном окне
Вкладка "Дополнительно":

Автоматически перезапускать после критического сбоя
Настройка закончена. Сервер будет перезапущен автоматически.

В php.ini после этого:

smtp = localhost
smtp_port = 25
sendmail_from = your@email.name

Установка Zend'a вообще не заслуживает отдельно темы, всеголишь надо при установке выклчить апач и указать пути к php.ini и к Apache2.

Что же с фтп-сервером....я выбрал fileZilla server.
проинсталлировал, затем создал группу users, и пользователя. Для группы расшарил свой вебрут. Подключился и все сразу заработал - красота.

Xerox WorkCentre 3220 прошивка (FIX)

 Раньше не доводилось сталкиваться с офисной техникой в плане заправки и обслуживания, описание первого опыта.
Аппарат Xerox Workcentre 3220. 

1. Скачать прошивку
slil.ru/29471350
www.multiupload.com/DQOGY37WK5
Если ссылки не работают пишите, у меня они будут в любом случае.
2. Подключить принтер по USB, поставить дрова, убедиться что все работает нормально.
3. Вытащить картридж и вырвать чип.
4. Выключить принтер, нажать "Стоп" (красная кнопка) и удерживая ее включить принтер. Появиться сообщение что принтер загрузился в режиме получения прошивки. Нажать стоп еще раз. 
5. Перетащить мышкой FIX_wc3220_v95.hd на usbprns2.exe. Должно появиться окошко консоли с "Downloading........" и кучей точек.
6. На дисплее аппарата начнут появляться надписи Programm/Erase и различные 16-ричные адреса.
7. Через пять минут принтер уйдет на перезагрузку. После старта принтера зайти в меню-> Настройки -> Обслуживание -> Уд. Сообщ. Тонера. Нажать "Оk"
8. Выключить и включить принтер.
9. Переодически выполнять п.7.

Альтернативный способ сброса всех счетчиков:

-нажать кнопку "Menu"
-набрать "#1934"
-нажать кнопку "Menu"
-нажать 2 раза кнопку "OK" (Tech menu-Data setup)
-нажать 7 раз кнопку "Вправо" (Clean Counts)
-нажать кнопку "OK"
-набрать пароль 1934
-выбирая каждый из пунктов этого меню очищайте для него счётчики, все. (Total Page CNT, CRU Print CNT, Scan CNT)
-выключить-включить принтер.

Flash Media Server и динамическая трансляция (live)

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

Логика работы: FMLE забирет сигнал с аналоговой камеры подключенной через ip-конвертер axis и транслирует его на FMS в приложение (application) live или dvrcast_origin по rtmp-протоколу, которое впоследствии снимается флешплейером на страничке сайта. И все эти дела без знания ActionScript и использования Flash CSx о которых невнятно бубнят все буржуйские маны :(... никакой халявы для не-девелоперов :). Но...выход есть, он существовал еще до того как я задался этим вопросом, которой породил эту проблему :) описание решения которой я привожу ниже :)
 

Немного о софте и конфигурации:
В качестве ОС - WIN 7 и была еще XP зверь. ( тут я хочу сказать что решение вин7 совместимо, хотя может кому-то покажется неуместным)
Железо: ip-камера axis (215 ptz)  и видеокодер axis (Q7401) для аналоговых камер, ПК на базе Core i7 в серверном корпусе :)
Софт:
-Flash media interactive server (FMS)  
-Flash media live encoder (FMLE)  
-Axis video capture driver 
-notepad (обязателен для динамической трансляции ;) )

Не хочу описывать процесс установки FMS и FMLE на винду, для этого на сайте adobe есть 10-и минутный ролик с комментариями на английском посвященный кнопкам далее и вводу серийного номера, который можно вообще не вводить ;) ( и все это на забавной корейской винде, очень занимательно выглядит .....)

Интерфейс FMLE настолько интуитивно понятен, что я был ооочень приятно удивлен. Слева input, Справа ouput. Start.
Input:
Если вы установили Axis video capture driver, то в выподающем списке "device" появиться возможность настройки камеры.
Для захвата картинки я использовал ссылку "хттп://pass:login@ip/axis-cgi/mjpg/video.cgi?resolution=640x480&color=1&fps=24" для видеокодера ссылка выглядит иначе, "axmphttp://<ip>/axis-cgi/mjpg/video.cgi?continuouspantilmove=30,-30". Также в настройках камеры можно настроить анонимуса и убрать pass login из ссылки.
Format: VP6 (для flv)
Frame rate: 24
Input size: введите тут размеры картинки как на камере.
далее самое вкусное Bit Rate:
Выбирите пару галочек если хотите вещать в несколько потоков или одну если в один поток, я буду рассматривать ситуацию с двумя потоками.

v 1  200kbps 640x480
v 2  100kbps 320x240

По желанию и примеру настройте audio, на вебкамере (logitech) все заработало само собой с mp3 кодеком. Так же можно подключить какойнить девайс и снять аудио со входа звуковой карты.

Output:
v Stream to FMS
FMS url: rtmp://<ip>/live 
Stream: livestream%i 

%i добавляется для динамической трансляции, для трансляции в один поток оставьте просто "livestream".
В варианте динамической трансляции потоки будут иметь ссылки rtmp://<ip>/live/livestream1 и rtmp://<ip>/live/livestream2.
По желанию можно сохранять потоки на диск, в варианте с динамической трансляцией добавьте %i в имя файла (например mystrem%i.flv).

Нажимаем connect и Start, сворачиваем FMLE.

Теперь нам нужно получить кайфовенький плейер с кнопочками переключения качества стрима. В директории установки FMS есть исходники плейера, сам плейер и страничка с конфигурацией плейера. Переходим в Flash Media Server 3.5\samples\videoPlayer\source\videoPlayer.
Находим там dynamic_stream_playlist.smil открываем блокнотом и доводим его содержание до нужного нам :):

<smil>
<head>
  <meta base="rtmp://<ip>/live/" />
</head>
<body>
<switch>
<video src="livestream1" system-bitrate="200000"/>
<video src="livestream2" system-bitrate="100000"/>
</switch>
</body>
</smil>

Закрываем и открываем в браузере videoplayer.html.
Появляется интуитивно понятная форма, по нажатию кнопки embed сформируется html-код который можно втыкать на готовую страничку и по открытии ее в браузере появиться кайфовенький плейер с вашей динамической трансляцией:
video width : 640 
video height : 480  
Dynamic Stream Control : manual 
Auto start Control : true 
Stream Messages Control : true 
Stream type : live 
server url : dynamic_stream_playlist.smil
flash embed tag : тут появиться как раз та часть html-кода которую можно вставить на реальную страничку.
а ниже сам плейер с трансляциями.
Возможно вы увидите секьюрное сообщение от Adobe, просто нажмите на "CLICK HERE" и добавьте директорию FMS в доверенную зону.

Все ))) осталось только перенести из ../samples videoplayer.swf и создать index.html в вашем webroot, с содежанием которе вы получили в строке flash embed tag.

SONY VAIO VGN-CS31SR драйвера и BSOD

Предыстория:

Есть ноут SONY VAIO VGN-CS31SR с проблемой выпадения BSOD  при переходе\выходе из ждущщего режима.

Ну думаю переставить надо винду и все будет окей.

В качестве ОСИ Win XP SP3 ( Zver DVD 2010)

История:

Ставиться винда, 90% дров в комплекте, и злосчастный HDAUDIO SoftV92 data fax modem with SmartCP.
Это именно он вываливает BSOD "HSX_CNXT.SYS"

С помощью драйвер-чекера или любого другого даунлоадера дров, обновляем\доставляем то, с чем не справился зверь.

Теперь настало время напильника :)

Скачайте драйвер (http://www.conexant.com/support/md_driverassistance.html) HSFhda_WinXP.zip
Распакуйте и отредактируйте GENHDA5.inf:
Найдите указанные строки и допишите:

****
[ControlFlags]
ExcludeFromSelect= HDAUDIO\FUNC_02&VEN_14F1&DEV_2BFA
ExcludeFromSelect= HDAUDIO\FUNC_02&VEN_14F1&DEV_5045
ExcludeFromSelect= HDAUDIO\FUNC_02&VEN_14F1&DEV_2C06 <----допишите это

***
[HSF_MODEM]
%HSFModem% = ModemX, HDAUDIO\FUNC_02&VEN_14F1&DEV_2BFA
%HSFModem% = ModemX, HDAUDIO\FUNC_02&VEN_14F1&DEV_5045
 %HSFModem% = ModemX, HDAUDIO\FUNC_02&VEN_14F1&DEV_2C06 <------допишите и вот это

***


Теперь драйвер можно сохранить и установить из Диспетчера Устройств.

Для совсем ленивых вот пак с драйверами для Sony Vaio VGN-CS31SR сделанный мной с помощью DriverGenius'a

Название: Install-ALL-SONY-VAIO-VGN-CS31SR_WINXP_SP3.exe
Размер: 34.12 Мб
Доступен до: 2010-06-20 00:36:49
Ссылка для скачивания файла: http://ifolder.ru/17801799

Или ищщите меня по сети - вышлю.

Ubuntu 10.4 неувидела полу- :) -аппаратный RAID

 ПредЫстроия:

Создал два рейда, первый mirror из двух дисков для оси, второй strip для файлопомойки. ( контроллер какойто matrix на мамке если что) 
Ставлю диск, гружусь размечаю разделы и получаю error на начале форматирования, что устройства такого нет у вас и т.д.

Решение:
переходим в четвертую консоль смотрим, затем валим в третью и деактивируем все обнаруженные dmraid'om разделы

# dmraid -an

и ищщем\активируем их заново

# dmraid -ay 

ls /dev/mapper для спавки ;)

На этом проблемы установк не закончились.  Система отказалась грузиться, естественно полез копать в сторону GRUB. Загрузился с Live-CD и сделал вот что:
( подсмотрено и поправлено с http://ubuntuforums.org/showthread.php?p=9206444 )

примонтировал разделы недоустановленной ОС ( в моем случае слегка другие пути )

sudo mkdir /mnt/Ub-System
sudo mount /dev/mapper/you_raid0_Volume /mnt/Ub-System
sudo mount -o bind /proc /mnt/Ub-System/proc
sudo mount -o bind /dev /mnt/Ub-System/dev
sudo mount -o bind /dev/pts /mnt/Ub-System/dev/pts
sudo mount -o bind /sys /mnt/Ub-System/sys
sudo chroot /mnt/Ub-System /bin/bash

удалил граб

sudo apt-get --purge remove startupmanager (if you installed)
sudo apt-get --purge remove grub-pc grub-common

обновил порты

sudo apt-get update

поставил grub

sudo apt-get install grub

качнул указанное в /boot/grub

cp /usr/lib/grub/x86_64-PC/* /boot/grub/

запустил GRUB и выполнил:

sudo grub
grub>find /boot/grub/stage1
grub>device (hd0) /dev/mapper/your_raid0_harddrive
grub>root (hd0,0)
grub>setup (hd0,1)
grub>quit
sudo update-grub

Выражаю огромную благодарность popat007


Gentoo mailserver

АККУРАТНО !!! НЕЗАКОНЧЕННАЯ СТАТЬЯ
Постараюсь сделать эту статью более-менее доступной для понимания, так как столкнулся с сильными проблемами при загугливании сабжа. Конечная цель - полноценный почтовый сервер (smtp pop imap), с авторизацией через базу mysql, с беличьей веб-мордой, шифрованием соединения по ssl/tls, запретом отправки почты от неавторизованных клиентов, квотированием почтовых ящщиков, своевременными бекапами. И возможно, сторонней защитой от спама, а не средствами\плагинами веб-морды.
Для этого мне потребовалось:
1. postfix
2. courier-imap
3. cyrus_sasl
4. MySQL
5. pam_mysql
6. Apache
7. PHP
8. SquirrelMail

Устанавливаем Postfix

$] USE="hardened mbox mysql pam sasl ssl vda" emerge mail-mta/postfix-2.6.5
(советую проинсталлить gentoolkit и заценить описания флагов с которыми вы будете собирать postfix
$] equery u postfix. Я, например, упустил флаг vda и поимел траблы с квотированием почтовых ящщиков.)
После того как собрался постфикс, начнем его потихоньку рихтовать. Конфиги он сбросил в /etc/postfix.
Тут нас интересует больше всего main.cf, но для наглядности отладки стоит добавить вербозности в master.cf. Добавьте ключ "-v" как показано ниже:

$] mcedit /etc/postfix/master.cf

# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd -v

Теперь перейдем к main.cf и отредактируем его: (хотя можно использовать утилиту postconf для настройки но мне больше по нраву пользоваться ей для сравнения дефолтных директив и измененных, запускаяя postconf с ключами -d и -n (default/new :) ) но можно использовать -e (edit ;) ) для редактирования директивы )

$] mcedit /etc/postfix/main.cf

Gentoo vsftpd

# USE="pam ssl tcpd xinetd -caps" emerge net-ftp/vsftpd-2.1.0-r1

#cd /etc/vsftpd
#cp vsfptd.conf.example vsftpd.conf
#mcedit vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
nopriv_user=ftp
ftpd_banner=Welcome to blah FTP service.
deny_email_enable=YES
banned_email_file=/etc/vsftpd/banned_emails
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES

#passwd ftp
#adduser -d /home/ftp -G ftp -s /sbin/nologin vasya
#passwd vasya
#mkdir /home/ftp/mydir
#adduser -d /home/ftp/mydir -G ftp -s /sbin/nologin petya
#passwd petya
#echo "vasya" >> /etc/vsftpd/chroot_list
#echo "petya" >> /etc/vsftpd/chroot_list
#/etc/init.d/vsftpd start && rc-update add vsftpd default

Итого мы получаем простенький фтп сервер, на котором помимо дефолтного пользователя ftp, есть еще vasya и petya, а так же все локальные аккаунты.
petya не может вылезти из директории mydir, а vasya, например, может спокойно в нее зайти.
Все права доступа на уровне системы, за исключением файла chroot_list, который запирает указанных пользователей в домашней директории, пользователи не указанные в chroot_list могут вылезти и в корень системы.
В моем случае права на /home/ftp root:ftp с привелегией записи для группы.

Apache 2 + SSL

Перейдем в директорию где у нас будут храниться сертификаты.
Например /etc/apache2/ssl/
Создадим там скрипт gen.sh например, содержания:
#!/bin/bash
echo -n "для кого сертификат ? :" #например my.domain.com
read host
mkdir $host
cd $host
openssl genrsa -des3 -rand /dev/random -out ./$host/server.key
openssl rsa -in ./$host/server.key -out ./$host/server.pem
openssl req -new -key ./$host/server.key -out ./$host/server.csr
openssl x509 -req -days 360 -in ./$host/server.csr -signkey ./$host/server.key
-out ./$host/server.crt

#./gen.sh
По ходу дела вас попросят несколько раз задать пароль, и немного информации для
сертификата.

Далее, перейдем к настройке apache:
1. добавить listen 443 в httpd.conf (ну или в нужный vhost)
2. добавить в секцию в свой virtualhost
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/$host/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/$host/server.pem

Естественно заменив $host на свой.
Рестарт Apache'a и https://$host