Learn How To Install Thelia 2.3 on Ubuntu 16.04
Table of Contents
If you are using a different system, please check our other tutorials.
Thelia is an open source tool for creating e-business websites and managing online content written in PHP. Thelia source code is hosted on GitHub. This guide will show you how to install Thelia on a fresh Ubuntu 16.04 LTS IT Web Services instance.
Requirements
- PHP
- Required PHP extensions:
pdo_mysql
,openssl
,intl
,gd
,curl
,dom
safe_mode off
memory_limit
at least 128M, preferably 256M.upload_max_filesize
: 2Mdate.timezone
must be defined- Nginx
- MySQL
Check the Ubuntu version.
lsb_release -ds
# Ubuntu 16.04.4 LTS
Create a new non-root
user account with sudo
access and switch to it.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTE: Replace johndoe
with your username.
Set up the timezone.
sudo dpkg-reconfigure tzdata
Ensure that your system is up to date.
sudo apt update && sudo apt upgrade -y
Install PHP
Install PHP, as well as the required PHP extensions.
sudo apt install -y php php7.0-cli php7.0-fpm php7.0-common php7.0-intl php7.0-mbstring php7.0-xml php7.0-mysql php7.0-dom php7.0-curl php7.0-gd php7.0-zip
Check the version.
php --version
Install MySQL
Install MySQL.
sudo apt install -y mysql-server
Check the version.
mysql --version
# mysql Ver 14.14 Distrib 5.7.21, for Linux (x86_64) using EditLine wrapper
Run the mysql_secure_installation
script to improve the security of your MySQL installation.
sudo mysql_secure_installation
Log in to MySQL as the root user.
mysql -u root -p
# Enter password:
Create a new MySQL database and user, and remember the credentials.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Exit MySQL.
exit
Install Nginx
Install Nginx.
sudo apt install -y nginx
Check the version.
sudo nginx -v
Configure Nginx. Run sudo vim /etc/nginx/sites-available/thelia.conf
and populate the file with the following.
server {
listen 80;
server_name example.com; # Check this
root /var/www/thelia/web/; # Check this
index index.php;
location / {
try_files $uri $uri/ @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /index.php/$1 last;
}
location ~ ^/(index|index_dev).php(/|$) {
fastcgi_pass unix:/run/php/php7.0-fpm.sock; # Check this
fastcgi_split_path_info ^(.+.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# ###################################################
# After installation remove /install/ location block.
# and restart Nginx
# ###################################################
location /install/ {
alias /var/www/thelia/web/install/; # Check this
location ~ ^/install/.+.(jpg|jpeg|gif|css|png|js|pdf|zip)$ {
expires 30d;
access_log off;
log_not_found off;
}
location ~ ^/install/(.+.php)$ {
alias /var/www/thelia/web/install/$1; # Check this
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; # Check this
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
# ###################################################
}
Activate the new thelia.conf
configuration by linking the file to the sites-enabled directory.
sudo ln -s /etc/nginx/sites-available/thelia.conf /etc/nginx/sites-enabled/
Test the configuration.
sudo nginx -t
Reload Nginx.
sudo systemctl reload nginx.service
Install Thelia
Navigate to the /var/www
directory.
cd /var/www
Install unzip
.
sudo apt install -y unzip
Download the latest release of Thelia and unzip it.
sudo wget https://thelia.net/download/thelia.zip
sudo unzip thelia.zip
sudo rm thelia.zip
sudo mv thelia_2.3.4/ thelia
Go to the Thelia directory.
cd /var/www/thelia
Change ownership of the /var/www/thelia
directory to www-data
.
sudo chown -R www-data:www-data /var/www/thelia
Run sudo vim /etc/php/7.0/fpm/php.ini
and set post_max_size
to 20M.
post_max_size = 20M
Restart php-fpm
.
sudo systemctl restart php7.0-fpm.service
In your favorite browser, navigate to http://example.com/install
and follow the Thelia installation wizard. To access the Thelia administration interface, append /admin
to your URL.
After installing Thelia, remove the web/install
directory.
sudo rm -rf /var/www/thelia/web/install
Need help?
Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!