GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal Wiki Dokumentasi BookStack di CentOS 7

BookStack adalah platform open source untuk membuat konten dokumentasi/wiki untuk proyek Anda. Ini telah ditulis dalam bahasa pemrograman PHP dan menggunakan kerangka web Laravel. Pada dasarnya, dokumentasi/wiki proyek Anda akan disimpan di BookStack sebagai 'Buku', diikuti oleh 'Bab' dan 'Halaman'. Ini 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 pada CentOS 7 di bawah tumpukan LEMP (Linux, Nginx, PHP-FPM, MySQL/MariaDB). Tutorial ini akan mencakup topik-topik termasuk instalasi PHP Composer dan pembuatan database MySQL menggunakan baris perintah.

Prasyarat

  • CentOS 7
  • Hak istimewa root

Apa yang akan kami lakukan

  1. Instal Repositori EPEL
  2. Instal Nginx
  3. Instal dan Konfigurasi PHP-FPM
  4. Instal dan Konfigurasi MySQL/MariaDB
  5. Instal Komposer PHP
  6. Instal BookStack
  7. Konfigurasi Nginx Virtual Host BookStack
  8. Pengujian

Langkah 1 - Instal Repositori EPEL

Tambahkan repositori pihak ketiga yang baru ke sistem. Kami perlu menambahkan repositori EPEL (Extra Packages for Enterprise Linux) ke sistem CentOS 7 kami, sehingga kami dapat menginstal Nginx dan paket lainnya.

Instal repositori EPEL menggunakan perintah yum di bawah ini.

sudo yum -y install epel-release

Langkah 2 - Instal Nginx di CentOS 7

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

Instal server web Nginx menggunakan perintah yum di bawah ini.

sudo yum -y install nginx

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

systemctl start nginx
systemctl enable nginx

Sekarang periksa menggunakan perintah netstat.

netstat -plntu

Pastikan Anda mendapatkan port 80 dalam daftar, dan itu digunakan oleh layanan Nginx.

Server web Nginx sekarang diinstal pada sistem CentOS 7.

Tambahan: Jika Anda menjalankan firewalld di sistem Anda, tambahkan layanan HTTP baru ke konfigurasi dengan menjalankan perintah di bawah ini.

firewall-cmd --add-service=http --permanent
firewall-cmd --reload

Langkah 3 - Instal PHP dan PHP-FPM

Pada langkah ini, kita akan menginstal dan mengkonfigurasi PHP-FPM 7.0. Kami akan menginstal PHP dan PHP-FPM dari repositori 'webtatic' - menginstal PHP dengan beberapa ekstensi yang diperlukan oleh platform 'BookStack', termasuk PDO, Tokenizer, GD, Tidy, MBString, dan OpenSSL.

Sebelum menginstal PHP dan PHP-FPM, tambahkan repositori 'webtatic' baru ke sistem CentOS 7 menggunakan perintah rpm di bawah ini.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Sekarang instal PHP dan PHP-FPM dengan semua ekstensi yang diperlukan menggunakan perintah yum dengan cara berikut.

sudo yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-common php70w-mbstring php70w-tidy php70w-zip php70w-soap curl

Setelah instalasi selesai, kita perlu mengedit file konfigurasi 'php.ini' dan mengedit konfigurasi pool php-fpm 'www.conf'.

Edit file konfigurasi 'php.ini' menggunakan editor vim.

vim /etc/php.ini

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

cgi.fix_pathinfo=0

Simpan dan keluar.

Selanjutnya, edit file konfigurasi pool 'www.conf'.

vim /etc/php-fpm.d/www.conf

Ubah pengguna default untuk menjalankan layanan PHP-FPM menjadi pengguna dan grup 'nginx'.

user = nginx
group = nginx

Pada baris 'listen', ubah nilainya menjadi file sock seperti di bawah ini. Kami akan menjalankan PHP-fpm di bawah file sock.

listen = /var/run/php-fpm/php-fpm.sock

Sekarang untuk izin soket dan konfigurasi pemilik. Batalkan komentar pada baris ini dan ubah nilainya seperti di bawah ini.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Terakhir, batalkan komentar pada lingkungan PHP-FPM.

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Simpan dan keluar.

