GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal BookStack di Ubuntu 16.04 LTS

BookStack adalah platform open source untuk membuat konten dokumentasi/wiki untuk proyek Anda. Ini telah ditulis dalam bahasa pemrograman PHP dengan kerangka web Laravel. Pada dasarnya, dokumentasi/wiki proyek Anda disimpan di BookStack sebagai 'Buku', diikuti oleh 'Bab' dan 'Halaman'. Dan memudahkan Anda untuk membuat dan membaca dokumentasi sebagai Buku, berdasarkan Bab dan Halaman.

Dalam tutorial ini, saya akan menunjukkan kepada Anda langkah demi langkah cara menginstal dan mengkonfigurasi BookStack di Ubuntu 16.04 di bawah tumpukan LEMP (Linux, Nginx, PHP-FPM, MySQL/MariaDB). Tutorial ini akan mencakup detail termasuk cara menginstal PHP Composer dan membuat database MySQL secara manual menggunakan baris perintah.

Prasyarat

  • Ubuntu 16.04
  • Hak istimewa root

Apa yang akan kami lakukan

  1. Perbarui Repositori dan Sistem Peningkatan
  2. Instal Nginx di Ubuntu 16.04
  3. Instal dan Konfigurasi PHP-FPM
  4. Memasang dan Mengonfigurasi Database MariaDB
  5. Instal Komposer PHP
  6. Instal dan Konfigurasikan BookStack
  7. Konfigurasi Nginx Virtual Host untuk BookStack
  8. Pengujian

Langkah 1 - Perbarui dan Tingkatkan Ubuntu

Sebelum menginstal paket apa pun untuk instalasi BookStack, pastikan repositori dan sistem Ubuntu Anda mutakhir.

Jika tidak, Anda dapat memperbarui repositori Ubuntu dan meningkatkan sistem menggunakan perintah di bawah ini.

sudo apt update
sudo apt upgrade

Langkah 2 - Instal Nginx di Ubuntu 16.04

Dalam tutorial ini, kita akan menjalankan platform 'BookStack' di bawah tumpukan LEMP, dan kita akan menginstal server web Nginx dari repositori Ubuntu.

Instal server web Nginx di Ubuntu menggunakan perintah apt di bawah ini.

sudo apt install nginx -y

Setelah penginstalan selesai, mulai layanan dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start nginx
systemctl enable nginx

Sekarang periksa status layanan nginx dan port terbuka pada sistem, pastikan Anda mendapatkan port HTTP 80 pada daftar.

Jalankan perintah di bawah ini.

systemctl status nginx
netstat -plntu

Berikut adalah hasilnya.

Server web Nginx diinstal pada server Ubuntu 16.04.

Langkah 3 - Instal dan Konfigurasi PHP-FPM

Pada langkah ini, kita akan menginstal dan mengkonfigurasi PHP-FPM 7.0. Kami akan menginstal PHP dan PHP-FPM dengan beberapa ekstensi yang dibutuhkan oleh 'BookStack', antara lain PDO, Tokenizer, GD, Tidy, MBString, dan OpenSSL.

Instal PHP dan PHP-FPM dengan semua ekstensi yang diperlukan dengan menjalankan perintah apt di bawah ini.

sudo apt install php7.0-fpm php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-tidy php7.0-zip php-soap libcurl3 curl -y

Setelah instalasi selesai, kita perlu mengkonfigurasi file konfigurasi 'php.ini' untuk 'php fpm' dan 'php cli'.

Edit file 'php.ini' untuk konfigurasi 'fpm' menggunakan vim.

vim /etc/php/7.0/fpm/php.ini

Batalkan komentar pada baris 'cgi.fix_pathinfo' dan ubah nilainya menjadi '0'.

cgi.fix_pathinfo=0

Simpan dan keluar.

Edit file 'php.ini' untuk konfigurasi 'cli' menggunakan vim.

vim /etc/php/7.0/cli/php.ini

Batalkan komentar pada baris 'cgi.fix_pathinfo' dan ubah nilainya menjadi '0'.

