воскресенье, 20 марта 2011 г.

Postfix + smtp auth

У нас есть в наличии (Debian Squeeze)
Postfix+Postfix admin+courier-imap+courier pop3 + mysql

Postfix принимает smtp для пересылки во внеху только от доверенных сетей, в данном случае такая пересылка происходит только от скриптов сайта, так что разрешение стоит только на локалхост
[/etc/postfix/main.cf]
mynetworks = 127.0.0.0

Со внехи письма приходят только для тех доменов, которые обслуживаются этим почтовиком (далее эти письма юзера забирают через pop3 или imap).

Но появляется задача - отправлять из внешних сетей через наш почтовик во внешние сети (при использовании почтовых клиентов), естественно такую операцию можно разрешить только с авторизацией.
[/etc/postfix/main.cf]
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = cyrus
smtpd_sasl_enable=yes
smtpd_sasl_path = smtpd
broken_sasl_auth_clients = yes









Ставим пакеты
apt-get install sasl2-bin libsasl2-modules-sql libsasl2-modules









Теперь правим файлик (можете закоментировать там все и вставить это)
[/etc/default/saslauthd ]
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="rimap"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-r -c -O localhost -m /var/spool/postfix/var/run/saslauthd"





Мы уже настроили postfixadmin и он создал необходимые таблицы в mysql
теперь создаем и редактируем файл
[/etc/postfix/sasl/smtpd.conf]
pwcheck_method: auxprop
auxprop_plugin: sql
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: userpostfix
sql_passwd: 123456789
sql_database: postfixdb
sql_select: select
clear from mailbox where username = '%u@%r' and active = '1'
log_level: 2
mech_list: PLAIN LOGIN


(понимания зашифрованных паролей я добиться не смог, выход - создать в таблице поле clear и запись в него незашифрованного пароля для доступа с SMTP, в таком случае лучше использовать отличный пароль, чтоб при его перехвате злоумышленник не смог читать ваши письма а только лишь смог заниматься пересылкой почты)

Далее делаем кое какие штришки
mkdir -p /var/spool/postfix/var/run/mysqld
chown mysql /var/spool/postfix/var/run/mysqld
ln /var/run/mysqld/mysqld.sock /var/spool/postfix/var/run/mysqld/mysqld.sock
 


Если захотите осилить этот материал более подробно то


пятница, 18 марта 2011 г.

Adobe Flash

Как оказалось, устаревшая версия флеш-плагина криво работает с полноэкранным видео, пришлось мне опять ставить последнюю версию, в которой на ютубе происходит крах плагина.

В интернете много тем по этому поводу, но все советы только на подобии "переустанови оперу", "почисти кеш в фаерфоксе", "почисти реестр винды"...

Пока единственное решение было - использовать Google Chrome в линуксе и последний флеш-плеер, но хотелось найти решение для Firefox ибо мне нравится только этот браузер.















И решение нашлось на форуме мозилы!!!!

Нужно запретить кукисы сайту youtube.com









Теперь хоть сто раз в секунду обновляй окно с роликом или тыкай по подобным видео и краха плагина не будет.

четверг, 17 марта 2011 г.

Philips K700 Debian Linux

На Debian Squeeze веб-камера завелась отлично, без дополнительных манипуляций, если подключить телефон в режиме COM-порта, то телефон можно использовать в качестве EDGE модема, через гномовский network-manager апплет всё завелось за пару секунд.

вторник, 15 марта 2011 г.

FlasPlayer 64 Крах плагина, вылетание iceweasel

Добрый день, уважаемые читатели, после установки свежей операционной системы Debian 64 на новый компьютер, я по привычке набрал


apt-get install flashplugin-nonfree

при установке этого пакета с сайта adobe выкачивается самая последняя версия 64 битного флеш-плеера, но видимо последняя версия оказалась с сюрпризами. В google-chrome для 64 битного дебиана не прилагается флеш-плагина, но при этом он нормально подцепляет его из системы и не вылетает, но вот в моей любимой мозиле (в дебиане iceweasel) начались невероятные глюки, если открыть youtube.com, запустить любую видяшку и обновить страницу раз 5-10, то у нас просто закрывается браузер из-за краха плагина. Я подумал что дело тут в мозиле и установил себе версию 4.
В Firefox 4 (как и в 3.6) продумали подобные ошибки плагинов и, вместо вылетания браузера, у меня просто стало выводить "крах плагина"!

На сайте адоба есть архив плагинов предыдущих версий, но среди них только 32х битная версия флеша.

Порывшись по просторам интернета я нашел версию 10.0 для 64 битных систем, скачать можно тут http://pingvinoff.net/wp-content/uploads/libflashplayer.so.bz2

распаковываем ее
и заменяем
root@# rm /usr/lib/flashplugin-nonfree/libflashplayer.so
root@# mv libflashplayer.so /usr/lib/flashplugin-nonfree/

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



суббота, 12 марта 2011 г.

четверг, 10 марта 2011 г.

HP 625 и Debian squeeze amd64

