Skip to main content

Configuring Apache

  • Creating a configuration file for a virtual host
touch /etc/apache2/sites-available/bookstack.conf
nano -w /etc/apache2/sites-available/bookstack.conf
<VirtualHost *:80>

        # This is a simple example of an Apache VirtualHost configuration
        # file that could be used with BookStack.
        # This assumes mod_php has been installed and is loaded.
        #
        # Change the "docs.example.com" usage in the "ServerName" directive
        # to be your web domain for BookStack.
        #
        # Change the "/var/www/bookstack/public/", used twice below, to the
        # location of the "public" folder within your BookStack installation.
        #
        # This configuration is only for HTTP, Not HTTPS.
        # For HTTPS we recommend using https://certbot.eff.org/

        ServerName null.somedomain.name
        DocumentRoot /var/www/bookstack/public/

        <Directory /var/www/bookstack/public/>
                Options Indexes FollowSymLinks
                AllowOverride None
                Require all granted
                <IfModule mod_rewrite.c>
                        <IfModule mod_negotiation.c>
                                Options -MultiViews -Indexes
                        </IfModule>

                        RewriteEngine On

                        # Handle Authorization Header
                        RewriteCond %{HTTP:Authorization} .
                        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

                        # Redirect Trailing Slashes If Not A Folder...
                        RewriteCond %{REQUEST_FILENAME} !-d
                        RewriteCond %{REQUEST_URI} (.+)/$
                        RewriteRule ^ %1 [L,R=301]

                        # Handle Front Controller...
                        RewriteCond %{REQUEST_FILENAME} !-d
                        RewriteCond %{REQUEST_FILENAME} !-f
                        RewriteRule ^ index.php [L]
                </IfModule>
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
  • Enabling mod rewrite
a2enmod rewrite
  • Disabling default sites
a2dissite 000-default.conf
a2dissite default-ssl.conf
  • Enabling BookStack
a2ensite bookstack.conf
  • Checking the config
apache2ctl configtest
  • Restarting Apache
systemctl reload apache2
  • Checking

http://null.somedomain.name/

Details: admin@admin.com / password