DokuWiki: Difference between revisions
(Added nginx section) |
(I installed lighttpd. The folder dokuwiki was used twice. Once when made the folder was made and once when unpacked the files. For lighthttpd user/group is lighttpd:lighttpd.) |
||
Line 32: | Line 32: | ||
== Installing DokuWiki == | == Installing DokuWiki == | ||
Create | Create webroot | ||
{{Cmd|mkdir -p /var/www/localhost/htdocs/ | {{Cmd|mkdir -p /var/www/localhost/htdocs/}} | ||
Download the source code archive | Download the source code archive | ||
{{Cmd|cd /var/www/localhost/htdocs/ | {{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 53: | Line 53: | ||
{{Cmd|chown -R www:www dokuwiki | {{Cmd|chown -R www:www dokuwiki | ||
chmod -R 700 dokuwiki/}} | |||
for lighttpd use | |||
{{Cmd|chown -R lighttpd:lighttpd dokuwiki | |||
chmod -R 700 dokuwiki/}} | chmod -R 700 dokuwiki/}} | ||
Revision as of 13:16, 9 July 2021
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
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
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 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/