DokuWiki: Difference between revisions

From Alpine Linux
(Updated instructions for the new dokuwiki version)
No edit summary
 
(4 intermediate revisions by 4 users 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>grep listen.owner /etc/php7/php-fpm.d/www.conf
grep listen.group /etc/php7/php-fpm.d/www.conf
grep user /etc/php7/php-fpm.d/www.conf
grep group /etc/php7/php-fpm.d/www.conf
grep user /etc/nginx/nginx.conf</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}}
Install required php modules
 
{{Cmd|# apk add {{pkg|php82-session}} {{pkg|php82-xml}} }}
 
Create webroot


{{Cmd|mkdir -p /usr/share/webapps/}}
{{Cmd|mkdir -p /var/www/localhost/htdocs/}}


Download the source code archive  
Download the source code archive  


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


Line 24: Line 55:
{{Cmd|mv dokuwiki-2018-04-22c dokuwiki}}
{{Cmd|mv dokuwiki-2018-04-22c dokuwiki}}


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


{{Cmd|chmod -R 777 /usr/share/webapps/dokuwiki/}}
{{Cmd|chown -R www:www dokuwiki
chmod -R 700 dokuwiki/}}


Create a symlink to the {{Path|dokuwiki}} folder
for lighttpd use


{{Cmd|ln -s /usr/share/webapps/dokuwiki/ /var/www/localhost/htdocs/dokuwiki}}
{{Cmd|chown -R lighttpd:lighttpd dokuwiki
chmod -R 700 dokuwiki/}}


Browse to  
Browse to  
http://WEB_IP_ADDRESS/dokuwiki
<nowiki>http://WEB_IP_ADDRESS/dokuwiki/install.php</nowiki>


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

Latest revision as of 13:06, 26 March 2024

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):

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

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

Install required php modules

# apk add php82-session php82-xml

Create webroot

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

Download the source code archive

cd /var/www/localhost/htdocs/ 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/

for lighttpd use

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

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