Installing BibleSuperSearch on Debian
Basic software
- Apache2
- MariaDB
sudo apt update && sudo apt install apache2 mariadb-server
Laravel dependencies
reference: https://shape.host/resources/laravel-setup-debian-12-tutorial
Install dependencies:
sudo apt install php php-curl php-bcmath php-json php-mysql php-mbstring php-xml php-tokenizer php-zip
Bible SuperSearch source
Download API: https://www.biblesupersearch.com/downloads/
Download client: https://sourceforge.net/projects/biblesuper/files/
Extract into:
/var/www/html/biblesupersearch_api/
/var/www/html/biblesupersearch_client/
This assumes you're using the default site, otherwise copy into the directory for whichever Apache 'site' is enabled.
Configure Apache
Edit apache.conf:
sudo nano /etc/apache2/apache2.conf
Change AllowOverride from None to All:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Configure PHP:
sudo a2enmod php8.2 # change 8.2 to your version
sudo a2enmod rewrite
sudo systemctl restart apache2
Restart Apache:
sudo systemctl restart apache2
Configure MariaDB
references:
- https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-debian-11
- https://raspberrytips.com/install-mariadb-raspberry-pi/
sudo mysql_secure_installation
- Enter current password for root (enter for none): Leave blank, press enter
- Switch to unix_socket authentication [Y/n] n Not necessary, enter n
- Change the root password? [Y/n] n Should not change, enter n
- Enter Y (default) for all remaining questions
Start the DB prompt:
sudo mariadb
Create an admin account (set my_admin_password):
GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY '<my_admin_password>' WITH GRANT OPTION;
Create a biblesupersearch user (set my_password):
CREATE USER 'biblesupersearch'@'localhost' IDENTIFIED BY '<my_password>';
Create a biblesupersearch database:
CREATE DATABASE biblesupersearch;
Grant privileges:
GRANT ALL PRIVILEGES ON biblesupersearch.* TO 'biblesupersearch'@'localhost';
Flush privileges:
FLUSH PRIVILEGES;
Exit the DB prompt:
exit
Configure Bible SuperSearch
Change ownership recursively to the httpd user (www-data) for biblesupersearch_api and biblesupersearch_client directories:
cd /var/www/html
sudo chown -R www-data biblesupersearch_*
Copy .env.example to .env and edit:
sudo cp .env.example .env
sudo nano .env
Update the following lines:
APP_URL=http://bible.local/biblesupersearch_api/ # or whatever your root path is
DB_DATABASE=biblesupersearch
DB_USERNAME=biblesupersearch
DB_PASSWORD=<my_password> # whatever database password was configured