понедельник, 23 декабря 2013 г.

PHPPGADMIN post install access

После установки

apt-get install phppgadmin

как правило доступ к ......../phppgadmin  ограничен

управлять доступом можно тут

/etc/apache2/conf.d/phppgadmin


order allow,deny
#allow from 127.0.0.0/255.0.0.0 ::1/128    --  тут можно установить айпи адресса
allow from all           - -  открыть всем

пятница, 13 декабря 2013 г.

Ubuntu 12.04, Chrome, Java

Хорошо расписано по всем версиям https://sites.google.com/site/easylinuxtipsproject/java

Проверить работает ли жава у вас можно тут http://www.java.com/verify
Если не работает качаем и распаковываем куда либо
создаем папку
mkdir /opt/google/chrome/plugins
заходим и создаем ссылку туда куда распаковали
ln -s /usr/local/bin/jre<version>/lib/i386/libnpjp.so
обновите браузер!

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

Включение Java Console для Linux

Откройте окно терминала.
Перейдите в каталог установки Java.
cd /java/jre1.6.0_24 (Измените имя каталога в соответствии с каталогом установки Java)
Откройте панель управления Java. Введите: ./ControlPanel
Панель управления Java также можно открыть в браузере. Запустите браузер Netscape или Mozilla. Откройте файл ControlPanel.html, который, как правило, располагается в каталоге $КАТАЛОГ_УСТАНОВКИ_JAVA/jre/
На панели управления Java перейдите на вкладку Основные.
Нажмите переключатель Показать консоль.
Нажмите кнопку Применить.

Еще вариант зайти в папку с java
/jre1.7.0_51/bin/
запустить ControlPanel.html

среда, 11 декабря 2013 г.

MySql бэкапы и ресторы, пользователи


Бэкапим все подряд
$ mysqldump -u root -p --all-databases > alldb_backup.sql одна или нескольно баз
$ mysqldump -u root -p --databases database1 database2 database3 > content_backup.sql
со сжатием
$ mysqldump -u [uname] -p[pass] [dbname] | gzip -9 > backupfile.sql.gz
Ресторимся
$ mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]
если бэкап сжат
gunzip < [backupfile.sql.gz] | mysql -u [uname] -p[pass] [dbname]


Дамп с "локом" баз
1) FLUSH TABLES WITH READ LOCK; SET GLOBAL read_only = ON;

дампим
2) mysqldump --lock-all-tables -u root -p --all-databases > dump.sql


Отключаем "лок"
3) SET GLOBAL read_only = OFF; UNLOCK TABLES;  


Посмотреть пользователей
SELECT user,host FROM mysql.user;

Добавить пользователя
CREATE USER 'asterisk'@'localhost' IDENTIFIED BY 'password';

Просмотр прав пользователя:
SHOW GRANTS FOR asterisk@localhost;

Выдать права пользователю:
GRANT ALL PRIVILEGES ON  database_name.* TO 'username'@'localhost';

Удалить
DROP USER 'jeffrey'@'localhost';

среда, 4 декабря 2013 г.

VIM.Приемчики.

Заккомментировать блок текста

1)CTRL-v
выбираем строки
2) "I"   (shift+i)
2)"#"
тут выбираем символ комментария
3) ESC

Cron time intervals

Если необходимо периодически запускать приложения в определенные
интервалы времени, можно воспользоватся crontab
например строка
*/5   9-20    * * *  root    /home/script.sh > /dev/null
будет выполнять скрипт каждые 5 мин с 9-00 до 20-55

0 23 * * *   - каждые сутки в 11 вечера

вторник, 19 ноября 2013 г.

POSTGRES бекапимся и ресторимся

Важно!!!
Все операции с базами производятся в зависимости от настроек  доступа в файле
/etc/postgresql/9.3/main/pg_hba.conf
для без парольного доступа необходимо установить режим TRUST


Возможна необходимость смены пароля пользователю postgress
ALTER USER postgres PASSWORD 'newpassword';


Грубо бекапим все
pg_dumpall > outfile

