Si të instaloni BookStack Documentation Wiki në CentOS 7


BookStack është një platformë me burim të hapur për të krijuar dokumentacion/përmbajtje wiki për projektin tuaj. Është shkruar në gjuhën e programimit PHP dhe përdor kuadrin e uebit Laravel. Në thelb, dokumentacioni/wiki i projektit tuaj do të ruhet në BookStack si Libër, i ndjekur nga Kapitulli dhe Faqet. Kjo e bën më të lehtë për ju krijimin dhe leximin e dokumentacionit si Libër, bazuar në Kapitullin dhe Faqet.

Në këtë tutorial, unë do t'ju tregoj hap pas hapi se si të instaloni dhe konfiguroni BookStack në CentOS 7 nën grupin LEMP (Linux, Nginx, PHP-FPM, MySQL/MariaDB). Ky tutorial do të mbulojë tema duke përfshirë instalimin e PHP Composer dhe krijimin e bazës së të dhënave MySQL duke përdorur linjën e komandës.

Parakushtet

  • CentOS 7
  • Privilegjet e rrënjës

Çfarë do të bëjmë ne

  1. Instaloni depo EPEL
  2. Instaloni Nginx
  3. Instaloni dhe konfiguroni PHP-FPM
  4. Instaloni dhe konfiguroni MySQL/MariaDB
  5. Instaloni PHP Composer
  6. Instaloni BookStack
  7. Konfiguro Nginx Virtual Host BookStack
  8. Testimi

Hapi 1 - Instaloni EPEL Repository

Shtoni depon e re të palëve të treta në sistem. Ne duhet të shtojmë depon e EPEL (Extra Packages for Enterprise Linux) në sistemin tonë CentOS 7, në mënyrë që të mund të instalojmë Nginx dhe paketa të tjera.

Instaloni depo EPEL duke përdorur komandën yum më poshtë.

sudo yum -y install epel-release

Hapi 2 - Instaloni Nginx në CentOS 7

Në këtë tutorial, ne do të ekzekutojmë platformën BookStack nën pirgun LEMP dhe do të instalojmë serverin e internetit Nginx nga depoja EPEL.

Instaloni serverin në internet Nginx duke përdorur komandën yum më poshtë.

sudo yum -y install nginx

Pas përfundimit të instalimit, nisni shërbimin dhe aktivizoni atë të nisë çdo herë në nisjen e sistemit.

systemctl start nginx
systemctl enable nginx

Tani kontrollojeni duke përdorur komandën netstat.

netstat -plntu

Sigurohuni që të merrni portin 80 në listë dhe të përdoret nga shërbimi Nginx.

Serveri i uebit Nginx tani është i instaluar në sistemin CentOS 7.

Të tjera: Nëse po ekzekutoni murin e zjarrit në sistemin tuaj, shtoni shërbim të ri HTTP në konfigurim duke ekzekutuar komandat e mëposhtme.

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

Hapi 3 - Instaloni PHP dhe PHP-FPM

Në këtë hap, ne do të instalojmë dhe konfigurojmë PHP-FPM 7.0. Ne do të instalojmë PHP dhe PHP-FPM nga depoja webtatic - instaloni PHP me disa shtesa që nevojiten nga platforma BookStack, duke përfshirë PDO, Tokenizer, GD, Tidy, MBString dhe OpenSSL.

Përpara se të instaloni PHP dhe PHP-FPM, shtoni një depo të re webtatike në sistemin CentOS 7 duke përdorur komandën rpm më poshtë.

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

Tani instaloni PHP dhe PHP-FPM me të gjitha shtesat e nevojshme duke përdorur komandën yum në mënyrën e mëposhtme.

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

Pasi të përfundojë instalimi, duhet të modifikojmë skedarin e konfigurimit php.ini dhe të modifikojmë konfigurimin e pishinës php-fpm www.conf.

Redakto skedarin e konfigurimit php.ini duke përdorur redaktorin vim.

vim /etc/php.ini

Çkomentoni linjën cgi.fix_pathinfo dhe ndryshoni vlerën në 0.

