Escolar Documentos
Profissional Documentos
Cultura Documentos
blog.remontti.com.br/3812
Ouvir tutorial
Um sistema de portal móvel flexível baseado na Web que pode ser adaptado a vários
serviços, como um gateway SMS, provedor de SMS em massa, sistema de mensagens
pessoais, ferramentas de comunicação corporativa e de grupo.
Requisito:
1- Debian 10 Stretch / Instalação Limpa
2- Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no
Debian 10 Buster “LAMP”
Instalação do PHP 7.3 (Requisito)
Instalação do MariaDB 10.3 (Requisito)
Instalação do Apache 2.4 (Requisito)
phpMyAdmin :: (Opcional)
Repositório
1 # vim /etc/apt/sources.list
Certifique-se de que ao final de cada repositório tenha contrib non-free, se não tiver
adicione.
Ex.:
1/16
1 deb http://deb.debian.org/debian/ buster main contrib non-free
2 deb-src http://deb.debian.org/debian/ buster main contrib non-free
3 deb http://security.debian.org/debian-security buster/updates main contrib non-free
4 deb-src http://security.debian.org/debian-security buster/updates main contrib non-free
5 # buster-updates, previously known as 'volatile'
6 deb http://deb.debian.org/debian/ buster-updates main contrib non-free
7 deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free
8
9
Vamos precisar mais alguns pacotes e extensões do PHP extras, aqui vem um porém o
pacote php-mcrypt não esta mais disponivel na versao 7.3 do php, então vamos instala-lo
um pouco diferente.
1 # phpenmod mcrypt
Restart apache2
1 # mysql -p
2/16
Vamos usar o script de instalação install-playsms.sh. O script está incluído no pacote do
playSMS. A versão atual é do playSMS é a 1.4.
Vamos fazer download do projeto e extraia o pacote em /usr/local/src.
1 # cd /tmp/
2 # wget
3 https://sourceforge.net/projects/playsms/files/playsms/Version%201.4.2/playsms-
4 1.4.2.tar.gz
# tar -zxf playsms-1.4.2.tar.gz -C /usr/local/src
# mv /usr/local/src/playsms-1.4.2/ /usr/local/src/playsms
1 # cd /usr/local/src/playsms/
Copie install.conf.dist para install.conf e edite informando a senha de conexão mysql. Nota:
Se você tiver domínios virtuais configurado no seu apache, você deve ajustar no install.conf
PATHWEB=”/var/www/html/playsms”.
1 # cp install.conf.dist install.conf
2 # vim install.conf
1 ...
2 # MySQL database username
3 DBUSER="playsms"
4
5 # MySQL database password
6 DBPASS="SUA-SENHA"
7 ...
1 # ./install-playsms.sh
3/16
13
14 ==================================================================
15
16 Proceed ?
17
18 When you're ready press [y/Y] or press [Control+C] to cancel Y
19
20 ==================================================================
21
22 INSTALL DATA:
23
24 MySQL username = playsms
25 MySQL password = SUA-SENHA
26 MySQL database = playsms
27 MySQL host = localhost
28 MySQL port = 3306
29
30 Web server user = www-data
31 Web server group = www-data
32
33 playSMS source path = /usr/local/src/playsms
34
35 playSMS web path = /var/www/html/playsms
36 playSMS lib path = /var/lib/playsms
37 playSMS bin path = /usr/local/bin
38 playSMS log path = /var/log/playsms
39
40 playSMS conf path = /etc
41
42 ==================================================================
43
44 Please read and confirm INSTALL DATA above
45
46 When you're ready press [y/Y] or press [Control+C] to cancel Y
47
48 ==================================================================
49
50 Are you sure ?
51
52 Please read and check again the INSTALL DATA above
53
54 When you're ready press [y/Y] or press [Control+C] to cancel Y
55
56 ==================================================================
57
58 Installation is in progress
59
60 DO NOT press [Control+C] until this script ends
61
62 ==================================================================
63
64 Getting composer from https://getcomposer.com
4/16
65
66 Please wait while the install script downloading composer
67
68 Composer is ready in this folder
69
70 Pleas wait while composer getting and updating required packages
71
72 Do not run Composer as root/super user! See https://getcomposer.org/root for details
73 Loading composer repositories with package information
74 Updating dependencies (including require-dev)
75 Package operations: 0 installs, 1 update, 0 removals
76 - Updating pear/db dev-trunk (93e9d4d => f3f60bb): Checking out f3f60bb610
77 Writing lock file
78 Generating autoload files
79
80 Composer has been installed and packages has been updated
81
82 Start.................end
83
84 PLAYSMSD_CONF = /etc/playsmsd.conf
85 PLAYSMS_PATH = /var/www/html/playsms
86 PLAYSMS_LIB = /var/lib/playsms
87 PLAYSMS_BIN = /usr/local/bin
88 PLAYSMS_LOG = /var/log/playsms
89 DAEMON_SLEEP = 1
90 ERROR_REPORTING = E_ALL ^ (E_NOTICE | E_WARNING)
91 IS_RUNNING =
92 PIDS schedule =
93 PIDS ratesmsd =
94 PIDS dlrssmsd =
95 PIDS recvsmsd =
96 PIDS sendsmsd =
97
98 playsmsd has been started
99 schedule at pid 28793
100 ratesmsd at pid 28795
101 dlrssmsd at pid 28797
102 recvsmsd at pid 28799
103 sendsmsd at pid 28801
104
105 playsmsd is running
106 schedule at pid 28793
107 ratesmsd at pid 28795
108 dlrssmsd at pid 28797
109 recvsmsd at pid 28799
110 sendsmsd at pid 28801
111
112
113 playSMS has been installed on your system
114
115
116 Your playSMS daemon script operational guide:
5/16
117
118 - To start it : playsmsd /etc/playsmsd.conf start
119 - To stop it : playsmsd /etc/playsmsd.conf stop
120 - To check it : playsmsd /etc/playsmsd.conf check
121
122
123
124 ATTENTION
125 =========
126
127 When message "unable to start playsmsd" occurred above, please check:
128
129 1. Possibly theres an issue with composer updates, try to run: "./composer update"
130 2. Manually run playsmsd, "playsmsd /etc/playsmsd.conf start", and then "playsmsd
/etc/playsmsd.conf status"
Precisamos configurar também que playsmsd inicie durante o boot para isso vamos usar o
systemd
1 # /usr/local/bin/playsmsd stop
2 # ln -s /usr/local/bin/playsmsd /etc/init.d/
3 # vim /etc/systemd/system/playsms.service
1 [Unit]
2 Description=PlaySMS
3 After=mariadb.service
4
5 [Service]
6 Type=oneshot
7 RemainAfterExit=yes
8 ExecStart=/usr/local/bin/playsmsd start
9 ExecStop=/usr/local/bin/playsmsd stop
10
11 [Install]
12 WantedBy=multi-user.target
1 # systemctl daemon-reload
2 # systemctl enable playsmsd
3 # systemctl restart playsmsd
Agora você já pode reiniciar que o playsmsd que o mesmo vai estar iniciando junto com o
boot.
6/16
Se você configurar um domínio virtual com certificado altere em
/var/www/html/playsms/config.php para $core_config['ishttps'] = true;
1 # /usr/local/src/playsms/composer update
1 # wvdialconf
1 Editing `/etc/wvdial.conf'.
2
3 Scanning your serial ports for a modem.
4
5 Modem Port Scan<*1>: S0 S1 S2 S3
6 ttyUSB0<*1>: ATQ0 V1 E1 -- OK
7 ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK
8 ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK
9 ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
10 ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
11 ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- COMMAND NOT
12 SUPPORT
13 ttyUSB0<*1>: Modem Identifier: ATI -- Manufacturer: huawei
14 ttyUSB0<*1>: Speed 9600: AT -- OK
15 ttyUSB0<*1>: Max speed is 9600; that should be safe.
16 ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
17 ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 0 baud
18 ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 0 baud, next try: 0 baud
19 Modem Port Scan<*1>: USB2
20
21 Found a modem on /dev/ttyUSB0.
22 Modem configuration written to /etc/wvdial.conf.
ttyUSB0<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2"
1 # cat /etc/wvdial.conf
7/16
1 [Dialer Defaults]
2 Init1 = ATZ
3 Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
4 Modem Type = Analog Modem
5 Baud = 9600
6 New PPPD = yes
7 Modem = /dev/ttyUSB0
8 ISDN = 0
1 # cp /etc/gammu-smsdrc /etc/gammu-smsdrc_old
2 # vim /etc/gammu-smsdrc
8/16
1 # Configuration file for Gammu SMS Daemon
2 [gammu]
3 port = /dev/ttyUSB0
4 connection = at9600
5 logfile = /var/log/gammu/gammu.log
6 logformat = textall
7
8 [smsd]
9 service = files
10 logfile = /var/log/gammu/smsd.log
11
12 debuglevel = 1
13
14 RunOnFailure = /etc/gammu-error.sh
15
16 #commtimeout = 1
17 #sendtimeout = 15
18 #statusfrequency = 0
19
20 outboxformat = unicode
21
22 transmitformat = auto
23 #unicode
24
25 inboxpath = /var/spool/gammu/inbox/
26 outboxpath = /var/spool/gammu/outbox/
27 sentsmspath = /var/spool/gammu/sent/
28 errorsmspath = /var/spool/gammu/error/
Vamos criar um script para que todos os números errados sejam enviado para o diretório
error, assim quando for enviar para algum númerro inválido não trava a o envio dos demais.
1 # vim /etc/gammu.error.sh
Adicione ao arquivo:
1 #!/bin/sh
2 echo $1 >> /var/log/gammu/numero-errado.log
3 mv /var/spool/gammu/outbox/$1 /var/spool/gammu/error/
1 # chmod +x /etc/gammu.error.sh
9/16
1 # ln -s /etc/gammu-smsdrc /etc/gammurc
2 # echo "USER=root" >> /etc/default/gammu-smsd
1 Dispositivo : /dev/ttyUSB0
2 Fabricante : Huawei
3 Modelo : unknown (E303C)
4 Firmware : 21.157.01.00.150
5 IMEI : 999999999999999
6 SIM IMSI : 999999999999999
Ainda com o gammu parado faça um teste enviando uma mensagem para seu celular,
algumas opereradoras so funcionam adicionando o DDD.
1 # tail -f /var/log/gammu/smsd.log
10/16
Localize o ícone da pastinha e clique nela.
Certifique-se que Spool folder esteja: /var/spool/gammu e clique em SAVE e depois BACK.
11/16
Agora clique no ícone com simbolo de mais (+)
12/16
Selecione o usuário (provavelmente você só tem o admin) e coloque o valor de credito,
clique em ADD CREDIT depois BACK.
Agora no menu Settings -> Main configuration vamos definir o Default SMSC.
13/16
Seleciona em Default SMSC -> gammu
14/16
Vamos ao teste, acesse o menu My account -> Compose message e escreva uma
mensagem.
15/16
No meu Reports -> All sent messages, você pode acompanhar o status da mensagem, se
uma “quadradinho” verde estiver do lado da mensagem significa que ela foi entregue.
Bom o mais “complicado” era fazer isso, agora com um pouco de curiosidade você vai
longe…
Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!
Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em
saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato
clique aqui.
Abraço!
16/16