Loading...
 

How to install WikiSuite

If you are a developer, you may prefer to go directly to the source code.

Requirements

  • A server, being physical host or a virtual machine. https://www.vpsbenchmarks.com/ can help you pick a provider. If you don't have a server: we are currently experimenting for a Home Server option.
    • CPU
      • 1 core/thread is enough for a fresh website but we suggest to consider at least 2. And scale accordingly in the future.
    • RAM
      • To run Virtualmin and a few small Tiki instances, you should have at least 2GB of RAM. But as word goes, the more the better.
    • STORAGE
      • 10GB can get you started with an OS and everything you need. But you should get more or even over-provision if you plan for an intensive online activity with lots of files.
      • Do not forget about backups: start locally and move to remote as soon as possible. Virtualmin can help you make the best out of your available space, by rotating backups.
  • A grade A GNU/Linux operating system, stable and suitable for servers
      • You need to pre-install a fresh minimal Debian 12. For status on OS support, please see here.
        • Do not pre-install or pre-configure any additional packages on your OS. The installer expects a freshly installed, supported, OS, and anything you do differently may cause conflicts or configuration errors. If you will be enabling third-party package repositories, do so after installation, and only with extreme caution.
  • A domain name (a sub-domain will also do fine), with the following options:
      • At the moment it is recommended to delegate fully a working sub-domain or domain to the server before your proceed, because your WikiSuite server will run flawlessly a BIND nameserver. In this case you will have the advantages of creating subdomains easily, locally, also with SPF records for example. And it offers flexibility for any future domains.
      • You can also point a wildcard subdomain if you don't want to deal with DNS on your server. For example, if we want all requests pointed to test.wikisuite.org or *.test.wikisuite.org as this makes it easy to create many projects, such as: abc.test.wikisuite.org, def.test.wikisuite.org, etc.
      • Last but not least, for a single (sub)domain just a simple A and/or CNAME record from your DNS provider pointed to your IP. This is provider-dependent and not covered here.


You'll want something like this:

test A record (put your IP address here)
*.test CNAME test.wikisuite.org.


More info at Set up your domain name

How WikiSuite leverages Virtualmin / Webmin

Webmin is a web tool to facilitate server management. Virtualmin extends Webmin with a focus on shared hosting, which allows multiple instances of Tiki Wiki CMS Groupware that are clearly segmented.

Installing WikiSuite automatically installs all the necessary packages and Webmin which itself automatically installs Virtualmin (both configured for optimal settings for WikiSuite components, see here the Differences between Virtualmin and WikiSuite ).

If you have an unreliable internet connection, you should use tmux or something similar. (So you can launch some commands, and they continue running even if you are disconnected).

Getting started

Log in to your server via SSH with the root user. In some cases, your host may not provide you a root access to directly login to, but a user such as debian. This is why commands which require root are pre-fixed by sudo.

Quick installation

Quickly install WikiSuite package with just with few steps.
Then:

Download script
wget -O wikisuite-installer.bash https://gitlab.com/wikisuite/wikisuite-packages/-/raw/main/wikisuite-installer.bash

Then :

Run the script
bash wikisuite-installer.bash
Optionally run the script with option
wikisuite-installer.bash -ft all
wikisuite-installer.bash -ft none
wikisuite-installer.bash -ft dns
wikisuite-installer.bash -ft ssl,dns,mail,ftp

If for some reason, the quick script doesn't work for your use case, or you want more control on your install, please see the next section for the standard installation.

Standard Installation

Proceed with the installation process manually by following all the steps required.
Before the installation process, update and upgrade the system to ensure packages are current.

Update and upgrade the system
apt-get update && apt-get upgrade

Then:

If you get -bash: sudo: command not found, install it first as root user
apt-get install sudo

