Установка сервера AAA (FreeRadius)

В системах RedHat достаточно установить ААА-сервер из репозитария:

yum install freeradius freeradius-mysql

Запустить сервис и проверить что последний запущен успешно:

/etc/init.d/radiusd start
Запускается сервер RADIUS: Wed Mar 24 13:51:06 2010 : Info: Starting - reading configuration files ... [  OK  ]

Создать БД

mysql -u root

mysql> create database radius;

mysql> GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "vjhtvbhf";

Загрузить дамп freeradius в созданную БД:

mysql -u radius -p'vjhtvbhf' radius < /usr/share/doc/freeradius-1.1.3/examples/mysql.sql

Прием факсов в системе FreePBX

Настроим в диалплане правила отправки факса на почтовый адрес:
/etc/asterisk/extensions_custom.conf

[fax-so]
exten => s,1,answer()
exten => s,n,Goto(in_fax,1)
exten => in_fax,1,StopPlayTones
exten => in_fax,n,Set(EMAILADDR=sf@nagg.ru)
exten => in_fax,n,Set(FAX_RX_FROM=fax@vester.ru)
exten => in_fax,n,Set(FAXFILE=/var/spool/hylafax/recvq/fax000000001.tif)
exten => in_fax,n,set(__call-from=${CALLERID(number)})
exten => in_fax,n,set(CALLERID(number)=${UNIQUEID})
exten => in_fax,n,Dial(IAX2/iaxmodem/${UNIQUEID})
exten => in_fax,n,wait(5)
exten => in_fax,n,Hangup
exten => h,1,system(/usr/bin/mutt -s "New Fax message from id:${URIENCODE(${CALLERID(number)})} ${URIENCODE(${CALLERID(name)})}" -a ${FAXFILE} ${EMAILADDR} < /dev/null)
exten => h,n,system(/var/lib/asterisk/bin/fax-clear.sh)

Содержание скрипта /var/lib/asterisk/bin/fax-clear.sh

#!/bin/bash
# Выборка первой строки из файла seqf ######################
#NCOUNT="awk 'NR==1 {print $1}' /var/spool/hylafax/recvq/seqf"
#
rm -f /var/spool/hylafax/recvq/*.tif
echo '0' > /var/spool/hylafax/recvq/seqf

Создаем во FreePBX собственный маршрут назначения в описанный диалплан:

Как узнать пароль от ISPmanager

Если на вашем сервере стоит ISPmanager, а пароль root от mysql вы забыли, то можно всегда его увидеть, имея доступ к консоли сервера:

cat /usr/local/ispmgr/etc/ispmgr.conf | grep "Password " | grep -v "Change" | head -n 1 | awk '{print $2}' | tr -d "\n"

Error: retry time not reached for any host after a long failure period

При появлении данной ошибки в логе Вашего МТА, нужно выполнить следующие действия:

cd /var/spool/exim/db
rm -f retry && rm -f retry.lockfile
rm -f wait-remote_smtp && rm -f wait-remote_smtp.lockfile

FreePBX: Too many files error message in recordings / call monitor

Обычно многие админы видят подобную ошибку в веб-интерфейсе записи разговоров FreePBX. Виной тому ограничение, установленное разработчиками в 3000 файлов, больше, наверное подумали они, это уже слишком :-)
Но тем, кому все же необходимо преодолеть данный лимит, есть простая инструкция:

1. Находим требуемый нам файл main.conf.php на Вашем сервере:

find / -name 'main.conf.php'

2. Устанавливаем переменной $SETTINGS_MAX_FILES нужное значение:

vi /var/www/recordings/includes/main.conf.php
+$SETTINGS_MAX_FILES=9000

На этом все, можно пользоваться интерфейсом записи разговоров дальше.

InnoDB: Unable to lock ./ibdata1, error: 11

Ошибка выглядит следующим образом:

InnoDB: Unable to lock /path/to/ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.

Чтобы исправить ошибку, делаем следующие шаги:

/etc/init.d/mysql stop
mv /var/lib/mysql/ibdata1 /var/lib/mysql/ibdata1.bak
cp -a /var/lib/mysql/ibdata1.bak /var/lib/mysql/ibdata1

Запускаем сервис mysql:

/etc/init.d/mysql start

Apache: исключить один url из Basic Auth

В данном примере мы будем использовать модуль mod_setenvif: http://httpd.apache.org/docs/2.2/mod/mod_setenvif.html

<Location /security/>
# set an environtment variable "noauth" if the request starts with "/callbacks/"
SetEnvIf Request_URI ^/security/openzone/ noauth=1

# auth block
AuthName "ACCESS ZONE"
AuthType Basic
AuthUserFile /www/mysite.ru/.htpasswd

# Here is where we allow/deny
Order Deny,Allow
Satisfy any
Deny from all
Require valid-user
Allow from env=noauth
</Location>

Cisco ASA: настроить ssh доступ

Итак, нам нужно настроить доступ SSH для управления железкой. Приступим:

Определим имя железки

hostname cisco-asa

Домен

ip domain-name mycompany.local

Сгенерируем ключ:

crypto key generate rsa

Настраиваем параметры аутентификации

aaa authentication ssh console LOCAL
username LOGIN password PASSWORD
password PASSWORD

Mysql – создание бд и заведение пользователей

Создадим БД с кодировкой UTF8:

CREATE DATABASE `db1` CHARACTER SET utf8 COLLATE utf8_general_ci;

или с кодировкой CP1251:

CREATE DATABASE `db1` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;

Предоставим доступ к этой БД пользователю db1-user:

GRANT ALL PRIVILEGES ON db1.* TO 'db1-user'@'localhost' IDENTIFIED BY 'password';

Обновим права:

FLUSH PRIVILEGES;

Чтобы сменить права пользователю:

SET PASSWORD FOR 'myuser'@'localhost' = PASSWORD('newpass');
FLUSH PRIVILEGES;

Чтобы посмотреть текущие права пользователя:

SHOW GRANTS FOR 'myuser'@'localhost';

Для того чтобы дать пользователю права только чтение (read-only):

GRANT SELECT ON db1.* TO 'db1-user'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT ON db1.* TO 'db1-user'@'%' IDENTIFIED BY 'password';

Сделать дамп одной таблицы в БД:

mysqldump -u -p'password' db1 table1 > /tmp/table1.sql

Восстановить дамп таблицы в БД:

mysql -u -p'password' db2 < /tmp/table1.sql

Вывод всех запросов mysql в консоли:

echo "show full processlist\G" | mysql -uroot -p'password'

Включаем syntax highlighting в терминале Mac OS X

Сначала включим подсветку цветом типов файлов в терминале:

vi ~/.profile

## Syntx highlighting enable
export CLICOLOR=cons25

Далее, включим подсветку синтаксиса в редакторе vi:

vi ~/.vimrc

:syntax on               " syntax highlighting
:set autoindent          " auto indenting
:set ai                  " auto indenting
:set cindent
:set history=200         " keep 200 lines of history
:set ruler               " show the cursor position
:set hlsearch            " highlight the last searched term
:filetype plugin on      " use the file type plugins
:set backspace=2         " press 'i' key to switch vim to Insertion Mode
:set term=builtin_xterm