Установка и настройка GoIP СМС-сервера

На примере настрою GoIP СМС-сервер в Ubuntu Server 14.04 LTS x64.
Переключимся сразу на root пользователя:

sudo -i

Обновим систему и установим веб-сервер и mysql сервер:

apt-get update
apt-get upgrade
apt-get install apache2 php5 mysql-server

Посмотрим есть ли новые версии СМС сервера тут http://www.hybertone.com/en/news_detail.asp?newsid=21
(Архив с версией которую устанавливал я можно скачать тут — https://drive.google.com/open?id=0B6jR5-c775m9bEtTZUNQankzcWc)
Скачаем во временную директорию архив с goip смс-сервером и запустим скрипт установки:

cd /tmp
wget http://118.142.51.162/update/goip_install-v1.24.2.tar.gz
tar xvfz goip_install-v1.24.2.tar.gz
cd goip_install
./goip_install.sh

Во время установки ответим на несколько вопросов:
1) Расположение директории с конфигурацией веб-серера (создастся файл с веб настройками), в моем случае это /etc/apache2/conf-enabled
2) Пароль root пользователя к Mysql серверу (создастся база goip)
3) Расположение Mysql, стандартно оно так и есть /usr/bin/mysql, просто жмем Enter

Перезапустим веб-сервер чтоб загрузился файл с настройками из /etc/apache2/conf-enabled:

service apache2 restart

В браузере уже можно открыть панель управления смс-сервером http://сервер/goip
У меня отобразилась ошибка:

Forbidden
You don’t have permission to access /goip on this server.

Причиной этому устаревшие параметры в /etc/apache2/conf-enabled/goip.conf, закомментируем две строки символом # и добавим строку после них:

#    Order allow,deny
#    Allow from all
Require all granted

После этого все открылось, стандартный логин и пароль root.

Приступим к настройке.
В «System Manage» — «Provider Manage» добавим провайдера, для этого укажем в Provider(1) его имя или просто номер самими цифрами.

Теперь перейдем в «System Manage» — «GoIP Manage«, вверху нажмем «Add GoIP» и добавим аккаунт для первого канала GoIP шлюза (первой сим).
ID:ks1
Batch Lines:1
Provider:созданный провайдер
Password:пароль
Confirm Password:пароль

Откроем веб-интерфейс GoIP шлюза и перейдем в «Configurations» — «SMS» где укажем параметры этого аккаунта.
SMS Server:Enable
SMS Server IP: адрес СМС-сервера
SMS Server Port:44444
SMS Client ID: ks1
Password: пароль
Send SMSC Number: Enable

После этого в СМС-сервере «System Manage» — «GoIP Manage» должен отобразится статус «Login«.

Если статус Login не появляется, у меня так было на Ubuntu Server 14.04 LTS x64 и замечал сообщение:

but cannot get response from process named «goipcron»

Для решения этой проблемы пришлось доставить библиотеки:

cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
ln -s /var/run/mysqld/mysqld.sock /var/lib/mysql/mysql.sock

И наново запустить goipcron:

cd /usr/local/goip
./run_goipcron

Для автозапуска run_goipcron создадим файл например используя редактор nano:

sudo nano /etc/init.d/goipcron

Добавим в файл:

#! /bin/sh
cd /usr/local/goip
./run_goipcron

Сделаем файл выполняемым:

sudo chmod +x /etc/init.d/goipcron

И добавим в автозагрузку:

sudo update-rc.d goipcron defaults 80

На сервере в случае проблем с соединением можно ловить пакеты через tcpdump например так:

tcpdump -i any -vnn -s0 port 44444

Сервер может принимать POST и GET запросы, приведу пример отправки СМС (номеров получателей можно указать несколько через запятую без пробелов):

http://192.168.1.21/goip/en/dosend.php?USERNAME=логин&PASSWORD=пароль&smsprovider=1&goipname=ks1&smsnum=номерполучателя&method=2&Memo=текст сообщения

Входящие СМС можно увидеть в Send Message — Inbox, исходящие в Send Message — Examine Sendings.
Чтобы не писалась статистика звонков (у меня ее пишет Asterisk), в System ManageSystem Manage поставим Disable напротив GoIP Report Record, а также поставим Disable на Save message before sending(browser should support javascript) чтобы не использовать java со стороны клиента при отправке СМС через API.

Приведу примеры SQL запросов которыми можно посмотреть/посчитать количество СМС отправленных/доставленных, отправленных/не доставленных за все время и в конкретную дату:

SELECT * FROM `sends` WHERE received=1;
SELECT * FROM `sends` WHERE received=0;
SELECT * FROM `sends` WHERE received=0 AND time LIKE '2017-02-05%';

Если на Linux используется iptables, то добавим правило разрешающее подключение Goip4 шлюза (где 192.168.2.2 — адрес Goip4 шлюза):

iptables -A INPUT -s 192.168.2.2/32 -p udp -m udp --dport 44444 -j ACCEPT

6 thoughts on “Установка и настройка GoIP СМС-сервера”

  1. на последних версиях PHP нет функции mysql_connect()
    Вот что пишет Fatal error: Uncaught Error: Call to undefined function mysql_connect() in
    Сейчас используют mysqli_connect()
    Нужно весь код переписывать :)))

  2. У меня установлено по инструкции и работает на PHP 5.5.9
    Посмотрите есть ли на официальном сайте новые версии СМС сервера.

  3. День добрый, подскажите без ошибок ли у вас работает отложенная отправка смс по времени, через родной смс-сервер?
    У меня отправка смс сразу через http запрос или веб-интерфейс работает нормально, но отложенная отправка по времени через веб-интерфейс или xml-файл не работает, вызывая ошибку смс сервера.

  4. Добрый день. Делаю рассылку СМС только через HTTP API, например как я описывал в этом скрипте https://ixnfo.com/skript-otpravki-sms-cherez-goip4-shlyuz.html, скрипты запускаются в запланированное время через cron, из веб-интерфейс пару раз отправлял, через xml-файл не пробовал так как не нашел примера структуры файла.

  5. Ubuntu 17.04 (GNU/Linux 4.10.0-33-generic x86_64)

    Проблема запуска
    root@Asterisk:/usr/local/goip# ./run_goipcron
    ./goipcron: error while loading shared libraries: libgssapi_krb5.so.2: cannot open shared object file: No such file or directory
    goipcron start
    root@Asterisk:/usr/local/goip#

    Решилась так apt-get install libgssapi-krb5-2:i386

  6. Автору огромное спасибо, это мой первый опыт с линуксом, все поставил.
    Подключилось не сразу, при установке библиотек выдало «невозможно создать ссылку, файл существует».
    А вот правило добавляющее шлюз сработало и все завелось! :)

Добавить комментарий