Set Up Your Own Internally Hosted Private Wiki On Ubuntu Server

We used DokuWiki to create and host our own internal Wiki on the latest version of Ubuntu Server (22.04.1 at the time of this writing). How cool is this? We’ll, it’s actually more than just ‘cool’ and can make for an invaluable tool used to centrally store crucial information while making it conveniently accessible to you and your teams.

If you’re new to DokuWiki and unfamiliar with PHP, installation and setup can be a daunting task. But not to worry because today we are going to fly you through installation step by step and as a bonus, show you the basics to get your Wiki up and running in no time.

From the horses mouth ->

DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn’t require a database. It is loved by users for its clean and readable syntax. The ease of maintenance, backup and integration makes it an administrator’s favorite. Built in access controls and authentication connectors make DokuWiki especially useful in the enterprise context and the large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki.

Full list of installation commands ->

1 – Update System
sudo apt-get update

2 – Install Apache And PHP
sudo apt-get install apache2 php php-gd php-xml php-json -y

3 – Start Apache Service
systemctl start apache2
systemctl enable apache2

4 – Install DokuWiki
cd /var/www
sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
sudo tar xvf dokuwiki-stable.tgz
sudo mv dokuwiki-*/ dokuwiki

5 – Change Permissions
sudo chown -R www-data:www-data /var/www/dokuwiki

6 – Change Document Root In Apache To Point To /var/www/dokuwiki
sudo vim /etc/apache2/sites-enabled/000*.conf

Replace
DocumentRoot /var/www/html
with
DocumentRoot /var/www/dokuwiki

7 – Change AllowOverrides Setting In Apache2 To Use .htaccess files For Security
sudo vim /etc/apache2/apache2.conf

For directory /var/www/ replace
AllowOverride None
with
AllowOverride All

8 – Restart Apache2 Service
sudo service apache2 restart

9 – Visit http://IP-address-of-your-server/install.php to initially configure your DokuWiki.

10 – Delete The Install.php File After Finished Installing
sudo rm /var/www/dokuwiki/install.php

 

 

Turn That Old Dell Optiplex Into A Gaming Machine

I first want to start by managing expectations here a bit before even diving into this. I would say you can achieve an entry level, half way decent gaming PC out of a project like this. You should be able to run most games on low to medium settings @ decent frame rates. I don’t want folks getting confused thinking they are going to get some high end gaming PC out of this because you will end up disappointed.

You can certainly upgrade these old Dell Optiplex computers beyond the level of what I have done here but then, IMO you are sort of crossing the threshold of what is even worth it financially. You get to a crossroads of worth – ‘well heck, if I’m going to spend that much upgrading this thing, I might as well spend a little extra and go for a brand new mid tier gaming pc’.

I would also like to note that this upgrade concept is not limited to Dell Optiplex 990’s and is applicable to most if not all older Dell Optiplex models. However, I will say to look out for the case form factor. I recommend always going for the larger full tower case models vs the slim chassis form factor on these guys. You want to be able to fit the larger more powerful graphics cards in the case right?

A project like this yields several benefits. To name a few off the top ->

  • It’s simply fun to do
  • You get to be resourceful and not waste an older computer
  • Great learning experience for those new to computer hardware
  • BIG savings – obtain a decent gaming PC without breaking the bank (I’ve seen Dell 990’s on ebay for as low as 99$)

Full list of parts used (with links) and estimated costs ->

  • Dell Optiplex 990 Tower – $126
  • 8GB of RAM – 31$
  • Acrylic sheet (for side window) – $10
  • x2 Bgears b-PWM 80mm Blue LEDs Gaming PC Cooling Fans – $24
  • Seagate BarraCuda 2TB Internal Hard Drive – $50
  • Kingston 240GB A400 SSD – $22
  • ASUS GeForce GTX 1050 Ti 4GB Phoenix Fan Edition – $190

Total -> $453

Caveats to be aware of ->

  • Upgraded blue LED fans are quite loud, so beware
  • Blue LED fan connectors do not natively fit the fan headers on the motherboard. Fan headers must be modified (break down and remove plastic brackets) in order for the upgraded fans to connect successfully
  • If you’re going to use a Dremel Tool to make your cuts, remember to use a metal cutoff wheel for metal and a plastic cutoff wheel for the acrylic. Seems like common sense but I found this easy to overlook and inexperienced users may just grab any cut off wheel. Of course using the right tools for the job is always optimal
  • To attach these metal/plastic cutoff wheels to your Dremel, you will need a mandril bit which is included in this kit
  • Motherboard fan headers are 5 pin, whilst the blue led fan connectors are only 4 pin. They will still fit (once you break down and remove the plastic bracket surrounding the pins) however, one pin is left exposed. Still works but I believe due to this exposed pin, you’re hit with a ‘cpu fan error, press F1 to continue’ every time you boot the computer. Doesn’t appear you can shut off this warning in the BIOS either unfortunately. You could possibly stick a jumper onto the exposed 5th pin and that may trick the error message into going away but I digress. The prompt is a bit annoying but not a deal breaker, simply hit F1 to continue an you’re good
  • Another sneaky challenge I ran into is removing the CPU fan. You will need to have a long skinny Phillips head screwdriver that can fit through the small cpu fan holes (below pic circled in blue) to reach and remove the Phillips screws

