Introduksjon
Krav
Før du begynner
Installer PHP
Installer MariaDB
Installer Nginx
Installer Composer
Installer BookStack
Introduksjon
BookStack er en enkel, selvdrevet og brukervennlig plattform for organisering og lagring av informasjon. BookStack er helt gratis og åpen, samt MIT-lisensiert. Kilden er tilgjengelig på GitHub . I denne opplæringen vil vi installere BookStack på en fersk FreeBSD 12 Vultr-forekomst.
Krav
- PHP versjon 7.0.0 eller nyere med følgende utvidelser:
OpenSSL
PDO
MBString
Tokenizer
GD
MySQLND
Tidy
SimpleXML
DOM
- MySQL/MariaDB versjon 5.6 eller nyere
- Git (Ikke strengt tatt nødvendig, men hjelper med å administrere oppdateringer)
- Komponist
Før du begynner
Sjekk FreeBSD-versjonen.
uname -ro
# FreeBSD 12.0-RELEASE
Sørg for at ditt FreeBSD-system er oppdatert.
freebsd-update fetch install
pkg update && pkg upgrade -y
Installer de nødvendige pakkene.
pkg install -y sudo vim unzip curl wget bash socat git
Opprett en ny brukerkonto med ditt foretrukne brukernavn, vi bruker 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!
Kjør visudokommandoen og fjern kommentarfeltet for %wheel ALL=(ALL) ALLå la medlemmer av wheelgruppen utføre en kommando.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Bytt nå til den nyopprettede brukeren med su.
su - johndoe
MERK: Erstatt johndoemed brukernavnet ditt.
Sett opp tidssonen.
sudo tzsetup
Installer PHP
Installer PHP, samt nødvendige PHP-utvidelser.
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
Sjekk versjonen.
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
Myklink php.ini-productiontil php.ini.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Aktiver og start PHP-FPM.
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
Installer MariaDB
Installer MariaDB.
sudo pkg install -y mariadb102-client mariadb102-server
Sjekk versjonen.
mysql --version
# mysql Ver 15.1 Distrib 10.2.24-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1
Start og aktiver MariaDB.
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
Kjør mysql_secure_installationskriptet for å forbedre sikkerheten til installasjonen.
sudo mysql_secure_installation
Logg inn på MariaDB som root-bruker.
mysql -u root -p
# Enter password:
Opprett en ny database og bruker. Husk legitimasjonen for denne nye brukeren.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;
Installer Nginx
Installer Nginx.
sudo pkg install -y nginx
Sjekk versjonen.
nginx -v
# nginx version: nginx/1.14.2
Aktiver og start Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx start
Kjør sudo vim /usr/local/etc/nginx/bookstack.confog sett opp Nginx for 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;
}
}
Lagre filen og avslutt med :+ W+ Q.
Nå må vi inkludere bookstack.confi hovedfilen nginx.conf.
Kjør sudo vim /usr/local/etc/nginx/nginx.confog legg til følgende linje i http {}blokken.
include bookstack.conf;
Test våre Nginx-konfigurasjonsendringer.
sudo nginx -t
Last inn Nginx på nytt.
sudo service nginx reload
Installer Composer
Installer Composer globalt ved å kjøre følgende skript i terminalen din.
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
MERK: I kommandoblokken som er oppført ovenfor, vil hashen endres med hver versjon av installasjonsprogrammet. Besøk https://getcomposer.org/download for de siste installasjonskommandoene for Composer.
Sjekk versjonen.
composer --version
# Composer version 1.8.5 2019-04-09 17:46:47
Installer BookStack
Opprett en dokumentrotmappe.
sudo mkdir -p /usr/local/www/bookstack
Endre eierskap av /usr/local/www/bookstackkatalogen til johndoe.
sudo chown -R johndoe:johndoe /usr/local/www/bookstack
Klon utgivelsesgrenen til BookStack GitHub-depotet inn i dokumentrotmappen.
cd /usr/local/www/bookstack
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch .
Kjør komponistinstallasjonskommandoen fra /usr/local/www/bookstackkatalogen.
composer install
Kopier .env.examplefilen til .envog fyll den med din egen database og e-postdetaljer.
cp .env.example .env
Sørg for at mappene storage, bootstrap/cacheog public/uploadser skrivbare av webserveren.
Kjør følgende kommando i programroten.
php artisan key:generate
Dette vil generere en unik applikasjonsnøkkel.
Kjør for php artisan migrateå oppdatere databasen.
Endre eierskap av /usr/local/www/bookstackkatalogen til www.
sudo chown -R www:www /usr/local/www/bookstack
Du kan nå logge på med standard administratordetaljer admin@admin.commed passordet password. Det anbefales å endre disse opplysningene rett etter din første pålogging.