If you are a developer, you may prefer to go directly to the source code.
- Virtualmin 97% optimally installed: we are tweaking the script 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 installs well with instructions below, which leverages https://gitlab.com/wikisuite/tiki-manager-for-virtualmin
- 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 2021Q3.
- A server
- A virtual machine will do fine. https://www.vpsbenchmarks.com/ can help you pick a provider.
- In theory, Virtualmin can run with 256 MiB. But that is just pushing it.
- To run a few small Tiki instances, you should have at least 1 gig of RAM
- If you are using Elasticsearch: you should have at least 4 Gigs
- The capacity to pre-install a fresh Debian 10 or Ubuntu 20.04 LTS (more distros will be supported later)
- A domain name (a sub-domain will do fine)
You should point your domain name(s) to your server before your proceed. Even better is to point a wildcard subdomain. For example, we want all traffic to dev1.wikisuite.org or *.dev1.wikisuite.org as this makes it easy to create many projects, such as
You'll want something like this:
|dev1||A record||(put your IP address here)|
More info at Set up your domain name
Webmin is a tool to facilitate server management. Virtualmin extends Webmin with a focus on shared hosting, which permits to have multiple instances of Tiki Wiki CMS Groupware that are clearly segmented.
Installing WikiSuite automatically installs Virtualmin which itself automatically installs Webmin (All configured for optimal settings for WikiSuite components)
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 support is planned and we are following discussions about CentOS vs CentOS Stream support in Virtualmin
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)
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.
sudo apt-get install curl
curl -o install-virtualmin.sh https://gitlab.com/wikisuite/virtualmin-installer/-/raw/master/install-virtualmin.sh
sudo bash install-virtualmin.sh
A web URL will be provided after installation is complete, you can access the Virtualmin by the provided URL 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.
You will get kicked out. So now reconnect.
Create a new account plan that makes sense for your use case. Here is an example:
And you should set it as the default:
Go to Ex: https://example.org:10000
Virtualmin > Create Virtual Server
For more info: https://www.virtualmin.com/documentation/tutorial/virtual-server-basics
Suppose your desired domain is example.org, use the following pattern:
Create a Virtual Server for manager.example.org
And then, a Sub-Server for example.org
Domain name (This will be for Tiki Manager): manager.example.org
Administration username (pick a descriptive word for that domain): example
Administration password: Set a Strong Password (if not, you will very likely get hacked)
Domain name (This will be for your site): example.org
No need to pick username and password like above because user you created can access both.
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 manager.example.org and example.org and see a placeholder page. If domain name is not set up, you can Preview Website via Virtualmin
Why not have example.org as the Virtual Server and manager.example.org as the Sub-Server? You could but it makes things more complicated later
Virtualmin has many other features like domain alias, domain rename, etc.
For more info, please see Tiki Manager docs.
1. Install Tiki Manager
Go to Ex: https://example.org:10000
Virtualmin > manager.example.org
Once the installation is complete, it will indicate your login URL. Ex.: http://manager.example.org
More info: Documentation of Tiki Manager's web UI
So now Tiki Manager will be accessible at manager.example.org
As of 2021-03-21, the web interface can't be used to install Tiki on Virtualmin (we have a few bugs/limitations to overcome). Until this is resolved, you need to use the command line interface to install. However, you can use the web interface for other operations like upgrades and backups.
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)
php tiki-manager.php instance:create
- 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.
And follow the instructions to set a strong password.