cgi.fix_pathinfo=0

Ruaje dhe dil.

Më pas, modifikoni skedarin e konfigurimit të pishinës www.conf.

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

Ndryshoni përdoruesin e paracaktuar për ekzekutimin e shërbimit PHP-FPM në përdorues dhe grup nginx.

user = nginx
group = nginx

Në vijën e dëgjimit, ndryshoni vlerën në skedarin e çorapit si më poshtë. Ne do të ekzekutojmë PHP-fpm nën skedarin e çorapit.

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

Tani për lejen e prizës dhe konfigurimin e pronarit. Zhkomentoni këto rreshta dhe ndryshoni vlerën si më poshtë.

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

Së fundi, hiqni komentin e mjedisit PHP-FPM.

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

Ruaje dhe dil.

Nëse konfigurimi është i plotë, filloni shërbimin PHP-FPM dhe aktivizoni atë të nisë çdo herë në kohën e nisjes.

systemctl start php-fpm
systemctl enable php-fpm

Tani kontrollojeni duke përdorur komandën netstat.

netstat -pl | grep php

Dhe sigurohuni që të merrni skedarin e çorapit PHP-FPM.

PHP dhe PHP-FPM 7.0 me të gjitha shtesat e nevojshme për platformën BookStack janë instaluar në sistemin CentOS 7.

Hapi 4 - Instaloni dhe konfiguroni MySQL/MariaDB

BookStack mbështet vetëm bazën e të dhënave MySQL dhe do të funksionojë vetëm nën versionin MySQL >= 5.6. Për këtë tutorial, ne do të përdorim MariaDB (versioni më i fundit) që mund të instalohet nga depoja e Ubuntu.

Ekzekutoni komandën yum më poshtë për të instaluar bazën e të dhënave MariaDB.

yum install -y mariadb mariadb-server

Pas përfundimit të instalimit, nisni shërbimin dhe aktivizoni atë të nisë çdo herë në kohën e nisjes.

systemctl start mariadb
systemctl enable mariadb

Tani duhet të konfigurojmë fjalëkalimin rrënjë për bazën e të dhënave.

Ekzekutoni komandën më poshtë për të vendosur fjalëkalimin e bazës së të dhënave rrënjë.

mysql_secure_installation

Dhe do t'ju kërkohet fjalëkalimi i ri rrënjë MySQL - shkruani fjalëkalimin tuaj për përdoruesin rrënjë dhe shtypni Enter. Për të tjerët, thjesht shkruani Y për po dhe shtypni përsëri Enter.

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

Fjalëkalimi rrënjësor MySQL tani është vendosur.

