Framadate Installation

Framadate is the a creation software that we develop and offer as an online service. It is initially based on the Studs software developed by the University of Strasbourg and that we have largely overhauled.

Here is a tutorial to help you install it on your server.

In the following tutorial we will give you the instructions for a Debian server with MySQL database, Apache web server (or Nginx), PHP 5.4 (minimum), Postfix (or Exim, for sending emails) and Git installed.
We assume that you have already pointed yout domain name on your server with your registrar.


1 - Preparing the earth

First, log in as root on your server and create a user account framadate and the folder /var/www/framadate in which the files will be copied with the corresponding access rights.

useradd framadate
groupadd framadate
mkdir /var/www/framadate
chown framadate:framadate -R /var/www/framadate

2 - Sow

Connect with the user framadate : su framadate -s /bin/bash

Then, download the files from our repository with Git in the folder /var/www/framadate and witch to the latest stable version (in the example 1.0.2).

cd /var/www/framadate
git clone .
git checkout 1.0.2

Also install the php intl extension:

sudo apt-get install php5-intl

Framadate relies on Composer software to import the libraries it depends on. To install it, run the command:

php -r "readfile('');" | php

and import the necessary libraries

./composer.phar install

3 - Water


We must now create the database and configure Framadate.

First install the mysql-server package (note the root password) and start MySQL: service mysql start

Create a user and database framadate. On your dedicated server you can use PhpMyAdmin which is often pre-installed, otherwise here is how to do it with Adminer.

Download Adminer with the command line (always from the folder /var/www/framadate).

wget -O adminer.php

Log in with theMySQL root account on and click on « Create Database ». Fill in the name of the database and the type of encoding: framadate - utf8mb4_general_ci. Once created, click on « Privileges » and « Create User ». Fill in the fields Server localhost, User framadate, Password, Privileges `framadate`.* and check the All privileges box.

For security, you can delete the file adminer.php which is no longer needed.


Now that the database is ready, you have to configure Framadate to use it.

Go to the page And fill the form with the following string mysql:host=localhost;dbname=framadate;port=3306, the user framadate and the password as you defined it in the previous step.

If the page does not appear, check that a folder `/var/www/framadate/tpl_c` has been created with sufficient write permissions.

Upon installation, the database tables and the file app/inc/config.php are created. The file app/inc/config.php contains other parameters of optional configurations that you can modify.

You are then redirected to the « migration » page which is used to check that the tables and data are in the correct format. For future updates, you will have to go through this page after replacing files.

Admin area

Framadate has a management area for all polls in the folder /admin

To restrict access, add the following block to the Apache configuration file from you website (/etc/apache2/sites-enabled/votre-domaine.vhost):

<Directory "/var/www/framadate/admin/">
    AuthType Basic
    AuthName "Administration"
    AuthUserFile "/var/www/framadate/admin/.htpasswd"
    Require valid-user
    Order allow,deny
    Allow from all

and createthe .htpasswd file containing the authorized user and password.

htpasswd -bc /var/www/framadate/admin/.htpasswd utilisateur mot-de-passe

(the htpasswd ultility is in the apache2-utils package)

The protect the .htaccess et .htpasswd files, consider also adding this:

<FilesMatch "^\.ht.*">
deny from all
satisfy all
ErrorDocument 403 "Access denied."

URL rewriting

To enable URL rewriting, to have links in the form instead of You can add the line AllowOverride All in the .vhost to allow the use of .htaccess on your domain and rename the file /var/www/framadate/htaccess.txt to /var/www/framadate/.htaccess.

There you go! Normally, it grows by itself.

In addition, here is a tutorial for Framadate on Ubuntu 14.04 (in French) by Patrick Harmel, under license GFDL.

Original tutorial in French by JosephK

results matching ""

    No results matching ""