Tuesday, March 29, 2011

Installation Of PlaySMS And SMS Server Tools 3 On Debian Server

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 mysql-server php5 php5-cli php5-cgi php-pear php-db phpmyadmin make gcc sendmail 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: http://sourceforge.net/projects/playsms/
wget http://downloads.sourceforge.net/project/playsms/playsms/Version%
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

wget http://smstools3.kekekasvi.com/packages/smstools3-3.1.14.tar.gz
tar -zxvf smstools3-3.1.14.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.


  1. Can u please help with installation of playsms on windows. I have wampserver and smstools. Smstools is installed and working but can't use it with playsms . My email is eababio@gmail.com

  2. Sure no problem. Just email me at sattia@gmail.com and send me whatever errors you get.

  3. Hi Sameh

    I tried this steps on Windows but I cannot get playSMS to communicate with SMS Server Tools. Any help?