Loading...
 

History: How to install WikiSuite

Preview of version: 203

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

As of 2021-01-29, this is ready for testing.

Requirements

  • A server
    • A virtual machine will do fine. https://www.vpsbenchmarks.com/ can help you pick a provider.
    • RAM
      • 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 Ubuntu 20.04 LTS (more distros will be supported later)
  • A domain name (a sub-domain will do fine)

Set up your domain name

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

  • abc.dev1.wikisuite.org
  • def.dev1.wikisuite.org
  • etc.


You'll want something like this:

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


More info at Set up your domain name

How To Install Virtualmin

You should have a fresh instance of Ubuntu 20.04 LTS. It should work with Ubuntu 18.04 LTS and Debian 9 and 10 but this has not yet been tested. CentOS support is planned and we are following discussions about CentOS vs CentOS Stream support in Virtualmin

It is important that nothing else is installed on the server because Virtualmin will handle it. We'll use https://gitlab.com/wikisuite/virtualmin-installer/ to install Virtualmin which is then configured for optimal settings for WikiSuite.

Install Webmin and Virtualmin on Ubuntu OS
Download Virtualmin using the below script. It is basically a shell script that will handle rest of the installation once executed.

Log in to your server via SSH with the root user. (If you are not logged in as root, you should switch to root),

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)

Then:

This installs curl if not already installed
apt-get install curl
This downloads the install script (which you can inspect)
curl -o install-virtualmin.sh https://gitlab.com/wikisuite/virtualmin-installer/-/raw/master/install-virtualmin.sh
This is to inspect the script (optional)
nano install-virtualmin.sh
This runs the install script
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

Update your system to latest available packages

Updates the list of available packages and their versions
apt-get update
Installs newer versions of the packages you have
apt-get upgrade

If you get an offer to autoremove, do not do so.
root@:~# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following package was automatically installed and is no longer required:
  php7.4-mysql
Use 'apt autoremove' to remove it.

You have a basic server. Congrats!

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

reboot

You will get kicked out. So now reconnect.

Next steps:

  1. Create a Virtual Server
  2. Install Tiki Manager
  3. Use Tiki Manager to install Tiki Wiki CMS Groupware

Create Virtual Servers

Go to Ex: https://example.org:10000
Virtualmin > Create Virtual Server
For more info: https://www.virtualmin.com/documentation/tutorial/virtual-server-basics
Server Create

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

Top-level Virtual Server

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)

Sub-server

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.

Installation of Tiki Manager

For more info, please see Tiki Manager docs.

1. Install Tiki Manager
Go to Ex: https://example.org:10000
Virtualmin > manager.example.org

Image

Once the installation is complete, it will indicate your login URL. Ex.: http://manager.example.org

Tiki Manager's web interface

More info: Documentation of Tiki Manager's web UI

Virtualmin > file manager > Home > example > public_html
So now Tiki Manager will be accessible at manager.example.org

As of 2021-01-09, the web interface can't be used to install Tiki on Virtualmin (it assumes you are using root user for MySQL, which is not the case). 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.

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 + unreleased bug fixes)
  • 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.
10

Login with
u: admin
p: admin

And follow the instructions to set a strong password.

The Tiki Admin Dashboard looks like this:
11

Extras

Force all traffic to SSL / HTTPS

Email

Unoconv

$ php apt-get install unoconv

For more info: https://doc.tiki.org/unoconv

History

Advanced
Information Version
Marc Laporte 213
View
Marc Laporte 212
View
Marc Laporte Debian 10 211
View
Marc Laporte This just will confuse people 210
View
Marc Laporte 209
View
Marc Laporte sudo 208
View
Marc Laporte Updates are now automatic 207
View
Marc Laporte Unoconv now part of https://gitlab.com/wikisuite/virtualmin-installer/-/blob/master/install-virtualmin.sh 206
View
Marc Laporte 205
View
Marc Laporte 204
View
Marc Laporte Now done by https://gitlab.com/wikisuite/virtualmin-installer/-/merge_requests/4 203
View
Marc Laporte 202
View
Marc Laporte 201
View
Marc Laporte 200
View
Marc Laporte 199
View
Marc Laporte 198
View
Marc Laporte 197
View
Marc Laporte 196
View
Marc Laporte 195
View
gary.cunningham-lee Made spelling of Tiki instance consistent. 194
View
Marc Laporte 193
View
Marc Laporte 192
View
Marc Laporte 191
View
Marc Laporte Elasticsearch is no longer Open Source: https://www.elastic.co/blog/license-change-clarification 190
View
Marc Laporte 189
View
Marc Laporte Warning until we find a way to avoid this 188
View
Marc Laporte 187
View
Marc Laporte Thank you Fabio 186
View
Marc Laporte 185
View
Marc Laporte Adding this very useful tool! 184
View
Marc Laporte Use wiki links 183
View
Marc Laporte Yes! Thank you Fabio! 182
View
Marc Laporte Simple :-) 181
View
Marc Laporte 180
View
Marc Laporte 179
View
Marc Laporte Removing now unneeded docs (done via script) 178
View
Marc Laporte 177
View
Marc Laporte Weirdly, previous code was giving curl: command not found Thank you Fabio! 176
View
Marc Laporte 175
View
Marc Laporte 174
View
Marc Laporte Tmux 173
View
Marc Laporte More later 172
View
Marc Laporte 171
View
Marc Laporte 170
View
Marc Laporte 169
View
Marc Laporte Thank you Farhad for the question 168
View
Marc Laporte 167
View
Marc Laporte 166
View
Marc Laporte 165
View
Marc Laporte 164
View