Kako namestiti DokuWiki na FreeBSD 12

DokuWiki je odprtokodni wiki program, napisan v PHP, ki ne potrebuje baze podatkov. Podatke shranjuje v besedilne datoteke. Izvorna koda DokuWiki je javno gostovana na GitHubu . Ta priročnik vam bo pokazal, kako namestiti DokuWiki z Nginxom na nov primerek FreeBSD 12 Vultr.

Zahteve

  • Programska oprema za spletni strežnik, ki podpira PHP; kot so Apache, Nginx, IIS, Lighttpd, LiteSpeed. Ta priročnik bo uporabljal Nginx.
  • PHP različica 5.6 ali novejša, novejše različice so zelo priporočljive. Ta priročnik bo uporabljal PHP 7.2.

Preden začneš

Preverite različico FreeBSD.

uname -ro
# FreeBSD 12.0-RELEASE

Prepričajte se, da je vaš sistem FreeBSD posodobljen.

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

Namestite potrebne pakete, če niso prisotni v vašem sistemu.

pkg install -y sudo vim unzip wget bash socat git

Ustvarite nov uporabniški račun s svojim želenim uporabniškim imenom (uporabili bomo 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!

Zaženite visudoukaz in razkomentirajte %wheel ALL=(ALL) ALLvrstico, da omogočite članom wheelskupine, da izvedejo kateri koli ukaz.

visudo

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

Zdaj preklopite na novo ustvarjenega uporabnika.

su - johndoe

OPOMBA: Zamenjajte johndoez vašim uporabniškim imenom.

Nastavite časovni pas.

sudo tzsetup

Namestite razširitve PHP in PHP

Namestite PHP in potrebne razširitve PHP.

sudo pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcache php72-phar php72-fileinfo

Preverite različico.

php --version
# PHP 7.2.14 (cli) (built: Jan 15 2019 01:14:39) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
#     with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies

Mehka povezava php.ini-productiondo php.ini.

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

Omogočite in zaženite PHP-FPM.

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Namestite in konfigurirajte Nginx

DokuWiki bo deloval na katerem koli spletnem strežniku, ki podpira PHP. V tej vadnici bomo uporabljali Nginx. Če imate raje Apache ali drug spletni strežnik, ga lahko uporabite namesto Nginxa.

Namestite Nginx.

sudo pkg install -y nginx

Preverite različico.

nginx -v
# nginx version: nginx/1.14.2

Omogočite in zaženite Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

Zaženite sudo vim /usr/local/etc/nginx/dokuwiki.confin konfigurirajte Nginx za DokuWiki.

server {

  listen [::]:80;
  listen 80;

  server_name wiki.example.com; # Replace with your hostname

  root /usr/local/www/dokuwiki;
  index index.html index.htm index.php doku.php;

  client_max_body_size 15M;
  client_body_buffer_size 128K;

  location / {
    try_files $uri $uri/ @dokuwiki;
  }

  location ^~ /conf/ { return 403; }
  location ^~ /data/ { return 403; }
  location ~ /\.ht { deny all; }

  location @dokuwiki {
    rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
    rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
    rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
    rewrite ^/(.*) /doku.php?id=$1&$args last;
  }

  location ~ \.php$ {
    try_files $uri $uri/ /doku.php;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param REDIRECT_STATUS 200;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

}

Shranite datoteko in zapustite s :+ W+ Q.

Zdaj moramo dokuwiki.confdatoteko vključiti v glavno nginx.confdatoteko.

Zaženite sudo vim /usr/local/etc/nginx/nginx.confin dodajte naslednjo vrstico v http {}blok.

include dokuwiki.conf;

Preizkusite konfiguracijo Nginx.

sudo nginx -t

Ponovno naložite Nginx.

sudo service nginx reload

Namesti DokuWiki

Ustvarite korenski imenik dokumenta.

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

Spremenite lastništvo /usr/local/www/dokuwikiimenika v johndoe.

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

Pomaknite se do korena dokumenta.

cd /usr/local/www/dokuwiki

Prenesite najnovejšo stabilno izdajo DokuWiki s strani za prenos DokuWiki .

wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Razpakirajte arhivsko datoteko DokuWiki.

tar xvf dokuwiki-stable.tgz
rm dokuwiki-stable.tgz
mv dokuwiki-2018-04-22b/* . && mv dokuwiki-2018-04-22b/.* .
rmdir dokuwiki-2018-04-22b/

Spremenite lastništvo /usr/local/www/dokuwikiimenika v www.

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

V install.phpbrskalniku odprite namestitveni skript DokuWiki, , in nastavite DokuWiki. Namestitveni skript preveri razpoložljivost zahtevanih funkcij PHP in preveri, ali so potrebna dovoljenja za datoteke. Prav tako ustvari začetni skrbniški račun in začetni pravilnik ACL. Če želite zagnati namestitveni program, odprite http://wiki.example.com/install.phpbrskalnik in sledite navodilom.

Po uspešni konfiguraciji izbrišite install.phpdatoteko iz korenskega imenika DokuWiki.

sudo rm /usr/local/www/dokuwiki/install.php

Vaš DokuWiki je bil nameščen in zdaj lahko dostopate do funkcionalnega wikija in ga urejate na http://wiki.example.com/.

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več