DokuWiki est un programme wiki open source écrit en PHP qui ne nécessite pas de base de données. Il stocke les données dans des fichiers texte. Le code source de DokuWiki est hébergé publiquement sur GitHub . Ce guide vous montrera comment installer DokuWiki avec Nginx sur une nouvelle instance de FreeBSD 12 Vultr.
Exigences
- Logiciel de serveur Web prenant en charge PHP; tels que Apache, Nginx, IIS, Lighttpd, LiteSpeed. Ce guide utilisera Nginx.
- PHP version 5.6 ou supérieure, les versions plus récentes sont fortement recommandées. Ce guide utilisera PHP 7.2.
Avant que tu commences
Vérifiez la version de FreeBSD.
uname -ro
# FreeBSD 12.0-RELEASE
Assurez-vous que votre système FreeBSD est à jour.
freebsd-update fetch install
pkg update && pkg upgrade -y
Installez les packages nécessaires s'ils ne sont pas présents sur votre système.
pkg install -y sudo vim unzip wget bash socat git
Créez un nouveau compte utilisateur avec votre nom d'utilisateur préféré (nous utiliserons 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!
Exécutez la visudo
commande et décommentez la %wheel ALL=(ALL) ALL
ligne pour permettre aux membres du wheel
groupe d'exécuter n'importe quelle commande.
visudo
# Uncomment by removing hash (#) sign
%wheel ALL=(ALL) ALL
Maintenant, passez à votre nouvel utilisateur.
su - johndoe
REMARQUE: remplacez johndoe
par votre nom d'utilisateur.
Configurez le fuseau horaire.
sudo tzsetup
Installer PHP et les extensions PHP
Installez PHP, ainsi que les extensions PHP nécessaires.
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
Vérifiez la version.
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
Lien logiciel php.ini-production
vers php.ini
.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Activez et démarrez PHP-FPM.
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
DokuWiki fonctionnera sur n'importe quel serveur Web prenant en charge PHP. Dans ce tutoriel, nous utiliserons Nginx. Si vous préférez Apache ou un autre serveur Web, vous pouvez l'utiliser à la place de Nginx.
Installez Nginx.
sudo pkg install -y nginx
Vérifiez la version.
nginx -v
# nginx version: nginx/1.14.2
Activez et démarrez Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx start
Exécutez sudo vim /usr/local/etc/nginx/dokuwiki.conf
et configurez Nginx pour 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;
}
}
Enregistrez le fichier et quittez avec :+ W+ Q.
Maintenant, nous devons inclure le dokuwiki.conf
fichier dans le nginx.conf
fichier principal .
Exécutez sudo vim /usr/local/etc/nginx/nginx.conf
et ajoutez la ligne suivante à http {}
bloquer.
include dokuwiki.conf;
Testez la configuration Nginx.
sudo nginx -t
Recharger Nginx.
sudo service nginx reload
Installer DokuWiki
Créez un répertoire racine de document.
sudo mkdir -p /usr/local/www/dokuwiki
Changez la propriété du /usr/local/www/dokuwiki
répertoire en johndoe
.
sudo chown -R johndoe:johndoe /usr/local/www/dokuwiki
Accédez à la racine du document.
cd /usr/local/www/dokuwiki
Téléchargez la dernière version stable de DokuWiki depuis la page de téléchargement de DokuWiki .
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
Déballez l'archive tar 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/
Changez la propriété du /usr/local/www/dokuwiki
répertoire en www
.
sudo chown -R www:www /usr/local/www/dokuwiki
Ouvrez le script de configuration de DokuWiki,, install.php
dans votre navigateur et configurez DokuWiki. Le script de configuration vérifie la disponibilité des fonctions PHP requises et vérifie les autorisations de fichiers nécessaires. Il crée également un compte administrateur initial et une stratégie ACL initiale. Pour exécuter le programme d'installation, ouvrez http://wiki.example.com/install.php
dans le navigateur et suivez les instructions.
Après une configuration réussie, supprimez le install.php
fichier du répertoire racine DokuWiki.
sudo rm /usr/local/www/dokuwiki/install.php
Votre DokuWiki a été installé et vous pouvez maintenant accéder et modifier un wiki fonctionnel sur http://wiki.example.com/
.