Ref. pic of black fan header bracket that needs to be removed  (circled in red) and the small cpu fan holes you will have to get through (circled in blue) ->

Conclusion ->

Over all I am quite pleased with this build and the performance. For a budget gaming PC with an i5 and a 1050 Ti in it, I’m averaging about 55-60FPS on low settings and then 45-50 FPS on medium with temps stable at 55-60c under load while playing ‘Hold Fast: Nations At War’ (graphic intensive game). So that should give you a basic overview of how this thing will perform.

Lastly I want to make a suggestion not mentioned in the video and that is, I recommend cleaning and applying a fresh coat of thermal paste to your Optiplex cpu if you notice your temps are running abnormally high. That may help out.

Reference video below for the ‘hands on’ build  and demonstration guide ->

 

How To Install Zabbix 6.0 On Ubuntu Server 20.04

Can definitely be a tricky process, especially if Zabbix is new to you. What can I say about Zabbix? Well, a fantastic free monitoring software. Monitor all sorts of parameters on your servers, firewalls (works great with pfsense, hehe), etc and receive email alerts automatically if a problem is detected. Love pulling and tracking data on your system(s) performance? Zabbix will spit out all kinds of graphs and data at you and provide a birds eye view of monitoring system parameters (i.e cpu usage, ram utilization, etc) over time, which can be essential in troubleshooting. I am actually quite new to Zabbix myself and besides the tricky somewhat complex initial setup, loving it so far. We’ll today, I’m here to help you sort through any challenges getting Zabbix 6.0 going on Ubuntu Server 20.04. In fact, I am going to cover how to install both.

First we need to install Ubuntu Server 20.04 LTS

Download the iso from here -> https://ubuntu.com/download/server

In my case, I will be installing this on a VM using Hyper V.

  • configure your virtual machine software to boot from the iso you just downloaded
  • proceed with installing Ubuntu  Server 20.04 LTS. Yes this is a headless (no gui) install in my example which is fine because if the server is literally just running Zabbix, no real need for a GUI

(reference the beginning of video for more details on installing Ubuntu Server)

Installing Zabbix

Now that we have our nifty fresh and clean Ubuntu Server all installed and up and running, it’s time to install Zabbix.

1 ssh to your new Ubuntu Server and prepare to run linux commands the rest of the way to install Zabbix

2 Install Zabbix repositories

sudo wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo apt update 

NOTE –  as in my case, this may not install correctly for you. This was due to a certificate error. You will need to comment out: mozilla/DST_Root_CA_X3.crt

located in /etc/ca-certifiates.conf. Skip to 9:10 in the video for details.

3 Install Zabbix server, frontend, agent

 sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

4 install sql server

sudo apt-get install mysql-server
sudo systemctl start mysql-server

5 Create database for Zabbix

sudo mysql
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'password'; 

Note – put your own password in between those quotes

grant all privileges on zabbix.* to zabbix@localhost;
quit;

6 import initial schema and data
You will be prompted to enter your newly created password.

zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

When running the above zcat command, you will be asked for the db password you created in step 5

NOTE – importing the schema data make take some time to complete and can be confusing as to if it’s actually working or hung. In one case i’ve even seen this take hours, but I just let it run and went to bed. Got up in the morning and it was successful. Not sure what the unique problem was there in that case but I digress. Usually it shouldn’t take more then 5 min max though.There is no confirmation that it completes but be patient and what you want to look for is for the system to return you to the command prompt. That is a sign it completed successfully. Skip to 12:55 in the video for details on this.

7 Configure the database for Zabbix server

(you need to specify the DB password in zabbix_server.conf file)

Edit file located here: /etc/zabbix/zabbix_server.conf
I use VIM to edit files = # sudo vim /etc/zabbix/zabbix_server.conf

Find and uncomment/edit the following line

DBPassword=password <---change to your db password you set in step 5 
8 Start Zabbix server and agent processes

Start Zabbix server and agent processes and make it start at system boot.

systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2
9 Configure Zabbix frontend

Connect to your newly installed Zabbix frontend: http://server_ip_or_name/zabbix
Straight forward here but skip to 15:50 in the video for details

If you need help or have any questions at all, feel free to contact me. Hey that’s what I’m here for. I do this!