Using a Different System?
-
How to Install Thelia 2.3 on Ubuntu 16.04
-
How to Install Thelia 2.3 on CentOS 7
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 Debian 9 Vultr instance.
Requirements
- PHP and required 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
- MariaDB
Check the Debian version.
lsb_release -ds
# Debian GNU/Linux 9.4 (stretch)
Ensure that your system is up to date.
apt update && apt upgrade -y
Install needed packages.
apt install -y sudo dirmngr wget curl vim unzip zip
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
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 MariaDB
Install MariaDB.
sudo apt install -y mariadb-server
Check the version.
mysql --version
# mysql Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Run the mysql_secure_installation
script to improve the security of your MariaDB installation.
sudo mysql_secure_installation
Log in to MariaDB as the root user.
mysql -u root -p
# Enter password:
Create a new MariaDB database and user, and remember the credentials.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Exit MariaDB.
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
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
Want to contribute?
You could earn up to $300 by adding new articles
Suggest an update
Request an article