By Alvin Alexander. Last updated: July 6, 2021
This probably won’t make sense to anyone else, but these are my notes related to installing Wiki.js and Postgresql on an Ubuntu 20.04 system. Everything here is related to setting up a new Ubuntu system and then running Wiki.js:
New Linode Server (Ubuntu 20)
=============================
sudo adduser fred
sudo usermod -aG sudo fred
## Install Postgres
-------------------
- https://www.linode.com/docs/guides/how-to-install-use-postgresql-ubuntu-20-04/
- https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-20-04
- change the 'postgres' user account password:
passwd postgres (then supply the password)
- Change the password for the postgres PostgreSQL user to use when connecting over a network.
psql -c "ALTER USER postgres WITH PASSWORD 'the_password'"
- /etc/postgresql/12/main/pg_hba.conf
## Install Node.js
------------------
- https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-20-04
apt install nodejs
nodejs -v
v10.19.0
## Connect Postgres & Wiki.js
-----------------------------
- become root
- become postgres user:
sudo -i -u postgres
- create a new user:
createuser --interactive
# does not let you set the password here
# this might work:
psql -c "ALTER USER db_user WITH PASSWORD 'the_password'"
- create the database
createdb wiki_js
# PostgreSQL / MySQL / MariaDB / MS SQL Server only:
host: localhost
port: 5432
user: bd_user
pass: db_password
db: db_name
ssl: false
PostgreSQL Backup
-----------------
pg_dump -h localhost -U db_user -W db_name > db.dump
How to use a Different SSH Port on the Server
---------------------------------------------
vi /etc/ssh/sshd_config
systemctl restart ssh
netstat -tlpn| grep ssh
ss -tlpn| grep ssh
ufw allow 5150/tcp
ufw status verbose
## NGINX
========
## htpasswd with NGINX
----------------------
- https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/
- https://www.interserver.net/tips/kb/apache-htpasswd-authentication-ubuntu/
apt-get install apache2-utils
# use any directory, as desired:
touch /etc/nginx/.htpasswd
htpasswd -c /etc/nginx/.htpasswd the_username
the_password
## Wiki.js Setup
----------------
- the wiki is now available at example.com
- wiki admin email: foo
- wiki admin pass: bar
wiki.js version
download/2.5.201/wiki-js.tar.gz
nodejs -v
v10.19.0
psql -version
psql (12.7 (Ubuntu 12.7-0ubuntu0.20.04.1))
OS: Ubuntu 20.04
Wiki.js version: 2.5.201
Database engine: PostgreSQL 12+214
/etc/systemd/system/wiki.service (how to create a simple Ubuntu service)
================================
[Unit]
Description=Wiki.js
After=network.target
[Service]
Type=simple
# Wiki.js runs with the 'node server' command
ExecStart=/usr/bin/node server
Restart=always
# Consider creating a dedicated user for Wiki.js here:
User=nobody
Environment=NODE_ENV=production
WorkingDirectory=/var/www/foobar.baz/wiki.js
[Install]
WantedBy=multi-user.target
Reload systemd:
systemctl daemon-reload
Run the service:
systemctl start wiki
Enable the service on system boot.
systemctl enable wiki
Note: You can see the logs of the service using journalctl -u wiki
Again, all of those commands are related to setting up a new Ubuntu system and then running Wiki.js on that server. They recommend using Postgres, and I used to love using Postgres, so I went with it.