Прикупил себе самый элементарный ноутбук за 12 тысяч, HP625 предустановленной была  Suse Linux 11, если бы хотя бы была установлена убунту, то я бы еще остался на ней, но с сюзей я не работал, поэтому решил поставить мой любимый Debian и т.к. я планирую поставить в дальнейшем по максимуму 4 гига оперативы, поставил 64 битную систему.

Начну с обзора самого девайса и закончу сложностями, с которыми я столкнулся.

Версия: WT278EA
Процессор: AMD Sempron V140-2.30ГГц (потребление 25Вт)
Оперативная память: DDR3 1Gb (расширяется до 8х)
Видеокарта: ATI HD4200
Жесткий диск: 160 Gb 7200 оборотов WDC WD1600BEKT-60V5T1
блютуз, hdmi, 802.11n сетевушка (модель BCM4313),
веб-камера на 2 мегапиксела (качество такое то что можно фотки на память делать даже)

Коробка с ноутбуком оказалась необычайно толстая :)


В три ряда в ней разместили коробочку с барахлом, ноутбук и сумку, сумка конечно не супер, ни каких кожаных вставок и металических эмблем, но сумка вполне сгодится для переноса ноутбука

В коробочке с барахлом у нас лежит аккумулятор, зарядник, бумажные мануалы, диск с мануалами и восстановительный диск с Suse Linux



Ноутбук выглядит достаточно стильно






Что удивило дак это биос, в этом ноутбуке биос нового поколения UEFI, в нем можно проводить диагностику системы, тестировать жесткий диск, а самое прикольное - в нем есть мышка))))



Стоит заметить то что клавиатура у ноутбука не совсем удобная, мультимедийные клавиши находятся слева и я часто по ошибке их нажимаю вместо табуляции или ctrl+shift.

В ноуте стоял жесткий диск WD Black на 7200 оборотов 160 гигабайт, я его сразу же вытащил и поставил Хитачи на 500 гигов и 5400 оборотов, потому что WD Black давал достаточно заметную вибрацию на корпус, и когда я печтал и руки лежали на ноутбуке, то это быстро утомляло, плюс еще шум создавался дополнительный от этого жесткого диска.

4 гига оперативы ддр3 стоят около 1200-1300 руб, так что в дальнейшем планирую поставить оперативы по максимуму.


Установка Debian прошла гладко, осталось только настроить тачпад, чтобы он срабатывал по хлопкам, поставить драйвер на видео и на сеть.

Bluetooth завелся из коробки, мультимедийные клавиши тоже работают, включая регулировку яркости.




Тачпад

С тачпадом вам поможет вот эта статья http://habrahabr.ru/blogs/linux/101085/ автор предлагает скачать скрипт и привязать его на автозапуск, в моем дебиане пришлось поставить предварительно утилиту xinput
apt-get install xinput




Wi-fi broadcom

Чтобы завести вай-фай надо поставить пакет firmware-brcm80211
apt-get install firmware-brcm80211
(но это решение имеет некоторые недостатки, см. ниже)

Чтобы вай-фай работал идеально - надо скомпилировать драйвера
1. качаем отсюда http://www.broadcom.com/support/802.11/linux_sta.php

2. Распаковываем
3. Ставим  нужные пакеты
apt-get install linux-headers-$(uname -r) make
4. Делаем ссылку
ln -s /usr/src/linux-headers-2.6.32-5-amd64/ /lib/modules/2.6.32-5-amd64/build
(для своего ядра по своему делайте, если у вас 32х битная система)
5. компилируем и инсталируем
make && make install
6. обновляем список модулей
depmod
7. Перезагружаемся, теперь вай-фай работает и включается-выключается кнопкой

Примечание для более новых ядер, например я столкнулся с таким при компиляции ядра 2.6.38 с сайта kernel.org
implicit declaration of function 'init_MUTEX'

патч на это дело тут
нужно открыть файлик src/wl/wl_linux.c

найти там строчку примерно 485 с текстом
init_MUTEX(&wl->sem); 
и заменить ее на
sema_init(&wl->sem, 1);


после этого компиляция модуля broadcom пройдет нормально





Видеокарта

Из репозитория у меня дрова не захотели запускаться, я скачал и выполнил от имени рута скрипт с оффициального сайта амд (кстати амд купила ati), скрипт можете скачать по ссылке
http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx




Проблемы с беспроводной сетью (зависание ноутбука)

Если у кого то после установки драйвера на вай-фай из репозитория система провисает и не загружается, значит надо либо в однопользовательском восстановительном режиме либо в биосе (до загрузки системы) нажать на кнопку включения вай-фай, у меня она правее клавиши F12.

Это конечно еще не решение проблемы, по хорошему нужно скомпилировать драйвера с оффициального сайта (см. выше).



Проблемы со звуком

Еще у меня обнаружилась проблема со звуком, проблему решил собрав из исходников alsa-driver

качаем исходники отсюда http://www.alsa-project.org/main/index.php/Main_Page

алгоритм стандартный:

tar -jxvf файл (распаковываем)
./configure
make && make install




Дополнение 1:
Поставил на ноут вторую планку на 4 гига, в итоге ноут с легкостью потянул 5 гигов оперативы => ноут должен поддерживать 8 гигов рама.