ресторимся
psql -f infile postgres 

побазово
pg_dump dbname > outfile
psql dbname < infile 
С одного сервера на другой

pg_dump -h host1 dbname | psql -h host2 dbname

с использованием архивации

свернуть
pg_dump dbname | gzip > filename.gz
развернуть
gunzip -c filename.gz | psql dbname
или
cat filename.gz | gunzip | psql dbname

Процесс  дампа довольно сильно грузят ЦПУ,  поэтому лучше  его ограничить по ресурсам
cpulimit  -e  pg_dumpPID  --limit=50 -z
cpulimit  -e  gzip  --limit=50 -z

Полный вариант
pg_dump  -U username   --host 127.0.0.1 --port 5432 dbname | gzip > dbname.gz


/usr/bin/pg_basebackup -U postgres -D /tmp/pg_backup -Ft -z -Xf


понедельник, 18 ноября 2013 г.

просто munin

В начале как положено

sudo aptitude update 
1) sudo aptitude install munin munin-node

2) создаем   /var/www/munin

3) Обязательно задать

htmldir /var/www/munin
в munin.conf

3) edit /etc/apache2/conf-available/munin.conf

Alias /munin /var/www/munin
<Directory /var/www/munin>
        Require local
        Options None
#       Order allow, deny
 #      Allow from all

        Require all granted
        Options FollowSymLinks SymLinksIfOwnerMatch

</Directory>

4)  делаем reset
/etc/init.d/apache2  restart
/etc/init.d/munin  restart
/etc/init.d/munin-node restart
Должны появится файлы в
/var/www/munin

5) для авто-запуска

update-rc.d munin-node defaults




понедельник, 28 октября 2013 г.

Беглый осмотр коммутатора DES-3028

Особенность !! удалять символы (shif+backspace)

DES-3028:4#create account admin <username 15>  создать аккаунт с правами пользователя


DES-3028:4#save all         - сохранить все настройки в флеш
Command: save all

Saving all configurations and log information to NV-RAM...... Done.
Success.



DES-3028:4#show ipif   сетевые настройки

IP Interface Settings
Interface Name          : System
IP Address              : 10.2.10.138     (MANUAL)
Subnet Mask             : 255.255.254.0
VLAN Name               : managment
Admin. State            : Enabled
Link Status             : Link UP
Member Ports            : 25-28
DHCP Option12 State     : Disabled
DHCP Option12 Host Name :
Total Entries  : 1



DES-3028:4#show switch


Device Type        : DES-3028 Fast Ethernet Switch
MAC Address        : 84-C9-B2-71-9D-43
IP Address         : 10.2.10.138 (Manual)
VLAN Name          : managment
Subnet Mask        : 255.255.254.0
Default Gateway    : 10.2.11.1
Boot PROM Version  : Build 1.00.B06
Firmware Version   : Build 2.31.B02
Hardware Version   : A2

DES-3028:4#show ports

Port   State/          Settings             Connection           Address
        MDI       Speed/Duplex/FlowCtrl  Speed/Duplex/FlowCtrl    Learning
 -----  --------  ---------------------  ---------------------    --------
 1      Enabled   Auto/Disabled          10M/Half/None            Enabled
        Auto
 2      Enabled   Auto/Disabled          LinkDown                 Enabled
        Auto
 3      Enabled   Auto/Disabled          LinkDown                 Enabled
        Auto
 4      Enabled   Auto/Disabled          LinkDown                 Enabled

DES-3028:5#show ports description    - подписи к портам


DES-3028:4#show vlan   <vlan_name 32>  просмотреть настроеные вланы


VID             : 777         VLAN Name       : voip2
VLAN Type       : Static      Advertisement   : Enabled
Member Ports    : 1,26
Static Ports    : 1,26
Current Tagged Ports   : 26
Current Untagged Ports : 1
Static Tagged Ports    : 26
Static Untagged Ports  : 1
Forbidden Ports        :


Total Entries  : 1


