Posts Tagged ‘ Linux & Unix

Zentyal Server

Щоб не забути погратись:

Zentyal (раніше відомий під ім’ям eBox Platform) — серверний дистрибутив Linux, побудований на пакетній базі Ubuntu LTS з довготривалою підтримкою, і орієнтований на створення серверів для обслуговування локальних мереж підприємств середнього та малого бізнесу. Zentyal постачається як у вигляді окремого установного Live-дистрибутиву, так і у вигляді набору пакунків для Ubuntu.

Сирцевий код проекту доступний на умовах ліцензії GNU General Public License, а також (частково) під різними власницькими угодами. Zentyal є власністю і спонсорується іспанською комерційною компанією eBox Technologies SL, яка володіє авторськими правами на кодову базу. Примітно, що розробка дистрибутива ведеться у співпраці з проектом Ubuntu і, починаючи з випуску Ubuntu 12.04, пакунки з компонентами Zentyal постачаються у штатному репозиторії Universe.

Керування всіма аспектами роботи дистрибутива проводиться через веб-інтерфейс, в рамках якого об’єднано близько 40 різних модулів для керування мережею, мережевими сервісами, офісним сервером та компонентами інфраструктури підприємства. Розвиток проекту орієнтовано на створення відкритої альтернативи продуктам для управління мережевою інфраструктурою підприємства від компанії Microsoft, таким як Windows Small Business Server, Windows Server, Microsoft Exchange, Microsoft Forefront.

(c) http://uk.wikipedia.org/wiki/Zentyal

Миграция на Zimbra с постороннего почтовика

Для переноса почты с постороннего почтового провайдера к которому у вас нет доступа по ssh, можно использовать Perl утилиту imapsync
Сначала подготовим пакеты

apt-get install makepasswd rcs perl-doc libio-tee-perl git libmail-imapclient-perl libdigest-md5-file-perl libterm-readkey-perl libfile-copy-recursive-perl build-essential make automake libunicode-string-perl libio-socket-ip-perl ibio-tee-perl

Для пущей убедительности можно поставит необходимые пакеты через CPAN

  perl -MCPAN -e "install Mail::IMAPClient"
  perl -MCPAN -e "install Term::ReadKey"
  perl -MCPAN -e "install IO::Socket::SSL"
  perl -MCPAN -e "install Digest::HMAC_MD5"
  perl -MCPAN -e "install URI::Escape"
  perl -MCPAN -e "install File::Copy::Recursive"
  perl -MCPAN -e "install IO::Tee"
  perl -MCPAN -e "install Unicode::String"
  perl -MCPAN -e "install Data::Uniqid"
  perl -MCPAN -e "install Authen::NTLM"

Клонируем репозиторий imapsync

git clone git://github.com/imapsync/imapsync.git

Запускаем установщик

cd imapsync
mkdir dist
sudo make install

Смотрим, что получилось

# imapsync -v
1.607

Read more

snmpd: error on subcontainer ‘ia_addr’ insert (-1)

Если даная ошибка сыпется в лог с завидным постоянством, то в системе есть конфликт IP-адресов.
Нужно убедится, что у вас нет конфликтов, особенно присмотреться к IPv6 адресам
Как вариант – отключить IPv6
Либо можно понизить логирование самого snmpd демона
В файле /etc/default/snmpd немного поправив строку
Read more

Asterisk: список стандартных переменных

Variables present in Asterisk 1.8 and forward:

