Toggle navigation

DokuWiki Image Guide

Version 1.0.0

Websoft9 DokuWiki is a pre-configured, ready to run image for running DokuWiki on Alibaba Cloud.

DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn’t require a database. It is loved by users for its clean and readable syntax. The ease of maintenance, backup and integration makes it an administrator’s favorite. Built in access controls and authentication connectors make DokuWiki especially useful in the enterprise context and the large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki.

 

Software Version: DokuWiki
Software directory: /data/wwwroot/default/dokuwiki

Basic software environment: LAMP
PHP Configuration File: /usr/local/php/etc/php.ini
Virtual host Configuration File directory: /usr/local/apache/conf/vhost.sh
Virtual host Configuration Command: /root/oneinstack/vhost

After the installation of Image,please verify it

  • Login on Alibaba Cloud console,get you Internet IP Address
  • Open you Chrome or Firefox on your local PC,visit the http://Internet IP Address/
  • If verify successfully,you can enter the boot page of Websoft9 below
  • If no response from browser,please check the Security Group settings to ensure that port 80 is been allowed

Step1. Add a virtual host

Use SSH Command to Add a virtual host:

[root@iZbp1i4rjdsy216yq7lgucZ ~]# cd /root/oneinstack

[root@iZbp1i4rjdsy216yq7lgucZ oneinstack]# ./vhost.sh

Step2. Open your domain name via browser

Open your domain name via browser:

By installing new templates you can change the look and feel of your site.DokuWiki’s layout can be customized through templates (aka. skins or themes).

How to install templates?

  1. Download template from Dokuwiki Template site
  2. Just extract the downloaded template archive (usually a .zip or .tgz file) in the /lib/tpl folder).
  3. Then select the template in the Config Manager by adjusting the template option.

Plugins provide a system of extending DokuWiki’s features without the need to hack the original code (and so again on each update). Below is a list of ready-to-use plugins created by DokuWiki users.

A plugin is installed by putting it into its own folder under lib/plugins/. From version Ponder Stibbons on this can be done automatically using the extension manager. (Up to version Binky this was done with the pluginmanager.) Be sure to read about Plugin Security. See the detailed plugin installation instructions.

If you would like to help translating the plugins in another language, please see this page Localization of plugins.

Plugins are divided into seven categories

  • Syntax plugins extend DokuWiki’s basic syntax.
  • Action plugins replace or extend DokuWiki’s core functionality
  • Admin plugins provide extra administration tools
  • Helper plugins provide functionality shared by other plugins
  • Render plugins add new export modes or replaces the standard XHTML renderer
  • Remote plugins add methods to the RemoteAPI accessible via web services
  • Auth plugins add authentication modules

Install Plugin

It’s very easy for installing the plugins of Dokuwiki

Method one:Using FTP installation

  1. download the tarball/zip-file
  2. upload it into the  <dokuwiki>/lib/plugins/
  3. unpack it
  4. login as admin and change the plugin in the configuration manager

Method Two:Using Git installation,e.g.we will install the backup plugin

% cd <dokuwiki>/lib/plugins/
% git clone git://github.com/tatewake/dokuwiki-plugin-backup.git backup

 

Upgrading Plugin

To upgrade, remove the original lib/plugins/backup folder, and install the new version as instructed above.

DokuWiki is very simple to upgrade. Its file layout is organized in a way that avoids overwriting any user content, which means an upgrade generally is just unpacking a new version on top of an old one. You should first try the simple instructions given here, if you encounter problems or the instructions are not detailed enough for you, read the details in the section below. Mac users should use Terminal; copying files via Finder will delete all data.

Step 1: Make a backup of your DokuWiki, this is not necessarily needed but recommended

tar zcpfv dokuwiki-backup.tar.gz /data/wwwroot/default/dokuwiki

Step 2: Read the changelog to see if there are any special things to consider

Step 3: Download the newest release from the download site.

cd /data/wwwroot/default/dokuwiki
wget https://github.com/splitbrain/dokuwiki.git

Step 4: Unpack the distribution tarball and upload/copy the files over your previous installation. Make sure to overwrite all files when prompted.

