Benutzer-Werkzeuge

Webseiten-Werkzeuge


becki:linux:dokuwiki_tips

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
becki:linux:dokuwiki_tips [2010-04-07 15:03]
becki
becki:linux:dokuwiki_tips [2016-04-04 12:33] (aktuell)
becki
Zeile 1: Zeile 1:
 ====== Dokuwiki Tips == ====== Dokuwiki Tips ==
 +===== Updating Dokuwiki ==
  
-This pages replaces ​[[becki:my:linux:​beckisownwiki]] +<note important>​Consider the [[https://​www.dokuwiki.org/​install:upgrade|recommended]] approach which overwrites the old installation instead of the manual here!</​note>​
- +
-===== Updating Dokuwiki ==+
  
-This manual presumes that you saved a copy of the //​original//​ config files with the extension ''​.org''​ //before// you made any changes!+This manual presumes that you saved a copy of the //​original//​ config files with the extension ''​.sborg''​ //before// you made any changes!
  
-  ​Download and extract newest version on the server +  ​Download and extract newest ​Dokuwiki ​version on the server. Use Stable (direct link, not customized) from http://​download.dokuwiki.org 
-  ​Locate all files with the extension ''​.dist''​ (eg ''​conf/​local.php.dist''​) in the old dokuwiki installation and copy their counterparts without the ''​.dist''​ extension (eg ''​conf/​local.php''​) to the new dokuwiki installation +  ​Locate all files with the extension ''​.dist''​ (eg ''​conf/​local.php.dist''​) in the new dokuwiki installation and copy their counterparts without the ''​.dist''​ extension (eg ''​conf/​local.php''​) to the new dokuwiki installation.\\ Note that it might be necessary to treat ''​.htaccess'' ​manually! 
-  * Locate all files with the extension ''​.org'' ​in the old dokuwiki installation and back up the corresponding original <​file>​ as <​file>​.org  in the new dokuwiki installation +  ​Copy additional Interwiki Shortcut images to ''​lib/​images/​interwiki''​ 
-  * In the new dokuwiki installation [[diffupgrade|patch]] <​file>​ with the modifications:​ ''​merge <​file>​ old/<​file>​.org old/<​file>​''​ +  ​Copy additional smiley images to ''​lib/​images/​smileys''​ 
-  ​Copy additional Interwiki Shortcut images to ''​lib/​images/​interwiki''​ +  ​- ''​chmod a-rwx install.php''​. Do not run it! 
-  ​Copy additional smiley images to ''​lib/​images/​smileys''​ +  ​Set owner and group of ''​newDokuwiki/''​ recursively to ''​root:​root''​ 
-  ​chmod a-install.php +  ​Set owner and group of ''​newDokuwiki/​conf'',​ ''​newDokuwiki/​data''​ and ''​newDokuwiki/​lib''​ recursively to the ID of your webserver eg. ''​apache:​apache''​. [[doku>​install:​permissions|Optionally finetune permissinons]] 
-  ​Set owner and group of ''​newDokuwiki/''​ recursively to ''​root:​root''​ +  ​delete unnecessary language translations ​with ''​bin/​striplangs.php''​ 
-  ​Set owner and group of ''​newDokuwiki/​conf'',​ ''​newDokuwiki/​data''​ and ''​newDokuwiki/​lib''​ recursively to the ID of your webserver eg. ''​apache:​apache''​ +  ​Download and install fresh revisions of previously installed additional plugins from the web 
-  ​delete unnecessary language translations +  ​- Make a list of all files with the extension ''​.sborg''​ (eg. ''​old/​conf/​acronyms.conf.sborg''​) in the //old// dokuwiki installation. Then go to the //new// dokuwiki installation and copy the corresponding original files to <​file>​.sborg (eg. ''​cp new/​conf/​acronyms.conf new/​conf/​acronyms.conf.sborg''​)  
-  ​Download and install fresh revisions of previously installed additional plugins from the web +  - In the //new// dokuwiki installation [[diffupgrade|patch]] <​file>​ with the modifications:​ ''​merge <​file>​ old/<​file>​.sborg old/<​file>''​. Do this for all files on the list where the old changes are still really necessary for the new wiki version. 
-  ​copy data: <code bash>+  - copy data: <code bash>
 cp -a oldDokuwiki/​data/​attic/​* newDokuwiki/​data/​attic cp -a oldDokuwiki/​data/​attic/​* newDokuwiki/​data/​attic
 cp -a oldDokuwiki/​data/​pages/​* newDokuwiki/​data/​pages cp -a oldDokuwiki/​data/​pages/​* newDokuwiki/​data/​pages
Zeile 24: Zeile 23:
 cp -a oldDokuwiki/​data/​meta/​* ​ newDokuwiki/​data/​meta cp -a oldDokuwiki/​data/​meta/​* ​ newDokuwiki/​data/​meta
 </​code>​ </​code>​
 +  - Restore the content of the namespaces ''​wiki''​ and ''​playground''​ from the newDokuwiki
 +  - Update index with ''​bin/​indexer.php''​. See [[doku>​cli#​indexerphp]]
 +
 +Note: After update to 2014-09-29d "​Hrun"​ the toolbar icons were missing in the edit page. Try:
 +  - [[doku>​faq:​toolbar]]
 +  - Admin -> Configuration Settings -> cssdatauri from 0 to 500.
  
 See also [[diffupgrade]] & http://​www.dokuwiki.org/​install:​diffupgrade See also [[diffupgrade]] & http://​www.dokuwiki.org/​install:​diffupgrade
- 
-FIXME Move content from [[becki:​my:​linux:​beckisownwiki]] to here! 
- 
-===== Updating Dokuwiki with git == 
- 
-<note warning>​This is still experimental!</​note>​ 
- 
-[[doku>​devel:​git#​maintaining_a_stable_version_with_git|Info source]] 
- 
-Download repository with: 
- 
-  git clone git://​github.com/​splitbrain/​dokuwiki.git # or behind a firewall: 
-  git clone http://​github.com/​splitbrain/​dokuwiki.git 
- 
-''​git branch''​ shows existing local branches, while ''​git branch -r''​ causes the "​remote-tracking"​ branches to be listed, and option -a shows both. See [[http://​www.kernel.org/​pub/​software/​scm/​git/​docs/​git-branch.html|git-branch]] 
- 
-With Git it is not possible to directly swich to a different path on a cloned repository like in Mercurial. Instead first you have to create a new (local) branch wich "​tracks"​ the specified remote brach (''​origin/​stable''​) and then checkout (=update) this branch to your working directory. The following command does both steps at once: 
- 
-  git checkout -b stable origin/​stable 
- 
-Now you can pull all needed updates whenever a new release is made: 
- 
-  git pull 
  
 ===== Add an Interwiki Shortcut == ===== Add an Interwiki Shortcut ==
Zeile 59: Zeile 41:
 See also http://​www.dokuwiki.org/​interwiki See also http://​www.dokuwiki.org/​interwiki
  
-===== Linebreak Plugin ​==+===== Enable Linebreaks ​==
  
-FIXME Still necessary?​ +Install ​[[doku>​plugin:​xbr]] plugin and set ''​renderer_xhtml''​ to ''​xbr''​ in Configuration Settings
- +
-Just install the [[doku>​plugin:​linebreak|linebreak plugin]]. No additional config is necessary.+
  
 ===== URL Rewriting == ===== URL Rewriting ==
 +
 +Uncomment
 +  LoadModule rewrite_module lib/​httpd/​modules/​mod_rewrite.so
 +in ''/​etc/​apache/​httpd.conf''​
  
 Make sure that .htaccess file is respected with Make sure that .htaccess file is respected with
Zeile 80: Zeile 64:
 </​code>​ </​code>​
 in ''/​etc/​apache/​httpd.conf''​ in ''/​etc/​apache/​httpd.conf''​
- 
  
 Uncomment everything beginning with ''#​Rewrite...''​ in ''/​var/​www/​htdocs/​dokuwiki/​.htaccess'',​ but **not** the line ''#​RewriteBase /​dokuwiki''​. Uncomment everything beginning with ''#​Rewrite...''​ in ''/​var/​www/​htdocs/​dokuwiki/​.htaccess'',​ but **not** the line ''#​RewriteBase /​dokuwiki''​.
Zeile 88: Zeile 71:
 See also: [[doku>​wiki:​rewrite]] See also: [[doku>​wiki:​rewrite]]
  
-===== monospaced in blue ==+===== How the Search Index works == 
 + 
 +This section is just informative for interested people. Indexing works automatically,​ no configuration has to be done. 
 + 
 +The search index is saved in ''​dokuwiki/​data/​index/''​. 
 + 
 +  * The file ''​page.idx''​ lists the filenames of all indexed files. One file per line. 
 +  * w<​len>​.idx lists all occurring words with a length of <​len>​. One word per line. Eg. ''​w14.idx''​ lists all words with a length of 14 caracters. 
 +  * i<​len>​.idx lists how often all words of <len> characters occur in which pages. Pages are addressed by their line number in ''​page.idx'',​ counting starts with 0. One word per line. The line number of the entrys in i<​len>​.idx corresponds to the line number in w<​len>​.idx,​ i.e. the entry in line 9 in i<​len>​.idx refers to the word in line 9 in w<​len>​.idx. 
 +  * ''​pageword.idx''​ lists where to find all occurring words of the wiki in the  w<​len>​.idx files for every page. One page per line. The line number corresponds to the line number in ''​page.idx''​. FIXME What is this file used for? 
 + 
 +Example: 
 + 
 +  * ''​w14.idx''​ contains the word ''​developerworks''​ in line 9 
 +  * ''​i14.idx''​ contains the line ''​2*1:​5*2:​9*1''​ in line 9. This means the page #2 has 1 occurrence of the word ''​developerworks'',​ page #5 has 2 and  page #9 hast 1. 
 +  * ''​page.idx''​ contains the word ''​pending''​ in line 5, this is the filename of page #5. Hence the page with the filename ''​pending''​ has 2 occurrences of the word ''​developerworks''​. 
 + 
 +===== Attic == 
 +==== Updating Dokuwiki with git == 
 + 
 +<note warning>​This is still experimental!</​note>​ 
 + 
 +[[doku>​devel:​git#​maintaining_a_stable_version_with_git|Info source]] 
 + 
 +Download repository with: 
 + 
 +  git clone git://​github.com/​splitbrain/​dokuwiki.git # or behind a firewall: 
 +  git clone http://​github.com/​splitbrain/​dokuwiki.git 
 + 
 +Look for the stable branch in the remote repo which you will use as base:  
 +  git branch -r 
 + 
 +And copy it into a local branch: 
 +  git checkout -b stable origin/​stable 
 + 
 +Create a private branch for your modifications:​ 
 +  git checkout -b mysettings stable 
 +  (make your changes) 
 +  git commit -a -m '​...'​ 
 +   
 +Now you can pull all needed updates whenever a new release comes out: 
 +  git checkout stable 
 +  git pull 
 +  git checkout mysettings 
 +  git merge stable 
 + 
 +See also [[git#​branches]] 
 + 
 +You could also directly work on branch ''​stable''​ instead of creating ''​mysettings''​. But this seems not to be idiomatic git usage. 
 + 
 +==== monospaced in blue ==
  
 lib/​tpl/​default/​design.css --- 2007-01-06 17:16 lib/​tpl/​default/​design.css --- 2007-01-06 17:16
Zeile 98: Zeile 131:
 </​code>​ </​code>​
  
 +==== Update Manual ==
 +
 +Infos from [[doku>​wiki:​install:​upgrade]]
 +
 +General Update strategy: ​
 +  * Install new version near old
 +  * Take over modifikations: ​
 +    * If old configfile.dist == new configfile.dist just copy configfile
 +    * If old configfile.dist != new configfile.dist get differencs between old configfile.dist and old configfile with ''​diff -u configfile.diff configfile > diffs'';​ cp new configfile.dist to configfile; patch new configfile with ''​patch configfile diffs''​
 +  * Take over data
 +
 +Update in detail: ​
 +  * Make a backup of whole dokuwiki dir eg. with admin tool from provider ​
 +  * Optional: Remove unnecessary data:
 +    * ''​~/​www/​dokuwiki/​data > rm -r attic/​*''​
 +    * ''​~/​www/​dokuwiki/​data > rm -r cache/​*''​
 +    * ''​~/​www/​dokuwiki/​data > rm -r meta/​*''​ :?: be careful with comment plugin :?:
 +    * ''​~/​www/​dokuwiki/​data > rm changes.log ; touch changes.log''​
 +  * Download from http://​www.splitbrain.org/​projects/​dokuwiki on the server with wget and unpack it
 +  * Delete all dirs but en/ es/ & de/ in inc/lang
 +  * Take over config files in dokuwiki/​conf
 +    * cp acl.auth.php from old to new
 +    * cp local.php from old to new
 +    * patch diffs form old smilies.conf.org and old smilies.conf to new smilies.conf
 +    * cp icon_ok.png & icon_no.png in lib/smilies
 +    * Enable rewriting by editing dokuwiki/​.htacces file, see below
 +  * Take over data: mv pages/* and media/*
 +  * ''​mv dokuwiki/ dokuwiki.old''​
 +  * ''​mv dokuwiki-<​version>​ dokuwiki''​
 +  * Check access permissions :!:
 +  * delete tgz file
 +  * copy plugins:
 +    * ~/www > cp -a dokuwiki.old/​lib/​plugins/​linebreak/​ dokuwiki/​lib/​plugins/​
 +  * patch ''​lib/​tpl/​default/​print.css''​ and ''​lib/​tpl/​default/​design.css''​
 +
 +==== Update Log ==
 +
 +  * 2006-04-24(?​) --- Update to 2006-03-09
 +  * 2007-01-26 --- Update to 2006-11-06
 +
 +==== Config Log ==
 +
 +Always conserve the original file before any changes! Eg. ''​cp print.css print.css.org''​
 +
 +=== Bash Syntax Highlighting ==
 +
 +Comments wasn't recognized as comments. Removed ''​inc/​geshi/​bash.php''​ of version 2006-11-06 with that of old version 2006-03-09
 +
 +=== URL Rewriting ==
 +
 +Uncomment everithing beginning with ''#​Rewrite...''​ in ''​~/​www/​dokuwiki/​.htaccess''​. But **not** the line ''#​RewriteBase /​dokuwiki''​. See [[dokuwiki>​wiki:​rewrite]]
 +
 +
 +=== Normal text left, not justified ==
 +
 +lib/​tpl/​default/​print.css line 65 --- 2006-08-18
 +
 +diff print.css.org print.css
 +<​code>​
 +65c65
 +<   ​text-align:​ justify;
 +---
 +>   ​text-align:​ left;
 +</​code>​
 +
 +=== monospaced in blue ==
 +
 +lib/​tpl/​default/​design.css --- 2007-01-06 17:16
 +
 +diff design.css.org design.css
 +<​code>​
 +465a466
 +>   ​color:​ darkblue;
 +</​code>​
 +
 +==== To Do =====
 +
 +  * Remove languanges from discussion plugin
 +  * Install [[http://​www.wikidesign.ch/​en/​plugin/​discussion/​start|Discussion Plugin]]
 +  * Read & do http://​wiki.splitbrain.org/​wiki:​security
 +  * http://​wiki.splitbrain.org/​wiki:​tips:​hide-inaccessible-items-in-indexes
 +
 +==== Old ======
 +=== Installation and Upgrade ==
 +== Installation =====
 +At date? version 2005-07-13 installed
 +
 +== Upgrade to 2005-09-22 =====
 +At 2005-09-29 20:53
 +Infos from [[doku>​wiki:​install]] - > upgrading
 +
 +At the server:
 +wget http://​www.splitbrain.org/​Programming/​PHP/​DokuWiki/​dokuwiki-2005-09-22.tgz
 +tar -xzf dokuwiki-2005-09-22.tgz
 +mv dokuwiki dokuwiki.2.bak
 +mv dokuwiki-2005-09-22 dokuwiki
 +dokuwiki/​data > touch changes.log
 +cp -r dokuwiki.2.bak/​data/​pages/​* dokuwiki/​data/​pages/​
 +cp -r dokuwiki.2.bak/​data/​media/​* dokuwiki/​data/​media/​
 +%%dokuwiki.2.bak/​conf > cp -v acl.auth.php local.php users.auth.php ~/​www.think-deep.com/​dokuwiki/​conf/​%%
 +
 +In inc/lang all dirs but en/ es/ & de/ deleted
 +
 +=== Changes at the Sourcecode ======
 +
 +== Enabling Line Breaks =====
 +FIXME This is not done yet!
 +
 +
 +== inc/​parser/​handler.php ====
 +The following code in function process($calls) of class Doku_Handler_Block
 +<code php>
 +if ( isset($calls[$key+1]) && $calls[$key+1][0] == '​eol'​ ) {
 +//...
 +}else{
 +    //if this is just a single eol make a space from it
 +    $this->​calls[] = array('​cdata',​array("​ "), $call[2]);
 +}
 +</​code>​
 +replaced with:
 +<code php>
 +if ( isset($calls[$key+1]) && $calls[$key+1][0] == '​eol'​ ) {
 +//...
 +}else{
 +    $dobreak= true; // debugging
 +    if ($dobreak && isset($calls[$key-1])
 +            && ($calls[$key-1][0] != '​eol'​)
 +            && ($calls[$key-1][0] != '​linebreak'​) ){
 +        $this->​calls[] = array('​linebreak',​array(),​ $call[2]);
 +    } else {
 +        $this->​calls[] = array('​cdata',​array("​ "), $call[2]);
 +    }
 +}
 +</​code>​
 +deduced from [[doku>​wiki:​discussion:​nonewline]]
 +
 +
 +== inc/​lang/​en/​edit.txt ====
 +All Line breaks removed from that file because those breaks would also be displayed when edition a wiki page
 +
 +
 +== lib/​tpl/​default/​design.css ====
 +In order to get line breaks also in indented areas:
 +Source: http://​wiki.splitbrain.org/​wiki:​tips:​prewithwrap
 +<code css>
 +/* code block by code tag */
 +pre.code {
 +  /* ..*/
 +  /* becki added  source: http://​wiki.splitbrain.org/​wiki:​tips:​prewithwrap */
 +  white-space:​ pre-wrap; ​      /* css-3 */
 +  white-space:​ -moz-pre-wrap; ​ /* Mozilla, since 1999 */
 +  white-space:​ -pre-wrap; ​     /* Opera 4-6 */
 +  white-space:​ -o-pre-wrap; ​   /* Opera 7 */
 +  word-wrap: break-word; ​      /* Internet Explorer 5.5+ */
 +}
 +</​code>​
 +
 +=== Changes at Configuration Files ======
 +
 +== .htaccess ====
 +Commented in for nice URL's:
 +<​code>​
 +RewriteEngine on
 +RewriteRule ^_media/​(.*) ​             lib/​exe/​fetch.php?​media=$1 ​ [QSA,L]
 +RewriteRule ^_detail/​(.*) ​            ​lib/​exe/​detail.php?​media=$1 ​ [QSA,L]
 +RewriteRule ^$                        doku.php ​ [L]
 +RewriteCond %{REQUEST_FILENAME} ​      !-f
 +RewriteCond %{REQUEST_FILENAME} ​      !-d
 +RewriteRule (.*)                      doku.php?​id=$1 ​ [QSA,L]
 +RewriteRule ^index.php$ ​              ​doku.php
 +</​code>​
 +
 +== conf/​local.php ====
 +<code php>
 +$conf['​title'​] ​      = '​Beckis Own Wiki'; ​ //what to show in the title
 +$conf['​useacl'​] ​     = 1;      //Use Access Control Lists to restrict access?
 +$conf['​openregister'​]= 1;      //Should users to be allowed to register?
 +$conf['​autopasswd'​] ​ = 0;      //​autogenerate passwords and email them to user
 +$conf['​superuser'​] ​  = '​admin';​
 +$conf['​htmlok'​] ​     = 1;
 +</​code>​
 +
 +2006-02-06 10:24 :
 +<code php>
 +$conf['​dformat'​] ​    = 'Y-m-d H:i'; //​dateformat accepted by PHPs date() function
 +$conf['​signature'​] ​  = ' --- [[@MAIL@|@USER@]] @DATE@';​ //signature see wiki:config for details
 +</​code>​
 +
 +2006-03-02 for nice URL's:
 +<code php>
 +$conf['​userewrite'​] ​ = 1;  //this makes nice URLs: 0:off 1:.htaccess 2:internal
 +</​code>​
 +
 +== conf/​interwiki.conf ====
 +Shortcut for Php manual:
 +  # becki added
 +  phpman ​   http://​de.php.net/​manual/​en/​{NAME}.php
 +
 +== lib/​images/​interwiki/​ ====
 +Icon for shortcut for Php manual:
 +favicon from php.net fetched, converted to gif with convert & uploaded
becki/linux/dokuwiki_tips.1270652639.txt.gz · Zuletzt geändert: 2010-04-07 15:03 von becki

Impressum - Datenschutzerklärung