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
Next revision Both sides next revision
tutorials:dokuwiki [2011/09/12 23:21]
razvan [Using the Install Scripts]
tutorials:dokuwiki [2013/07/01 14:43]
razvan old revision restored
Line 6: Line 6:
 * 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.
Line 24: Line 24:
 == 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/git/?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
Line 100: Line 100:
  
 == Advanced Configuration == == Advanced Configuration ==
-=== HTTPS Access === 
- 
-* In case you want HTTPS access, add the configuration lines mentioned in the output message of the {{{post_install_dokuwiki}}} script to the {{{.htaccess}}} file in DokuWiki's installation folder. 
-* Make sure you add them after the {{{RewriteEngine On}}} line and _before_ the other [[http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html|mod_rewrite]] lines (used for pretty URLs). 
  
 === 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/git/?p=admin.git;a=blob;f=dokuwiki/samples/dokuwiki-ldap-auth-swarm.conf;h=f955588a13f1ea8424d75f042cccb27ae623ace3;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['authtype'   = 'ldap'; $conf['authtype'   = 'ldap';
- +
 $conf['auth']['ldap']['port'       = 636; $conf['auth']['ldap']['port'       = 636;
 $conf['auth']['ldap']['server'     = 'ldaps://swarm.cs.pub.ro'; $conf['auth']['ldap']['server'     = 'ldaps://swarm.cs.pub.ro';
Line 130: Line 128:
 * 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. Unfortunatelly there is no web interface for LDAP authentication configurationThe simplest solution is asking the system administrator to give you access rights to that file.+* **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}}}). 
 +*# Delete the file {{{rm local.php}}}; it asks for confirmation -- confirm itThis works as the file is in your home folder. 
 +*# 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}}}.
  
-==== Disable Register Action ====+==== Disable Unnecessary Actions ====
  
-In case you choose to use LDAP authentication, you should disable the Dokuwiki's {{{Register}}} optionenabling users to automatically create an account for DokuWiki plain authentication. 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';}}} 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.
  