Jika konfigurasi selesai, mulai layanan PHP-FPM dan aktifkan untuk diluncurkan setiap saat saat boot.

systemctl start php-fpm
systemctl enable php-fpm

Sekarang periksa menggunakan perintah netstat.

netstat -pl | grep php

Dan pastikan Anda mendapatkan file kaus kaki PHP-FPM.

PHP dan PHP-FPM 7.0 dengan semua ekstensi yang diperlukan untuk platform 'BookStack' telah diinstal pada sistem CentOS 7.

Langkah 4 - Instal dan Konfigurasi MySQL/MariaDB

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

Jalankan perintah yum di bawah ini untuk menginstal database MariaDB.

yum install -y mariadb mariadb-server

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

systemctl start mariadb
systemctl enable mariadb

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

Jalankan perintah di bawah ini 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 lainnya, ketik saja 'Y' untuk ya dan tekan 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 MySQL baru untuk instalasi BookStack. Kami akan membuat database baru bernama 'bookstackdb' dengan pengguna 'bookstak' dan sandi '[email protected]'.

Masuk ke shell MySQL dengan pengguna root.

mysql -u root -p

Jalankan semua kueri MySQL di bawah ini pada shell.

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 CentOS 7, dan database untuk instalasi 'BookStack' telah dibuat.

Langkah 5 - Instal PHP Composer di CentOS 7

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 ke direktori '/usr/bin' dan coba perintah 'composer' seperti yang ditunjukkan di bawah ini.

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

Dan Anda akan mendapatkan versi komposer yang terinstal di sistem Anda.

Komposer PHP sekarang diinstal pada sistem CentOS 7.

Langkah 6 - Instal BookStack di CentOS 7

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

Sebelum menginstal 'BookStack', instal git di sistem Anda.

yum -y install git

Sekarang buat direktori '/var/www' baru.

mkdir -p /var/www

Buka direktori itu 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 Ketergantungan PHP yang diperlukan menggunakan perintah komposer seperti yang ditunjukkan di bawah ini.

cd BookStack/
composer install

Pastikan Anda tidak mendapatkan kesalahan dan ketika itu 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 izin kepemilikan direktori 'BookStack' menjadi pengguna dan grup 'nginx'.

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

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

Di direktori aplikasi root '/var/www/BookStack', jalankan perintah berikut.

php artisan key:generate
php artisan migrate

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

Tunggu hingga migrasi tabel berhasil.

Aplikasi BookStack telah diinstal, dengan aplikasi kunci unik rahasia yang dihasilkan dan skema database untuk BookStack 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.conf' di bawah direktori 'conf.d/' menggunakan editor vim.

cd /etc/nginx
vim conf.d/bookstack.conf

Tempelkan konfigurasi di bawah.

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:/var/run/php-fpm/php-fpm.sock;
  }

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

Simpan dan keluar.

Sekarang uji konfigurasi nginx dan pastikan tidak ada kesalahan, lalu restart layanan nginx.

nginx -t
systemctl restart nginx

Host virtual Nginx untuk aplikasi BookStack telah dibuat 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 di bawah ini.

Ketik pengguna admin default '[email protected]' dengan sandi 'password', lalu tekan tombol 'Login'.

Anda harus mendapatkan Dasbor pengguna BookStack.

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

Sekarang klik 'Pengguna' dan kemudian klik pengguna 'Admin'. Ubah email default dengan alamat email Anda dan kata sandi dengan kata sandi rahasia Anda sendiri.

Kemudian klik tombol 'Simpan'.

Instalasi BookStack dengan tumpukan LEMP (Linux, Nginx, MariaDB, dan PHP-FPM) di CentOS 7 telah berhasil diselesaikan.


Cent OS
  1. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 7

  2. Cara Menginstal Nginx di CentOS 7

  3. Cara Menginstal Dash Linux di CentOS 6

  1. Cara Instal phpMyAdmin dengan Nginx di CentOS 7

  2. Cara Menginstal Nginx di CentOS 8

  3. Cara Menginstal Magento 2.1 di CentOS 7

  1. Cara Menginstal SuiteCRM dengan Nginx di CentOS 7

  2. Cara Menginstal MediaWiki dengan Nginx di CentOS 7

  3. Cara Memasang Invoice Ninja di CentOS 7