Установка ASTPP v.3.6 на Debian 8

Установка ASTPP v.3.6 на Debian 8

Ранее в статье мы рассматривали ASTPP – открытую биллинг-систему для FreeSWITCH. Сегодня я бы хотел поделиться тем, как установить ASTPP на ОС Debian 8. Я предполагаю, что установка базовых пакетов, зависимостей и FreeSWITCH у вас установлены. Если нет, то в этой статьей я подробно рассказывал о том, как установить FreeSWITCH 1.8 на Debian 8.

Установка ASTPP из исходников

1. Скачиваем ASTPP

# Скачаем ASTPP 3.6 с git
cd /usr/src
git clone -b v3.6 https://github.com/iNextrix/ASTPP

2. Меняем сценарий работы Apache

Поскольку мы будем использовать Nginx, то необходимо либо изменить порт Apache по умолчанию, либо удалить его. В противном случае в процессе установки могут возникнуть проблемы

3. Установим необходимые пакеты для ASTPP

Для тех, кто устанавливал FreeSWITCH по инструкции отсюда, данный пункт пропускаем.

apt-get -o Acquire::Check-Valid-Until=false update
apt-get install -y curl libyuv-dev libvpx2-dev nginx php7.0-fpm php7.0 php7.0-mcrypt libmyodbc unixodbc-bin php7.0-dev php7.0-common php7.0-cli php7.0-gd php-pear php7.0-cli php7.0-apc php7.0-curl libxml2 libxml2-dev openssl libcurl4-openssl-dev gettext gcc g++

4. Настраиваем ASTPP

#Настраиваем доступ и лог-файлы
touch /var/log/nginx/astpp_access_log
touch /var/log/nginx/astpp_error_log
touch /var/log/nginx/fs_access_log
touch /var/log/nginx/fs_error_log
php5enmod mcrypt
systemctl restart php7.0-fpm
service nginx reload

Настраиваем ASTPP для использования с FreeSWITCH

1. Настраиваем загрузочные скрипты FreeSWITCH

cp /usr/src/ASTPP/freeswitch/init/freeswitch.debian.init /etc/init.d/freeswitch
chmod 755 /etc/init.d/freeswitch
chmod +x /etc/init.d/freeswitch
update-rc.d freeswitch defaults
chkconfig --add freeswitch
chkconfig --level 345 freeswitch on

2. Настраиваем ASTPP для работы с FreeSWITCH

#Создание структуры каталогов для ASTPP
mkdir -p /var/lib/astpp/
mkdir -p /var/log/astpp/
mkdir -p /usr/local/astpp/
mkdir -p /var/www/

#Установка разрешений
chown -Rf root.root /var/lib/astpp/
chown -Rf www-data.www-data /var/log/astpp/
chown -Rf root.root /usr/local/astpp/
chown -Rf www-data.www-data /var/www/

