Lstu is a minimalist URL shortener written in Perl. In this tutorial, we will go through the steps to install Lstu on Void Linux.
Before you begin, you need to have the following:
First, update the package list on your system by running the following command:
# xbps-install -Svy
Install the necessary dependencies by running the following command:
# xbps-install -y perl perl-devel perl-Module-Build libwww-perl mariadb mariadb-devel mariadb-client mariadb-libs mariadb-connector-c-devel
Next, clone the Lstu repository from Github:
# git clone https://github.com/ldidry/lstu.git
Change into the Lstu directory:
# cd lstu
Run the following command to install the required Perl modules:
# sudo cpanm --installdeps .
Copy the default configuration file to the configuration directory:
# cp lstu.conf.default /etc/lstu.conf
Edit the configuration file to match your preferences. For example, you can change the database credentials or enable/disable features.
Create a new MySQL/MariaDB database for Lstu:
# mysql -u root -p
mysql> CREATE USER 'lstu'@'localhost' IDENTIFIED BY 'password';
mysql> CREATE DATABASE `lstu` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
mysql> GRANT ALL ON `lstu`.* TO 'lstu'@'localhost';
Remember to replace password
with a strong password of your own.
Create the database schema by running the following command:
# perl tools/create_tables.pl
Finally, start the Lstu daemon:
# perl lstu.pl daemon --listen 'http://*:8080' --workers 10 --pidfile /var/run/lstu.pid --daemonize
Replace 8080
with the port you want the web server to listen on.
Lstu must be run with a reverse proxy server that can forward requests to the Lstu daemon. Here's an example configuration for Nginx:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
This configuration listens on port 80 of the server and forwards requests to the Lstu daemon running on http://localhost:8080
.
You have successfully installed Lstu on Void Linux and set up a reverse proxy to serve short URLs. You can now use Lstu by visiting the domain name or IP address of your server.
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!