${CDR(accountcode)} * – Account code (if specified)
${BLINDTRANSFER} – The name of the channel on the other side of a blind transfer
${BRIDGEPEER} – Bridged peer
${BRIDGEPVTCALLID} – Bridged peer PVT call ID (SIP Call ID if a SIP call)
${CALLERID(ani)} * – Caller ANI (PRI channels)
${CALLERID(ani2)} * – ANI2 (Info digits) also called Originating line information or OLI
${CALLERID(all)} * – Caller ID
${CALLERID(dnid)} * – Dialed Number Identifier
${CALLERID(name)} * – Caller ID Name only
${CALLERID(num)} * – Caller ID Number only
${CALLERID(rdnis)} * – Redirected Dial Number ID Service
${CALLINGANI2} * – Caller ANI2 (PRI channels)
${CALLINGPRES} * – Caller ID presentation for incoming calls (PRI channels)
${CALLINGTNS} * – Transit Network Selector (PRI channels)
${CALLINGTON} * – Caller Type of Number (PRI channels)
${CHANNEL} * – Current channel name
${CONTEXT} * – Current context
${DATETIME} * – Current date time in the format: DDMMYYYY-HH:MM:SS (Deprecated; use ${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)})
${DB_RESULT} – Result value of DB_EXISTS() dial plan function
${EPOCH} * – Current unix style epoch
${EXTEN} * – Current extension
${ENV(VAR)} – Environmental variable VAR
${GOTO_ON_BLINDXFR} – Transfer to the specified context/extension/priority after a blind transfer (use ^ characters in place of | to separate context/extension/priority when setting this variable from the dialplan)
${HANGUPCAUSE} * – Asterisk cause of hangup (inbound/outbound)
${HINT} * – Channel hints for this extension
${HINTNAME} * – Suggested Caller*ID name for this extension
${INVALID_EXTEN} – The invalid called extension (used in the “i” extension)
${LANGUAGE} * – Current language (Deprecated; use ${CHANNEL(language)})
${LEN(VAR)} – String length of VAR (integer)
${PRIORITY} * – Current priority in the dialplan
${PRIREDIRECTREASON} – Reason for redirect on PRI, if a call was directed
${TIMESTAMP} * – Current date time in the format: YYYYMMDD-HHMMSS (Deprecated; use ${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
${TRANSFER_CONTEXT} – Context for transferred calls
${FORWARD_CONTEXT} – Context for forwarded calls
${DYNAMIC_PEERNAME} – The name of the channel on the other side when a dynamic feature is used.
${DYNAMIC_FEATURENAME} The name of the last triggered dynamic feature.
${UNIQUEID} * – Current call unique identifier
${SYSTEMNAME} * – value of the systemname option of asterisk.conf
${ENTITYID} * – Global Entity ID set automatically, or from asterisk.conf

Variables present in Asterisk 11 and forward:

${AGIEXITONHANGUP} – set to 1 to force the behavior of a call to AGI to behave as it did in 1.4, where the AGI script would exit immediately on detecting a channel hangup
${CALENDAR_SUCCESS} * – Status of the CALENDAR_WRITE function. Set to 1 if the function completed successfully; 0 otherwise.
${SIP_RECVADDR} * – the address a SIP MESSAGE request was received from
${VOICEMAIL_PLAYBACKSTATUS} * – Status of the VoiceMailPlayMsg application. SUCCESS if the voicemail was played back successfully, {{FAILED} otherwise

SendEmail: invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332

Its a debian bug.
need to change one line in /usr/share/perl5/IO/Socket/SSL.pm

replace this:

m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))$}i

with this:

m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))}i

line 1490.
http://crunchbang.org/forums/viewtopic.php?id=31949

Конвертация xva в KVM формат qcow2

Итак…имеем XenServer на котором крутятся виртуалки.
Задача: нужно перенести их в другое место. А под рукой есть только сервак с KVM

Заходим на Xenserver, делаем Snapshot и сохраняем его куда то.
Закидываем бекап на сервер с KVM
Наш файл имеет формат xva, это ни что иное как обычный архив

Распаковываем его

tar vxf vm1.xva
.....
tar: Ref:50/00008193: implausibly old time stamp 1970-01-01 01:00:00
tar: Ref:50/00008193.checksum: implausibly old time stamp 1970-01-01 01:00:00
...

Read more

Управляем KVM через браузер с помощью WebVirtMgr

При работе с системами виртуализации всегда хочеться получить доступ к хост-машине с любой точки мира и с любого устройства которое есть под рукой. Если пользоваться штатными инструментами KVM, XenServer, VMWare то там необходима установленая консоль управления на локальном ПК и если нужно сделать, что то удаленно и быстро то возникают проблемы… начинаеш ставить консоль, не хватает .Net… поставил его, не хватает чего то другого. В результате, иногда, чтоб перегрузить умершую виртуалку требуется 30-60мин пока все скачаеш и поставишь. Хотя все это можно проделать с консоли за 30сек 🙂
Но мы не об этом.

Тут будет актуально имет скорый доступ к управлению через браузер, что даст возможность подключится даже с телефона.
Приступим к настройке.
Исходные данные: Debian 7.7
Настраиваем все с нуля.
Read more

Cacti: пропадают графики при рестарте tun/tap

Есть мониторилка Cacti, которая снимает показания с интерфейсов на сервере. У сервера подняты vpn тунели tun0 и tap0.
Когда происходит какой то обрыв OpenVPN перезапускает интерфейс (reconnect) и жизнь продолжается, но в этот момент cacti перестает отрисовывать график

Пропажа графика cacti

Пропажа графика cacti


Read more

ssh авторизация по ключу

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

ssh-keygen -t rsa

Теперь отправляем его на тот сервер к которому будем подключаться.

ssh-copy-id -i /root/.ssh/id_rsa root@your.server.de

либо вот так:

cat /root/.ssh/id_rsa | ssh root@your.server.de "mkdir -p /root/.ssh && cat >>  ~/.ssh/authorized_keys"

теперь можно делать так

scp /backup/current.tar.gz root@your.server.de:/backup/

Read more

Просмотр smb-шары из Mint

Если вылетает ошибка монтирования из Nemo (проводник под Mint ) то нужно доставить такую софтинку

apt-get install gvfs-backends

Просмотр S.M.A.R.T у hdd подключенных к LSI Megaraid

Есть HDD подключенные к SAS RAID контроллеру Dell Perc 5/i он же LSI MegaLogic 1068
Для просмотра подробного статуса состояния HDD можно восмользоваться пакетом smart
Устанавливаем:

apt-get install smartmontools

Но так как они спрятаны за контроллером, то нужны драйвера ядра megaraid

lsmod | grep megaraid
megaraid_sas           68571  4 
scsi_mod              162321  6 megaraid_sas,libata,ses,sd_mod,sr_mod,sg

Read more