Tiki
Overview
Tiki Wiki CMS Groupware is a Free/Libre/Open Source web application with a very large built-in feature set. A wiki, a content management system, forums, file galleries, trackers (structured data and forms), blogs and articles come in one integrated package, with no plugins to install. It suits team knowledge bases, intranets, documentation sites and community portals.
This SecureAnyCloud image runs Tiki 29.2 "Bellatrix" with nginx, PHP 8.3 FPM and a bundled MariaDB database on a hardened Ubuntu 24.04 LTS base, patched at build time. Your wiki content and the database live on a dedicated Azure data disk. Every VM generates its own administrator password and database password on first boot, so no two deployments share a credential.
What you get:
- Tiki 29.2 served by nginx and PHP 8.3 FPM, managed by systemd
- A bundled MariaDB database, listening on loopback only
- A per-VM
adminaccount and a per-VM database password, generated on first boot and recorded in a root-only file - A dedicated Azure data disk at
/datathat holds the MariaDB data directory and Tiki's uploads - Starter wiki content, so the site renders immediately: a HomePage, a Playground page and a Documentation page
mariadb.service,php8.3-fpm.serviceandnginx.serviceas enabled, active systemd units- 24/7 SecureAnyCloud support
Security posture of this image:
- The Tiki browser installer (
tiki-install.php) is removed and locked. On a default Tiki, whoever reaches the installer first can take over the site. On this image, that route does not exist. - There is no default administrator password. Tiki's documented
admin/admindefault is never present, and it does not authenticate. - PHP refuses to serve Tiki until the first-boot credential rotation has succeeded, so the appliance fails closed instead of serving with a build-time secret.
Prerequisites
- An Azure subscription and permission to create VMs
- An SSH key pair for the
azureuseraccount - Inbound TCP
80open to the addresses you want to serve, and inbound TCP22for administration
Step 1 - Deploy from the Azure Marketplace
Search the Azure Marketplace for Tiki Wiki CMS Groupware on Ubuntu 24.04 LTS by SecureAnyCloud, select the plan, and create the VM. Standard_B2s is the recommended size. In the networking step, allow inbound ports 80 and 22.
Step 2 - Deploy from the Azure CLI
az vm image terms accept --urn sac1647283583153:tiki-ubuntu-24-04:default:latest
az vm create \
--resource-group my-resource-group \
--name my-tiki-vm \
--image sac1647283583153:tiki-ubuntu-24-04:default:latest \
--size Standard_B2s \
--admin-username azureuser \
--generate-ssh-keys \
--public-ip-sku Standard
az vm open-port --resource-group my-resource-group --name my-tiki-vm --port 80 --priority 1001Step 3 - Connect to your VM
ssh azureuser@<vm-public-ip>Step 4 - Confirm the services are running
Three units serve Tiki. MariaDB holds the content, PHP 8.3 FPM runs Tiki, and nginx serves it on port 80. A fourth unit, tiki-firstboot.service, is a one-shot unit that generates this VM's credentials. Check all four:
for u in mariadb php8.3-fpm nginx tiki-firstboot; do printf '%-18s %s\n' "$u" "$(systemctl is-active $u)"; done ss -tlnp | grep -E ':80|:3306'All four units report active. nginx listens on :80, and MariaDB listens only on 127.0.0.1:3306.
Step 5 - Retrieve your administrator password
Every VM generates its own administrator password and database password on first boot. Both are written to a root-only file. Read it with:
sudo cat /root/tiki-credentials.txt
sudo stat -c '%a %U:%G %n' /root/tiki-credentials.txtThe file has mode 600 and is owned by root:root. TIKI_ADMIN_PASSWORD is the password for the admin account.
Step 6 - Confirm the stack and the health endpoint
php -r 'echo "PHP ".PHP_VERSION;'; echo mariadb --version | sed 's/,.*//' curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1/healthz curl -s http://127.0.0.1/ | grep -o '<title>[^<]*</title>'/healthz returns 200. It is an unauthenticated static endpoint intended for Azure Load Balancer probes. The front page title confirms that Tiki is rendering.
Step 7 - Verify the security posture
This image closes the Tiki installer takeover route and ships no default credential. Run these commands to verify it yourself:
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1/tiki-install.php ls /var/www/tiki/db/lock ls /var/www/tiki/tiki-install.php 2>&1 | tail -1 sudo mariadb --protocol=socket -uroot -N -B -e 'SELECT @@bind_address;'The installer returns 404 and its file is absent. The db/lock file is present, which is Tiki's own mechanism for disabling the installer. The database is bound to loopback only.
Step 8 - Open Tiki in your browser
Browse to http://<vm-public-ip>/. The starter HomePage renders immediately.
Step 9 - Sign in as the administrator
Select Log in in the top right corner. Sign in with the username admin and the TIKI_ADMIN_PASSWORD from Step 5.
After your first sign-in, change the password from My Account. If you plan to send notifications, set the site's sender email in the admin panel.
Step 10 - Create and edit wiki pages
Open the Playground page from the HomePage and select Edit. The editor gives you Tiki's full wiki toolbar, and every save keeps a numbered revision.
To see every page and its revision history, go to Wiki -> List Pages.
Step 11 - Turn features on from the admin panel
Tiki includes more features than it enables by default. Open Settings -> Control Panels and enable only what you need, such as trackers, forums, file galleries, blogs and articles.
Step 12 - Confirm your content lives on the dedicated disk
The MariaDB data directory and Tiki's uploads are on the Azure data disk, not the OS disk, so they survive a resize and can be snapshotted independently. Confirm the mounts:
findmnt -no SOURCE,TARGET /data
findmnt -no TARGET /var/lib/mysql readlink -f /var/www/tiki/files df -h /data | tail -1/var/lib/mysql is bind-mounted from /data/mysql. Tiki's files, storage and temp directories resolve under /data/tiki.
Maintenance
Apply Tiki schema updates after an upgrade. The browser installer is removed on this appliance, so apply schema changes from the console:
sudo -u www-data php /var/www/tiki/console.php database:updateClear the cache after changing preferences directly in the database:
sudo -u www-data php /var/www/tiki/console.php cache:clearBack up your site. Everything you need to restore is on /data: the database and the uploads. Snapshot the data disk, or dump the database:
sudo mariadb-dump --single-transaction tiki | gzip > ~/tiki-backup.sql.gzApply operating system updates. Ubuntu's unattended upgrades stay enabled on this image and deliver them.
Support
SecureAnyCloud provides 24/7 support for this image. Contact sales@secureanycloud.com.
Tiki Wiki CMS Groupware is licensed under the GNU Lesser General Public License version 2.1. The complete corresponding source for Tiki and for every bundled library is available from the Tiki project at https://tiki.org. For the exact release packaged here, use https://sourceforge.net/projects/tikiwiki/files/Tiki_29.x_Bellatrix/29.2/.
SecureAnyCloud will also provide the corresponding source of any LGPL component in this image on written request to sales@secureanycloud.com, for as long as the image is distributed. The image does not include the optional Kaltura API client that upstream bundles, because that client is licensed under the GNU Affero General Public License.
Deploy on Azure
Launch Tiki Wiki CMS Groupware on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.
View this image
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com