DES-3028:4#create vlan  VLANNAME  tag VLANID  создать новый влан
DES-3028:4#config vlan vlanid 400 advertisement enable
DES-3028:4#config vlan voip2 add tagged  <portlist>  добавить влан с тегированием на порт

все что связано с портами можно указывать  в виде  (1-n)  т.е. диапазон портов

DES-3028:4#config vlan voip2 add untagged <portlist>  добавить влан без тегирования на порт

DES-3028:4#show fdb port 1   показать маки на порту

DES-3028:4#show fdb vlan   показать маки в влане

DES-3028:4#show fdb mac_address 00-1D-7E-D5-F7-22      искать мак на портах

DES-3028:4#clear address_binding dhcp_snoop binding_entry ports all   отключить ограничения на портах на автоматическое получение мака

DES-3028:5#config ports 5 speed 100_full
DES-3028:5#show error ports 5
DES-3028:5#clear counters ports 5
DES-3028:5#cable_diag ports 2
DES-3028:5#sh log

DES-3028:5#cable_diag ports 5
Command: cable_diag ports 5

 Perform Cable Diagnostics ...

 Port   Type      Link Status          Test Result          Cable Length (M)
 ----  -------  --------------  -------------------------  -----------------
  5      FE        Link Down     Pair2 Open      at 52  M          -

Покинуть консоль
logout




среда, 2 октября 2013 г.

kamailio логирование и дебагинг

В основном конфиге указать log_facility
/etc/kamailio.conf

debug=3 # debug level, 1 is low and 4 is high (lots of output)
log_facility=LOG_LOCAL7
loadmodule "/usr/local/lib/kamailio/modules/xlog.so"

Добавить
/etc/rsyslog.conf
# Kamailio (OpenSER) messages, make sure this spacing is done with tabs, spaces may cause errors local7.*        -/var/log/kamailio

Создать файл
touch /var/log/kamailio

Перезапустить kamailio и rsyslog





понедельник, 16 сентября 2013 г.

Приемчики MySQL

Зайти в консоль рутом
#mysql -uroot -p
Посмотреть базы
mysql> show databases;
Выбрать нужную базу
mysql> use databasename;
Посмотреть список таблиц
mysql> show tables;
Просмотреть таблицу
mysql> describe tablename;
Создать базу
mysql> CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
Удалить базу
mysql> DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
Добавить пользователя:
mysql> CREATE USER  jeffrey@localhost   IDENTIFIED BY "mypass"; 
удалить пользователя:drop user opensips2@localhost;
Дать доступ пользователю
mysql> GRANT ALL ON db1.* TO 'jeffrey'@'localhost';
сменить пароль
mysql> update user set password=PASSWORD("new_password_here") where User='root';
Обновить
mysql> flush privileges;
Посмотреть колонки
mysql> select table_name,column_name,data_type from information_schema.columns where table_schema='sedberg' and table_name like 'elp%' order by column_name;
пример
mysql> select src,clid,dst,calldate  from cdr where  dst='121' and src='903';
Посмотреть колличесвто записей в таблице:
SELECT count(*) FROM table_name;
Все записи из таблицы
SELECT * FROM table_name;
Выбор нескольких полей из таблицы
SELECT name, last_name FROM person;
Показать часть таблицы, 3 строки начиная с 2й
SELECT * FROM table_name LIMIT 2,3;
Упорядочить по одной из колонок:
SELECT * FROM person ORDER BY number; 
где number - номер  или имя столбца
упорядочить в обратном порядке
SELECT * FROM person ORDER BY number DESC;
выбрать строки со значением
SELECT * FROM person WHERE name='Дима';
Выбрать похожую строку
SELECT * FROM person WHERE name LIKE 'Di%';
SELECT * FROM person WHERE name LIKE '%na' ORDER BY number ;
SELECT * from person where age in (12,15,18);

SELECT * FROM person WHERE name IS NULL; найти пустые значения?
SELECT * FROM person WHERE name BETWEEN x AND y OR z>max;
Выбрать уникальные значения в колонке
SELECT DISTINCT site FROM table_name;
пример:   select distinct user_agent  from location;
Максимально и мин значения
select max(age) from person;
select name, min(age) from person;