-In order to provide split authentication, do the following: +The [[http://lastweekend.com.au/ggauth.5.zip|experimental authentication backends]], providing "split authentication" is deployed in the [[:tutorials:dokuwiki#install_and_upgrade_scripts install script]]. 
-# Download the [[http://lastweekend.com.au/ggauth.4.zip|experimental authentication backends]] and unpack them in DokuWiki's installation folder (as mentioned [[http://www.dokuwiki.org/auth:ggauth#installation|here]]).+ 
 +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 158: Line 161:
 # user:MD5password:Real Name:email:groups,comma,separated # user:MD5password:Real Name:email:groups,comma,separated
  
-razvan:x:Razvan Deaconescu:x:admin,so +razvan:x:x:x:admin,so 
-oana:x:Oana Baron:x:so +oana:x:x:x:so 
-ddvlad:x:Vlad Dogaru:x:so +ddvlad:x:x:x:so 
-dbaluta:x:Daniel Baluta:x:so +dbaluta:x:x:x:so 
-apitis:x:Andrei Pitis:x:so +apitis:x:x:x:so 
-bdrutu:x:Bogdan Drutu:x:so +bdrutu:x:x:x:so 
-catalinme:x:Catalin Moraru:x:so+catalinme:x:x:x:so
 [...] [...]
 </code> </code>
-#* The {{{MD5password}}} and {{{email}}} fields are provided by the LDAP authentication engine and aren't filled. This may also hold true for {{{Real Name}}} but I didn't check+#* 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 "Administrationmenu 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]].
  
-The steps below have been undertaken during an actual upgrade. +The are two scripts you may useOne is to be run by root (the {{{dw-upgrade}}} script), while the other (the {{{dw-upgrade-no-root}}} script) may be run by a non-priviliged userEach script creates backup copy of the current wiki installation before upgrading.
-# Backup the previous DokuWiki folder<code> +
-$ cp -a wiki/ 2009-12-30-wiki-bak +
-</code> +
-# [[http://www.splitbrain.org/projects/dokuwiki|Download]] new version of DokuWiki. I'm upgrading to the [[http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-12-25.tgz|current stable version]].<code> +
-$ wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-12-25.tgz +
-$ ls +
-2009-12-30-wiki-bak  dokuwiki-2009-12-25.tgz  lab  wiki +
-</code> +
-# Unpack the DokuWiki archive.<code> +
-$ tar xzf dokuwiki-2009-12-25.tgz +
-$ ls +
-2009-12-30-wiki-bak  dokuwiki-2009-12-25  dokuwiki-2009-12-25.tgz  lab  wiki +
-</code> +
-# Copy new files over the old wiki installation. Overwrite existing files.<code> +
-$ cp -rf dokuwiki-2009-12-25/* wiki/ +
-</code> +
-# Do a check for [[http://www.dokuwiki.org/install:upgrade#files_to_remove|files to be removed]] and remove them.<code> +
-$ rm inc/lang/ar/wordblock.txt +
-[...] +
-</code> +
-# Check permissions, especially permission on {{{data/}}} folder (web user must have write access enabled). +
-# Update plugins. I'upgrading the [[http://www.dokuwiki.org/plugin:googleanalytics|googleanalytics]], [[http://www.dokuwiki.org/plugin:include|include]], [[http://www.dokuwiki.org/plugin:displaywikipage|displaywikipage]], [[http://www.dokuwiki.org/plugin:creole|creole]] and [[http://www.dokuwiki.org/plugin:indexmenu|indexmenu]] plugins.<code> +
-$ cd lib/plugins/+
  
-$ wget http://cloud.github.com/downloads/tatewake/dokuwiki-plugin-googleanalytics/googleanalytics-stable.tar.gz +The {{{dw-upgrade}}} script (run by {{{root}}}) is to be used when your backup needs to be web accessibleThe backup uses the precises ownership information and access rights (may be owned by {{{www-data}}}) such that it would be an exact copy of the original DokuWiki installationIn order for the backup copy to be completely accesible, its {{{.htaccess}}} filesh ould probably be updated.
-$ tar xzf googleanalytics-stable.tar.gz +
-$ rm googleanalytics-stable.tar.gz +
  
-$ wget http://cloud.github.com/downloads/dokufreaks/plugin-include/plugin-include.tgz +The backup directory passed to the scripts should existThis is where the actual backup is created using a name starting with {{{dokuwiki-bak}}} (such as {{{dokuwiki-bak-2011-09-12}}}).
-$ tar xzf plugin-include.tgz  +
-$ rm plugin-include.tgz +
  
-wget http://cloud.github.com/downloads/tatewake/dokuwiki-plugin-displaywikipage/displaywikipage-stable.tar.gz +A sample run is shown below:<code> 
-$ tar xzf displaywikipage-stable.tar.gz +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/
-$ rm displaywikipage-stable.tar.gz +
  
-$ wget http://www.chimeric.de/_src/plugin-creole.tgz +* Logging information to /tmp/tmp.xQuZwTyfgu
-$ tar xzf plugin-creole.tgz  +  * Downloading DokuWiki ... done. 
-$ rm plugin-creole.tgz  + * 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 
-$ wget http://samuele.netsons.org/dokuwiki/media/indexmenu.zip +* Installing plugins 
-$ unzip indexmenu.zip +  * Installing pluginCreole ... done
-$ rm indexmenu.zip +  Installing pluginGoogle Analytics ... done
-</code> +  Installing plugin: Include ... done. 
-# Clean the workplace.<code> +  Installing plugin: Index-Menu ... done. 
-$ rm dokuwiki-2009-12-25.tgz  +  Installing plugin: Display-Wiki-Page ...done. 
-$ rm -fr dokuwiki-2009-12-25/ +  Installing ggauth backend ...done.
-</code> +
-# <del>Write a script for the above stepsI've been too lazy to do it myself :-)</del> Use the [[dokuwiki#upgrade_script|script below]]+
-=== Upgrade script === +
- +
-Our [[http://koala.cs.pub.ro/git/?p=admin-public.git;a=summary|administration Git repository]] now contains [[http://koala.cs.pub.ro/git/?p=admin-public.git;a=blob;f=dokuwiki/upgrade_dokuwiki;hb=HEAD | a Dokuwiki upgrade script]]. A sample run is shown below:<code> +
-elf:~/repo-admin.git/dokuwiki# ./upgrade_dokuwiki ~srisp/public_html/dokuwiki/ ~srisp/public_html/bak/ http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-12-25c.tgz +
- +
- Downloading Dokuwiki from http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-12-25c.tgz ... done +
- Unpacking Dokuwiki to /tmp//dokuwiki ... done +
- Backing up Dokuwiki instance to /home/srisp/public_html/bak//dokuwiki-bak-2010-01-22 ... done +
- Upgrading Dokuwiki installation in /home/srisp/public_html/dokuwiki/ ... done +
- Cleaning up temporary files ... done+
 </code> </code>
  
 Enjoy! Enjoy!
tutorials/dokuwiki.txt · Last modified: 2020/07/20 09:16 (external edit)