How to Install BookStack on Ubuntu 16.04

How to Install BookStack on Ubuntu 16.04

BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information. BookStack is fully free and open, as well as MIT licensed. The source is available on GitHub. In this tutorial we will install BookStack on a fresh Ubuntu 16.04 Vultr instance.

Requirements

  • PHP version 7.0.0 or greater
  • PHP Extensions: OpenSSL, PDO, MBstring, Tokenizer, GD, MySQLND, Tidy, SimpleXML, and DOM
  • MySQL version 5.6 or greater
  • Git (Not strictly required but helps manage updates)
  • Composer

Before you begin

Check the Ubuntu version.

lsb_release -ds
# Ubuntu 16.04.4 LTS

Create a new non-root user account with sudo access and switch to it.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

NOTE: Replace johndoe with your username.

Set up the timezone.

sudo dpkg-reconfigure tzdata

Ensure that your system has been updated.

sudo apt update && sudo apt upgrade -y

Install the necessary packages.

sudo apt install -y curl git mcrypt build-essential 

Install PHP

Install PHP and necessary PHP extensions.

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-tidy php7.0-curl php7.0-ldap php7.0-mcrypt php7.0-gd php7.0-xml php7.0-zip php7.0-mysql php7.0-mbstring php7.0-common

Check the version.

php -v

Install MySQL

Install MySQL.

sudo apt install -y mysql-server

Check the version.

mysql --version

Run mysql_secure installation script to improve MySQL's security.

sudo mysql_secure_installation

Connect to the MySQL shell as the root user.

mysql -u root -p
# Enter password:

Set up a new MySQL database and user, and remember the credentials.

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Exit MySQL.

exit

Install Nginx

Install Nginx.

sudo apt install -y nginx

Check the version.

sudo nginx -v

Configure Nginx for BookStack. Run sudo vim /etc/nginx/sites-available/bookstack.conf and populate the file with the following.

server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    root /var/www/bookstack/public;

    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_index index.php;
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
}

Activate the new bookstack.conf configuration by linking the file to the sites-enabled directory.

sudo ln -s /etc/nginx/sites-available/bookstack.conf /etc/nginx/sites-enabled/

Test the configuration.

sudo nginx -t

Reload Nginx.

sudo systemctl reload nginx.service

Install Composer

Install Composer.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

Check the version.

composer --version

Install BookStack

Create a document root folder.

sudo mkdir -p /var/www/bookstack

Change ownership of the /var/www/bookstack directory to johndoe.

sudo chown -R johndoe:johndoe /var/www/bookstack

Clone the release branch of the BookStack GitHub repository into the document root folder.

cd /var/www/bookstack
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch .

Run the composer install command from the /var/www/bookstack directory.

composer install

Copy the .env.example file to .env and populate it with your own database and mail details.

cp .env.example .env

Ensure that the storage, bootstrap/cache and public/uploads folders are writable by the web server.

In the application root, run the following command.

php artisan key:generate

This will generate a unique application key.

Run php artisan migrate to update the database.

Change ownership of the /var/www/bookstack directory to www-data.

sudo chown -R www-data:www-data /var/www/bookstack

You can now login using the default admin details [email protected] with a password of password. It is recommended to change these details directly after your first login.


How to Install Sylius eCommerce Platform on Ubuntu 18.04 LTS

How to Install Sylius eCommerce Platform on Ubuntu 18.04 LTS

Using a Different System? Sylius is a modern e-commerce platform for PHP, based on the Symfony Framework. Sylius source is on GitHub. This guide will wal

How to Install BookStack on Ubuntu 16.04

How to Install BookStack on Ubuntu 16.04

Using a Different System? BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information. BookStack is fully free and open

How to Install Cachet on Debian 10

How to Install Cachet on Debian 10

Using a Different System? Cachet is an open-source status page system written in PHP. Cachet source code is hosted on Github. In this guide, we will go ove

How to Setup Varnish Cache 5.0 Proxy for Apache on CentOS 7

How to Setup Varnish Cache 5.0 Proxy for Apache on CentOS 7

Varnish Cache, also referred to as Varnish, is an open source caching HTTP reverse proxy which can help improve a web servers performance. In this article w

