Difference between revisions of "DokuWiki"

From Alpine Linux
Jump to: navigation, search
m
(Added nginx section)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
[https://www.dokuwiki.org/dokuwiki DokuWiki] is a standards compliant, simple to use Wiki, mainly aimed at creating documentation of any kind.
+
[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.
  
 
= Install lighttpd and PHP =
 
= Install lighttpd and PHP =
 
{{:Setting Up Lighttpd With FastCGI}}
 
{{:Setting Up Lighttpd With FastCGI}}
 +
 +
= Install nginx and 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}}
 +
 +
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>}}
 +
 +
Afterwards, [https://www.dokuwiki.org/install:nginx configure nginx] and, optionally, [https://www.dokuwiki.org/rewrite enable URL rewrites]
 +
 +
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>}}
 +
 +
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 ==
 
== Installing DokuWiki ==
  
Create a folder named {{Path|webapps}}
+
Create a folder named {{Path|dokuwiki}} in webroot
  
{{Cmd|mkdir -p /usr/share/webapps/}}
+
{{Cmd|mkdir -p /var/www/localhost/htdocs/dokuwiki}}
  
 
Download the source code archive  
 
Download the source code archive  
  
{{Cmd|cd /usr/share/webapps/
+
{{Cmd|cd /var/www/localhost/htdocs/dokuwiki
wget wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2012-10-13.tgz}}
+
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz}}
  
 
Unpack and delete tar file
 
Unpack and delete tar file
  
{{Cmd|tar zxvf dokuwiki-2012-10-13.tgz
+
{{Cmd|tar zxvf dokuwiki-stable.tgz
rm dokuwiki-2012-10-13.tgz}}
+
rm dokuwiki-stable.tgz}}
  
Change the folder permissions
+
Rename the dokuwiki folder
  
{{Cmd|chmod -R 777 /usr/share/webapps/dokuwiki/}}
+
{{Cmd|mv dokuwiki-2018-04-22c dokuwiki}}
  
Create a symlink to the {{Path|dokuwiki}} folder
+
Change the folder permissions (change the www user/group to the one that is used by both web server and PHP)
  
{{Cmd|ln -s /usr/share/webapps/dokuwiki/ /var/www/localhost/htdocs/dokuwiki}}
+
{{Cmd|chown -R www:www dokuwiki
 +
chmod -R 700 dokuwiki/}}
  
 
Browse to  
 
Browse to  
http://WEB_IP_ADDRESS/dokuwiki
+
http://WEB_IP_ADDRESS/dokuwiki/install.php
  
 
[[Category:Server]]
 
[[Category:Server]]
 
[[Category:PHP]]
 
[[Category:PHP]]

Latest 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

For installing the additional packages first activate community packages:

vi /etc/apk/repositories

Uncomment the following:

http://pkg.example.com/alpine/v3.11/community

Update the packagelist:

apk update

Install the additional packages:

apk add lighttpd php7-common php7-iconv php7-json php7-gd php7-curl php7-xml php7-mysqli php7-imap php7-cgi fcgi php7-pdo php7-pdo_mysql php7-soap php7-xmlrpc php7-posix php7-mcrypt php7-gettext php7-ldap php7-ctype php7-dom

Configure Lighttpd

Edit lighttpd.conf

vi /etc/lighttpd/lighttpd.conf

Uncomment line:

include "mod_fastcgi.conf"


Edit mod_fastcgi.conf

vi /etc/lighttpd/mod_fastcgi.conf

Edit the section:

/usr/bin/php-cgi

To:

/usr/bin/php-cgi7

Start lighttpd service and add to needed 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