Installation of PlaySMS and SMS Server Tools 3 on Debian Lenny Server

Before we start

This tutorial will show you how you can set up an SMS server on Debian with playsms and smstools. In my example I have used an old Nokia 5140i with a USB datacable.

What we need before we start is apache2, mysql server, php5, lynx, wget, curl.

Now we install updates, and install dependencies:

apt-get update
apt-get upgrade
apt-get install apache2 libapache2-mod-php5 mysql-server php5 php5-cli php5-cgi php-pear php-db phpmyadmin make gcc sendmail sendmail-bin lynx wget curl

Now create a password for mysql root user, and remember it.


Installing playsms

adduser playsms
mkdir -p /var/www/playsms
mkdir -p /var/spool/playsms
mkdir -p /var/log/playsms
chown -R www-data /var/www/playsms
chown -R www-data /var/spool/playsms
chown -R www-data /var/log/playsms

And next download latest version of playSMS, find latest here, or grab my url:


This will extract playsms to /usr/local/src.

tar -zxvf playsms- -C /usr/local/src

Now go to the following folder:

cd /usr/local/src/playsms-

Now run the following commands:

Type mysql root password, when you are asked for the password.

cp -rR * /var/www/playsms
chown -R www-data /var/www/playsms
mysqladmin -u root -p create playsms

And now we import the mysql database from playsms, remember to change the path, if you install another version.

Type mysql root password, when you are asked for the password.

mysql -u root -p playsms < /usr/local/src/playsms-

Here we will make the config file, you have to fill out the fields:

cd /var/www/playsms
cp config-dist.php config.php
nano config.php

So it looks like this (replace 'my_password_for_mysql_root_user' with your password, and do not remove ' '):


// PHP PEAR DB compatible database engine:
// msql, mssql, mysql, oci8, odbc, pgsql, sqlite
$core_config['db']['type'] = 'mysql';        // database engine
$core_config['db']['host'] = 'localhost';    // database host/server
$core_config['db']['port'] = '3306';        // database port
$core_config['db']['user'] = 'root';        // database username
$core_config['db']['pass'] = 'my_password_for_mysql_root_user';    // database password
$core_config['db']['name'] = 'playsms';        // database name
$core_config['db']['pref'] = 'playsms';        // table's prefix without trailing underscore

// SMTP configuration
$core_config['smtp']['relm'] = ''; // yes, not realm, its relm
$core_config['smtp']['user'] = '';
$core_config['smtp']['pass'] = '';
$core_config['smtp']['host'] = 'localhost';
$core_config['smtp']['port'] = '25';

// Do not change anything below this line unless you know what to do

// -----------------------------------------------------------------

// you can turn on or off PHP error reporting
// on production level you should turn off PHP error reporting (set to 0), by default its on

//error_reporting(E_ALL ^ (E_NOTICE | E_WARNING | E_DEPRECATED));
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));

// logs directories
$apps_path['logs']    = '/var/log/playsms';

// log level: 0=disabled, 1=info, 2=warning, 3=debug, 4=verbose

// WARNING: log level 3 and 4 will also save sensitif information such as password for used gateway
$core_config['logstate']    = 0;

// 0 for single session login; 1 for multi session login
// multi session login is not secure because playsms leaves md5 crypted username and password

// on admin's computer
$core_config['multilogin']    = 0;

// are we using http or https ? the default is using http instead https
$core_config['ishttps']        = false;


Now run the following commands:

cd /usr/local/src/playsms-
cp playsmsd playsmsd.php playsmsd_start /usr/local/bin/
cp playsms /etc/default/

Now we have to make sure that the program will start everytime the systems boots; do the following:

nano /etc/init.d/rc.local

Add on the bottom of the file (before exit if there's an exit command). This way playsmsd_start will start automatically on boot. Save and exit.

.... last line ....



Install smstools

tar -zxvf smstools3-3.1.15.tar.gz -C /usr/local/src
cd /usr/local/src/smstools3
make install

Now we make playsms and smstools work together:

cd /usr/local/src/playsms-
cp contrib/smstools/smsd.conf /etc/

Now we have to edit the config file.

My Nokia 5140i with USB datacable is detected as ttyUSB0 so I don't have to edit the port, but if your phone is detected as something else, change it on line 27 to etc. ttyUSB1, ttyACM0

nano /etc/smsd.conf

My config file looks like this:

# Global configuration
devices = modem1
loglevel = 4
logfile = /var/log/sms/smstools.log
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
failed = /var/spool/sms/failed
incoming = /var/spool/sms/incoming
sent = /var/spool/sms/sent
delaytime = 6
errorsleeptime = 12
blocktime = 180
autosplit = 3
receive_before_send = yes
# Modem configuration # iTegno 3000 USB
#init = device = /dev/ttyUSB0 incoming = yes #pin = baudrate = 115200

Now run the following commands:

mkdir -p /var/spool/sms/checked
mkdir -p /var/spool/sms/failed
mkdir -p /var/spool/sms/incoming
mkdir -p /var/spool/sms/outgoing
mkdir -p /var/spool/sms/sent
mkdir -p /var/log/sms
chown -R www-data /var/spool/sms
update-rc.d sms3 defaults

Browse http://your-server-ip/playsms/ and log in using default administrator user:

Username: admin

Password: admin

Click Gateway, click Manage smstools, click (click here to activate).

Your server is now up and running, ready to be used.

Share this page:

10 Comment(s)