Building bradnorwiki on old MacBook: Difference between revisions

From Bradnor
No edit summary
mNo edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Notes|⇐ Notes]]
=='''Install Ubuntu Server'''==
=='''Install Ubuntu Server'''==
:Install Ubuntu server
:Install Ubuntu server
Line 16: Line 18:
::and to suppress creation of #file# backup files,  
::and to suppress creation of #file# backup files,  
:::create .emacs in <tt>~</tt> and <tt>/root</tt> containing
:::create .emacs in <tt>~</tt> and <tt>/root</tt> containing
::<tt>;; backup in one place. flat, no tree structure</tt>
:::<tt>;; backup in one place. flat, no tree structure</tt>
::<tt>(setq backup-directory-alist '(("" . "~/.emacs.d/backup")))</tt>
:::<tt>(setq backup-directory-alist '(("" . "~/.emacs.d/backup")))</tt>
:'''utilities for amongst others zip, nmcli, ifconfig, sensors and stress'''
:'''utilities for amongst others zip, nmcli, ifconfig, sensors and stress'''
::<tt>sudo apt install zip network-manager net-tools lm-sensors stress</tt>
::<tt>sudo apt install zip network-manager net-tools lm-sensors stress</tt>
Line 71: Line 73:
::<tt>sudo apt install automysqlbackup</tt>
::<tt>sudo apt install automysqlbackup</tt>
::<tt>sudo apt install rsnapshot</tt>
::<tt>sudo apt install rsnapshot</tt>
=='''Set up copy to OneDrive''' ''to be written''==
=='''Set up noip'''==
=='''Set up noip'''==
:Will need to install 'make'
:Will need to install 'make'
Line 97: Line 100:
=='''Set up certbot'''==
=='''Set up certbot'''==
:[https://certbot.eff.org/instructions?ws=apache&os=ubuntufocal https://certbot.eff.org/instructions?ws=apache&os=ubuntufocal]
:[https://certbot.eff.org/instructions?ws=apache&os=ubuntufocal https://certbot.eff.org/instructions?ws=apache&os=ubuntufocal]
=='''Modify apache config'''===
=='''Modify apache config'''==
:Create a virtual site for bradnormac.ddns.net
:Create a virtual site for bradnormac.ddns.net
:Install and restore mediawiki
:Install and restore mediawiki
Line 107: Line 110:
::GRANT SELECT, INSERT, UPDATE, DELETE ON bradnor.* TO 'mediawiki'@'localhost';
::GRANT SELECT, INSERT, UPDATE, DELETE ON bradnor.* TO 'mediawiki'@'localhost';
::less secure alternative GRANT ALL PRIVILEGES ON *.* TO 'mediawiki'@'localhost' IDENTIFIED BY 'password';
::less secure alternative GRANT ALL PRIVILEGES ON *.* TO 'mediawiki'@'localhost' IDENTIFIED BY 'password';
=='''Configure PHP''===
=='''Configure PHP'''==
:Edit <tt>/etc/php/7.3/apache2/php.ini</tt>
:Edit <tt>/etc/php/7.3/apache2/php.ini</tt>
::set
::set
:::upload_max_filesize = 20M
:::upload_max_filesize = 20M
:::memory_limit = 128M
:::memory_limit = 128M

Latest revision as of 11:16, 28 February 2026

⇐ Notes

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 copy to OneDrive to be written

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