This installs curl if not already installed
sudo apt-get install curl
Check your host name
sudo hostnamectl
Set a proper FQDN hostname for your machine. This domain name needs to be active, and pointing to this machine
sudo hostnamectl set-hostname machinename.example.org
This downloads the install script (which you can inspect)
curl -o wikisuite-installer.bash https://gitlab.com/wikisuite/wikisuite-packages/-/raw/main/wikisuite-installer.bash
This is to inspect the script (optional)
nano wikisuite-installer.bash
This runs the install script
sudo bash wikisuite-installer.bash


There is also support for NGINX available.

A web URL for accessing Virtualmin will be provided after installation is complete Ex: https://your-ip-address:10000 (GUI is at port 10000)
After completing the Virtualmin post-install wizard Ex: https://yourdomain:10000 (GUI is at port 10000) becomes available.

If you are getting SSL errors: Virtualmin -> Select base domain -> Server Configuration -> SSL Certificate -> Let's Encrypt -> Request Certificate

You now have a WikiSuite server. Congrats!

This could be a good time to reboot your server, and make sure it restarts fine.

You will get kicked out. Reconnect after reboot.
sudo reboot


Next steps:

  1. Create a Virtual Server for your Tiki, based on a plan
  2. Use Tiki Manager to install Tiki Wiki CMS Groupware

Create a Virtual Server for your Tiki

Go to Ex: https://example.org:10000
Virtualmin > Create Virtual Server
For more info: https://www.virtualmin.com/documentation/tutorial/virtual-server-basics
Fill in the appropriate fields and make sure you check the "Tiki Manager" feature! Then click the "Create Server" button and you are done.

Image

If a domain name is valid, free SSL (for https://) certificates from Let's Encrypt are automatically created. If you'll add the domain later, you can get SSL later: Virtualmin > Select base domain > Server Configuration > SSL Certificate > Let's Encrypt > Request Certificate

So now, you should be able to visit both my.example.org and see a placeholder page. If domain name is not set up, you can Preview Website via Virtualmin

Virtualmin has many other features like domain alias, domain rename, etc. which we invite you to discover.

Installing Tiki via the included Tiki Manager feature

For more info, please see Tiki Manager docs.

To access everything related to our manager you have to navigate to Services > Tiki Manager.

Just fill in the email address, note the password, choose the desired Tiki Version and hit install. The Tiki Manager will inform you that your instance is ready; you can visit it at your Virtual server URL and manage it using the username "admin" and your previously displayed password. Or you can import an existing instance.

Image

You now also have a Tiki instance running on your WikiSuite server


See more at Virtualmin Tiki Manager

Discover. Configure. Enjoy.

The default page of Tiki:
Image

The Tiki Admin Dashboard looks like this:
Image

Extras

There are

CLI vs web version of PHP

sudo su -l permits to switch to becoming root, and have the proper CLI version of PHP. Reference: https://github.com/virtualmin/virtualmin-gpl/issues/520

Force all traffic to SSL / HTTPS

Forcing IPv4 on apt

Sometime the installer may fail silently, not being able to talk to the repos; usually it is a network/name resolution problem, most common is accessing via IPv6, solved by:

sudoedit /etc/apt/apt.conf.d/99force-ipv4

and in the file inserting

Acquire::ForceIPv4 "true";

Forcing IPv4 for everything networking by stopping IPv6:

sudo nano /etc/sysctl.conf

Place the following entry to disable IPv6 for all adapters.

net.ipv6.conf.all.disable_ipv6 = 1

For a particular adapter (If the network card name is enp0s3).

net.ipv6.conf.enp0s3.disable_ipv6 = 1

To reflect the changes execute the following command.

sudo sysctl -p

Email

Default Website for IP address

If server is accessed by IP address, you can pick which domain is shown via Server Configuration -> Website Options -> Default Website for IP address
It is recommended not to have a live site there, as end users should really use domain names, and it could be nasty bots scanning IPs to find forms to abuse. (real story!)

Find out more, ask the community for help and get involved