Building bradnorwiki on old MacBook

From Bradnor
Revision as of 11:33, 4 January 2026 by Ch (talk | contribs)

Install Ubuntu Server

Install Ubuntu server
Change root password
sudo passwd root

Enable wifi

Enabling wifi has to be done on a clean install without any patches, updates or package installations being applied
Install drivers
sudo apt update
sudo apt install firmware-b43-installer
sudo apt install linux-firmware

Install some utilities

Update and Install emacs and some utilities...
sudo apt update
sudo apt upgrade
sudo apt install emacs
and to suppress creation of #file# backup files,
create .emacs in ~ and /root containing
;; backup in one place. flat, no tree structure
(setq backup-directory-alist '(("" . "~/.emacs.d/backup")))
utilities for amongst others zip, nmcli, ifconfig, sensors and stress
sudo apt install zip network-manager net-tools lm-sensors stress
sudo apt install zip

Configure ssh to use keys

copy key to server for ssh client machine
ssh-copy-id -i ~/.ssh/id_rsa.pub <remote_user>@<remote_host>
check can still login over ssh with key
modify server ssh installation to disable password login
sudo emacs /etc/ssh/sshd_config
and add/modify
PasswordAuthentication no
PermitRootLogin no
UsePAM no
restart ssh
sudo systemctl restart ssh

Power management stuff to allow lid to be closed

Edit /etc/systemd/logind.conf and modify
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore
and reboot
sudo echo 50 | sudo tee /sys/class/backlight/intel_backlight/brightness
and at start up edit/create a file
/etc/rc.local
containing
#!/bin/bash
echo 50 | tee /sys/class/backlight/intel_backlight/brightness
exit 0
and make it executable
sudo chmod a+x /etc/rc.local

Fan management

Install management software
sudo apt install macfanctld
Test by using sensors and stress testing
then run
sensors
to see fan speed on line 'Exhaust  : 5179 RPM ...'
or use
sensors | grep -i '\(exhaust\|core \)' ; stress --cpu 2 --timeout 20 ; sensors | grep -i '\(exhaust\|core \)'

Mediawiki

https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Debian_or_Ubuntu
Install the LAMP stack - Apache, MySQL etc
sudo apt-get install apache2 mysql-server php php-mysql libapache2-mod-php php-xml php-mbstring

and additional bits for mediawiki

sudo apt-get install php-apcu php-intl imagemagick inkscape php-gd php-cli php-curl php-bcmath git
sudo systemctl restart apache2
Secure mysql
sudo mysqladmin -u root password <password>
sudo mysql_secure_installation

Install automysqlbackup and rsnapshot

sudo apt install automysqlbackup
sudo apt install rsnapshot

Set up noip

Will need to install 'make'
sudo apt install build-essential
Download the DUC and save the file to: /usr/local/src
Open terminal and execute the following:
cd /usr/local/src
tar xzf noip-duc-linux.tar.gz
cd noip-2.1.9-1
make
make install
If the install did not create configuration file then run. You need username/password for noip and port 80 need to be forwarded to the machine
/usr/local/bin/noip2 -C
To start at boot time, create a service by creating a file /lib/systemd/system/noip.service containing
[Unit]
Description=NOIP dynamic dns updater
After=multi-user.target
[Service]
Type=forking
ExecStart=/usr/local/bin/noip2 -c /usr/local/etc/no-ip2.conf
StandardOutput /var/log/noip.log
[Install]
WantedBy=multi-user.target
and enable by
sudo systemctl enable noip.service

Set up certbot

https://certbot.eff.org/instructions?ws=apache&os=ubuntufocal

Modify apache config=

Create a virtual site for bradnormac.ddns.net
Install and restore mediawiki
Create mysql user
sudo mysql
CREATE DATABASE bradnor;
USE bradnor;
CREATE USER 'mediawiki'@'localhost' IDENTIFIED BY '<password>';
GRANT SELECT, INSERT, UPDATE, DELETE ON bradnor.* TO 'mediawiki'@'localhost';
less secure alternative GRANT ALL PRIVILEGES ON *.* TO 'mediawiki'@'localhost' IDENTIFIED BY 'password';

'Configure PHP=

Edit /etc/php/7.3/apache2/php.ini
set
upload_max_filesize = 20M
memory_limit = 128M