Documentation‎ > ‎


Installation and Requirements

S3DB is written in PHP and implemented on either a MySQL or a PostgresSQL database. In order to run and use S3DB a web server, usually Apache, must be installed, as well as PHP (version 5.2.x or up) and a database (MySQL or Postgres).

If are unfamiliar with these tools and a user of Windows, we recommend the software tool WAMP, which provides all the required modules to run S3DB in one unique package. You will need Administrator privileges in your PC in order to install WAMP. This packages is installed by default with the full installation of S3DB.

For Linux users, LAMP is the alternative.

If you are a windows user and use WAMP to deploy s3db, you will need a WAMP version that has been deployed WITH PECL (any version released between 11/21/2007 and 06/11/2009). The list of all WAMP versions can be found in sourceforge: The latest WAMP version (2.0i) does NOT provide PECL packages.

Download and Installation

1. Download Source
The latest release of S3DB can be found at

2. Unpack Source to a web accessible directory (directory at your webspace or below your web server DocumentRoot) further referred as installation directory

You can use the zip file utility, for example WinZip, to unpack the S3DB zip file.

NOTE: If using WAMP, your web accessible directory would be something like C:\Program Files\wamp\www\

3. Point your browser to the url where you installed S3DB, for example: http://localhost/s3db and follow the instructions to set up the S3DB. You DO NOT need to create a database first - you DO need to make sure a database does not exist that has the same name you are trying to create (default is s3db).
Attention: Please see notices below if your you are having problems with configuration

4. Advanced users: If you have never intalled s3db before, chances are you do not have a database called s3db. In this case, and if you have not set a password for your MySQL root user, you can go ahead and finish your installation without advanced options.

Nevertheless, since MySQL and PostgresSQL work differently in terms of user privileges, if you are using PortgresSQL or you have defined a password for your MySQL root user, you will need to specify this user's username and password in the configuration page.


Enable the following php modules (if not already enabled) - if using WAMP, you may click on the white icon next to your clock ->PHP ->extensions :
php_mysql and php_mysqli (or php_pgsql, in case you are using postgresSQL)

If you are a linux user, you will need to compile PHP with the following modules as PHP does not have them by default:
bcmath; curl; pgsql; curlwrappers; ldap; json; xml; pgsql; simplexml

php.ini should have the options 'allow_url_fopen' turned 'On'.
Also, if you are going to be performing large uploads into your system, if is advisable that in your php.ini file, you increase the size limit both 'post_max_size' and 'upload_max_filesize'.

You can check if your server has all this configuration setup by looking at your phpinfo. You do this by creating a small PHP script in you web accessible directory (for example call it phpinfo.php) with the following content:


Run it though apache (for example, http://localhost/phpinfo.php) to check whether your configuration is set correctly.

BEFORE going to through setup.php, please make sure you have done the following:
- Created a user with a password privileged to createdb
- Make sure PHP can access postgres (you can do this by creating a small php script (name it test.php, for example) with the following content and running it through apache (please note that port is your postgres port):

$C = pg_connect("host=yourhost port=5432 dbname=s3db user=s3dbuser password=s3dbpass");
echo $C;

If $C outputs something like "Resource #72", then PHP is connecting to postgres.

If, after making sure PHP can communicate with Postgres, you are still unable to configure, you may attempt to create an S3DB database BEFORE going though setup.php


Enable the following apache modules:
mod_rewrite (you can find the Rewrite Rules file, .htaccess, under /uri - move this file to the root of s3db if you want to be able to call perform short URI queries).

If you are a linux user, remember that the apache user will need to have read/write privileges in the s3db directory. Unless this is enabled, s3db will not function properly (for example, use chmod -r /s3db 777)


Whether you are a basic or advanced user, you can choose which configuration you want. If you are a Windows user and never had a database intalled in your computer, the best option for you is probably the Basic Configuration. Once you hit the "Create Configuration" button, S3DB will be installed with the default parameters:

If you are an advanced user, or you've created databases and users in your database engine, you're probably better off if you use "Advanced Options", as you will need to configure which user you would like to own the database:

Creating the Admin account

The user who's login name is "Admin" is the one that will have permission on every user on S3DB. It is also the only one that can "Self Update" the code of your deployment. You may, at this point, want to create a secure password for it, one which you will be using for administration purposes:

Now that you're done with basic installation (congratulations, you made it :-) ), you can now "Logout". The Login page will appear, and you can login with your first user, the one you have just created: "Admin"

Notice the "Update Beta Code" and "Update Stable Code" greyed out buttons in you Admin Home Page - these buttons will pop-up whenever there is a new version of the code, such that you do not need to download the latest version to keep up with updates. Only Admin user has privileges on these.

If you want to learn more (how to manage users, groups, etc), the visual tutorial continues in the Web Interface Tutorial.

Lena Deus,
Jul 29, 2008, 8:39 PM
Lena Deus,
Jul 29, 2008, 8:40 PM
Lena Deus,
Jul 29, 2008, 8:36 PM
Lena Deus,
Jul 29, 2008, 8:34 PM
Lena Deus,
Jul 29, 2008, 8:43 PM