Lstu is a ZeroBin-like service that allows users to encrypt text and share it with others. It is written in Pure Perl and is free software available under the AGPLv3 license. In this tutorial, we will show you how to install Lstu on Debian.
Before installing any new package, it's a recommended step to update and upgrade the system to the latest version. You can do this by running the following commands:
sudo apt-get update
sudo apt-get upgrade
Next, you need to install the dependencies required by Lstu. Run the following command to install them:
sudo apt-get install git libjson-xs-perl libtemplate-perl libmojolicious-perl libcrypt-mersenne-twister-perl libbusiness-creditcard-perl libdatetime-perl
After installing dependencies, clone the Lstu repository from Github. You can do this by running the following command:
git clone https://github.com/ldidry/lstu.git
After cloning the repository, go to the Lstu directory and copy the configuration file:
cd lstu/
cp lstu.conf.template lstu.conf
Next, edit the lstu.conf
file to specify the appropriate presets for your system. Run the following command to open it in the nano editor:
nano lstu.conf
Change the following lines to match your system configuration:
# Define the url of your lstu instance
our $url = "https://example.org/";
# Define the domain name of your lstu instance
our $domain = "example.org";
# Define the salt used by your lstu instance. Warning: Don't change it once your instance is running otherwise all past URLs will be invalid!
our $salt = "SomeSalt";
# Define the database name used by your lstu instance
our $dbName = "lstu";
# Define the email sending options
our $smtp = 'localhost';
our $fromEmail = 'lstu@example.org';
our $fromName = 'Lstu';
Save and close the file (Ctrl-O then Ctrl-X).
Now, it's time to install Lstu by running the following commands:
sudo make
sudo make install
To make Lstu accessible via a web browser, you need to configure a web server. In this tutorial, we will configure Lstu with nginx.
First, install the Nginx web server by running this command:
sudo apt-get install nginx
Next, create a new virtual host configuration file for Lstu:
sudo nano /etc/nginx/sites-available/lstu
Add the following configuration in this file:
server {
listen 80;
server_name example.org;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Save and close the file.
Enable the virtual host configuration with the following command:
sudo ln -s /etc/nginx/sites-available/lstu /etc/nginx/sites-enabled/
Finally, restart the Nginx service:
sudo service nginx restart
Before running Lstu, you need to create the database and apply the schema by running the following commands:
mysql -u root -p
CREATE DATABASE lstu;
exit
mysql -u root -p lstu < share/lstu.schema.mysql
Now, start the Lstu service:
./lstu start
You can verify if the service is running by running the following command:
./lstu status
Congratulations! You have successfully installed Lstu on Debian Latest. You can now access it by visiting the domain name or IP address of your server in a web browser.
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!