This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tutorials:dokuwiki [2013/07/01 08:48] 213.238.175.7 syhdptyv |
tutorials:dokuwiki [2020/07/20 09:16] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | btimztxbsn, <a href=" | + | ====== DokuWiki Installation and Configuration ====== |
+ | |||
+ | [[http:// | ||
+ | * 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); | ||
+ | * it uses a namespace-based structure, allowing for easy organization of information; | ||
+ | * its community develops a lot of useful [[http:// | ||
+ | * it is, in my opinion, very usable: the interface, the editing features, information organization, | ||
+ | |||
+ | That being said, let's move on to the requirements and installation steps. | ||
+ | ===== 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, | ||
+ | * The wiki is to be installed by a non-priviliged users using their own "user directory" | ||
+ | * 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/ | ||
+ | * The wiki will use " | ||
+ | * The wiki will enable [[http:// | ||
+ | * The wiki will define a {{{contrib}}} namespace that is world-writable. | ||
+ | * The wiki will define an {{{internal}}} namespace that is readable/ | ||
+ | * The wiki enables HTTPS-access to login/ | ||
+ | * The wiki enables LDAP authentication (optional - one must have access to a LDAP service). | ||
+ | |||
+ | ===== Install and Upgrade Scripts ===== | ||
+ | |||
+ | * Mircea Bardac and me have created a set of scripts for installation, | ||
+ | * Issue the following command to get a copy of the repository< | ||
+ | git clone http:// | ||
+ | </ | ||
+ | * Browse to the {{{dokuwiki/ | ||
+ | * Instructions below are also present in the {{{README}}} file in the {{{dokuwiki/ | ||
+ | ===== Basic Installation and Configuration ===== | ||
+ | |||
+ | |||
+ | ==== Using the Install Scripts ==== | ||
+ | |||
+ | - Find the desired DokuWiki version for download. Use this [[http:// | ||
+ | - Run the install {{{dw-install}}} script. It requires three arguments: | ||
+ | - the installation folder for {{{dokuwiki}}}; | ||
+ | - the DokuWiki tarball download URL; ({{{http:// | ||
+ | - the future DokuWiki URL. ({{{http:// | ||
+ | - * Sample run:< | ||
+ | razvan@swarm: | ||
+ | |||
+ | * Logging information to / | ||
+ | * Using download link http:// | ||
+ | * Downloading DokuWiki ... done. | ||
+ | * Preparing installation folder / | ||
+ | * Installing plugins | ||
+ | * Installing plugin: Creole ... done. | ||
+ | * Installing plugin: Google Analytics ... done. | ||
+ | * Installing plugin: Include ... done. | ||
+ | * Installing plugin: Index-Menu ... done. | ||
+ | * Installing plugin: Display-Wiki-Page ...done. | ||
+ | * Installing ggauth backend ...done. | ||
+ | |||
+ | Installation complete. | ||
+ | 1. Open in web browser: http:// | ||
+ | 2. Fill required information to complete the basic installation. | ||
+ | 3. Remove / | ||
+ | 4. Run: | ||
+ | | ||
+ | </ | ||
+ | - Open install URL (as mentioned in step 1 of the post-install message) and configure DokuWiki instance. | ||
+ | - * 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). | ||
+ | - Run the {{{dw-post-install}}} script, as mentioned in step 4 of the end message. | ||
+ | - * The `dw-post-install' | ||
+ | - *# Updating the {{{$DW_ROOT/ | ||
+ | - *# Creating the {{{$DW_ROOT/ | ||
+ | - * Sample run:< | ||
+ | razvan@swarm: | ||
+ | * Updating conf/ | ||
+ | * Updating .htaccess ... done. | ||
+ | </ | ||
+ | - **Congratulations!** You've got a basic DokuWiki installation with pretty slash based URLs, HTTPS support login and Creole markup. | ||
+ | ==== 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: | ||
+ | $conf[' | ||
+ | </ | ||
+ | At the same time we will create and index menu on the start/home page. | ||
+ | |||
+ | You'll need to go through the following steps (mentioned in the {{{README}}} file): | ||
+ | - Type {{{home: | ||
+ | {{indexmenu> | ||
+ | </ | ||
+ | - * Each time you will use the {{{Index}}} button in the bottom right corner the index menu in the {{{home: | ||
+ | - Add an index menu to the first page in the wiki (home). Just type {{{home}}} in DokuWiki' | ||
+ | ====== Wiki Name ====== | ||
+ | |||
+ | {{indexmenu> | ||
+ | </ | ||
+ | - * {{{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/ | ||
+ | = Namespace Name == | ||
+ | |||
+ | {{indexmenu> | ||
+ | </ | ||
+ | |||
+ | ===== Advanced Configuration ===== | ||
+ | |||
+ | ==== LDAP Authentication ==== | ||
+ | |||
+ | * The [[http:// | ||
+ | * The [[http:// | ||
+ | $conf[' | ||
+ | |||
+ | $conf[' | ||
+ | |||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | |||
+ | - This is optional but may be required for your server: | ||
+ | $conf[' | ||
+ | |||
+ | - Mapping can be used to specify where the internal data is coming from. | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | |||
+ | - Optional debugging | ||
+ | $conf[' | ||
+ | </ | ||
+ | * The {{{$conf[' | ||
+ | * The {{{$conf[' | ||
+ | * **IMPORTANT**: | ||
+ | * # Make a copy of the {{{local.php}}} file (be it {{{local.php.bak}}}). | ||
+ | * # Delete the file {{{rm local.php}}}; | ||
+ | * # Copy the backup file ({{{local.php.bak}}}) to {{{local.php}}}. | ||
+ | * # Provide access writes to the group, assuming that to be {{{www-data}}}, | ||
+ | |||
+ | === Disable Unnecessary Actions === | ||
+ | |||
+ | In case you choose to use LDAP authentication, | ||
+ | - use the {{{$conf[' | ||
+ | - use the DokuWiki' | ||
+ | ==== 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:// | ||
+ | |||
+ | The [[http:// | ||
+ | |||
+ | In order to configure split authentication, | ||
+ | - Update the {{{local.php}}} file with configuration lines such as these:< | ||
+ | $conf[' | ||
+ | |||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | $conf[' | ||
+ | </code> | ||
+ | - * I assumed the configuration lines for LDAP are already there. | ||
+ | - * In the above configuration, | ||
+ | - Authorization configuration is done by editing the {{{conf/ | ||
+ | - user: | ||
+ | |||
+ | razvan: | ||
+ | oana: | ||
+ | ddvlad: | ||
+ | dbaluta: | ||
+ | apitis: | ||
+ | bdrutu: | ||
+ | catalinme: | ||
+ | [...] | ||
+ | </ | ||
+ | - * The {{{MD5password}}}, | ||
+ | - You can now use the {{{Access Control List Management}}} link in the " | ||
+ | ===== 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:// | ||
+ | |||
+ | The are two scripts you may use. One 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 user. Each script creates a backup copy of the current wiki installation before upgrading. | ||
+ | |||
+ | The {{{dw-upgrade}}} script (run by {{{root}}}) is to be used when your backup needs to be web accessible. The 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 installation. In order for the backup copy to be completely accesible, its {{{.htaccess}}} filesh ould probably be updated. | ||
+ | |||
+ | The backup directory passed to the scripts should exist. This is where the actual backup is created using a name starting with {{{dokuwiki-bak}}} (such as {{{dokuwiki-bak-2011-09-12}}}). | ||
+ | |||
+ | A sample run is shown below:< | ||
+ | razvan@swarm: | ||
+ | |||
+ | * Logging information to / | ||
+ | * Downloading DokuWiki ... done. | ||
+ | * Backing up Dokuwiki instance to / | ||
+ | * Upgrading Dokuwiki installation in / | ||
+ | * Installing plugins | ||
+ | * Installing plugin: Creole ... done. | ||
+ | * Installing plugin: Google Analytics ... done. | ||
+ | * Installing plugin: Include ... done. | ||
+ | * Installing plugin: Index-Menu ... done. | ||
+ | * Installing plugin: Display-Wiki-Page ...done. | ||
+ | * Installing ggauth backend ...done. | ||
+ | </ | ||
+ | |||
+ | Enjoy! | ||
+ | |||
+ | ===== Useful Plugins ===== | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// |