понедельник, 7 марта 2011 г.

Поворот экрана в Debian Squeeze (GeForce 210 + Dell 2209wa)

Наконец то я победил поворот экрана, ведь не просто так я покупал монитор, который поворачивается на 90 градусов (например для чтения книг или сайтов)

Я использую видеокарту GeForce 210 (потому что на материнке нет встроенной), драйвера nvidia-glx из репозитория Debian non-free

Открываем файл /etc/X11/xorg.conf

в секцию  Device добавляем опцию Option "RandRRotation" "true"

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option "RandRRotation" "true"
EndSection


после этого перезагружаем иксы или компьютер и в гномовской утилите для настройки мониторов появятся  другие варианты ориентации экрана


воскресенье, 6 марта 2011 г.

Gimp 2.7 в Debian Squeeze (без компиляции)

1. Удаляем наш 2.6 гимп
sudo apt-get remove gimp-data libbabl-0.0-0 libgegl-0.0-0 libgimp2.0




2. Добавляем неоффициальный репозиторий
deb http://notesalexp.org/debian/squeeze/ squeeze main

3. Добавляем ключ репозитория
wget -O - http://notesalexp.org/debian/alexp_key.asc | sudo  apt-key add -

4. Обновляем список пакетоы
sudo apt-get update


5. Ставим гимп-2.7
sudo apt-get install gimp2.7


Получаем такой результат




Есть пока что тут недоработка - однооконный режим надо включать каждый раз вручную, т.е. после перезапуска гимп опять будет в 3 окна

Если открыть несколько изображений, то они будут во вкладках.


Если на 23'' мониторе еще и можно работать с тремя окнами, но вот на 13 мониторе ноутбука не совсем прикольно


По умолчанию в этом гимпе гораздо больше кистей, ну и есть еще кое какие доработки, по идее в декабре прошлого года должен был выйти 2.8 гимп, но его решили еще попилить и выпустить позже

среда, 2 марта 2011 г.

Bind9 и Server: unknown

>nslookup domain.ru 999.999.999.999
Server:  ns1.domain.ru
Address:  999.999.999.999

Name:    domain.ru
Address:  333.333.333.333

Примерно так должен отвечать наш днс-сервер, но бывает такое, то что при запросе к нашему серверу выдает

Server: unknown
Address:  999.999.999.999

Это происходит когда на самом сервере нет обратной записи для его внешнего IP адреса, даже если вы и не являетесь владельцем блока адресов, а обратные записи прописывает ваш провайдер - все равно не помешает прописать обратную запись

В файле named.conf.local добавляем строки

zone "999.999.999.999.in-addr.arpa" {
type master;
file "999.999.999.999";
notify no;
};


при чем ip в названии зоны пишется наоборот, например если у нас ip-адрес 1.2.3.4, то будет
4.3.2.1.in-addr.arpa

далее создаем файл зоны 999.999.999.999
и в нем прописываем что то вроде

$TTL 604800
@ IN SOA ns1.domain.ru. admin.domain.ru. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.

 PTR ns1.domain.ru.



Теперь наш сервер будет выдавать свое название при запросе на него

Pytnon UNO + OpenOffice Infra Ресурс

Скажите ну зачем так извращаться?
Ну бывают такие ситуации, когда все остальные варианты не подходят, но решить проблему нужно и стоит вопрос жизни и смерти)))

Так вот, встал у меня вопрос об автоматизации интернет-магазина, нужно скачать с сайта поставщика прайс, перегнать его в CSV и дать обработчику на PHP, который загонит этот прайс в базу данных, переделает цены по текущему курсу доллара, удалит категории, которые не продает этот интернет-магазин. В общем нужно сделать так, чтобы мененджеры плювали в потолок и не мучались по утру с изменением и импортом прайсов, а занимались клиентами. И чтобы покупателям было хорошо, то что прайс обновляется рано рано утром и цены уже актуальны.

Но вот ведь засада, у поставщика кривая генерация прайсов, в прайсе не указана кодировка, файл нормально открывается в инфра-офисе и в экселе (у которых по умолчанию кодировка win1251), что интересно - утилита xls2csv видимо тоже пытается прочитать кодировку файла и вылетает с ошибкой
price.xls is not OLE file or Error

PHPExel тоже без бубна не станет читать такой файл

В общем скачал я скрипт http://www.artofsolving.com/files/DocumentConverter.py

Для его работы нам надо опен-офис и python-uno, опен офис по причине корректной работы с нашим прайсом я поставил от инфра-ресурса, он ставится в директорию /opt, кстати у меня на сервере Debian Squeeze amd64

Сперва запускаем soffice

/opt/openoffice.org3/program/soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headles&


по ссылке выше мы скачали файл DocumentConverter.py
синтаксис у него простой

python DocumentConverter.py price.xls price.csv

(по расширению автоматически определяется формат для конвертирования)
если вы уже написали свой супер-скрипт, который работает напрямую с xls но не хочет работать с определенным прайсом, можно делать конвертацию в тот же формат, тем самым излечивая xls файл от ошибок

кстати забыл, еще для нормальной работы потребуется xvfb

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

Комменты доступны для анонимных юзеров