Kako instalirati BookStack na FreeBSD 12

Uvod

BookStack je jednostavna platforma za organiziranje i pohranjivanje informacija s vlastitim hostingom, laka za korištenje. BookStack je potpuno besplatan i otvoren, kao i licenciran za MIT. Izvor je dostupan na GitHubu . U ovom vodiču instalirat ćemo BookStack na svježu instancu FreeBSD 12 Vultr.

Zahtjevi

  • PHP verzija 7.0.0 ili novija sa sljedećim proširenjima:
    • OpenSSL
    • PDO
    • MBString
    • Tokenizer
    • GD
    • MySQLND
    • Tidy
    • SimpleXML
    • DOM
  • MySQL/MariaDB verzija 5.6 ili novija
  • Git (nije striktno obavezan, ali pomaže u upravljanju ažuriranjima)
  • Skladatelj

Prije nego što počneš

Provjerite verziju FreeBSD-a.

uname -ro
# FreeBSD 12.0-RELEASE

Provjerite je li vaš FreeBSD sustav ažuriran.

freebsd-update fetch install
pkg update && pkg upgrade -y

Instalirajte potrebne pakete.

pkg install -y sudo vim unzip curl wget bash socat git

Izradite novi korisnički račun sa svojim željenim korisničkim imenom, mi ćemo koristiti johndoe.

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Pokrenite visudonaredbu i dekomentirajte %wheel ALL=(ALL) ALLredak kako biste omogućili članovima wheelgrupe da izvrše bilo koju naredbu.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Sada se prebacite na svog novostvorenog korisnika pomoću su.

su - johndoe

NAPOMENA: Zamijenite johndoesvojim korisničkim imenom.

Postavite vremensku zonu.

sudo tzsetup

Instalirajte PHP

Instalirajte PHP, kao i potrebna PHP proširenja.

sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-pecl-imagick php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-mysqli php72-phar php72-opcache php72-tidy

Provjerite verziju.

php --version
# PHP 7.2.18 (cli) (built: May  9 2019 01:13:31) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Soft-link php.ini-productionna php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Omogućite i pokrenite PHP-FPM.

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Instalirajte MariaDB

Instalirajte MariaDB.

sudo pkg install -y mariadb102-client mariadb102-server

Provjerite verziju.

mysql --version
# mysql  Ver 15.1 Distrib 10.2.24-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1

Pokrenite i omogućite MariaDB.

sudo sysrc mysql_enable="yes" 
sudo service mysql-server start

Pokrenite mysql_secure_installationskriptu kako biste poboljšali sigurnost svoje instalacije.

sudo mysql_secure_installation

Prijavite se u MariaDB kao root korisnik.

mysql -u root -p
# Enter password:

Napravite novu bazu podataka i korisnika. Zapamtite vjerodajnice za ovog novog korisnika.

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

Instalirajte Nginx

Instalirajte Nginx.

sudo pkg install -y nginx

Provjerite verziju.

nginx -v
# nginx version: nginx/1.14.2

Omogućite i pokrenite Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

Pokrenite sudo vim /usr/local/etc/nginx/bookstack.confi postavite Nginx za BookStack.

server {
  listen 80;
  listen [::]:80;
  server_name example.com;
  root /usr/local/www/bookstack/public;

  index index.php index.html;

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

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass 127.0.0.1:9000;
  }
}

Spremite datoteku i izađite s :+ W+ Q.

Sada moramo uključiti bookstack.confu glavnu nginx.confdatoteku.

Pokrenite sudo vim /usr/local/etc/nginx/nginx.confi dodajte sljedeći redak u http {}blok.

include bookstack.conf;

Testirajte naše promjene konfiguracije Nginxa.

sudo nginx -t

Ponovno učitajte Nginx.

sudo service nginx reload

Instalirajte Composer

Instalirajte Composer globalno pokretanjem sljedeće skripte u vašem terminalu.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { 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

NAPOMENA: U gore navedenom bloku naredbi, hash će se mijenjati sa svakom verzijom instalacijskog programa. Posjetite https://getcomposer.org/download za najnovije instalacijske naredbe Composer.

Provjerite verziju.

composer --version
# Composer version 1.8.5 2019-04-09 17:46:47

Instalirajte BookStack

Napravite korijensku mapu dokumenta.

sudo mkdir -p /usr/local/www/bookstack

Promijenite vlasništvo nad /usr/local/www/bookstackimenikom u johndoe.

sudo chown -R johndoe:johndoe /usr/local/www/bookstack

Klonirajte granu izdanja BookStack GitHub repozitorija u korijensku mapu dokumenta.

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

Pokrenite naredbu za instalaciju skladatelja iz /usr/local/www/bookstackdirektorija.

composer install

Kopirajte .env.exampledatoteku u .envi popunite je vlastitom bazom podataka i pojedinostima e-pošte.

cp .env.example .env

Provjerite može li web poslužitelj pisati u mape storage, bootstrap/cachei public/uploads.

U korijenu aplikacije pokrenite sljedeću naredbu.

php artisan key:generate

To će generirati jedinstveni ključ aplikacije.

Pokrenite php artisan migrateza ažuriranje baze podataka.

Promijenite vlasništvo nad /usr/local/www/bookstackimenikom u www.

sudo chown -R www:www /usr/local/www/bookstack

Sada se možete prijaviti pomoću zadanih administratorskih podataka admin@admin.comsa lozinkom od password. Preporuča se promijeniti ove podatke neposredno nakon prve prijave.

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više