cgi.fix_pathinfo=0

Simpan dan keluar.

Sekarang mulai layanan PHP-FPM dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start php7.0-fpm
systemctl enable php7.0-fpm

Pada sistem Ubuntu, PHP-FPM akan berjalan di bawah file 'sock' - periksa menggunakan perintah netstat di bawah ini.

netstat -pl | grep fpm

Dan Anda akan mendapatkan hasil seperti di bawah ini.

PHP dan PHP-FPM dengan semua ekstensi yang diperlukan telah diinstal.

Langkah 4 - Instal dan Konfigurasikan Database MariaDB

BookStack hanya menawarkan dukungan untuk database MySQL, dan hanya berjalan di bawah versi MySQL>=5.6. Untuk tutorial ini, kita akan menggunakan MariaDB versi terbaru yang dapat diinstal dari repositori Ubuntu.

Jalankan perintah apt berikut untuk menginstal database MariaDB.

sudo apt install mariadb-server mariadb-client -y

Setelah penginstalan selesai, mulai layanan dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start mysql
systemctl enable mysql

Sekarang kita perlu mengkonfigurasi kata sandi 'root' untuk database.

Jalankan perintah berikut untuk menyiapkan kata sandi basis data 'root'.

mysql_secure_installation

Dan Anda akan dimintai kata sandi root MySQL baru - ketikkan kata sandi Anda untuk pengguna root dan tekan Enter. Untuk yang lain, cukup ketik 'Y' untuk ya dan Enter lagi.

Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Kata sandi root MySQL sekarang telah disiapkan.

Selanjutnya, kita perlu membuat database baru untuk instalasi BookStack.

Kami akan membuat database baru bernama 'bookstackdb ' dengan pengguna 'bookstak ' dan sandi '[email protected] '.

Masuk ke shell MySQL sebagai pengguna root.

mysql -u root -p

Sekarang jalankan semua kueri MySQL di bawah ini.

create database bookstackdb;
create user [email protected] identified by '[email protected]';
grant all privileges on bookstackdb.* to [email protected] identified by '[email protected]';
flush privileges;
exit;

MySQL/MariaDB telah diinstal pada sistem Ubuntu, dan database untuk instalasi 'BookStack' telah dibuat.

Langkah 5 - Instal PHP Composer

Komposer adalah manajer ketergantungan untuk PHP. Ini memungkinkan Anda untuk mengelola dependensi PHP yang Anda butuhkan untuk proyek Anda. Pada langkah ini, kita akan menginstal Composer menggunakan script installer. Composer akan digunakan untuk mendownload semua library PHP yang dibutuhkan oleh 'BookStack'.

Buka direktori home dan unduh penginstal menggunakan curl.

cd ~/
curl -sS https://getcomposer.org/installer | php

Dan Anda akan mendapatkan file 'composer.phar' di direktori home Anda, pindahkan file tersebut ke direktori '/usr/bin', dan jalankan perintah 'composer' seperti di bawah ini.

mv composer.phar /usr/bin/composer
composer -v

Anda akan mendapatkan versi komposer yang diinstal pada sistem Anda.

Komposer PHP sekarang diinstal pada Ubuntu 16.04.

Langkah 6 - Instal BookStack

Pada langkah ini, kita akan menginstal BookStack di bawah direktori '/var/www', yang akan menjadi direktori aplikasi root.

Buka direktori '/var/www' dan klon kode sumber 'BookStack' menggunakan perintah git.

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

Buka direktori 'BookStack/' dan instal semua dependensi PHP menggunakan perintah composer seperti yang ditunjukkan di bawah ini.

cd BookStack/
composer install

Pastikan tidak ada error dan jika sudah selesai, Anda akan melihat hasilnya seperti di bawah ini.

Sekarang salin file konfigurasi lingkungan '.env.example' dan edit menggunakan vim.

cp .env.example .env
vim .env

Pada baris detail database, ubah semuanya dengan info database Anda, seperti yang ditunjukkan di bawah ini.

# Database details
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack
[email protected]

