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
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 https://framagit.org/framasoft/framadate.git . 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('https://getcomposer.org/installer');" | php
and import the necessary libraries
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
Download Adminer with the command line (always from the folder
wget -O adminer.php http://www.adminer.org/latest-mysql.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:
Once created, click on « Privileges » and « Create User ».
Fill in the fields Server
`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
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.
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.
Framadate has a management area for all polls in the folder
To restrict access, add the following block to the Apache configuration file from you website
<Directory "/var/www/framadate/admin/"> AuthType Basic AuthName "Administration" AuthUserFile "/var/www/framadate/admin/.htpasswd" Require valid-user Order allow,deny Allow from all </Directory>
.htpasswd file containing the authorized user and password.
htpasswd -bc /var/www/framadate/admin/.htpasswd utilisateur mot-de-passe
htpasswd ultility is in the
The protect the
.htpasswd files, consider also adding this:
<FilesMatch "^\.ht.*"> deny from all satisfy all ErrorDocument 403 "Access denied." </FilesMatch>
To enable URL rewriting, to have links in the form
http://votre-domaine.org/a1b2c3d4e5f6g7h8 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
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