The GitHub repository that you linked to has not been updated in over five years, so there is a good chance that the software will not work for you. However, it looks like a standard Drupal installation with some custom plugins, so you might be able to install it with a normal LAMP stack.
Here's how:
Install the Apache Web Server
- Open Terminal (if it's not already open)
- Update your sources:
sudo apt update
- Install Apache:
sudo apt install apache2
- If you are running UFW, allow Apache through:
sudo ufw app list
You will see something like this:
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
- Allow Apache to have access:
sudo ufw allow in "Apache"
- Test Apache is working by visiting http://127.0.0.1 or http://localhost in your browser. You should see a standard Apache page.
Install the MySQL Database Server
- Install MySQL:
sudo apt install mysql-server
- Configure the database server:
sudo mysql_secure_installation
You will be asked for a password, and if you want to remove example accounts and databases. Feel free to answer these questions any way you'd like.
- Test MySQL by connecting and creating a database and account for Book Crossing:
sudo mysql
If everything is good, you should now be connected to MySQL:
mysql> CREATE DATABASE `drupal` DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
mysql> CREATE USER 'books'@'localhost' IDENTIFIED WITH mysql_native_password BY 'superSecretPassword!123';
mysql> GRANT ALL ON `drupal`.* TO 'books'@'localhost';
mysql> FLUSH PRIVILEGES;
Note: Do not copy the mysql>
part. That's just to let you know it's a command for MySQL.
- Exit from MySQL:
mysql> exit;
Install PHP
- Install PHP and some common packages:
sudo apt install php libapache2-mod-php php-mysql php-xml php-json php-mbstring php-gd php-devel
- Restart Apache:
sudo service apache2 restart
- Test PHP is working by creating a simple file in the
/var/www/html
directory:
sudo vi /var/www/html/test.php
Note: Feel free to use any text editor you prefer.
Paste the following code into the new file:
<?php phpinfo(); ?>
Save the file.
- Check that PHP works by visiting http://127.0.0.1/test.php or http://localhost/test.php in your browser. You should see a long page describing PHP with all the settings and packages.
Install Book Crossing
- Make sure you're in
/var/www/html
:
cd /var/www/html
- Download the
.zip
file from GitHub to your /var/www/html
directory:
sudo wget https://github.com/bookcrossing/bkxng-core/archive/refs/heads/master.zip
- Unzip the file:
sudo unzip master.zip
- Change permissions for all files and folders in the
html
directory to ensure Apache can access them all:
sudo chown -R www-data:www-data /var/www/html
- Start the installation process by visiting http://127.0.0.1/install.php or http://localhost/install.php in your browser.
- Follow the steps on the screen, remembering to enter the same MySQL account credentials as you created when testing MySQL earlier.
There are a lot of steps, but this is not too difficult so long as you go slow and pay attention the first few times you do this.