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!