In this tutorial, we will walk through the steps to install liteshort on Ubuntu Server Latest. liteshort is a lightweight open source URL shortener developed in PHP.
Before we can start with the installation of liteshort, we need to meet the following prerequisites:
We need to install PHP and MySQL to be able to run liteshort. Run the following commands to install these dependencies:
sudo apt-get update
sudo apt-get install php php-mysql mysql-server -y
We will download liteshort from the Git repository. Run the following command:
git clone https://git.ikl.sh/132ikl/liteshort.git
The next step is to configure Apache or Nginx for liteshort.
Run the following commands to enable the Apache rewrite module and create a virtual host configuration file:
sudo a2enmod rewrite
sudo touch /etc/apache2/sites-available/liteshort.conf
sudo nano /etc/apache2/sites-available/liteshort.conf
Add the following content to the liteshort.conf
file:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/liteshort/public
ServerName example.com
<Directory /var/www/liteshort/public>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/liteshort_error.log
CustomLog ${APACHE_LOG_DIR}/liteshort_access.log combined
</VirtualHost>
Replace example.com
with your domain name or IP address.
Save and close the file.
Run the following commands to enable the virtual host and restart the Apache webserver:
sudo a2ensite liteshort.conf
sudo systemctl restart apache2
Run the following commands to create a virtual host configuration file for Nginx:
sudo touch /etc/nginx/sites-available/liteshort.conf
sudo nano /etc/nginx/sites-available/liteshort.conf
Add the following content to the liteshort.conf
file:
server {
listen 80;
listen [::]:80;
root /var/www/liteshort/public;
index index.php;
server_name example.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~ /\.ht {
deny all;
}
}
Replace example.com
with your domain name or IP address.
Save and close the file.
Run the following commands to enable the virtual host and restart the Nginx webserver:
sudo ln -s /etc/nginx/sites-available/liteshort.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
We need to create a MySQL database and user for liteshort to store the data. Run the following commands to log in to MySQL as the root user and create a new liteshort database and user:
sudo mysql -u root
CREATE DATABASE liteshort;
CREATE USER 'liteshortuser'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON liteshort.* TO 'liteshortuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Replace strongpassword
with a strong password for the liteshortuser.
Copy the example configuration file provided in the config
directory and change the values accordingly:
cp config/config.example.ini config/config.ini
nano config/config.ini
Change the following parameters in the config.ini
file:
database.host = "localhost"
database.username = "liteshortuser"
database.password = "strongpassword"
database.database = "liteshort"
Save and close the file.
We will use Composer to manage the dependencies of liteshort. Run the following commands to install Composer:
sudo apt-get install composer -y
composer install
Open your web browser and navigate to http://example.com/install
(replace example.com
with your domain name or IP address). Follow the instructions on the screen to complete the installation of liteshort.
In this tutorial, we have successfully installed liteshort on Ubuntu Server Latest, configured Apache or Nginx, created a MySQL database and user, configured liteshort, and tested the installation.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!