Installing ISSO Commenting on Ubuntu / Debian

Summary

This document provides an example of how to install the ISSO commenting system on Debian 10 or Ubuntu 20.04 desktop. This package exists in apt, however, the problem is later python versions break ISSO. The syntax differences have been fixed in a later ISSO, so, we will setup outside of apt. ALl commands needing root privileges are prefixed with sudo, so, we are assuming you are not running as root here.

Create a user for running ISSO

For security and other purposes, we’ll make a user to run ISSO. We’ll disable login as well:

sudo adduser isso --disabled-login --disabled-password

Install packages that may be missing

Depending on which OS and which type of install you have, you may be missing some packages we’ll need.

 sudo apt-get install python3-dev sqlite3 build-essential python3-pip

Install ISSO code

We’ll install using pip3 and as user isso we setup earlier. We don’t want to install as root!

sudo su - isso
pip3 install isso

Setup the isso configuration

This step will involves you selecting the options you want to use. Use your favorite editor to create / edit isso.conf. So, for example:

vi isso.conf

I can’t tell you exactly what to put in there. I can show the file used on this site. Be sure and read the documentation on the ISSO website.

[general]
dbpath = /home/isso/blog.comments.db
host = https://blog.fatula.us
log-file = /home/isso/log/isso.log
max-age = 30m
notify = smtp

[admin]
enabled = true
password = ahiddenpassword

[server]
listen = http://localhost:someunusedport/
reload = off
profile = off

[guard]
enabled = true
ratelimit = 1
direct-reply = 5
reply-to-self = false
require-author = true
require-email = false

[moderation]
enabled = true
purge-after = 30d

[hash]
salt = asetofuniquecharactersforsecurity
algorithm = pbkdf2

[smtp]
host = localhost
port = 25
security = none
from = "Steve" <replacewithyouremail>
to = replacewithyouremail
timeout = 10

Create a log directory

If you desire to have a separate log directory, perhaps you want to rotate old logs, etc.:

mkdir log

Make sure the directory matches what is in the isso.conf file.

Exit out of isso user

exit

Now we need a systemd startup file

I’ll again show a sample file, but you may modify for your own uses. Use vi or you favrotite editor:

sudo vi /etc/systemd/system/isso.service

Here’s a sample file:

[Unit]
Description=Isso Comment Server

[Service]
Type=simple
User=isso
WorkingDirectory=/home/isso
ExecStart=/home/isso/.local/bin/isso -c /home/isso/isso.conf
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Setup systemd to auto start isso on boot

We’ll tell systemd to use our service file when booting:

sudo systemctl enable isso
sudo systemctl start isso
sudo systemctl status isso

The last command makes sure no syntax or other erros were made in the service file, make sure it’s running.

Enable Apache2 module

In case it is not enabled on your system:

sudo a2enmod proxy_http
sudo systemctl reload apache2

Done!

ISSO is now setup and running on your system. Now it’s a matter of using it in your webpages. That part depends on what you are using to create web pages. That’s up to you!