| Applies to | MindTouch 8.05 to 8.08 | License | All versions |
|---|---|---|---|
| Operating System | Linux | Documentation Types | Setup |
| Community Documentation | |||
--------------------------------
IMPORTANT NOTICE
--------------------------------
This content is contributed by a MindTouch Deki user to this community. It has not been reviewed for technical accuracy by MindTouch. If you find an error or would like to comment on the article, please contact to contributor or use the comment field at the bottom of the document.
--------------------------------
Known issue for Deki 8.08 on SPARC Solaris
--------------------------------
(1) "Regist User" page was blank
When we click "Regist User" blank page displayed. However you can add user(s) from control panel by Admin user as alternated.
(2) Other issues
There are some issues which have lower priority over above (I think). Please referer next page to get more information for issues about Deki on Solaris.
--------------------------------
References
--------------------------------
You should read this carefully before install or upgrade to get the latest information.
Release Notes
http://wiki.developer.mindtouch.com/...n_Woods_(8.08)
Official upgrade guide
http://wiki.mindtouch.com/Official_M...oods)_(non-VM)
Multi tenant setup guide (if you configured at multi tenant Deki)
http://wiki.opengarden.org/User:Pete..._update-db.php
--------------------------------
Prerequisites
--------------------------------
* SAMP (Solaris10/Apache2/MySQL5/PHP5) and Mono-1.2.x on SPARC Solaris 10
http://wiki.developer.mindtouch.com/..._for_Deki_Wiki
* Deki 8.05 or 8.05.x installed
This guide are not for update MindTouch Deki, but for fresh installation only.
NOTE: Fresh installation guide for Solaris 10 here:
http://wiki.developer.mindtouch.com/...5_(Jay_Cooke))
--------------------------------
Shutting down Apache server and Deki-api daemon before update
--------------------------------
Before delete old code, you should stop Apache Server and Deki-API (aka dekihost) daemon process.
# /etc/init.d/dekiwiki stop
# svcadm disable svc:/network/http:apache2
# ps -ef | egrep 'httpd|apache|mono'
--------------------------------
Apply a patch to Mono
--------------------------------
This fix the following issue for Mono on Solaris.
* Function return inconsistent ulong value, which has dummy parameter of a Class and a ulong
https://bugzilla.novell.com/show_bug.cgi?id=426264
Please do "Install Mono" section on SAMP (Solaris10/Apache2/MySQL5/PHP5) guide below.
You need apply a patch to Mono source code, then re-compile and re-install Mono. Or you may be seen unacceptable permission problem.
http://wiki.developer.mindtouch.com/...i#Install_Mono
(NOTE) This may hardest work for series of upgrading procedure. Please get enough working hours.
--------------------------------
Update Apache rewrite rules
--------------------------------
(1) Enabling the new control panel
The new control panel requires an update to your Apache rewrite rules in order to activate it.
Follow the procedure described in FAQ to do this.
http://wiki.developer.mindtouch.com/...ntrol_panel%3f
Edit Apache2 configuration file after backing up it.
# cd /etc/apache2
# cp -pi deki-apache.conf deki-apache.conf.02-fine-for-8052
# vi deki-apache.conf
# diff -u deki-apache.conf.02-fine-for-8052 deki-apache.conf
--- deki-apache.conf.02-fine-for-8052 Fri Aug 1 10:07:55 2008
+++ deki-apache.conf Sun Aug 17 17:47:37 2008
@@ -14,7 +14,7 @@
RewriteCond %{REQUEST_URI} ^/@gui/[^.]+$
RewriteRule ^/@gui/(.*)$ /proxy.php?path=$1 [L,QSA,NE]
- RewriteCond %{REQUEST_URI} !^/(@api|editor|skins|config|@gui)/
+ RewriteCond %{REQUEST_URI} !^/(@api|editor|skins|config|@gui|deki-cp)/
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} !^/favicon\.ico$
RewriteCond %{REQUEST_URI} !^/robots\.txt$
(2) Add index files to look for directory
Edit file '/etc/apache2/httpd.conf' as described below, to set PHP files Apache will serve if a directory is requested.
From:
DirectoryIndex index.html index.html.var
To:
DirectoryIndex index.html index.html.var index.cgi index.php index.xhtml
# cd /etc/apache2
# cp -pi httpd.conf httpd.conf.01-fine-for-8052
# vi httpd.conf
# diff -u httpd.conf.01-fine-for-8052 httpd.conf
--- httpd.conf.01-fine-for-8052 Thu May 15 06:36:12 2008
+++ httpd.conf Sun Aug 17 18:32:03 2008
@@ -450,7 +450,8 @@
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
-DirectoryIndex index.html index.html.var
+# DirectoryIndex index.html index.html.var
+DirectoryIndex index.html index.html.var index.cgi index.php index.xhtml
#
# AccessFileName: The name of the file to look for in each directory
--------------------------------
(OPTIONAL) Register firewall proxy to Apache server
--------------------------------
If your Deki are inside firewall, this modification may be useful, so that Deki-API (a.k.a. dekihost) daemon process be able to retrieve scripts from the MindTouch web across the firewall.
(NOTE) MindTouch scripts repository is located here : http://scripts.mindtouch.com
(NOTE) Please modify "http://proxy.example.com:8080" for your internal proxy.
Edit file '/etc/apache2/httpd.conf' as described below, to define proxy service for MindTouch script repository.
-------------
Listen localhost:80
<VirtualHost localhost:80>
ProxyPass /@script http://scripts.mindtouch.com
ProxyPassReverse /@script http://scripts.mindtouch.com
ProxyRemote http://scripts.mindtouch.com http://proxy.example.com:8080
</VirtualHost>
-------------
Now you can transparently retrieve scripts from MindTouch as cited below.
# curl http://localhost/@script/freemind.xml
<extension>
<title>Freemind Viewer</title>
<description>Add Freemind Viewer to a Deki Page</description>
(snip)
</extension>
Don't forget to change the manifest from default to path to proxy, before you verify for installation.
Name: DHtml
From: http://scripts.mindtouch.com/dhtml.xml
To: http://localhost/@script/dhtml.xml
--------------------------------
Back Up Attachments
--------------------------------
Type the following commands to create the backup directory and back up your attachments:
# mkdir $HOME/deki_backup
# cd /var/www/dekiwiki/
# gtar cvzpf $HOME/deki_backup/attachments.tar.gz attachments
(NOTE) If you have multi-tenant configuration of Deki, you should back-up *EACH* attachments of Deki-instance as below:
# cd <storageDir>
# gtar cvzpf $HOME/deki_backup/attachments_<storageName>.tar.gz attachments_<storageName>
(OPTIONAL) To back-up entire files for your Deki, type:
# cd /var/www/
# gtar cvzpf $HOME/deki_backup/dekiwiki-web-files.tar.gz dekiwiki
# cd /
# gtar cvzpf $HOME/deki_backup/dekiwiki-etc-files.tar.gz etc/dekiwiki
--------------------------------
Back Up Settings Files
--------------------------------
Enter the following commands to back up the files that MindTouch Deki uses to determine settings:
# cp -pi /var/www/dekiwiki/LocalSettings.php $HOME/deki_backup
# cp -pi /etc/dekiwiki/mindtouch.deki.startup.xml $HOME/deki_backup
# cp -pi /etc/dekiwiki/mindtouch.host.conf $HOME/deki_backup
--------------------------------
Backup your MySQL Database
--------------------------------
Export contents of your MindTouch Deki's database schema to a export file (*.sql) by the "MySQL superuser".
# mysqldump -u<user> -p<password> <database_name> > $HOME/deki_backup/wikidb.sql
For example:
mysqldump -uroot -proot wikidb > $HOME/deki_backup/wikidb.sql
(NOTE) If you have multi-tenant configuration of Deki, you should back-up *EACH* users of MySQL as below:
mysqldump -u<dbAdminUser> -p<dbAdminPassword> <dbWikiUser> > $HOME/deki_backup/wikidb_<dbWikiUser>.sql
(OPTIONAL) To back-up entire datafiles of MySQL, type:
# /etc/init.d/mysql.server stop
# gtar cvfz $HOME/deki_backup/mysql_data.tar.gz /opt/mysql/data
# /etc/init.d/mysql.server start
--------------------------------
Download The New Package
--------------------------------
Download the MindTouch Deki build from one of the following sources:
* RECOMMENDED: http://sourceforge.net/projects/dekiwiki (tarballs)
* http://wiki.opengarden.org/Source_Code (includes SVN enlistment info)
# cd $HOME
# wget http://nchc.dl.sourceforge.net/sourc..._source.tar.gz
--------------------------------
Install The New Package
--------------------------------
Exctract the archive to your home directory. Then copy web files to your apache share directory.
Type the following lines to expand and move the files to their correct location:
(OPTIONAL) Backup all web objects to archive, but recommended.
# gtar xvfz Deki_Wiki_8.08.1a_Kilen_Woods_source.tar.gz
# cd Deki_Wiki_8.08.1a_Kilen_Woods_source/
# rm -rf /var/www/dekiwiki
# mkdir /var/www/dekiwiki
# cp -pir web/* /var/www/dekiwiki
# chown -R webservd:webservd /var/www/dekiwiki
(OPTIONAL)
If you use Internet Explorer 6.0 browser, It's recommend to do next ops to avoid link error.
cd /var/www/dekiwiki/skins/
cp -pi common/icons/icon-lock.gif ace/neutral/icon_lock.gif
cp -pi common/icons/icon-mail.gif ace/neutral/icon_mail.gif
cp -pi common/icons/icon-file.gif ace/neutral/icon_file.gif
cp -pi common/icons/icon-discuss.gif ace/neutral/icon_discuss.gif
cp -pi common/icons/anim-save.gif ace/neutral/anim-save.gif
cp -pi common/icons/icon-lock.gif ace/blue/icon_lock.gif
cp -pi common/icons/icon-mail.gif ace/blue/icon_mail.gif
cp -pi common/icons/icon-file.gif ace/blue/icon_file.gif
cp -pi common/icons/icon-discuss.gif ace/blue/icon_discuss.gif
cp -pi common/icons/anim-save.gif ace/blue/anim-save.gif
--------------------------------
Restore Files
--------------------------------
Type the following commands to restore the attachments and settings files:
# cd $HOME/deki_backup
# cp -pi LocalSettings.php /var/www/dekiwiki
# cd /var/www/dekiwiki
# gtar xvzpf $HOME/deki_backup/attachments.tar.gz
(NOTE) If you have multi-tenant configuration of Deki, you should restore *EACH* attachments of Deki-instance as below:
# cd <storageDir>
# gtar xvzpf $HOME/deki_backup/attachments_<storageName>.tar.gz
--------------------------------
(Optional) Multi-tenant update-db.php
--------------------------------
If you have multi-tenant configuration of Deki, confirm the contents of LocalSettings.php to Pate's guide ( http://wiki.developer.mindtouch.com/..._update-db.php )
# vi /var/www/dekiwiki/LocalSettings.php
o Remove variable listed below.
| This avoid following error when connect to your site.
|
| 2008-05-31 16:45:00,626 [1] ERROR MindTouch.Data.DataCommand - Execute(Text: ' /* BanningDA::GetBansForRequest */
| select b.*, bi.banip_ipaddress, null as banuser_user_id
| from bans b
| left join banips bi on b.ban_id = bi.banip_ban_id
| where bi.banip_ipaddress in ('127.0.0.1', 'xxx.xxx.xxx.xxx')
| union
| select b.*, null as banip_ipaddress, bu.banuser_user_id
| from bans b
| left join banusers bu on b.ban_id = bu.banuser_ban_id
| where bu.banuser_user_id = ?USERID', Type: Text)
| MySql.Data.MySqlClient.MySqlException: Table 'wikidb.bans' doesn't exist
| at MySql.Data.MySqlClient.MySqlStream.OpenPacket () [0x00000]
| at MySql.Data.MySqlClient.NativeDriver.ReadResult (System.UInt64& affectedRows, System.Int64& lastInsertId) [0x00000]
| at MySql.Data.MySqlClient.MySqlDataReader.GetResultSet () [0x00000]
| at MySql.Data.MySqlClient.MySqlDataReader.NextResult () [0x00000]
| 2008-05-31 16:45:00,664 [1] ERROR MindTouch.Dream.DreamFeatureChain - handler for GET:local://c59d84bd8740440e87ebdf0cc11b...dream.in.host=<hostname>&dream.in.scheme=https&dream.in.origin=xxx.xxx.xxx.xxx&apikey=jQj4UUVK6Sr3iB74nj4XGPJ08aE7yRyW failed (set-deki-context)()
| MySql.Data.MySqlClient.MySqlException: Table 'wikidb.bans' doesn't exist
| at MySql.Data.MySqlClient.MySqlStream.OpenPacket () [0x00000]
| at MySql.Data.MySqlClient.NativeDriver.ReadResult (System.UInt64& affectedRows, System.Int64& lastInsertId) [0x00000]
| at MySql.Data.MySqlClient.MySqlDataReader.GetResultSet () [0x00000]
| at MySql.Data.MySqlClient.MySqlDataReader.NextResult () [0x00000]
$wgDBserver
$wgDBname
$wgDBadminuser
$wgDBadminpassword
$wgEmergencyContact
$wgPasswordSender
o Add 'db-user' and 'db-password' parameters into each wiki's entry like below.
| This avoid following error when run the update-db.php
|
| Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server. <br />
| Access denied for user 'wikiuser'@'localhost' (using password: YES)
$wgWikis = array(
'foo.example.com' => array(
'db-server' => 'localhost',
'db-port' => '3306',
'db-catalog' => 'wikidb',
'db-user' => 'root',
'db-password' => 'root'
),
'bar.example.com' => array(
'db-server' => 'localhost',
'db-port' => '3306',
'db-catalog' => 'wikiwhql',
'db-user' => 'root',
'db-password' => 'root'
),
'baz.example.com' => array(
'db-server' => 'localhost',
'db-port' => '3306',
'db-catalog' => 'wikibmlinks',
'db-user' => 'root',
'db-password' => 'root'
),
);
--------------------------------
Run DB Update Script
--------------------------------
# cd /var/www/dekiwiki/maintenance
# php update-db.php
Updating wikidb on localhost
sprocs update complete
Applying misc database updates...done
cleanup up special pages
anonymous user updated for all tables
added 'languages' config key
Admin username to config table for system administration
Done.
(NOTE) If you run update-db.php for multi-tenant Deki, you will see following message:
# php update-db.php
Updating wikidb on localhost:3306
permission system DB upgrade has already been performed.
sprocs update complete
Applying misc database updates...done
cleanup up special pages
anonymous user updated for all tables
added 'languages' config key
Updating <dbWikiUser> on localhost:3306
permission system DB upgrade has already been performed.
sprocs update complete
Applying misc database updates...done
cleanup up special pages
anonymous user updated for all tables
added 'languages' config key
Done.
--------------------------------
Clean Up The Skins Cache Folder
--------------------------------
Please make sure your skins/common/cache folder can be written by the apache user
Enter the following lines to clear the skins cache:
# cd /var/www/dekiwiki/skins/common/cache/
# rm -rf cache-*
# ls -laR .
--------------------------------
Start Dekihost
--------------------------------
# /etc/init.d/dekiwiki start
# ps -ef |grep "mono"
webservd 22445 22441 4 14:48:53 pts/3 0:05 /opt/mono/bin/mono /var/www/dekiwiki/bin/mindtouch.host.exe apikey T0d2rfOe5OG7
webservd 22441 1 0 14:48:52 pts/3 0:00 -sh -c /opt/mono/bin/mono /var/www/dekiwiki/bin/mindtouch.host.exe apikey T0d2r
# tail -f /var/log/dekiwiki/deki-api.log
-------------------- shutting down
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
-------------------- initializing
-------------------- initialized 2.198169 secs
-------------------- ready 2.0851 secs
^C (Press [Ctrl]+[C] simultaneously)
--------------------------------
Start Apache server
--------------------------------
# svcadm enable svc:/network/http:apache2
# ps -ef | grep httpd
--------------------------------
Verification MindTouch Deki
--------------------------------
Launch a web browser, and clear the browser-cache.
Connect to your wiki.
http://<hostname>/index.php
Click on Tools, then select on About to verify that you are using version 8.08 .
--------------------------------
Rebuild search index
--------------------------------
In the wiki, click on Tools, then Control Panel, and then Site Settings. Click Rebuild search index to re-index the wiki.
--------------------------------
Preserve backup file to safe place
--------------------------------
mv -i $HOME/deki_backup/ $HOME/deki_backup_8.05.x_jaycooke/
chmod 400 $HOME/deki_backup_8.05.x_jaycooke/*
chown root:root $HOME/deki_backup_8.05.x_jaycooke/*
--------------------------------
Troubleshooting : Update script location for extenstions
--------------------------------
If your Deki are inside firewall, you will see many of errors in the /var/log/dekiwiki/deki-api.log log-file like below, when you connect to your Deki.
2008-09-08 13:10:14,160 [7] ERROR MindTouch.Dream.Http.HttpPlugFactory - HandleInvoke@EndGetResponse(GET,http://localhost/@script/accuweather.xml)
System.Net.WebException: Error: ConnectFailure
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000]
at MindTouch.Dream.Http.HttpPlugFactory+<HandleInvoke>d__d.MoveNext () [0x00000]
2008-09-08 13:10:14,197 [7] ERROR MindTouch.Dream.DreamFeatureChain - handler for PUT:local://3d3b0971097341ff9b4d06225514...ault/2/@config failed (MindTouch.Deki.DekiScriptHostService!PutConfig)()
System.ArgumentException: invalid extension manifest
at MindTouch.Deki.DekiScriptHostService+<LoadScript>d__16.MoveNext () [0x00000]
at MindTouch.Dream.Coroutine.Iterate_Helper (IEnumerator`1 coroutine, MindTouch.Dream.TaskBehavior behavior) [0x00000]
at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_IEnumerator`1_TaskBehavior (System.Collections.Generic.IEnumerator`1,MindTouch.Dream.TaskBehavior)
at System.VoidClosure`2[System.Collections.Generic.IEnumerator`1[MindTouch.Dream.IYield],MindTouch.Dream.TaskBehavior].Closure () [0x00000]
at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void ()
at MindTouch.Dream.Task.Execute (System.VoidHandler handler, MindTouch.Dream.TaskBehavior behavior) [0x00000]
To fix this, do the following.
(1) Login to Deki as "Admin"
(2) Goto Tools > Control Panel > System Settings > Extensions
(3) Find extensions that "Status" shown RED "Stopped", then change the manifest from default to path to proxy, as below:
Name: DHtml
From: http://scripts.mindtouch.com/dhtml.xml
To: http://localhost/@script/dhtml.xml
All the extensions I do this work are added as appendix.
(4) Restart deki-api process
# /etc/init.d/dekiwiki start
--------------------------------
APPENDIX: script location list for Deki inside firewall
--------------------------------
AccuWeather
http://scripts.mindtouch.com/accuweather.xml
http://localhost/@script/accuweather.xml
DHtml
http://scripts.mindtouch.com/dhtml.xml
http://localhost/@script/dhtml.xml
Digg
http://scripts.mindtouch.com/digg.xml
http://localhost/@script/digg.xml
Flickr
http://scripts.mindtouch.com/flickr.xml
http://localhost/@script/flickr.xml
FlowPlayer
http://scripts.mindtouch.com/flowplayer.xml
http://localhost/@script/flowplayer.xml
Gravatar
http://scripts.mindtouch.com/gravatar.xml
http://localhost/@script/gravatar.xml
JS Kit
http://scripts.mindtouch.com/jskit.xml
http://localhost/@script/jskit.xml
LinkedIn
http://scripts.mindtouch.com/linkedin.xml
http://localhost/@script/linkedin.xml
PageBus
http://scripts.mindtouch.com/pagebus.xml
http://localhost/@script/pagebus.xml
Scratch
http://scripts.mindtouch.com/scratch.xml
http://localhost/@script/scratch.xml
Skype
http://scripts.mindtouch.com/skype.xml
http://localhost/@script/skype.xml
Spoiler
http://scripts.mindtouch.com/spoiler.xml
http://localhost/@script/spoiler.xml
ThinkFree
http://scripts.mindtouch.com/thinkfree.xml
http://localhost/@script/thinkfree.xml
Twitter
http://scripts.mindtouch.com/twitter.xml
http://localhost/@script/twitter.xml
WidgetBox
http://scripts.mindtouch.com/widgetbox.xml
http://localhost/@script/widgetbox.xml
YUI Media Player
http://scripts.mindtouch.com/yuimediaplayer.xml
http://localhost/@script/yuimediaplayer.xml
| Images 0 | ||
|---|---|---|
| No images to display in the gallery. |
Copyright © 2011 MindTouch, Inc. Powered by