How to Install WackoWiki on Void Linux

WackoWiki is a Wiki Engine software that allows users to edit and create articles in the wiki. In this tutorial, we will go through the process of installing WackoWiki on Void Linux.

Prerequisites

Install Dependencies

  1. Open the terminal or command line interface and update the package repositories first.
sudo xbps-install -Su
  1. Install the following prerequisites by running this command.
sudo xbps-install -S nginx php php-fpm php-pdo php-mbstring php-opcache php-xml php-json php-gd mysql mysql-client
  1. When prompted, confirm the installation by typing "y" and hitting enter.

Configure Nginx

  1. Open the Nginx configuration file in your preferred text editor to configure the WackoWiki website.
sudo nano /etc/nginx/nginx.conf
  1. Make the changes highlighted below:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

events {
worker_connections 1024;
}

http {
...
    server {
        listen 80;
        server_name wiki.example.com;
        root /var/www/wiki;

        index index.php index.html index.htm;

        location / {
            try_files $uri /index.php;
        }

        location /dumps {
            deny all;
        }

        location ~ \.php$ {
            include       fastcgi_params;
            fastcgi_pass  unix:/run/php-fpm/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        }

        location ~* ^/cache/.*\.(php)$ {
            deny all;
        }
    }
}
  1. Save the file and exit.

Download WackoWiki

  1. Download the latest version of WackoWiki to your server by running the following command:
wget https://github.com/WackoWiki/wackoWiki/releases/download/6.0.13/wacko-6.0.13.zip
  1. Extract the downloaded file by using the command below:
unzip wacko-6.0.13.zip
  1. Move the WackoWiki directory to the Nginx document root by running:
sudo mv wacko /var/www/wiki

Configure MySQL Server

  1. Log in to the MySQL server as the root user with the following command:
sudo mysql -u root -p
  1. Create a new database for WackoWiki with the following command:
CREATE database wacko_db;
  1. Create a new MySQL user and grant the user permissions with the following command:
GRANT ALL ON wacko_db.* TO 'wacko_user'@'localhost' IDENTIFIED BY 'password';
  1. Flush the privileges with the following command:
FLUSH PRIVILEGES;
  1. Exit MySQL with the following command:
exit

Configure WackoWiki

  1. Rename the configuration sample file for WackoWiki:
sudo cp /var/www/wiki/config.sample.inc.php /var/www/wiki/config.inc.php
  1. Edit the configuration file:
sudo nano /var/www/wiki/config.inc.php
  1. Find the following lines and change them according to this:
$wakkaConfig['dbtype']     = 'mysql';
$wakkaConfig['dbhost']     = 'localhost';
$wakkaConfig['dbname']     = 'wacko_db';
$wakkaConfig['dbuser']     = 'wacko_user';
$wakkaConfig['dbpasswd']   = 'password';
  1. Save the file and exit.

  2. Restart Nginx and PHP-FPM:

sudo service nginx restart

Congratulations

You have successfully installed WackoWiki on your Void Linux server. Visit your server by browsing to your server hostname or IP address with a web browser, and you should be redirected to the WackoWiki installation page. If you have followed the steps above correctly, then you should now have a fully functional WackoWiki installation ready to use.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!