User Tools

Site Tools


tutorials:dokuwiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tutorials:dokuwiki [2011/09/13 15:54]
razvan [Install and Upgrade Scripts]
tutorials:dokuwiki [2020/07/20 09:16] (current)
Line 1: Line 1:
-= DokuWiki Installation and Configuration =+====== DokuWiki Installation and Configuration ======
  
 [[http://www.dokuwiki.org/dokuwiki|DokuWiki]] is one of the [[http://www.wikimatrix.org/statistic/Most+Views|most popular wiki implementations]]. I'm using it right now to write this tutorial. DokuWiki is a lightweight implementation possessing a of features which I find very useful and convenient: [[http://www.dokuwiki.org/dokuwiki|DokuWiki]] is one of the [[http://www.wikimatrix.org/statistic/Most+Views|most popular wiki implementations]]. I'm using it right now to write this tutorial. DokuWiki is a lightweight implementation possessing a of features which I find very useful and convenient:
-* it is file-based (no database required); +   it is file-based (no database required); 
-* installation and configuration is a breeze, especially for a manual installation (grabbing the source code, unzip and configure); +   installation and configuration is a breeze, especially for a manual installation (grabbing the source code, unzip and configure); 
-* it uses a namespace-based structure, allowing for easy organization of information; +   it uses a namespace-based structure, allowing for easy organization of information; 
-* its community develops a lot of useful [[http://www.dokuwiki.org/plugins|plugins]]; +   its community develops a lot of useful [[http://www.dokuwiki.org/plugins|plugins]]; 
-* it is, in my opinion, very usable: the interface, the editing features, information organization, overall view are intuitive and allow for rapid editing without little loss of time.+   it is, in my opinion, very usable: the interface, the editing features, information organization, overall view are intuitive and allow for rapid editing with little loss of time.
  
 That being said, let's move on to the requirements and installation steps. That being said, let's move on to the requirements and installation steps.
-== User Requirements ==+===== User Requirements =====
  
 DokuWiki is highly configurable and customizable and I'm going to define the features that are to be used by a wiki installation. These are the features I'm usually going for when doing a DokuWiki installation, such as [[http://swarm.cs.pub.ro/~razvan/dokuwiki/|this one]]: DokuWiki is highly configurable and customizable and I'm going to define the features that are to be used by a wiki installation. These are the features I'm usually going for when doing a DokuWiki installation, such as [[http://swarm.cs.pub.ro/~razvan/dokuwiki/|this one]]:
-* The wiki is to be installed by a non-priviliged users using their own "user directory" (such as {{{public_html}}}). +   The wiki is to be installed by a non-priviliged users using their own "user directory" (such as {{{public_html}}}). 
-* The wiki is public: everyone can read its contents and only certain users may edit it, after logging in (through the use of ACLs). +   The wiki is public: everyone can read its contents and only certain users may edit it, after logging in (through the use of ACLs). 
-* Create index pages for easy access to information. This is achieved with the help of the [[http://www.dokuwiki.org/plugin:indexmenu|indexmenu plugin]]. My wiki's [[http://swarm.cs.pub.ro/~razvan/dokuwiki/|start page]] or [[http://swarm.cs.pub.ro/~razvan/dokuwiki/start?do=index|index page]] are index pages deployed with the help the indexmenu plugin. +   Create index pages for easy access to information. This is achieved with the help of the [[http://www.dokuwiki.org/plugin:indexmenu|indexmenu plugin]]. My wiki's [[http://swarm.cs.pub.ro/~razvan/dokuwiki/|start page]] or [[http://swarm.cs.pub.ro/~razvan/dokuwiki/start?do=index|index page]] are index pages deployed with the help the indexmenu plugin. 
-* The wiki will use "pretty" slash-separated URL. It will use {{{http://swarm.cs.pub.ro/~razvan/dokuwiki/tutorials/dokuwiki}}} instead of {{{http://swarm.cs.pub.ro/~razvan/dokuwiki/doku.php?id=tutorials:dokuwiki}}}. +   The wiki will use "pretty" slash-separated URL. It will use {{{http://swarm.cs.pub.ro/~razvan/dokuwiki/tutorials/dokuwiki}}} instead of {{{http://swarm.cs.pub.ro/~razvan/dokuwiki/doku.php?id=tutorials:dokuwiki}}}. 
-* The wiki will enable [[http://www.wikicreole.org/|Creole markup]], through the use of the [[http://www.dokuwiki.org/plugin:creole|creole plugin]]. +   The wiki will enable [[http://www.wikicreole.org/|Creole markup]], through the use of the [[http://www.dokuwiki.org/plugin:creole|creole plugin]]. 
-* The wiki will define a {{{contrib}}} namespace that is world-writable. +   The wiki will define a {{{contrib}}} namespace that is world-writable. 
-* The wiki will define an {{{internal}}} namespace that is readable/writable only by authenticated users. +   The wiki will define an {{{internal}}} namespace that is readable/writable only by authenticated users. 
-* The wiki enables HTTPS-access to login/logout and admin pages (but HTTP access for normal ones). +   The wiki enables HTTPS-access to login/logout and admin pages (but HTTP access for normal ones). 
-* The wiki enables LDAP authentication (optional - one must have access to a LDAP service).+   The wiki enables LDAP authentication (optional - one must have access to a LDAP service).
  
-== Install and Upgrade Scripts ==+===== Install and Upgrade Scripts =====
  
-* Mircea Bardac and me have created a set of scripts for installation, configuration and upgrade of DokuWiki. These scripts provide solutions to most of the above [[:tutorials:dokuwiki#user_requirements]]. The scripts are part of the [[http://koala.cs.pub.ro/gitweb/?p=admin-public.git;a=tree|admin Git repository]] storing a variety of administrative scripts. +   Mircea Bardac and me have created a set of scripts for installation, configuration and upgrade of DokuWiki. These scripts provide solutions to most of the above [[:tutorials:dokuwiki#user_requirements]]. The scripts are part of the [[http://koala.cs.pub.ro/gitweb/?p=admin-public.git;a=tree|admin Git repository]] storing a variety of administrative scripts. 
-* Issue the following command to get a copy of the repository<code>+   Issue the following command to get a copy of the repository<code>
 git clone http://koala.cs.pub.ro/git/admin-public.git git clone http://koala.cs.pub.ro/git/admin-public.git
 </code> </code>
-* Browse to the {{{dokuwiki/}}} subfolder. Please go through the {{{README}}} file for a description of each file. +   Browse to the {{{dokuwiki/}}} subfolder. Please go through the {{{README}}} file for a description of each file. 
-* Instructions below are also present in the {{{README}}} file in the {{{dokuwiki/}}} folder in the repository. +   Instructions below are also present in the {{{README}}} file in the {{{dokuwiki/}}} folder in the repository. 
-== Basic Installation and Configuration ==+===== Basic Installation and Configuration =====
  
  
-=== Using the Install Scripts ===+==== Using the Install Scripts ====
  
-Find the desired DokuWiki version for download. Use this [[http://www.splitbrain.org/projects/dokuwiki|download URL]]. +  -  Find the desired DokuWiki version for download. Use this [[http://www.splitbrain.org/projects/dokuwiki|download URL]]. 
-Run the install {{{dw-install}}} script. It requires three arguments: +  -  Run the install {{{dw-install}}} script. It requires three arguments: 
-## the installation folder for {{{dokuwiki}}}; it must exist; ({{{~/public_html/dokuwiki2/}}} in the sample run) +    -  the installation folder for {{{dokuwiki}}}; it must exist; ({{{~/public_html/dokuwiki2/}}} in the sample run) 
-## the DokuWiki tarball download URL; ({{{http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-12-25.tgz}}} - the latest stable version - in the sample run) +    -  the DokuWiki tarball download URL; ({{{http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-12-25.tgz}}} - the latest stable version - in the sample run) 
-## the future DokuWiki URL. ({{{http://elf.cs.pub.ro/so/wiki2/}}} in the sample run) +    -  the future DokuWiki URL. ({{{http://elf.cs.pub.ro/so/wiki2/}}} in the sample run) 
-#* Sample run:<code>+  * Sample run:<code>
 razvan@swarm:~/scripts/dw$ ./dw-install ~/public_html/dw-test/ http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz http://swarm.cs.pub.ro/~razvan/dw-test razvan@swarm:~/scripts/dw$ ./dw-install ~/public_html/dw-test/ http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz http://swarm.cs.pub.ro/~razvan/dw-test
  
-* Logging information to /tmp/tmp.JYCdHg2w5P. +   Logging information to /tmp/tmp.JYCdHg2w5P. 
-* Using download link http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz+   Using download link http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz
   * Downloading DokuWiki ... done.   * Downloading DokuWiki ... done.
-* Preparing installation folder /home/razvan/public_html/dw-test/ ... done. +   Preparing installation folder /home/razvan/public_html/dw-test/ ... done. 
-* Installing plugins+   Installing plugins
   * Installing plugin: Creole ... done.   * Installing plugin: Creole ... done.
   * Installing plugin: Google Analytics ... done.   * Installing plugin: Google Analytics ... done.
Line 62: Line 62:
    ./dw-post-install /home/razvan/public_html/dw-test/ /~razvan/dw-test/    ./dw-post-install /home/razvan/public_html/dw-test/ /~razvan/dw-test/
 </code> </code>
-Open install URL (as mentioned in step 1 of the post-install message) and configure DokuWiki instance. +  -  Open install URL (as mentioned in step 1 of the post-install message) and configure DokuWiki instance. 
-#* The web configuration interface is quite intuitive. +  * The web configuration interface is quite intuitive. 
-#* You will probably go for a public wiki (read access for everyone, and write access for registered users). +  * You will probably go for a public wiki (read access for everyone, and write access for registered users). 
-Run the {{{dw-post-install}}} script, as mentioned in step 4 of the end message. +  -  Run the {{{dw-post-install}}} script, as mentioned in step 4 of the end message. 
-#* The `dw-post-install' script is actually responsible for two things: +  * The `dw-post-install' script is actually responsible for two things: 
-#*# Updating the {{{$DW_ROOT/conf/local.php}}} file. That means wiki and plugin configuration. The configuration is what we commonly use. Go through file and update it according to your needs/preferences. +  *# Updating the {{{$DW_ROOT/conf/local.php}}} file. That means wiki and plugin configuration. The configuration is what we commonly use. Go through file and update it according to your needs/preferences. 
-#*# Creating the {{{$DW_ROOT/.htaccess}}} file. This file is responsible with the configuration of pretty (hierarchical) URLs and HTTPS support. +  *# Creating the {{{$DW_ROOT/.htaccess}}} file. This file is responsible with the configuration of pretty (hierarchical) URLs and HTTPS support. 
-#* Sample run:<code>+  * Sample run:<code>
 razvan@swarm:~/scripts/dw$ ./dw-post-install /home/razvan/public_html/dw-test/ /~razvan/dw-test/ razvan@swarm:~/scripts/dw$ ./dw-post-install /home/razvan/public_html/dw-test/ /~razvan/dw-test/
  * Updating conf/local.php ... done.  * Updating conf/local.php ... done.
  * Updating .htaccess ... done.  * Updating .htaccess ... done.
 </code> </code>
-**Congratulations!** You've got a basic DokuWiki installation with pretty slash based URLs, HTTPS support login and Creole markup. +  -  **Congratulations!** You've got a basic DokuWiki installation with pretty slash based URLs, HTTPS support login and Creole markup. 
-=== indexmenu Configuration ===+==== indexmenu Configuration ====
  
 The indexmenu plugin is installed but the index pages are not yet created. As written in the {{{local.php}}} file, we will use {{{home:index}}} as the index page:<code> The indexmenu plugin is installed but the index pages are not yet created. As written in the {{{local.php}}} file, we will use {{{home:index}}} as the index page:<code>
Line 83: Line 83:
  
 You'll need to go through the following steps (mentioned in the {{{README}}} file): You'll need to go through the following steps (mentioned in the {{{README}}} file):
-Type {{{home:index}}} in DokuWiki's search bar and create the page. For index display I usually add the following syntax:<code>+  -  Type {{{home:index}}} in DokuWiki's search bar and create the page. For index display I usually add the following syntax:<code>
 {{indexmenu>..#2|js navbar nocookie id#random}} {{indexmenu>..#2|js navbar nocookie id#random}}
 </code> </code>
-#* Each time you will use the {{{Index}}} button in the bottom right corner the index menu in the {{{home:index}}} page is displayed. +  - * Each time you will use the {{{Index}}} button in the bottom right corner the index menu in the {{{home:index}}} page is displayed. 
-Add an index menu to the first page in the wiki (home). Just type {{{home}}} in DokuWiki's search bar and create/edit the page. I usually fill it with something like:<code> +  -  Add an index menu to the first page in the wiki (home). Just type {{{home}}} in DokuWiki's search bar and create/edit the page. I usually fill it with something like:<code> 
-= Wiki Name =+====== Wiki Name ======
  
 {{indexmenu>..#1|js navbar nocookie id#random}} {{indexmenu>..#1|js navbar nocookie id#random}}
 </code> </code>
-#* {{{Wiki Name}}} is the name of the wiki. It gets displayed as a heading 1 title. +  - * {{{Wiki Name}}} is the name of the wiki. It gets displayed as a heading 1 title. 
-You can add indexes to namespaces (edit the {{{$namespace/home}}} page):<code>+  -  You can add indexes to namespaces (edit the {{{$namespace/home}}} page):<code>
 = Namespace Name == = Namespace Name ==
  
Line 99: Line 99:
 </code> </code>
  
-== Advanced Configuration ==+===== Advanced Configuration =====
  
-=== LDAP Authentication ===+==== LDAP Authentication ====
  
-* The [[http://www.dokuwiki.org/auth:ldap|official LDAP Authentication page]] contains important information regarding the configuration of LDAP authentication. +   The [[http://www.dokuwiki.org/auth:ldap|official LDAP Authentication page]] contains important information regarding the configuration of LDAP authentication. 
-* The [[http://koala.cs.pub.ro/gitweb/?p=admin-public.git;a=blob;f=dokuwiki/samples/dokuwiki-ldap-auth-swarm.conf;hb=HEAD|dokuwiki/samples/dokuwiki-ldap-auth-swarm.conf]] contains a configuration sample for LDAP authentication using the LDAP service installed on the {{{swarm.cs.pub.ro}}} server:<code>+   The [[http://koala.cs.pub.ro/gitweb/?p=admin-public.git;a=blob;f=dokuwiki/samples/dokuwiki-ldap-auth-swarm.conf;hb=HEAD|dokuwiki/samples/dokuwiki-ldap-auth-swarm.conf]] contains a configuration sample for LDAP authentication using the LDAP service installed on the {{{swarm.cs.pub.ro}}} server:<code>
 $conf['disableactions'] = 'register,profile,resendpwd'; $conf['disableactions'] = 'register,profile,resendpwd';
  
Line 116: Line 116:
 $conf['auth']['ldap']['groupfilter'] = '(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))'; $conf['auth']['ldap']['groupfilter'] = '(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))';
    
-This is optional but may be required for your server:+  -  This is optional but may be required for your server:
 $conf['auth']['ldap']['version'   = 3; $conf['auth']['ldap']['version'   = 3;
  
-Mapping can be used to specify where the internal data is coming from. +  -  Mapping can be used to specify where the internal data is coming from. 
 $conf['auth']['ldap']['mapping']['name' = 'cn'; # Name of attribute Active Directory stores it's pretty print user name. $conf['auth']['ldap']['mapping']['name' = 'cn'; # Name of attribute Active Directory stores it's pretty print user name.
 $conf['auth']['ldap']['mapping']['grps' = array('memberof' => '/CN=(.+?),/i'); $conf['auth']['ldap']['mapping']['grps' = array('memberof' => '/CN=(.+?),/i');
  
-Optional debugging+  -  Optional debugging
 $conf['auth']['ldap']['debug'     = 1; $conf['auth']['ldap']['debug'     = 1;
 </code> </code>
-* The {{{$conf['authtype'   = 'ldap';}}} line enables LDAP authentication. +   The {{{$conf['authtype'   = 'ldap';}}} line enables LDAP authentication. 
-* The {{{$conf['auth']['ldap']['debug'     = 1;}}} line should be commented out after the configuration is working. +   The {{{$conf['auth']['ldap']['debug'     = 1;}}} line should be commented out after the configuration is working. 
-* **IMPORTANT**: You may not have write access to the {{{local.php}}} configuration file. The solution is: +   **IMPORTANT**: You may not have write access to the {{{local.php}}} configuration file. The solution is: 
-*# Make a copy of the {{{local.php}}} file (be it {{{local.php.bak}}}). +  * # Make a copy of the {{{local.php}}} file (be it {{{local.php.bak}}}). 
-*# Delete the file {{{rm local.php}}}; it asks for confirmation -- confirm it. This works as the file is in your home folder. +  * # Delete the file {{{rm local.php}}}; it asks for confirmation -- confirm it. This works as the file is in your home folder. 
-*# Copy the backup file ({{{local.php.bak}}}) to {{{local.php}}}. +  * # Copy the backup file ({{{local.php.bak}}}) to {{{local.php}}}. 
-*# Provide access writes to the group, assuming that to be {{{www-data}}}, in order to allow web server write access from the web configuration interface: {{{chmod g+w local.php}}}.+  * # Provide access writes to the group, assuming that to be {{{www-data}}}, in order to allow web server write access from the web configuration interface: {{{chmod g+w local.php}}}.
  
-==== Disable Unnecessary Actions ====+=== Disable Unnecessary Actions ===
  
 In case you choose to use LDAP authentication, you should disable the Dokuwiki's {{{Register}}}, {{{Send password}}} and {{{Profile}}} options. This can be accomplished by two means: In case you choose to use LDAP authentication, you should disable the Dokuwiki's {{{Register}}}, {{{Send password}}} and {{{Profile}}} options. This can be accomplished by two means:
-use the {{{$conf['disableactions'] = 'register,resendpw,profile';}}} line in {{{local.php}}}; +  -  use the {{{$conf['disableactions'] = 'register,resendpw,profile';}}} line in {{{local.php}}}; 
-use the DokuWiki's administrative {{{Configuration Manager}}} link (search for {{{disableactions}}}). +  -  use the DokuWiki's administrative {{{Configuration Manager}}} link (search for {{{disableactions}}}). 
-=== Split Authentication ===+==== Split Authentication ====
  
 The LDAP service often offers little support for group authorization inside DokuWiki. A better approach would be authenticating through LDAP and using another engine for authentication. This can be accomplished through the use of [[http://www.dokuwiki.org/auth:ggauth#split|split authentication]]. I'm using it to authenticate through LDAP and use the basic {{{user.auth.php}}} file in DokuWiki's {{{conf/}}} folder. The LDAP service often offers little support for group authorization inside DokuWiki. A better approach would be authenticating through LDAP and using another engine for authentication. This can be accomplished through the use of [[http://www.dokuwiki.org/auth:ggauth#split|split authentication]]. I'm using it to authenticate through LDAP and use the basic {{{user.auth.php}}} file in DokuWiki's {{{conf/}}} folder.
Line 146: Line 146:
  
 In order to configure split authentication, do the following: In order to configure split authentication, do the following:
-Update the {{{local.php}}} file with configuration lines such as these:<code>+  -  Update the {{{local.php}}} file with configuration lines such as these:<code>
 $conf['authtype'] = 'split'; $conf['authtype'] = 'split';
  
Line 156: Line 156:
 $conf['auth']['split']['use_login_auth_for_mail'] = true; # Should login auth supply email address, or only used if groups auth provides empty email. $conf['auth']['split']['use_login_auth_for_mail'] = true; # Should login auth supply email address, or only used if groups auth provides empty email.
 </code> </code>
-#* I assumed the configuration lines for LDAP are already there. +  - * I assumed the configuration lines for LDAP are already there. 
-#* In the above configuration, we are using LDAP for authentication and the {{{plain}}} engine for groups and authorization. +  * In the above configuration, we are using LDAP for authentication and the {{{plain}}} engine for groups and authorization. 
-Authorization configuration is done by editing the {{{conf/users.auth.php}}} file. Some sample lines are shown below:<code> +  -  Authorization configuration is done by editing the {{{conf/users.auth.php}}} file. Some sample lines are shown below:<code> 
-user:MD5password:Real Name:email:groups,comma,separated+  -  user:MD5password:Real Name:email:groups,comma,separated
  
 razvan:x:x:x:admin,so razvan:x:x:x:admin,so
Line 170: Line 170:
 [...] [...]
 </code> </code>
-#* The {{{MD5password}}}, {{{Real Name}}} and {{{email}}} fields are provided by the LDAP authentication engine and aren't filled. +  - * The {{{MD5password}}}, {{{Real Name}}} and {{{email}}} fields are provided by the LDAP authentication engine and aren't filled. 
-You can now use the {{{Access Control List Management}}} link in the "Administration" menu for authorization: configuring access rights for users and groups. +  -  You can now use the {{{Access Control List Management}}} link in the "Administration" menu for authorization: configuring access rights for users and groups. 
-== Upgrading ==+===== Upgrading =====
  
 DokuWiki has a smart notification system that lets you know whether a new version of DokuWiki is available. A DokuWiki upgrade is fairly easy to accomplish. The upgrade steps are described on the [[http://www.dokuwiki.org/install:upgrade|official page]]. DokuWiki has a smart notification system that lets you know whether a new version of DokuWiki is available. A DokuWiki upgrade is fairly easy to accomplish. The upgrade steps are described on the [[http://www.dokuwiki.org/install:upgrade|official page]].
Line 185: Line 185:
 razvan@swarm:~/scripts/dw$ ./dw-upgrade-no-root ~razvan/public_html/dw-test/ http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz ~razvan/public_html/backup/ razvan@swarm:~/scripts/dw$ ./dw-upgrade-no-root ~razvan/public_html/dw-test/ http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz ~razvan/public_html/backup/
  
-* Logging information to /tmp/tmp.xQuZwTyfgu.+   Logging information to /tmp/tmp.xQuZwTyfgu.
   * Downloading DokuWiki ... done.   * Downloading DokuWiki ... done.
  * Backing up Dokuwiki instance to /home/razvan/public_html/backup//dokuwiki-bak-2011-09-12 ... done  * Backing up Dokuwiki instance to /home/razvan/public_html/backup//dokuwiki-bak-2011-09-12 ... done
  * Upgrading Dokuwiki installation in /home/razvan/public_html/dw-test/ ... done  * Upgrading Dokuwiki installation in /home/razvan/public_html/dw-test/ ... done
-* Installing plugins+   Installing plugins
   * Installing plugin: Creole ... done.   * Installing plugin: Creole ... done.
   * Installing plugin: Google Analytics ... done.   * Installing plugin: Google Analytics ... done.
Line 199: Line 199:
  
 Enjoy! Enjoy!
 +
 +===== Useful Plugins =====
 +
 +  *  https://www.dokuwiki.org/plugin:include
 +  *  https://www.dokuwiki.org/plugin:spoiler
 +  *  https://www.dokuwiki.org/plugin:note
 +  *  https://www.dokuwiki.org/plugin:comment
 +  *  https://www.dokuwiki.org/plugin:togglewrap
 +  *  https://www.dokuwiki.org/plugin:wrap
 +  *  https://www.dokuwiki.org/plugin:fontsize2
 +  *  https://www.dokuwiki.org/plugin:indexmenu
 +  *  https://www.dokuwiki.org/plugin:icons
 +  *  https://www.dokuwiki.org/plugin:authchained
 +  *  https://www.dokuwiki.org/plugin:authsplit
 +  *  https://www.dokuwiki.org/plugin:creole
 +  *  https://www.dokuwiki.org/plugin:dw2pdf
 +  *  https://www.dokuwiki.org/plugin:color
 +  *  https://www.dokuwiki.org/plugin:mathjax
 +  *  https://www.dokuwiki.org/plugin:move
 +  *  https://www.dokuwiki.org/plugin:googleanalytics
 +  *  https://www.dokuwiki.org/plugin:include
 +
tutorials/dokuwiki.1315918469.txt.gz · Last modified: 2011/09/13 15:54 by razvan