History: How to install WikiSuite
Preview of version: 238
2021-10-14: We are working on creating .deb and .rpm packages
If you are a developer, you may prefer to go directly to the source code.
- Virtualmin 99% optimally installed: we are tweaking the script. Uses PHP 7.4 (overrideable)
- Also, we'll converge on MariaDB as is planned by upstream (Virtualmin 7: So, I think for Virtualmin 7 (...) we’ll switch the default database in Virtualmin installations to mariadb for all distros.
- Tiki Manager is now a Virtualmin feature and is installed via .deb or .rpm. Running as root, now it can manage any Tiki instance on the server.
- Tiki Wiki CMS Groupware installs well with 21.x LTS with instructions below.
- Make sure to get latest 21.x or 22.x or trunk/master to get fixes related to MySQL 8.0
- Syncthing: Script is in the works: https://gitlab.com/wikisuite/syncthing-for-virtualmin/
- Openfire: Script is in the works: https://gitlab.com/wikisuite/openfire-webmin-module
- MeshCentral will become a priority once we have integration with Tiki. Likely 2022Q1.
Requirements
- A server, being physical host or a virtual machine. https://www.vpsbenchmarks.com/ can help you pick a provider.
- 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 1GB of RAM.
- STORAGE
- 10GB can get you started with an OS and everything you need. But you should scale this 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.
- CPU
- A grade A GNU/Linux operating system, stable and suitable for servers
- You need to pre-install a fresh minimal Debian 10 (soon 11) or Ubuntu 20.04 LTS (more distros will be supported later, Rocky Linux & CentOS 8.x are a given)
- 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 flawlesly 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 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 from the original script ).
You should have a fresh instance of Debian 10 or Ubuntu 20.04 LTS. It should work with Ubuntu 18.04 LTS and Debian 9 but this has not yet been tested. CentOS and Rocky Linux support is planned and we are following discussions about CentOS vs CentOS Stream support in Virtualmin. Expect full support for Debian 11 once the Virtualmin team adapts their software suite.
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. This is why commands which require root are pre-fixed by sudo.
Then:
sudo apt-get update && apt-get upgrade
sudo apt-get install curl
hostnamectl set-hostname machine.name
curl -o install-virtualmin.sh https://gitlab.com/wikisuite/virtualmin-installer/-/raw/master/install-virtualmin.sh
nano install-virtualmin.sh
sudo bash install-virtualmin.sh
A web URL for accessing Virtualmin will be provided after installation is complete Ex: https://example.org:10000 (GUI is at port 10000)
If you are getting SSL errors: Virtualmin -> Select base domain -> Server Configuration -> SSL Certificate -> Let's Encrypt -> Request Certificate
Updates: The system default is to auto update weekly. You can change this in the Virtualmin admin panel.
This could be a good time to reboot your server, and make sure it restarts fine.
sudo reboot
Next steps:
- Create a Virtual Server for your Tiki, based on a plan
- 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
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 them.
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
Just fill in the email address, note the password, choose the desired Tiki Version and hit install. The Tiki Manager will inform you that you instance is ready; you can visit it at your Virtual server URL and manage it using the username "admin" and your previously displayed password.
Alternative ways to automatically install Tiki
Just to be clear: you can install Tiki in more than one way! And WikiSuite is the recommended one of course, if you start from scratch and just want a good server. Here are a couple different scenarios outside the declared WikiSuite scope.
The Tiki Install script from Virtualmin Pro
We also have (for existing/regular Virtualmin deployments that didn't make use of our installer) an install script that can install a Tiki instance with minimal effort. Just select the database to be used, offer a path, and you are done. This can only be found in the Pro version of Virtualmin and not the GPL (for now).
Tiki Manager's web interface
More info: Documentation of Tiki Manager's web UI
As of 2021-07-17, the web interface can be used to install Tiki on Virtualmin but it is less stable. You may prefer to use the command line version.
Create Tiki Instance through Command Line
So now to install Tiki, you need a database. Virtualmin actually already created one for you.
Here is video to give you an idea of the process, how to get database details
Now, Tiki Manager will create a fresh Tiki instance fetching files from Git, and using database mentioned above.
For more info, please see the instance section of the documentation of Tiki Manager
So now, you need to log in using SSH with the user you just created (and not as root)
cd /home/example/tiki-manager
php tiki-manager.php instance:create
Recommended answers:
- Connection type: local (because Tiki Manager is installing on the same server, accessible to the same user.)
- WebURL: http://example.org (as above)
- Name: you can keep what it proposes. This is just cosmetic.
- Email: Your email so system can alert you of issues
- WebRoot: /home/example/domains/example.org/public_html
- You will get a warning (Target webroot folder is not empty). Installing a new Tiki instance, all files will be deleted. Do you want to continue? (yes/no): yes
- TempDir: /home/example/tmp/
- Backup user: (accept proposed value)
- Backup group: (accept proposed value)
- Backup file permissions: (accept proposed value)
- Branch: git : 21.x (this provides latest released version of branch 21 + bug fixes of upcoming 21.x release.
- Database host: (accept proposed value)
- Database user: username from the Virtual Server (not the Sub-Server)
- Database password: password from the Virtual Server (not the Sub-Server)
- Database name: name from the Sub-Server (not the Virtual Server)
Here is video to give you an idea of the process, but you should use recommended answers above
After you have answered all the questions, it will take quite some time to install your Tiki. Perhaps 20-30 minutes or more, depending on your context. Just be patient and let it run.
After Successfully Creating the Tiki Instance
You will get the Tiki HomePage as below.
Login with
u: admin
p: admin
And follow the instructions to set a strong password.
The Tiki Admin Dashboard looks like this:
Extras
Force all traffic to SSL / HTTPS