1787,20 → 1787,25 |
######################################################### |
gammu_smsd() |
{ |
# Create 'gammu' databse |
MYSQL="/usr/bin/mysql -uroot -p$mysqlpwd --execute" |
$MYSQL="CREATE DATABASE IF NOT EXISTS $DB_GAMMU;GRANT ALL ON $DB_GAMMU.* TO $DB_USER@localhost IDENTIFIED BY '$radiuspwd';FLUSH PRIVILEGES" |
# Create 'gammu' system user |
groupadd -f gammu_smsd |
useradd --system -g gammu_smsd -s /bin/false -c "system user for gammu_smsd" gammu_smsd |
usermod -a -G dialout gammu_smsd |
|
# Create 'gammu' database |
MYSQL="/usr/bin/mysql -uroot -p$mysqlpwd --execute" |
$MYSQL="CREATE DATABASE IF NOT EXISTS $DB_GAMMU; GRANT ALL ON $DB_GAMMU.* TO $DB_USER@localhost IDENTIFIED BY '$radiuspwd'; FLUSH PRIVILEGES;" |
# Add a gammu database structure |
mysql -u$DB_USER -p$radiuspwd $DB_GAMMU < $DIR_CONF/empty-gammu-smsd-db.sql |
|
# Config file for the gammu_smsd daemon & gammu (ttyUSB0 as default com port) |
cat << EOF > /etc/gammurc |
cat << EOF > /etc/gammurc |
[gammu] |
device = /dev/ttyUSB0 |
connection = at115200 |
EOF |
|
cat << EOF > /etc/gammu_smsd_conf |
cat << EOF > /etc/gammu_smsd_conf |
[gammu] |
port = /dev/ttyUSB0 |
connection = at115200 |
1830,23 → 1835,35 |
CheckSignal = 1 |
CheckBattery = 0 |
EOF |
chmod 755 /etc/gammu_smsd_conf /etc/gammurc |
|
chmod 755 /etc/gammu_smsd_conf /etc/gammurc |
# Create the systemd unit |
cat << EOF > /lib/systemd/system/gammu-smsd.service |
[Unit] |
Description=SMS daemon for Gammu |
Documentation=man:gammu-smsd(1) |
After=network.target mysql.service |
|
[Service] |
Type=forking |
ExecStart=/usr/bin/gammu-smsd --config /etc/gammu_smsd_conf --user=gammu_smsd --group=gammu_smsd --pid=/var/run/gammu-smsd.pid --daemon |
ExecReload=/bin/kill -HUP $MAINPID |
ExecStopPost=/bin/rm -f /var/run/gammu-smsd.pid |
PIDFile=/var/run/gammu-smsd.pid |
|
[Install] |
WantedBy=multi-user.target |
EOF |
|
# Log folder for gammu-smsd |
[ -e /var/log/gammu-smsd ] || mkdir /var/log/gammu-smsd |
chmod 755 /var/log/gammu-smsd |
[ -e /var/log/gammu-smsd ] || mkdir /var/log/gammu-smsd |
chmod 755 /var/log/gammu-smsd |
|
# Write radius credentials in the gammu script |
$SED "s/^u_db=\".*/u_db=\"$DB_USER\"/g" $DIR_DEST_BIN/alcasar-sms.sh |
$SED "s/^p_db=\".*/p_db=\"$radiuspwd\"/g" $DIR_DEST_BIN/alcasar-sms.sh |
|
# Udev rule for Modeswitch (switch from "mass_storage" mode to "ttyUSB" modem) needed with some Huawei MODEM (idVendor: 12d1) |
# normally not needed now since modeswitch is managed by udev (see Mageia RPM) |
#cat << EOF > /lib/udev/rules.d/66-huawei.rules |
#KERNEL=="ttyUSB0",ATTRS{idVendor}=="12d1",RUN+="$DIR_DEST_BIN/alcasar-sms.sh --mode" |
#EOF |
|
# Udev rule for fixing the enumeration of ttyUSB port on some MODEM (when they switch randomly the order of their ports at boot time) |
# example : http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/ |
|
2027,6 → 2044,7 |
[Install] |
WantedBy=multi-user.target |
EOF |
/usr/bin/systemctl daemon-reload |
# processes launched at boot time (Systemctl) |
for i in alcasar-load_balancing mysqld lighttpd php-fpm ntpd iptables dnsmasq dnsmasq-blacklist dnsmasq-whitelist dnsmasq-blackhole radiusd nfsen e2guardian freshclam ulogd-ssh ulogd-traceability ulogd-ext-access chilli fail2ban havp tinyproxy vnstat sshd |
do |