#Настройка скриптов и звуков для FreeSWITCH
cp -rf /usr/src/ASTPP/freeswitch/scripts/* /usr/local/freeswitch/scripts/
cp -rf /usr/src/ASTPP/freeswitch/fs /var/www/html/
cp -rf /usr/src/ASTPP/freeswitch/sounds/*.wav /usr/local/freeswitch/sounds/en/us/callie/
chmod -Rf 777 /usr/local/freeswitch/sounds/en/us/callie/
rm -rf /usr/local/freeswitch/conf/dialplan/*
touch /usr/local/freeswitch/conf/dialplan/astpp.xml
rm -rf /usr/local/freeswitch/conf/directory/*
touch /usr/local/freeswitch/conf/directory/astpp.xml
rm -rf /usr/local/freeswitch/conf/sip_profiles/*
touch /usr/local/freeswitch/conf/sip_profiles/astpp.xml

Установка web интерфейса ASTPP

mkdir -p /var/lib/astpp
cp /usr/src/ASTPP/config/* /var/lib/astpp/
#Установка web интерфейса ASTPP
mkdir -p /var/www/html/astpp
cp -rf /usr/src/ASTPP/web_interface/astpp/* /var/www/html/astpp/
chown -Rf www-data.www-data /var/www/html/astpp
cp /usr/src/ASTPP/web_interface/nginx/deb_* /etc/nginx/conf.d/
chmod -Rf 755 /var/www/html/astpp
touch /var/log/astpp/astpp.log
chown -Rf www-data.www-data /var/log/astpp/astpp.log

Установка базы данных ASTPP

#Перезапустим службу mysql
systemctl restart mysql
mysql -uroot -e "UPDATE mysql.user SET password=PASSWORD('MYSQL_ROOT_PASSWORD') WHERE user='root'; FLUSH PRIVILEGES;"
#Создание БД 'astpp'
mysql -uroot -pMYSQL_ROOT_PASSWORD -e "create database astpp;"
mysql -uroot -pMYSQL_ROOT_PASSWORD -e "CREATE USER 'astppuser'@'localhost' IDENTIFIED BY 'ASTPP_USER_PASSWORD';"
mysql -uroot -pMYSQL_ROOT_PASSWORD -e "GRANT ALL PRIVILEGES ON `astpp` . * TO 'astppuser'@'localhost' WITH
GRANT OPTION;FLUSH PRIVILEGES;"
mysql -uroot -pMYSQL_ROOT_PASSWORD astpp < /usr/src/ASTPP/database/astpp-3.0.sql
mysql -uroot -pMYSQL_ROOT_PASSWORD astpp < /usr/src/ASTPP/database/astpp-upgrade-3.5.sql
mysql -uroot -pMYSQL_ROOT_PASSWORD astpp < /usr/src/ASTPP/database/astpp-upgrade-3.6.sql

#Установка ODBC подключения для MySQL
cp /usr/src/ASTPP/misc/odbc/deb_odbc.ini /etc/odbc.ini
cp /usr/src/ASTPP/misc/odbc/deb_odbcinst.ini /etc/odbcinst.ini

#Обновление логина mysql в odbc
sed -i "s#PASSWORD = PASSWORD#PASSWORD = MYSQL_ROOT_PASSWORD#g" /etc/odbc.ini

Примечание: Заменить “mysql_root_password” на пароль root пользователя и пароль пользователя “astpp_user_password” на ваши.

Объединяем конфигурацию ASTPP и FreeSWITCH

cp /usr/src/ASTPP/freeswitch/conf/autoload_configs/* /usr/local/freeswitch/conf/autoload_configs/
#Редактируем пароль БД в автозагрузочных файлах.
sed -i "s#dbpass = PASSSWORD#dbpass = MYSQL_ROOT_PASSWORD#g" /var/lib/astpp/astpp-config.conf
sed -i "s#DB_PASSWD="PASSSWORD"#DB_PASSWD = "MYSQL_ROOT_PASSWORD"#g" /var/lib/astpp/astpp.lua

#Редактируем URL в конфигурации ASTPP
sed -i "s#base_url=http://localhost:8089/#base_url=http://SERVER_DNS/IP_ADDRESS:8089/#g" /var/lib/astpp/astpp-config.conf

Примечание: Замените “SERVER_DNS/IP_ADDRESS” на ваш адрес DNS или IP адрес

Финальный этап установки и запуск службы

#Настройка PHP
sed -i "s#short_open_tag = Off#short_open_tag = On#g" /etc/php/7.0/fpm/php.ini
sed -i "s#;cgi.fix_pathinfo=1#cgi.fix_pathinfo=1#g" /etc/php/7.0/fpm/php.ini
sed -i "s/max_execution_time = 30/max_execution_time = 3000/" /etc/php/7.0/fpm/php.ini
sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 20M/" /etc/php/7.0/fpm/php.ini
sed -i "s/post_max_size = 8M/post_max_size = 20M/" /etc/php/7.0/fpm/php.ini
sed -i "s/memory_limit = 128M/memory_limit = 512M/" /etc/php/7.0/fpm/php.ini
systemctl restart php7.0-fpm
systemctl restart nginx
#Настройка службы для запуска
systemctl disable apache2 #Если вы используете Apache, удалите его или измените порт по умолчанию
otherwise your gui will not up
systemctl enable nginx
systemctl enable php7.0-fpm
systemctl start mysql
systemctl start freeswitch
chkconfig --levels 345 mariadb on
chkconfig --levels 345 freeswitch on

Примечание: Если вы хотите использовать iptables, настройте его, чтобы разрешить все порты, используемые во FreeSWITCH и ASTPP. Установка Cron

# Генерация счетов-фактур
0 12 * * * cd /var/www/html/astpp/cron/ && php cron.php GenerateInvoice
# Уведомление об обновлении баланса
0 12 * * * cd /var/www/html/astpp/cron/ && php cron.php UpdateBalance

# Уведомление о недостаточности средств на балансе
0 0 * * * cd /var/www/html/astpp/cron/ && php cron.php LowBalance

# Обновление курса валют
0 0 * * * cd /var/www/html/astpp/cron/ && php cron.php CurrencyUpdate

# Рассылка по электронной почте
0 0 * * * cd /var/www/html/astpp/cron/ && php cron.php BroadcastEmail

Перезапускаем сервер.

reboot now

После перезагрузки убеждаемся, что все службы работают

systemctl status nginx
systemctl status mysql
systemctl status freeswitch
systemctl status php7.0-fpm

Быстрая установка ASTPP на Debian 8 и CentOS 7

Для тех, кто сначала делает, а потом читает, заключение не понравится :).
Установка производится на “чистую” систему с нуля. По окончании работы скрипта, вы получите FreeSWITCH + ASTPP.

cd /usr/src/
wget --no-check-certificate http://bit.do/astpp36-installation -O install.sh
chmod +x install.sh
./install.sh

Вы закончили установку GUI. Наслаждайтесь :). Посетите страницу администратора ASTPP в своем веб-браузере по адресу: http://server_ip:8089/.
Имя пользователя и пароль по умолчанию – «admin».
Примечание. В случае возникновения каких-либо проблем обратитесь к журналу ошибок apache.>
Если возникли вопросы – задавайте их в комментариях.