Tibula is written in Lua and SQL and both languages can be injected directly from the web interface into the main engine by design, for this reason Tibula should never be exposed directly to the internet nor to untrusted users.

By default Tibula will listen on port 35248 at 127.0.0.1 and we warmly suggest to eventually serve it via nginx protected proxy access in case you need to use it remotely.

In case you are not sure where to host your new tibula or if you just want to test it we kindly suggest to take advantage of the 20 euro credit that the marvelous people at Hetzner will give you in case of a new registration and buy an entry level cloud server using this reference link.

Installation

If you are using any Debian derivative please follow these steps from the console:

sudo apt update
sudo apt install -y eja mariadb-server
sudo eja --update
sudo eja --install tibula
sudo eja --tibula-install

Fill tibula prompts with your choosen credentials, local user/pass can be left empty as you are running the install process as root.

At this point eja will be running in background as a systemd service, serving tibula on port 35248 at localhost, a default tibula database has been installed with an admin username and a user one both with default password eja.it . Point now your browser to http://localhost:35248/eja.tibula and try both users, change of course both passwords and eventually username also as soon as you login.

Nginx

If you want to access tibula remotely we suggest to install nginx:

sudo apt install -y nginx

then edit the default nginx configuration with sudo vi /etc/nginx/sites-enabled/default to something like this:


server {
 listen 80 default_server;
 server_name _;
 root /var/www/html;
 location /tibula/ { 
  proxy_pass http://127.0.0.1:35248/;  
  rewrite ^/([^/]*)/$ /$1/eja.tibula redirect;
 }
}  
  

restart nginx:

sudo service nginx restart

tibula should be now ready on your public ip on port 80 at http://yourIp/tibula/

Let's Encrypt

If you wish to add an extra ssl layer of security we warmly recommend to install also a letsencrypt certificate following these steps:

sudo apt install -y letsencrypt python-certbot-nginx

remember to point your dns to this server ip if didn't do yet, then:

sudo certbot --nginx -d your.domain.name

restart nginx to get the new configuration

sudo service nginx restart

Well ready and ssl protected! :)


info eja.it