How to install PrestaShop on an Ubuntu 14.04 VPS

prestashopPrestaShop is an open source e-commerce solution, based on PHP and MySQL that allows you to easily create an online store.

To install PrestaShop on an Ubuntu VPS follow the very easy steps described below.

At the time of writing this tutorial, the latest stable version of PrestaShop is v1.6.0.9 and it requires:

  • PHP >= 5.1 with the following PHP extensions enabled: cURL, GD, GZIP, PDO, DOM, SimpleXML and SOAP. Also, using MemCached and mycrpt PHP extensions is highly recommended for better site performance.
  • Apache Web Server >= 2.0 compiled with mod_gzip and mod_rewrite modules.
  • MySQL >= 5.0 installed on your virtual server.

Update the server’s OS packages using the following commands:

apt-get update
apt-get upgrade

Install PHP, MySQL and PHP modules required by PrestaShop:

apt-get install mysql-server php5 php5-cli php5-mysql php5-gd php5-mcrypt php5-memcache

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

cd /root/

Create a new MySQL database for PrestaShop on your server:

mysql -u root -p
mysql> CREATE DATABASE prestashopdb;
mysql> GRANT ALL PRIVILEGES ON prestashopdb.* TO 'prestashop'@'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 ‘prestashop.conf’:

vi /etc/apache2/sites-available/prestashop.conf

Then, add the following lines:

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

Run the following command:

ln -s /etc/apache2/sites-available/prestashop.conf /etc/apache2/sites-enabled/prestashop.conf

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

memory_limit = 128M
upload_max_filesize = 16M
max_execution_time = 60
file_uploads = On
allow_url_fopen = On
magic_quotes_gpc = Off
register_globals = Off

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

service apache2 restart

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

mv /root/prestashop/ /var/www/prestashop/

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

chown www-data:www-data -R /var/www/prestashop/

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

For security reasons, it is recommended to delete the install directory (‘/var/www/prestashop/install’) once you are done with the installation process. That is it. The PrestaShop installation is now complete.

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 PrestaShop for you. They are available 24×7 and will take care of your request immediately. You can also check our post on Install PrestaShop on CentOS.

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.

4 thoughts on “How to install PrestaShop on an Ubuntu 14.04 VPS”

  1. Hi,great tutorial got everything write at once itself. now that we have installed prestashop and it is running as expected. can you teach us how to use friendly urls in prestashop. as i can see with amazon cloudfront as media server. friendly urls wont work for poduct images rest all the media it shows.. so i should be missing something. can you explain this with a simple tutorial

    • You can try to regenerate the .htaccess file. First, log in to your server via SFTP and make a local copy of your existing .htaccess file. Then, completely remove the .htaccess file from your server and regenerate the file from your PrestaShop admin panel. This should solve your problem with the friendly URLs.



Leave a Comment

To prove you are human please solve the following *