DokuWiki: Difference between revisions

From Alpine Linux
(Created page with '== What is DokuWiki?== DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating documentation of any kind. == Set up DokuWiki on Alpine Linux == This docu...')
 
(Added nginx section)
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== What is DokuWiki?==
[https://www.dokuwiki.org/dokuwiki DokuWiki] is a standards compliant, simple to use Wiki, mainly aimed at creating documentation of any kind. This page covers installation with either lighttpd or nginx.
DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating documentation of any kind.


== Set up DokuWiki on Alpine Linux ==
= Install lighttpd and PHP =
This document will be a quick c/p guide to setup DokuWiki on Alpine linux. What we will setup is the following:
{{:Setting Up Lighttpd With FastCGI}}


* Lighttpd with PHP  
= Install nginx and PHP =
* DokuWiki


== Install lighttpd, PHP ==
Continue with [https://wiki.alpinelinux.org/wiki/Nginx_with_PHP#PHP7_Installation this tutorial], however please note that only these packages are required:
{{cmd|apk add nginx php7 php7-gd php7-fpm php7-xml php7-session php7-json}}


  apk add lighttpd php  
Make sure that the PHP user and group match those for nginx (the outputs should be the same):
{{cmd|<nowiki>cat /etc/php7/php-fpm.d/www.conf | grep listen.owner
cat /etc/php7/php-fpm.d/www.conf | grep listen.group
cat /etc/php7/php-fpm.d/www.conf | grep user
cat /etc/php7/php-fpm.d/www.conf | grep group
cat /etc/nginx/nginx.conf | grep user</nowiki>}}


== Configuring Lighttpd==
Afterwards, [https://www.dokuwiki.org/install:nginx configure nginx] and, optionally, [https://www.dokuwiki.org/rewrite enable URL rewrites]


'''Edit lighttpd.conf'''
Alternatively, you can call PHP from nginx via unix socket:
{{cmd|<nowiki>sed -i "s|listen\s*=\s*127.0.0.1:9000|listen = /var/run/php.sock|g" /etc/php7/php-fpm.d/www.conf</nowiki>}}


nano +46 /etc/lighttpd/lighttpd.conf
To define unix socket in nginx configuration, add following section to server:
 
    location ~ \.php$ {
Uncomment line:
        try_files $uri $uri/ /doku.php;
 
        include fastcgi_params;
include "mod_fastcgi.conf"
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param REDIRECT_STATUS 200;
        fastcgi_pass unix:/var/run/php.sock;
    }


== Installing DokuWiki ==
== Installing DokuWiki ==


'''Install DokuWiki'''
Create a folder named {{Path|dokuwiki}} in webroot


* Go to web folder
{{Cmd|mkdir -p /var/www/localhost/htdocs/dokuwiki}}


cd /var/www/localhost/htdocs/
Download the source code archive


* Download
{{Cmd|cd /var/www/localhost/htdocs/dokuwiki
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz}}


wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-12-25c.tgz
Unpack and delete tar file


* Unpack
{{Cmd|tar zxvf dokuwiki-stable.tgz
rm dokuwiki-stable.tgz}}


tar zxvf dokuwiki-2009-12-25c.tgz
Rename the dokuwiki folder
mv dokuwiki-2009-12-25 dokuwiki


== Starting ==
{{Cmd|mv dokuwiki-2018-04-22c dokuwiki}}
'''Starting http and server and adding to boot'''


/etc/init.d/lighttpd start && rc-update add lighttpd default
Change the folder permissions (change the www user/group to the one that is used by both web server and PHP)


Browse
{{Cmd|chown -R www:www dokuwiki
http://WEB_IP_ADDRESS/dokuwiki
chmod -R 700 dokuwiki/}}


You have DokuWiki working, to access go to http://WEBSERVER_IP_ADDRESS/dokuwiki and enjoy!
Browse to  
http://WEB_IP_ADDRESS/dokuwiki/install.php


EOF
[[Category:Server]]
[[Category:PHP]]

Revision as of 18:32, 23 May 2020

DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating documentation of any kind. This page covers installation with either lighttpd or nginx.

Install lighttpd and PHP

Basic Installation

For installing the additional packages first activate community packages and update the package index

Install the required packages:

# apk add lighttpd php82 fcgi php82-cgi

Configure Lighttpd

Edit lighttpd.conf (/etc/lighttpd/lighttpd.conf) and uncomment the line:

Contents of /etc/lighttpd/lighttpd.conf

... include "mod_fastcgi.conf" ...

Edit mod_fastcgi.conf (/etc/lighttpd/mod_fastcgi.conf), find and change /usr/bin/php-cgi to /usr/bin/php-cgi82.

Contents of /etc/lighttpd/mod_fastcgi.conf

... "bin-path" => "/usr/bin/php-cgi82" # php-cgi ...

Start lighttpd service and add it to default runlevel

# rc-service lighttpd start # rc-update add lighttpd default

Install nginx and PHP

Continue with this tutorial, however please note that only these packages are required:

apk add nginx php7 php7-gd php7-fpm php7-xml php7-session php7-json

Make sure that the PHP user and group match those for nginx (the outputs should be the same):

cat /etc/php7/php-fpm.d/www.conf | grep listen.owner cat /etc/php7/php-fpm.d/www.conf | grep listen.group cat /etc/php7/php-fpm.d/www.conf | grep user cat /etc/php7/php-fpm.d/www.conf | grep group cat /etc/nginx/nginx.conf | grep user

Afterwards, configure nginx and, optionally, enable URL rewrites

Alternatively, you can call PHP from nginx via unix socket:

sed -i "s|listen\s*=\s*127.0.0.1:9000|listen = /var/run/php.sock|g" /etc/php7/php-fpm.d/www.conf

To define unix socket in nginx configuration, add following section to server:

   location ~ \.php$ {
       try_files $uri $uri/ /doku.php;
       include fastcgi_params;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       fastcgi_param REDIRECT_STATUS 200;
       fastcgi_pass unix:/var/run/php.sock;
   }

Installing DokuWiki

Create a folder named dokuwiki in webroot

mkdir -p /var/www/localhost/htdocs/dokuwiki

Download the source code archive

cd /var/www/localhost/htdocs/dokuwiki wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Unpack and delete tar file

tar zxvf dokuwiki-stable.tgz rm dokuwiki-stable.tgz

Rename the dokuwiki folder

mv dokuwiki-2018-04-22c dokuwiki

Change the folder permissions (change the www user/group to the one that is used by both web server and PHP)

chown -R www:www dokuwiki chmod -R 700 dokuwiki/

Browse to http://WEB_IP_ADDRESS/dokuwiki/install.php