Создать таблицу с колонкой id
create table cdr (id int not null);
Добавить колонку к таблице
ALTER TABLE cdr ADD email VARCHAR(60); (cdr - таблица , email - имя колонки)
ALTER TABLE cdr ADD email VARCHAR(60) AFTER name;
ALTER TABLE cdr ADD email VARCHAR(60) FIRST;

Сменить ТИП данных в столбце
ALTER TABLE table_name MODIFY col_name new_type;
ALTER TABLE users MODIFY active_time1_stop varchar(128)
Удалить столбец
ALTER TABLE x DROP COLUMN a;Изменить значение, "вставить" новые данные
INSERT INTO table_name(site, description) values ('sitename', 'our site-the best')
Изменить значение в нужном поле
UPDATE table_name set site = 'domain.com' where id = '3'
Удалить запись с определенным полем
DELETE from table_name where id = '3'Сложные запросы
SELECT DISTINCT last_name FROM person, address WHERE person.adress_no = address.address_no AND city LIKE 'L%';
или
SELECT DISTINCT last_name FROM person p, address adr WHERE p.adress_no = adr.address_no AND city LIKE 'L%';
SELECT heroes.char_name, heroes.count, char_templates.ClassName FROM char_templates, heroes WHERE char_templates.ClassId = heroes.class_id Order by char_templates.ClassName;
или
SELECT char_name, count, ClassName FROM heroes left join char_templates on heroes.class_id=char_templates.ClassId;
Выборки по двум таблицам
select * from cdr,cdr2 where cdr.age=cdr2.age;


SELECT * FROM `cdr` WHERE (`calldate` BETWEEN '2013-09-14 00:00:00' AND '2013-09-16 00:00:00') and (`dst`= "2330101" or `dst`= "2330102" or `dst`= "914" or `dst`= "915" or `dst`= "2330111" or `dst`= "2331122")
посчитать среднее по одному из столбцов
select calldate,clid,src,dst,uniqueid,billsec,duration,AVG(billsec) as sum  from cdr where src=904;
сумма
select calldate,clid,src,dst,uniqueid,billsec,duration,SUM(billsec) as sum  from cdr where src=904;

Показать колличество звонков за месяц в рабочее время прямо в консоль

mysql -u asterisk -pPassword -D cdr_pbx  -e 'select COUNT(*) from cdr where calldate like "2014-08-%" AND (TIME(calldate) between "09:00:00" AND "18:00:00") AND clid like "%WNet%";'


The preceding sections provide password-resetting instructions for Windows and Unix systems. Alternatively, on any platform, you can set the new password using the mysql client (but this approach is less secure):



Stop mysqld and restart it with the --skip-grant-tables option. This enables anyone to connect without a password and with all privileges. Because this is insecure, you might want to use --skip-grant-tables in conjunction with --skip-networking to prevent remote clients from connecting.


Connect to the mysqld server with this command:shell> mysql



Issue the following statements in the mysql client. Replace the password with the password that you want to use.mysql> UPDATE mysql.user SET Password=PASSWORD('MyNewPass') -> WHERE User='root'; mysql> FLUSH PRIVILEGES;


The FLUSH statement tells the server to reload the grant tables into memory so that it notices the password change.

You should now be able to connect to the MySQL server as root using the new password. Stop the server, then restart it normally (without the --skip-grant-tables and --skip-networking options).


Посмотреть последние строки в таблице;

mysql> select * from CDR2 ORDER BY SETUP_TIME DESC limit 10;

Показать размер базы в МБ
SELECT table_schema "cdr", sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB"  FROM information_schema.TABLES GROUP BY table_schema ; 

INSERT Products(ProductName, Manufacturer, ProductCount, Price)
VALUES ('iPhone X', 'Apple', 5, 76000);


четверг, 8 августа 2013 г.

Проверка и оптимизация всех MySQL


