How to install Contao on an Ubuntu 14.04 VPS

contao vpsContao is a popular web-based open source content management system which allows you to develop search engine friendly web sites.
To install Contao on an Ubuntu VPS follow the very easy steps described below.


This install guide assumes that Apache, MySQL and PHP are already installed and configured on your Linux VPS. At the time of writing this tutorial, the latest stable version of Contao is 3.4.0 and it requires:

  • PHP >= 5.2 with GD graphics library, SOAP, mbstring and mcrypt PHP extensions enabled.
  • Apache Web Server >= 2.x+ compiled with mod_rewrite module in order to use search engine friendly URLs.
  • MySQL >= 5.x installed on your Linux virtual server.

Download the latest version of Contao available at to the server and extract it using the following commands:

cd /root/
wget -O
unzip -d contao

Contao requires a database to work as this is where data is saved, so create a new MySQL database on your server:

mysql -u root -p
mysql> CREATE DATABASE contaodb;
mysql> CREATE USER contaouser@localhost;
mysql> SET PASSWORD FOR 'contaouser'@'localhost' = PASSWORD("your-password");
mysql> GRANT ALL PRIVILEGES ON contaodb.* TO 'contaouser'@'localhost' IDENTIFIED BY 'your-password' WITH GRANT OPTION;
mysql> quit

Create a new virtual host directive in Apache. For example, create a new Apache configuration file named ‘contao.conf’:

touch /etc/apache2/sites-available/contao.conf
ln -s /etc/apache2/sites-available/contao.conf /etc/apache2/sites-enabled/contao.conf
vi /etc/apache2/sites-available/contao.conf

then, add the following lines:

<VirtualHost *:80>
   DocumentRoot /var/www/html/contao/
      <Directory /var/www/html/contao/>
          Options FollowSymLinks
          AllowOverride All
   ErrorLog /var/log/apache2/
   CustomLog /var/log/apache2/ common

Move the Contao installation files to the document root directory defined in the virtual host directive above:

cd /root/
mv contao-3.4.0 /var/www/html/contao

Edit the ‘/etc/php5/apache2/php.ini’ configuration file and add/modify the following settings:

safe_mode = Off
max_execution_time = 60
memory_limit = 128M
register_globals = Off
file_uploads = On
display_errors = Off
html_errors = Off
display_startup_errors = Off
log_errors = On

Restart the Apache web server for the changes to take effect:

service apache2 restart

The web server user (www-data) needs to be able to write to files and directories inside the ‘/var/www/contao’ directory, so it can easily be accomplished by executing the following command:

chown www-data:www-data -R /var/www/html/contao/

Rename or copy ‘.htaccess.default’ file to ‘.htaccess’:

cd /var/www/html/contao/
cp .htaccess.default .htaccess

Open in your popular web browser and follow the easy instructions.

Remove the the ‘contao/install.php’ file from your server using the the following command-line command:

rm -rf /var/www/html/contao/contao/install.php

That is it. The Contao installation is now complete.

You can now log in to the Contao administrator back-end using the link in the lower right corner ( and start developing your web site.


Of course you don’t have to do any of this if you use one of our Linux VPS Hosting services, in which case you can simply ask our expert Linux admins to install Contao for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.


Leave a Comment

To prove you are human please solve the following *