BookStack is a popular open-source platform that is used to create documentation and knowledge bases. It is written in PHP and requires a web server and a PHP environment to run. In this tutorial, we will go through the steps required to install BookStack on FreeBSD Latest.
Before we get started, make sure you have the following prerequisites:
First, let's make sure that FreeBSD and all its packages are up-to-date.
sudo pkg update && sudo pkg upgrade
Next, we need to install Apache and PHP.
sudo pkg install apache24 php74 php74-mysqli php74-pdo_mysql php74-gd php74-curl php74-openssl php74-mbstring php74-zlib php74-json
After successfully installing, start the Apache service.
sudo service apache24 start
Now, we will install MariaDB as our database server.
sudo pkg install mariadb103-server
After installation, start the MariaDB service and enable it to start on boot.
sudo service mysql-server start
sudo sysrc mysql_enable=yes
Next, run the secure installation script to set up the database root user.
sudo mysql_secure_installation
To create a database, we need to log in to the MariaDB shell.
sudo mysql -u root -p
Create a new database named bookstack
.
CREATE DATABASE bookstack;
Create a new user named bookstackuser
with a strong password.
CREATE USER 'bookstackuser'@'localhost' IDENTIFIED BY 'strongPassword';
Grant all privileges to the bookstackuser
for the bookstack
database.
GRANT ALL ON bookstack.* TO 'bookstackuser'@'localhost';
Flush the privileges for the new changes to take effect.
FLUSH PRIVILEGES;
Exit the MariaDB shell by typing exit
.
Now it's time to download the BookStack files using the following command.
sudo git clone https://github.com/BookStackApp/BookStack.git /usr/local/www/BookStack
Next, navigate to the BookStack directory and copy the sample configuration file .env.example
to .env
.
cd /usr/local/www/BookStack
sudo cp .env.example .env
Then, edit the .env
file to suit your environment.
DB_DATABASE=bookstack
DB_USERNAME=bookstackuser
DB_PASSWORD=strongPassword
APP_URL=http://example.com
Now that we have BookStack and configured it, we need to install the required dependencies.
sudo cd /usr/local/www/BookStack
sudo curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
sudo composer install --no-dev
Finally, we need to set the appropriate file permissions.
sudo chown -R www:www /usr/local/www/BookStack
sudo chmod -R 755 /usr/local/www/BookStack
We need to create a virtual host to serve the BookStack files.
cd /usr/local/etc/apache24/Includes
sudo nano bookstack.conf
Then, add the following lines to the file.
<VirtualHost *:80>
ServerName example.com
DocumentRoot "/usr/local/www/BookStack/public"
DirectoryIndex index.php
<Directory "/usr/local/www/BookStack/public">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
Save and exit the file by pressing CTRL+X
, Y
, and Enter
.
Finally, we need to restart the Apache service.
sudo service apache24 restart
BookStack should now be running on your FreeBSD Latest server, accessible through your web browser.
In this tutorial, we have learned how to install BookStack on FreeBSD Latest. We hope you find this tutorial helpful in your journey of setting up your knowledge base. Happy documenting!
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!