Tuesday, March 24, 2020

How To Install BookStack on Ubuntu 18.04 LTS with Nginx

Video Tutorial -  https://youtu.be/evH1DpIvRz0

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

BookStack is a simple, self-hosted, easy-to-use platform for organizing and storing information. BookStack is fully free and open, as well as MIT licensed.
Offcial Website: https://www.bookstackapp.com/
Guide:https://www.bookstackapp.com/docs/admin/installation/
Github:https://github.com/BookStackApp
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Our Server Specification-    
Os:Ubuntu 18.04 LTS Bionic Beaver 64Bit   | IP address- 192.168.1.50 | Hostname :www.yourdomain.com
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

lsb_release -cd ; hostname ; hostname -I ; whoami ; getconf LONG_BIT ; apt install -y build-essential software-properties-common curl gdebi net-tools wget sqlite3 dirmngr nano lsb-release apt-transport-https git

MariaDB Repositories:
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 ; add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.biznetgio.com/mariadb/repo/10.4/ubuntu bionic main'

Nginx Mariadb Php PHP Modules :
add-apt-repository ppa:ondrej/php -y
apt-get update ; apt install  -y nginx mariadb-server mariadb-client php7.0 php7.0-cli php7.0-fpm php7.0-cgi php7.0-bcmath php7.0-curl php7.0-gd php7.0-intl php7.0-json php7.0-mbstring php7.0-mysql php7.0-opcache php7.0-sqlite3 php7.0-xml php7.0-zip php7.0-snmp php7.0-json php7.0-imap php7.0-common php7.0-tidy  php7.0-mcrypt php7.0-pgsql php-pear

systemctl start nginx mariadb ; systemctl enable nginx mariadb
mysql_secure_installation

Create Mariadb Database :
mysql -u root -p
create database db;
grant all on db.* to 'dbuser'@'localhost' identified by 'dbpass';
quit

gedit /etc/php/7.0/fpm/php.ini &>/dev/null          date.timezone="Asia/Kolkata"cgi.fix_pathinfo=0    
gedit /etc/php/7.0/fpm/pool.d/www.conf &>/dev/null  env[HOSTNAME] = $HOSTNAME ]

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
cd /var/www/html/ ; git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
cd BookStack/ ; composer install
cp .env.example .env
nano .env
php artisan key:generate
php artisan migrate
chown -R www-data:www-data /var/www/html/ ; chmod -R 755 /var/www/html/

Setting up Nginx Server Blocks (Virtual Hosts):-
gedit /etc/nginx/sites-available/default &>/dev/null
server {
    server_name www.yourdomain.com;

    access_log /var/log/nginx/yourdomain-access.log;
    error_log /var/log/nginx/yourdomain-error.log;
    root /var/www/html/BookStack/public/;

    location / {
        index index.php;
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}
nginx -t  ; echo "192.168.1.50 www.yourdomain.com" >> /etc/hosts ; systemctl restart nginx mariadb
http://www.yourdomain.com
admin@admin.com          | password

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

No comments:

Post a Comment