Хорошая MySQL утилита, mysqlcheck, с помощью её можно выполнить сразу несколько полезных операций над всеми базами данных. Команду нужно запускать от суперпользователя root.

Восстановление & Оптимизация
mysqlcheck -A  -p

Только ввостановление
mysqlcheck -Ar -p

Только оптимизация
mysqlcheck -Ao -p

Описание аргументов:
-A – Проверить на ошибки все Mysql базы данных
-r – Отремонтировать все Mysql базы данных
-o – Оптимизировать все Mysql базы данных
-p – Для доступа к базе используєтся пароль

понедельник, 22 июля 2013 г.

tar приемчики

Распаковать архив в папку

tar -xf vtigercrm-5.4.0.tar.gz -C /var/www/
tar -pczf     name_of_your_archive.tar.gz      /path/to/directory
tar zcvf - /media/disk/ | ssh debugger@95.67.3.5 "cat > /home/debugger/call_home.tar.gz"


создать

tar -czvf    name-of-archive.tar.gz     /path/to/directory-or-file

среда, 17 июля 2013 г.

Arno firewall start at boot

Чтобы Арно загружался каждый раз при перезагрузке
необходимо создать сылку

 ln -sv /etc/init.d/arno-iptables-firewall /etc/rcS.d/S41arno-iptables-firewall

Также можно добавить запись сюда "/etc/rc.d/rc.local"

(ln -s /etc/init.d/arno-iptables-firewall script S99-arno-iptables-firewall)

вторник, 16 июля 2013 г.

Downgrade PHP 5.4 to 5.3

Смотрим свою версию пхп

php -v

Добавляем старый репозиторий в  /etc/apt/sources.lst

deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free
Создаем файл

/etc/apt/preferences.d/preferences

Добавляем пакеты, версию которых нужно понизить

Package: php5* 
Pin: release a=oldstable 
Pin-Priority: 700 

Package: libapache2-mod-php5 
Pin: release a=oldstable 
Pin-Priority: 700 

Package: libapache2-mod-php5 
Pin: release a=oldstable 
Pin-Priority: 700 

Package: php-pear 
Pin: release a=oldstable 
Pin-Priority: 700 

Package: * 
Pin: release a=stable 
Pin-Priority: 600 

Переустанавливаем пакет

Чтоб удалить старый ПХП

sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`
aptitude update 
aptitude reinstall php5 
/etc/init.d/apache2 restart

"Удерживать" версию от обновления

Holding packages using dpkg

To hold packages by dpkg, you can execute the following command:

echo "php5 hold" | sudo dpkg --set-selections


To hold all PHP packages, run the following command:

dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections


The following command will show you holding status of your php packages:

sudo dpkg --get-selections | grep ^php

Holding packages using aptitude

You can also hold packages using aptitude e.g.:

sudo aptitude hold php5

Unhold:

sudo aptitude unhold php5

четверг, 11 июля 2013 г.

Debian+Asterisk 13 + FreePbx 2.10.0, 12.0 , 13.0

1)Имеем "голый" debian 
apt-get update && apt-get upgrade -y 

Подготовка к установке, ставим пакеты, все,что может понадобится  и больше
apt-get install  gcc g++ make libncurses5-dev libmysqlclient-dev libxml2 libxml2-dev libtiff4 libtiff4-dev apache2 libapache2-mod-php5 php5-mysql php5-gd php-pear mysql-server openssl libssl-dev bison libncurses5-dev libaudiofile-dev curl sox sudo screen mc vlan vim apache2 mysql-server php5 htop libspandsp-dev subversion libsqlite3-dev
mpg123

apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server\
  mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd curl sox\
  libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3\
  libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev\
  libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev\
  libspandsp-dev sudo libmyodbc subversion


2) Качаем и устанавливаем
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.7.tar.gz
wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2
wget  http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz
http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz
 wget  http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz

Compile and install DAHDI.

If you don't have any physical PSTN hardware attached to this machine, you don't need to install DAHDI.(For example, a T1 or E1 card, or a USB device). Most smaller setups will not have DAHDI hardware, and this step can be safely skipped.
cd /usr/src
tar xvfz dahdi-linux-complete-current.tar.gz
rm -f dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-*
make all
make install
make config
cd /usr/src
tar xvfz libpri-1.4-current.tar.gz
rm -f libpri-1.4-current.tar.gz
cd libpri-*
make
make install

Compile and install pjproject

cd /usr/src
tar -xjvf pjproject-2.4.tar.bz2
rm -f pjproject-2.4.tar.bz2
cd pjproject-2.4
CFLAGS='-DPJ_HAS_IPV6=1' ./configure --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr
make dep
make
make install

Compile and Install jansson

cd /usr/src
tar vxfz jansson.tar.gz
rm -f jansson.tar.gz
cd jansson-*
autoreconf -i
./configure
make
make install

Compile and install Asterisk

cd /usr/src
tar xvfz asterisk-13-current.tar.gz
rm -f asterisk-13-current.tar.gz
cd asterisk-*
contrib/scripts/get_mp3_source.sh
contrib/scripts/install_prereq install
./configure
make menuselect

make
make install
make config
ldconfig
update-rc.d -f asterisk remove

cd /var/lib/asterisk/sounds
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz
tar xvf asterisk-core-sounds-en-wav-current.tar.gz
rm -f asterisk-core-sounds-en-wav-current.tar.gz
tar xfz asterisk-extra-sounds-en-wav-current.tar.gz
rm -f asterisk-extra-sounds-en-wav-current.tar.gz
# Wideband Audio download 
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g722-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz
tar xfz asterisk-extra-sounds-en-g722-current.tar.gz
rm -f asterisk-extra-sounds-en-g722-current.tar.gz
tar xfz asterisk-core-sounds-en-g722-current.tar.gz
rm -f asterisk-core-sounds-en-g722-current.tar.gz





3) Добавим пользователя и группу./
groupadd asterisk
useradd -c "asterisk PBX" -d /var/lib/asterisk -g asterisk asterisk

useradd -m asterisk
chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib/asterisk
rm -rf /var/www/html

sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
service apache2 restart

cat >> /etc/odbcinst.ini << EOF
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1
 
EOF

cat >> /etc/odbc.ini << EOF
[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3
 
EOF


4) Теперь сам  FreePbx
wget http://mirror.freepbx.org/freepbx-2.10.0.tar.gz
(wget http://mirror.freepbx.org/freepbx-2.11.0rc1.tar.gz )
http://mirror.freepbx.org/modules/packages/freepbx/freepbx-12.0-latest.tgz

tar -zxvf freepbx-2.10.0.tar.gz
cd /usr/src/freepbx-2.10.0/

cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
tar vxfz freepbx-13.0-latest.tgz
rm -f freepbx-13.0-latest.tgz
cd freepbx
./start_asterisk start
./install -n

ну как бэ все

5) Если хотим факсы, ставим модуль spandsp c http://www.soft-switch.org
cd /usr/src/spandsp-xxx
./configure
make && make install

или из репозитория
apt-get in
stall libspandsp-dev

6)Если хотим использовать МП3
./contrib/scripts/get_mp3_source.sh

7) Ставим добавки (addons) если версия астериска ниже 1.8

cd /usr/src/asterisk-addons
make clean && make && make install

8) Звуки для IVR и прочих (для 1.8 нет необходимости)
cd /usr/src/asterisk-sounds

make install

4)Готовим базы в "мускуле"
mysql -u root -p
Enter password:
mysql> create database asteriskcdrdb; 
mysql> create database asterisk;      
mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY 'amp109';
mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY 'amp109';
mysql> quit;


5) Создаем таблицы из готовых шаблонов

mysql -u asterisk -pamp109 asteriskcdrdb < /usr/src/freepbx-2.10.0/SQL/cdr_mysql_table.sql
mysql -u asterisk -pamp109 asterisk < /usr/src/freepbx-2.10.0/SQL/newinstall.sql

6) Ставим
mv /etc/asterisk/sip_notify.conf /etc/asterisk/sip_notify.conf.backup
/usr/src/freepbx-2.10.0/start_asterisk start
pear install DB
/usr/src/freepbx-2.9.0/install_amp 

7) Отвечаем на вопросы скрипта

Enter your USERNAME to connect to the ‘asterisk’ database: [asteriskuser]
Enter your PASSWORD to connect to the ‘asterisk’ database: [amp109]
Enter the hostname of the ‘asterisk’ database: [localhost]
Enter a USERNAME to connect to the Asterisk Manager interface: [admin]
Enter a PASSWORD to connect to the Asterisk Manager interface: [amp111]
Enter the path to use for your AMP web root: [/var/www/html] /var/www
Enter the IP ADDRESS or hostname used to access the AMP web-admin: [xx.xx.xx.xx] 10.1.2.3
Enter a PASSWORD to perform call transfers with the Flash Operator Panel: [passw0rd]
Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]? [extensions]
Enter directory in which to store AMP executable scripts: [/var/lib/asterisk/bin]
Enter directory in which to store super-user scripts: [/usr/local/sbin]


8)  Настроим веб сервер на запуск от пользователя "astersik" и перезапустим его
в  /etc/apache2/envvars
меняем
export APACHE_RUN_USER=asterisk
export APACHE_RUN_GROUP=asterisk
после выполнить
chown -R asterisk:asterisk   /var/lock/apache2

или  в /etc/apache2/httpd.conf

User asterisk
Group asterisk

перегружаем апач
/etc/init.d/apache2 restart
на "всякий" 
chown asterisk -R /var/lib/php5/


8а) Тут веб интерфейс должен работать по сылке
ip
login: admin
password: admin

8б) Управление через amportal 
   [root@pbx root]# amportal

----------AMP Control Script-----------
        Usage: amportal start|stop|kill|chown
        start: Starts Asterisk and Flash Operator Panel server
        stop: Gracefully stops Asterisk
        kill: Kills Asterisk
        chown: Sets appropriate permissions on files

   [root@pbx root]# /usr/sbin/amportal stop
   [root@pbx root]# /usr/sbin/amportal start


9) Меняем "дефолтные" пароли на свои
Для MySQL (default amp109) :

 /etc/amportal.conf замена переменной AMPDBPASS
 /etc/asterisk/cdr_mysql.conf   замена переменной    password
 /etc/asterisk/extensions_additional.conf  замена переменной  AMPDBPASS
 /etc/freepbx.conf    замена переменной    $amp_conf['AMPDBPASS']

В настройках MySQL
Effectuer le changement dans la base SQL comme suis :

 /etc/asterisk/manager.conf   замена переменной   secret
 /etc/asterisk/extensions_additional.conf     замена переменной      AMPMGRPASS
 /etc/amportal.conf     замена переменной      AMPMGRPASS

Перегазрузите модуль manager для астериска

NEWPASSWORD='password';
sed -i "s/\(^AMPDBPASS=*\)\(.*\)/\1$NEWPASSWORD/" /etc/amportal.conf
sed -i "s/\(^password = *\)\(.*\)/\1$NEWPASSWORD/" /etc/asterisk/cdr_mysql.conf
sed -i "s/\(^AMPDBPASS = *\)\(.*\)/\1$NEWPASSWORD/" /etc/asterisk/extensions_additional.conf
sed -i "s/\($amp_conf\['AMPDBPASS'\]\\t= '*\)\(.*\)/\1$NEWPASSWORD';/" /etc/freepbx.conf
echo "SET PASSWORD FOR 'asteriskuser'@'localhost' = PASSWORD('$NEWPASSWORD');" | mysql -u root -p

10) Для автозапуска  правим  /etc/rc.d/rc.local

        #!/bin/sh
        #
        # This script will be executed *after* all the other init scripts.
        # You can put your own initialization stuff in here if you don't
        # want to do the full Sys V style init stuff.
        touch /var/lock/subsys/local
        echo Loading wcfxs
        /sbin/modprobe wcfxs
        /usr/sbin/amportal start