Liteshort is a lightweight, open-source URL shortener that can be installed on a variety of Linux operating systems, including Elementary OS. Here are the steps to install Liteshort on Elementary OS Latest.
Before you begin, make sure that your system is up-to-date by running the following commands:
sudo apt update
sudo apt upgrade
Liteshort requires several dependencies to be installed on your system. In order to install these dependencies, run the following command:
sudo apt install git nginx certbot python-certbot-nginx software-properties-common curl openssl
Next, you need to clone the Liteshort repository by running the following command:
git clone https://git.ikl.sh/132ikl/liteshort
Liteshort requires a database to function properly. You can create a database by running the following command:
sudo mysql -u root -p
Enter your MySQL root password when prompted, and then enter the following commands to create a new database, a new user, and assign privileges:
CREATE DATABASE liteshort;
CREATE USER 'liteshortuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON liteshort.* TO 'liteshortuser'@'localhost';
FLUSH PRIVILEGES;
exit
Make sure to replace 'password' with a secure password of your choosing.
Next, you need to configure Nginx to serve Liteshort. Create a new Nginx configuration file by running the following command:
sudo nano /etc/nginx/sites-available/liteshort
Add the following configuration to the file:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
include proxy_params;
proxy_pass http://127.0.0.1:8000;
}
}
Make sure to replace 'example.com' with your domain name.
Copy the default configuration file by running the following command:
cp liteshort/liteshort.conf.example liteshort/liteshort.conf
Edit the configuration file by running the following command:
nano liteshort/liteshort.conf
Enter the following information in the file:
[app]
secret_key = Zm9vYmFyX2Nhc2lfZnJvbV9kZXY=
enable_protection = False
contact = admin@example.com
[db]
engine = mysql
host = localhost
name = liteshort
user = liteshortuser
password = password
[server]
host = 127.0.0.1
port = 8000
[cache]
type = filesystem
directory = cache/
lifetime = 1440
[url]
short_url = http://example.com
Make sure to replace 'admin@example.com', 'liteshortuser', 'password', and 'http://example.com' with your desired values.
Liteshort requires several dependencies to be installed on your system. In order to install these dependencies, run the following command:
cd liteshort/
pip3 install -r requirements.txt
Next, you need to migrate the database by running the following command:
python3 manage.py db migrate
python3 manage.py db upgrade
Finally, create a superuser and run Liteshort by running the following command:
python3 manage.py create_superuser
python3 manage.py runserver
That's it! You have successfully installed Liteshort on Elementary OS Latest. You can now visit your domain name in your web browser to start using Liteshort.
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!