How to Install OpenMeetings on Ubuntu 16.04

How to Install OpenMeetings on Ubuntu 16.04

Using a Different System? Apache OpenMeetings is an open source web conferencing application. It is written in Java and supports multiple database servers. I

How to Install RainLoop Webmail on CentOS 7

How to Install RainLoop Webmail on CentOS 7

Using a Different System? RainLoop is a simple, modern and fast web-based email client. RainLoop source code is hosted on GitHub. This guide will show you ho

How to Install and Configure TaskBoard on Ubuntu 16.04

How to Install and Configure TaskBoard on Ubuntu 16.04

Using a Different System? Introduction TaskBoard is a free and open source tool that can be used to keep track of things that need to get done. It provides

How to Install Anchor CMS on a Debian 9 LAMP VPS

How to Install Anchor CMS on a Debian 9 LAMP VPS

Using a Different System? Anchor CMS is a super-simple and extremely lightweight, free and open source Content Management System (CMS) Blog Engine tha

How to Install OpenVAS Vulnerability Scanner on Ubuntu 16.04

How to Install OpenVAS Vulnerability Scanner on Ubuntu 16.04

Introduction OpenVAS is an open source suite that can be used for vulnerability scanning and vulnerability management. It stands for Open Vulnerabilit

Install Mod_pagespeed Module With Apache on Ubuntu 16.04

Install Mod_pagespeed Module With Apache on Ubuntu 16.04

Introduction Mod_pagespeed is an open source Apache module that is used to automatically optimize web pages. It makes the web faster by rewriting web pages t

How to Install Selfoss RSS Reader on a CentOS 7 LAMP VPS

How to Install Selfoss RSS Reader on a CentOS 7 LAMP VPS

Using a Different System? Selfoss RSS Reader is a free and open source self-hosted web-based multipurpose, live stream, mashup, news feed (RSS/Atom) reade

How to Install InvoicePlane on Ubuntu 16.04

How to Install InvoicePlane on Ubuntu 16.04

Using a Different System? InvoicePlane is a free and open source invoicing application. Its source code can be found on this Github repository. This guid

How to Install LimeSurvey CE on Debian 9

How to Install LimeSurvey CE on Debian 9

Using a Different System? LimeSurvey is an open source survey software written in PHP. LimeSurvey source code is hosted on GitHub. This guide will show yo

How to Install LimeSurvey CE on Ubuntu 18.04 LTS

How to Install LimeSurvey CE on Ubuntu 18.04 LTS

Using a Different System? LimeSurvey is an open source survey software written in PHP. LimeSurvey source code is hosted on GitHub. This guide will show yo

How to Install InvoicePlane on CentOS 7

How to Install InvoicePlane on CentOS 7

InvoicePlane is an open source e-Commerce application which can be used in to facilitate invoicing, client management, and payment tracking. This article wil

How To Install a FiveM Server on Ubuntu 19.04

How To Install a FiveM Server on Ubuntu 19.04

Prerequisites A Linux system running Ubuntu 19.04 with at least 1 CPU core and 2 GB of memory Non-root user on the system Before we begin To ensure you

How to Install BlogoText CMS on a Fedora 26 LAMP VPS

How to Install BlogoText CMS on a Fedora 26 LAMP VPS

Using a Different System? BlogoText CMS is a simple and lightweight, free and open source Content Management System (CMS) and minimalist blog engine

How to Install DreamFactory Open Source on CentOS 7

How to Install DreamFactory Open Source on CentOS 7

DreamFactory is an open source program which can turn any database into a RESTful API platform. DreamFactory can be deployed on various platforms. In thi

How to Install Anchor CMS on an Ubuntu 16.04 LAMP VPS

How to Install Anchor CMS on an Ubuntu 16.04 LAMP VPS

Using a Different System? Anchor CMS is a super-simple and extremely lightweight, free and open source Content Management System (CMS) Blog Engine tha

How to Install Hadoop in Stand-Alone Mode on CentOS 7

How to Install Hadoop in Stand-Alone Mode on CentOS 7

Apache Hadoop is an open source Big Data processing tool, widely used in the IT industry. Depending to the size, type, and scale of your data, you can deplo

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį