2015-03-25

Установка CentOS на XenServer через VNC

При установке CentOS на Citrix XenServer постоянно не хватает графики при установке через консоль. Объехать этот момент можно с использованием опции vnc при создании виртуальной машины. В таком случае после ввода сетевых настроек будет запущен vnc сервер на порту 5901, подключившись к которому можно произвести установку в графике. Через зад, но удобно :)

Читать далее

2015-03-24

ThunerBird для корпоратива

В ПРОЦЕССЕ НАПИСАНИЯ!!!! НЕ ЗАКОНЧЕНО!!!

В предыдущей теме мы пытались, как оказалось, перекопать огород зубочисткой, а хотели от нас совсем другого. А хотели от нас... Тут заинтригую и не скажу.

А пока задача вот такая. Вся контора сидит на thunderbird версии от 2 до 31. Есть адресная книга на ldap, и ко всем клиентам она привязана. Нужно чтобы ко всем письмам прикреплялась подпись, в содержании которой будет ФИО, контакты, должность, компания, адрес и логотип. На данный момент есть 4 почтовых сервера, из которых 3 для пользователей. Везде postfix, на 2-х dovecot, на одном cyrus-imapd. В будущем эти три объединим в один cyrus-imapd. Общее количество ящиков - порядка 500. Те что на dovecot сидят на POP, cyrus-imapd - на IMAP.

Карочи, заапарк йурскага периада.

Конечно, будет все приводится в порядок, а пока цель - подпись, благо есть адресная книга и при должном напильнике thunderbird можно превратить в классный корпоративный клиент. По крайней мере так в инете пишуть :) А чо, а мы попробуем...

Во первых, пока говорить будем о версии 31.5. За старичков возможно отдельно что-то скажем, а может и нет.

Файл который нас интересует - omni.ja. Файл являетс jar архивом. В нем есть файлы greprefs.js и default/prefs/all-thunderbird.js. Сие есть файл с глобальными настройками, которые, насколько я понял, менее приоритетные, чем настройки из файла prefs.js, который лежит в профиле.
Есть у меня такое впечатление, что default/prefs/all-thunderbird.js это тот же greprefs/all.js из знаменитой статьи на хабре(http://habrahabr.ru/post/101905/). Кстати, спасибо автору, статья была одним из источников для сего творения.

Редактируем default/prefs/all-thunderbird.js, добавляем туда строку

pref("general.config.filename", "thunderbird.cfg");

После чего создаем файл thunderbird.cfg, и располагаем его возле файла omni.ja

Настроим в нем, например, нашу адресную книгу:



Читать далее

2015-03-18

Корпоративная подпись в почте. Add A Disclaimer To Outgoing Emails With alterMIME

Выполнено на базе статьи http://habrahabr.ru/post/242185/

Предполагается, что необходимые пакеты находятся в /u02/install/ (addAttachFilter.pl, altermime-0.3.10.tar.gz)

antares:~ # cd /u02/install/
antares:/u02/install # tar -xvzf altermime-0.3.10.tar.gz
antares:/u02/install # cd altermime-0.3.10/

Дальше моя инициатива. При компиляции получаем ошибку:

cc1: warnings being treated as errors
qpe.c: In function ‘qp_encode’:
qpe.c:94: error: format ‘%d’ expects type ‘int’, but argument 5 has type ‘size_t’
make: *** [qpe.o] Error 1

Основываясь на подсказке компилятора, в файлах qpe.c и qpe.h меняем size_t на int.

ВНИМАНИЕ!!! Если у вас ошибки нет(версия компилятора старенькая), то менять исходники не надо!!!

Компилим и ставим:

antares:/u02/install/altermime-0.3.10 # make
cc -Wall -Werror -g -I. -O2  -c qpe.c
cc -Wall -Werror -g -I. -O2  altermime.c strstack.o mime_alter.o ffget.o pldstr.o filename-filters.o logger.o MIME_headers.o libmime-decoders.o boundary-stack.o qpe.o -o altermime
antares:/u02/install/altermime-0.3.10 # make install
strip altermime
cp altermime /usr/local/bin
chmod a+rx /usr/local/bin/altermime

Вроде без ошибок.
Дальше в соответствии с документацией (брал из deb пакетов, ибо с сайта ее не дернешь - ссылки не работают:

antares:/u02/install/altermime-0.3.10 # useradd -r -c "Postfix Filters" -d /var/spool/filter filter
antares:/u02/install/altermime-0.3.10 # mkdir /var/spool/filter
antares:/u02/install/altermime-0.3.10 # chown filter /var/spool/filter
antares:/u02/install/altermime-0.3.10 # chmod 750 /var/spool/filter


postfix_filter.sh берем также из deb пакета и копируем в

antares:/u02/install/altermime-0.3.10 # cp /u02/install/postfix_filter.sh /etc/postfix/disclaimer
antares:/u02/install/altermime-0.3.10 # chown filter /etc/postfix/disclaimer
antares:/u02/install/altermime-0.3.10 # chmod 750 /etc/postfix/disclaimer

antares:/u02/install/altermime-0.3.10 # touch /etc/postfix/disclaimer_addresses
 

Вносим в disclaimer_addresses какие-нибудь адреса из тех, к которым нужно цеплять подпись, так что файл будет иметь вид:


mail1@domain.com
khsdkfh@domain.com
jdjdj@domain.com

Файле /etc/postfix/disclaimer приводим к виду:

#!/bin/sh
# Localize these.
INSPECT_DIR=/var/spool/filter
SENDMAIL=/usr/sbin/sendmail
DISCLAIMER_ADDRESSES=/etc/postfix/disclaimer_addresses

# Exit codes from
EX_TEMPFAIL=75
EX_UNAVAILABLE=69

# Clean up when done or when aborting.
trap "rm -f in.$$" 0 1 2 3 15

# Start processing.
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit
$EX_TEMPFAIL; }

cat >in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }

####### Changed From Original Script #######
# obtain From address
from_address=`grep -m 1 "From:" in.$$ | cut -d "<" -f 2 | cut -d ">" -f 1`

if [ `grep -wi ^${from_address}$ ${DISCLAIMER_ADDRESSES}` ]; then
    /usr/local/bin/altermime --input=in.$$ \
        --disclaimer=/etc/postfix/disclaimer.txt \
        --disclaimer-html=/etc/postfix/disclaimer.txt \
        --xheader="X-Copyrighted-Material: Please visit http://www.company.com/privacy.htm" || \
            { echo Message content rejected; exit $EX_UNAVAILABLE; }
fi
####### Changed From Original Script END #######

$SENDMAIL -oi "$@"
exit $?


Создаем файл с подписью:

antares:/u02/install/altermime-0.3.10 # touch /etc/postfix/disclaimer.txt

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

Пусть всегда будет солнце!
Пусть всегда будет небо!!
Пусть всегда будем мама!!!
Пусть всегда буду я!!!!

В файле /etc/postfix/master.cf меняем

smtp      inet  n       -       n       -       -       smtpd

на

smtp      inet  n       -       n       -       -       smtpd
        -o content_filter=dfilt:


и в конце добавляем:

dfilt     unix    -       n       n       -       -       pipe
    flags=Rq user=filter argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient} 


Ну и рестартуем постфикс после этого.

Ну и что не маловажно - после этого имеем маленькую радость - письма адресатов из файла disclaimer.txt автоматически дописываются веселым жизнейтверждающим лозунгом ;)

То есть прилепить принудительно текстуху при прохождении письма через MTA - это мы сделали.

Но нам этого мало.

Обновление от 23.03.2015 - нам этого оказалось вообще не так надо. Руководство промеж собой перетерло и решилось на кровавый вариант. Он будет описан отдельно. Так что данную тему пока закрываем.


Читать далее