Simpan dan keluar.

Dan ubah pemilik direktori 'BookStack' menjadi pengguna dan grup 'www-data'.

chown -R www-data:www-data /var/www/BookStack

Selanjutnya, kita perlu membuat kunci aplikasi unik untuk BookStack dan memperbarui skema database menggunakan perintah artisan PHP.

Pada direktori aplikasi root '/var/www/BookStack', jalankan perintah seperti yang ditunjukkan di bawah ini.

php artisan key:generate
php artisan migrate

Anda akan dimintai konfirmasi, ketik 'yes' dan tekan Enter.

Tunggu perintah untuk membuat kunci rahasia dan mengimpor skema database.

BookStack sekarang telah diinstal di Ubuntu 16.04, aplikasi kunci unik rahasia telah dibuat, dan skema database untuk BookStack telah diperbarui.

Langkah 7 - Konfigurasikan Nginx Virtual Host untuk BookStack

Pada langkah ini, kita akan mengonfigurasi virtual host nginx untuk BookStack. Kami akan menggunakan 'book.hakase-labs.co' sebagai nama domain untuk URL BookStack kami.

Buka direktori '/etc/nginx' dan buat file host virtual baru 'bookstack' di bawah direktori 'sites-available' menggunakan editor vim.

cd /etc/nginx/
vim sites-available/bookstack

Tempelkan konfigurasi di bawah ini.

server {
  listen 80;
  server_name book.hakase-labs.co;
  root /var/www/BookStack/public;

  access_log  /var/log/nginx/bookstack_access.log;
  error_log  /var/log/nginx/bookstack_error.log;

  client_max_body_size 1G;
  fastcgi_buffers 64 4K;

  index  index.php;

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

  location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
    deny all;
  }

  location ~ \.php(?:$|/) {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
  }

  location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
    expires 30d;
    access_log off;
  }
}

Simpan dan keluar.

Sekarang aktifkan virtual host dan uji konfigurasi.

ln -s /etc/nginx/sites-available/bookstack /etc/nginx/sites-enabled/
nginx -t

Pastikan Anda tidak mendapatkan kesalahan seperti yang ditunjukkan di bawah ini.

Sekarang restart layanan Nginx.

systemctl restart nginx

Host virtual Nginx untuk BookStack telah ditambahkan dan diaktifkan.

Langkah 8 - Pengujian

Buka browser web Anda dan ketik URL BookStack di bilah alamat, milik saya adalah http://book.hakase-labs.co/

Dan Anda akan diarahkan ke halaman 'login/' seperti gambar di bawah ini.

Ketik pengguna admin default '[dilindungi email] ' dengan sandi 'sandi ', lalu tekan 'Masuk '.

Dan Anda akan mendapatkan Dasbor pengguna BookStack.

Klik menu 'Pengaturan' dan Anda akan mendapatkan halaman pengaturan.

Sekarang klik menu 'Users' lalu klik 'Admin' user. Ubah email default dengan alamat email Anda dan kata sandi dengan kata sandi rahasia Anda sendiri.

Kemudian klik tombol 'Simpan'.

Dengan ini, instalasi BookStack dengan tumpukan LEMP (Linux, Nginx, MariaDB, dan PHP-FPM) di Ubuntu 16.04 telah berhasil diselesaikan.


Ubuntu
  1. Cara Menginstal CMS Ariadne di Ubuntu 18.04 LTS

  2. Cara menginstal MediaWiki di Ubuntu 18.04 LTS

  3. Cara Menginstal PHP 7.3 di Ubuntu 18.04 LTS

  1. Cara menginstal SOPlanning di Ubuntu 18.04 LTS

  2. Cara Instal Elxis CMS di Ubuntu 18.04 LTS

  3. Cara Menginstal BookStack di Ubuntu 18.04 LTS

  1. Cara menginstal Akaunting di Ubuntu 18.04 LTS

  2. Cara Menginstal DokuWiki di Ubuntu 18.04 LTS

  3. Cara Menginstal Go di Ubuntu 22.04 LTS