This is a shortened tutorial/checklist for installing Fossil, the distributed software configuration management system on a Raspberry Pi computer.
Why would you want that?
Here is a list of features from the website:
Integrated Bug Tracking, Wiki, Forum, and Technotes
Built-in Web Interface
Self-Contained
Simple Networking
Simple Server Setup
Autosync
Robust & Reliable
Free and Open-Source - Uses the 2-clause BSD license.
Inventory List
Raspberry Pi 3B+
16GB SD card
OS: 2019-09-26-raspbian-buster-lite
Initial setup
Create the SD Card
Boot
apt update
apt upgrade
reboot
raspi-config
change the password
change the hostname
change the localization (if needed)
expand the card
reboot
I will normally give something like this a static IP address:
Edit /etc/dhcpcd.conf:
scroll to the bottom and uncomment the section for the eth0 card.
I leave the IPv6 line commented (or delete it)
Make sure all the IP addresses are pointing at the right things.
reboot
Install Some Developer tools
sudo apt install zsh fonts-powerline vim mc git
Install Oh My Zsh using the instructions on the website.
Get the Files
This is a zip file containing all the files referenced below:
Create an upload directory and copy the files up to the server.
Install Apache2 and Fossil
It easiest to just sudo su
into root for the rest.
apt install apache2 fossil
Now the Actual Work
Launch mc to move stuff around.
Copy fossil cgi script to /usr/lib/cgi-bin
Change FOSSIL=/usr/bin/local/fossil to /usr/bin/fossil
Make it executable
Copy default.conf to /etc/apache2/sites-available
Copy the public_html directory to /var/www/
Edit the public_html/index.html file to whatever you want it to say.
NOTE This is just the install for Fossil so the GitWeb button won't work.
Create a directory called fossils at /var/www/
Copy mkrepo.sh and ticket.config to /var/www/fossils
Make mkrepo.sh executable
- Create a test repo: ./mkrepo.sh testrepo
-
The script will append .fsl onto testrepo. When the repo is created, it will display the password, remember this.
While here, backup to /var/www/ and delete the html folder put there by the install of Apache2.
- This one may or may not have to be done but Apache runs in Raspian as www-data.
-
So at /var/ do a
chown -R www-data:www-data www
so everything in the www directory belongs to www-data.
Run a2dissite 000-default.conf
Run a2ensite default.conf
Run a2enmod cgi
Run systemctl restart apache2
Open a browser, type in the url and ...
Create new Fossil Repositories
To create new repostitories:
Get into the server as a normal user
cd to /var/www/fossils
Run sudo ./mkrepo.sh <insert name>
It will return the password for the repo, remember it or write it down then change it through the Admin/Users area.