Më pas, duhet të krijojmë një bazë të dhënash të re MySQL për instalimin e BookStack. Ne do të krijojmë një bazë të dhënash të re të quajtur bookstackdb me përdorues bookstak dhe fjalëkalim [email .

Hyni në guaskën MySQL me përdoruesin rrënjë.

mysql -u root -p

Drejtoni të gjitha pyetjet e MySQL më poshtë në guaskë.

create database bookstackdb;
create user ';
flush privileges;
exit;

MySQL/MariaDB është instaluar në sistemin CentOS 7 dhe është krijuar baza e të dhënave për instalimin e BookStack.

Hapi 5 - Instaloni PHP Composer në CentOS 7

Kompozitori është një menaxher varësie për PHP. Kjo ju lejon të menaxhoni varësitë PHP që ju nevojiten për projektin tuaj. Në këtë hap, ne do të instalojmë Kompozitorin duke përdorur skriptin e instaluesit. Kompozitori do të përdoret për shkarkimin e të gjitha bibliotekave PHP që nevojiten nga BookStack.

Shkoni te drejtoria kryesore dhe shkarkoni instaluesin duke përdorur curl.

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

Dhe do të merrni skedarin composer.phar në direktorinë tuaj kryesore. Zhvendosni skedarin në drejtorinë /usr/bin dhe provoni komandën e kompozitorit siç tregohet më poshtë.

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

Dhe do të merrni versionin e kompozitorit që është i instaluar në sistemin tuaj.

PHP Composer është instaluar tani në sistemin CentOS 7.

Hapi 6 - Instaloni BookStack në CentOS 7

Në këtë hap, ne do të instalojmë BookStack nën drejtorinë /var/www - ajo direktori do të jetë direktoria e aplikacionit rrënjë.

Përpara se të instaloni BookStack, instaloni git në sistemin tuaj.

yum -y install git

Tani krijoni drejtorinë e re /var/www.

mkdir -p /var/www

Shkoni në atë direktori dhe klononi kodin burimor të BookStack duke përdorur komandën git.

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

Shkoni te direktoria BookStack/ dhe instaloni të gjitha Dependencies PHP të nevojshme duke përdorur komandën e kompozitorit siç tregohet më poshtë.

cd BookStack/
composer install

Sigurohuni që të mos merrni asnjë gabim dhe kur të përfundojë. Do ta shihni rezultatin si më poshtë.

Tani kopjoni skedarin e konfigurimit të mjedisit .env.example dhe modifikoni atë duke përdorur vim.

cp .env.example .env
vim .env

Në linjën e detajeve të bazës së të dhënave, ndryshoni gjithçka me informacionin tuaj të bazës së të dhënave siç tregohet më poshtë.

# Database details
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack

Ruaje dhe dil.

Dhe ndryshoni lejet e pronësisë së drejtorisë BookStack në përdoruesin dhe grupin nginx.

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

Më pas, ne duhet të gjenerojmë çelësin unik të aplikacionit për BookStack dhe të përditësojmë skemën e bazës së të dhënave duke përdorur komandat artizanale PHP.

Në direktorinë e aplikacionit rrënjë /var/www/BookStack, ekzekutoni komandat e mëposhtme.

php artisan key:generate
php artisan migrate

Do t'ju kërkohet konfirmimi, shkruani po dhe shtypni Enter.

Prisni derisa migrimi i tabelës të jetë i suksesshëm.

Aplikacioni BookStack është instaluar, me aplikacionin sekret unik të gjeneruar dhe skemën e bazës së të dhënave për BookStack është përditësuar.

Hapi 7 - Konfiguro Nginx Virtual Host për BookStack

Në këtë hap, ne do të konfigurojmë hostin virtual nginx për BookStack. Ne do të përdorim book.hakase-labs.co si një emër domaini për URL-në tonë të BookStack.

Shkoni te drejtoria /etc/nginx dhe krijoni skedarin e ri të hostit virtual bookstack.conf nën drejtorinë conf.d/ duke përdorur redaktorin vim.

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

Ngjitni konfigurimin më poshtë.

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;
  }
}

Ruaje dhe dil.

Tani testoni konfigurimin e nginx dhe sigurohuni që nuk ka ndonjë gabim, më pas rinisni shërbimin nginx.

nginx -t
systemctl restart nginx

Pritësi virtual Nginx për aplikacionin BookStack është krijuar dhe aktivizuar.

Hapi 8 - Testimi

Hapni shfletuesin tuaj të internetit dhe shkruani URL-në e BookStack në shiritin e adresave, e imja është: http://book.hakase-labs.co/

Dhe do të ridrejtoheni te faqja e hyrjes/si më poshtë.

Shkruani përdoruesin e parazgjedhur të administratorit [email  me fjalëkalimin e fjalëkalimit dhe më pas shtypni butonin Identifikimi.

Ju duhet të merrni panelin e përdoruesit të BookStack.

Klikoni në menunë Cilësimet dhe do të merrni faqen e cilësimeve.

Tani klikoni Përdoruesit dhe më pas klikoni përdoruesin Admin. Ndryshoni emailin e paracaktuar me adresën tuaj të emailit dhe fjalëkalimin me fjalëkalimin tuaj sekret.

Pastaj klikoni butonin Ruaj.

Instalimi i BookStack me pirgun LEMP (Linux, Nginx, MariaDB dhe PHP-FPM) në CentOS 7 është përfunduar me sukses.

Referenca

  • https://www.bookstackapp.com/docs/