tar zxvf dokuwiki-xxxx-xx-xx.tgz
'cp' -af dokuwiki-xxxx-xx-xx/* /data/wwwroot/default/dokuwiki/

Step 5: Delete all unused files

Step 6: Upgrade your template and plugins if necessary

Step 7: Wait for a day for update notifications to go away, or speed the process by following the steps in Update Check

Note: Yes, we explicitly recommend overwriting your old installation. If you adhered to the advice of defining config options in *.local files only (the Configuration Manager does this automatically) your previous config settings will not be overwritten. The same is true for all your pages and media files. Using the overwrite approach will save you a lot of trouble with keeping page revisions correctly working as these are depending on file modification time-stamps.

We suggest you to using plugin BackupTool for DokuWiki for Backup.

It is a plugin for DokuWiki which enables you to backup the most important parts of your site; this includes all of your pages, all old revisions, meta data, subscriptions, media files (your downloads), as well as your plugins and templates.This is in case, for some odd reason, your host accidentally loses all your files; it’s happened to me personally twice, on two different hosts since I began using DokuWiki– and backing up manually can be quite a nightmare.

To access the plugin, make sure you’re on the admin account, and click the admin button on your wiki site.

An entry named “Backup Tool” should be listed in the the available administrative tasks. Click it, and you should see something like the following image below:

Simply check the items you wish to backup, and uncheck the ones you don’t. For instance, you may not care about old revisions of documents, so you don’t have to include them if you don’t want to.

Click the Create Backup button, and the process of backing up starts. For large sites, it may take some time; it may even time out– in which case you may wish to backup each section individually– though this is unlikely. It will usually take at least a little time for the page to respond, so please be patient.

The backup file is generated and put in the root of your media directory. So you’re then able to download it from there, and you may wish to delete it afterwards.

DokuWiki stores its data in plain text files. To be able to do this, DokuWiki needs sufficient permissions to write to these files. At the same time, leaving the permissions too loose can introduce security risks.

DokuWiki is executed by PHP, so the PHP process needs to be able to write to these files. The PHP process usually runs with the permissions of the webserver, so the webserver needs to be able to write to these files.

The following permissions must be modified for the respective DokuWiki functions to work:

  • data/ and data/tmp/ directory: All files in and below these directories must be writable by the web process for DokuWiki to work.
  • lib/plugins/ directory: This directory must be writable by the web process for the Extension Manager to work
  • lib/ directory: This directory must be readable by the public for style sheets to display. 755 works fine.
  • lib/tpl directory must be writable for the webprocess to install templates

The following files are copied by the installer.php from the respective *.dist files and given the correct permissions for the web process automatically:

  • conf/ directory, following files must be writable by the web process:
    local.php (and local.php.bak) for the installer and for subsequent web configuration to work.
    users.auth.php and acl.auth.php for the ACL web configuration and usermanager to work.
    plugins.local.php (and plugins.local.php.bak) for the Extension Manager

How to set permissions?

On the command line use chmod for changing permissions, chown for changing the owner of files and dirs and chgrp for changing the group. (Note that chown and chgrp may not be available or function as expected if you use a shared web hosting provider.)

e.g.Web site root permissions to follow:
file 644, folder 755 ,Permissions Users and Groups www
If there is a file permissions problem, execute the following three commands:

chown -R www.www /data/wwwroot/default/docuwiki
find /data/wwwroot/default/dokuwiki -type d -exec chmod 755 {} \;
find /data/wwwroot/default/dokuwiki -type f -exec chmod 644 {} \;

When accessing your server through FTP, consult the manual of your FTP tool. Most graphical FTP tools have a dialog to set permissions (often to be found in the right-click context menu).

Here are the most commonly used values for setting permissions on directories and files.

directories files result
0700 0600 read/write for owner only. Owner must be the same as the PHP process user.
0770 0660 read/write for owner and group. The PHP process user needs to be in the user group
0777 0666 read/write for everyone. Dangerous everybody with access to the server may write and delete your files. Use only as last resort on trusted machines.

Read More permissions setting from dokuwiki Website 

DokuWiki — like most wikis — is very open by default. Everyone is allowed to create, edit and delete pages. However ​sometimes it makes sense to restrict access to certain or all pages. This is when the Access Control List (ACL) comes into play. This page gives an overview of how ACLs work in DokuWiki and how they are configured.

Read more:https://www.dokuwiki.org/acl

 

In DokuWiki, pages are created as in every other wiki,Simply create a link from an existing page to a non-existing page, follow this link, and click on Create this page (on right menu in the default template). This is the most common and recommended way. It ensures all your pages are linked together correctly and you don’t create orphans anywhere.

There have another effective method for creating new page.You may enter the name of a new page directly in the search field, and click the “Search” button and can choose Create this page (on right menu in the default template) of the results page. The new page will be named after your query.

A namespace is similar to a directory or folder, while pages are similar to files. In DokuWiki you can use namespaces to categorize your pages. For names of namespaces the same restrictions hold as for pagenames.

A default DokuWiki installation comes with the built-in namespaces: wiki and namespaces.

You don’t need to create namespaces separately; simply create pages with colons in the pagename. The token after the last colon will be the name of the page itself, while all other tokens are namespaces. All namespaces used in your pagename that don’t exist already will be created by DokuWiki automatically.

A namespace can be created in the media manager after having selected a file on the local computer and adding a name: (of namespace wanted) just before the media file name and then clicking upload. This will create on the fly the namespace (folder) for the file media, visible after a refresh of the windows.

The PHP configuration file allows you to configure the modules enabled, the email settings or the size of the upload files. It is located at /usr/local/php/etc/php.ini.

After modifying the PHP configuration file, restart both Apache and PHP-FPM for the changes to take effect:

# service httpd restart

 

Modify the  /usr/local/php/etc/php.ini file to increase the allowed size for uploads:

; Maximum size of POST data that PHP will accept.
post_max_size = 16M
; Maximum allowed size for uploaded files.
upload_max_filesize = 16M

then,restart the apache

# service httpd restart

 

If you receive the message “Maximum execution time of 30 seconds exceeded”.You may also like to extend the max_execution_time for PHP and you can modify it by two methods below

Method one: edit your  /usr/local/php/etc/php.ini


; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 90
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.

Method two: edit your .htaccess:


<IfModule mod_php5.c>
php_value max_execution_time 90
</I