Isso on Ghost on Uberspace 7
Here's my guide on installing Isso on Uberspace 7 for comments als alternative to Disqus and Commento. See also my last posts on Installing Ghost and Installing Commento and my thoughts for choosing Isso over Commento on Comments on Ghost on Uberspace 7.
The official Install Guide of Isso suggests to use
pip, in our case with the
--user flag for a local install:
pip install --user isso
(If you like to support python3 you can also do a
pip3 install --user isso or even use
As in the guide for Ghost we need to choose a port:
ISSOPORT=$(( $RANDOM % 4535 + 61000)); netstat -tulpen | grep $ISSOPORT && echo "versuch's nochmal"
We want notifications when someone comments on our blog. Therefore we create a mailuser to send the emails from and set a password (of course you can skip this if you don't need/want it):
uberspace mail user add comments
Now we create a config file in
~/etc/isso/. We chose to configure Isso with smtp mail, therefore we add the
[smtp] section and
notify = smtp to our configuration. You can just copy the whole
cat command and paste it in the shell:
mkdir ~/etc/isso cat <<__EOF__ >~/etc/isso/user.cfg [general] dbpath = $HOME/etc/isso/comments.db host = https://yourdomain.tld/ log-file = /home/maxb/logs/isso_logfile notify = smtp [server] listen = http://localhost:$ISSOPORT/ [smtp] username = comments@$USER.uber.space password = SECRETMAILBOXPASSWORD to = firstname.lastname@example.org from = email@example.com host = $HOSTNAME __EOF__
After executing don't forget to change
yourdomain.tld to your actual domain and to enter the password you chose earlier (
~/etc/isso/user.cfg). Https only is sufficient, because uberspace enforces https and redirects all unencrypted requests. Of course you omit the smtp and notify settings if you didn't create the mailuser. More on the server config in the Official Documentation.
To make isso available on the outside we need to add a subdomain. For example
uberspace web domain add comments.yourdomain.tld
Now we need to tell Apache to proxy all requests to Isso. We do this by creating a directory for the subdomain and placing a
.htaccess file in there:
mkdir /var/www/virtual/$USER/comments.yourdomain.tld cat <<__EOF__ >/var/www/virtual/$USER/comments.yourdomain.tld/.htaccess DirectoryIndex disabled RewriteEngine On RewriteRule ^(.*) http://localhost:$ISSOPORT/\$1 [P,L] __EOF__
The first row prevents Apache from serving an
index.html when just accessing the domain. This would prevent the Isso client (i.e. your website) from reaching the right endpoint at the server.
The last line of the file redirects the traffic to the Isso server.
Lastly comes the service file. We need to create a service file again, like we did for Ghost:
cat <<__EOF__ >~/etc/services.d/isso.ini [program:isso] command = $HOME/.local/bin/isso -c $HOME/etc/isso/user.cfg run autostart = true autorestart = true __EOF__
It's pretty self-explanatory.
autostart starts the isso server on startup and
autorestart restarts the server when it fails.
Now just reread the config and update it to start Isso!
supervisorctl reread supervisorctl update
Lastly we need to add the comment section to the blog. Probably below every post, so we take a look at our theme, which is casper, and find the
~/ghost/content/themes/casper/post.hbs. Some way down is already an commented part for Disqus. There we can add (obviously not inside the commented part) the following snippet:
<script data-isso="https://comments.yourdomain.tld/" src="https://comments.yourdomain.tld/js/embed.min.js"></script> <section id="isso-thread"></section>
Again, don't forget to change your domain!
That's almost it. Restart Ghost to see the comment section appear!
supervisorctl restart ghost
If you have questions, leave a comment below.