+ Reply to Thread
Page 1 of 3 1 2 3 LastLast
Results 1 to 10 of 23

Thread: Deki in IIS on Windows

  1. #1
    Join Date
    Nov 2007
    Posts
    2

    Default Deki in IIS on Windows

    Can Deki be configured to run inside IIS on Windows instead of Apache?

    The Windows installation instructions list Apache as the prerequisite, but since it's a PHP application, are there any hard dependencies on Apache, or is it just that it hasn't been tested with IIS?

    http://wiki.opengarden.org/Deki_Wiki..._Guide/Windows

    Thanks.

  2. #2

    Default

    Quote Originally Posted by zim View Post
    Can Deki be configured to run inside IIS on Windows instead of Apache?

    The Windows installation instructions list Apache as the prerequisite, but since it's a PHP application, are there any hard dependencies on Apache, or is it just that it hasn't been tested with IIS?

    http://wiki.opengarden.org/Deki_Wiki..._Guide/Windows

    Thanks.
    Hey Zim - We rely on 2 apache modules
    1) mod_rewrite (for pretty URL's)
    2) mod_proxy for proxying requests for uri's like http://mywiki/@api to the dekihost process

    I don't think either one of them is an insurmountable task to replace, but until we can implement a viable alternative, you'll need apache.
    PeteE - MindTouch lackey
    Join #mindtouch on freenode for questions about MindTouch

  3. #3
    Join Date
    Nov 2007
    Posts
    74

    Default

    Hey Zim,

    If it's a server space issue, you can run both Apache and IIS on the same server.

  4. #4
    Join Date
    Jul 2006
    Location
    San Diego, CA
    Posts
    5,450

    Default

    #2 can be side-stepped by running dekihost inside IIS. We don't have an install guide for it, but technically, you should be able to run the Dream hosting environment that Deki Wiki uses as IIS HttpHandler (note, you'll need to run from trunk as a bug was recently fixed that prevented from running before).

    #1 is a bit trickier and I don't know any tools in IIS to accomplish it. Some research and information would greatly help us in this regard. The problem is that URIs like:
    http://your-server.com/title/sub_title
    Get automatically transformed to:
    http://your-server.com/index.php?tit...le%2fsub_title
    Steve G. Bjorg - Chief Architect
    Did you check the MindTouch FAQ?
    Found a bug? Report it.
    Follow me on Twitter
    Find us on IRC: irc.freenode.net #mindtouch

  5. #5
    Join Date
    Mar 2007
    Location
    Cardiff, Wales, United Kingdom
    Posts
    49

    Default

    With step 1, the following might help...

    Free URL rewriting for IIS
    http://www.codeplex.com/IIRF

    Commercial URL rewriting
    http://www.isapirewrite.com/

    Also, if changes were made to the PHP frontend it could be possible to use URL's like the following (without any IIS changes)...

    http://wiki.local/index.php/title/sub_title
    Last edited by daibach; 12-04-2007 at 07:50 AM.

  6. #6
    Join Date
    Mar 2007
    Location
    Cardiff, Wales, United Kingdom
    Posts
    49

    Cool

    I'm pleased to announce that I've got Dekiwiki running on IIS. Although it does involved a buying (or trialing for 30 days) the FULL version of Helicon's ISAPI Rewrite 2 (3 probably works as well) for the rewriting, the free "lite" version isn't suitable as it doesn't support proxying.

    I setup PHP on IIS6 using FastCGI and then installed Helicon's ISAPI Rewrite 2. Then after a bit of working out I ended up with the following rules in the httpd.ini file that contains the URL rewriting rules.

    Code:
    RewriteRule (/)? /index.php?title= [L]
    # in the following rule, $1 contains the whole url
    RewriteProxy /@api/(.*) http://localhost:8081/$1
    
    RewriteRule /(redirect|texvc|index|Version|dummy|phpinfo)\.php /$1.php [L]
    RewriteRule /(robots\.txt|favicon\.ico) /$1 [L]
    RewriteRule /(editor|skins|config)/(.*) /$1/$2 [L]
    RewriteRule /error/(40(1|3|4)|500)\.html /error/$1.html [L]
    RewriteRule /index\.php(.*) /index.php$1 [L]
    RewriteRule /(.*) /index.php?title=$1 [L]
    Currently the test server runs Apache/Deki on port 80 and IIS/Deki on port 81, both working perfectly.

    According to the mighty Steve...

    Quote Originally Posted by SteveB View Post
    #2 can be side-stepped by running dekihost inside IIS. We don't have an install guide for it, but technically, you should be able to run the Dream hosting environment that Deki Wiki uses as IIS HttpHandler (note, you'll need to run from trunk as a bug was recently fixed that prevented from running before).
    So when some install notes are put together, we could do this with the free and open source (under some MS license) Ionics Isapi Rewrite Filter.

  7. #7

    Default

    Quote Originally Posted by daibach View Post
    I'm pleased to announce that I've got Dekiwiki running on IIS. Although it does involved a buying (or trialing for 30 days) the FULL version of Helicon's ISAPI Rewrite 2 (3 probably works as well) for the rewriting, the free "lite" version isn't suitable as it doesn't support proxying.

    I setup PHP on IIS6 using FastCGI and then installed Helicon's ISAPI Rewrite 2. Then after a bit of working out I ended up with the following rules in the httpd.ini file that contains the URL rewriting rules.

    Code:
    RewriteRule (/)? /index.php?title= [L]
    # in the following rule, $1 contains the whole url
    RewriteProxy /@api/(.*) http://localhost:8081/$1
    
    RewriteRule /(redirect|texvc|index|Version|dummy|phpinfo)\.php /$1.php [L]
    RewriteRule /(robots\.txt|favicon\.ico) /$1 [L]
    RewriteRule /(editor|skins|config)/(.*) /$1/$2 [L]
    RewriteRule /error/(40(1|3|4)|500)\.html /error/$1.html [L]
    RewriteRule /index\.php(.*) /index.php$1 [L]
    RewriteRule /(.*) /index.php?title=$1 [L]
    Currently the test server runs Apache/Deki on port 80 and IIS/Deki on port 81, both working perfectly.

    According to the mighty Steve...



    So when some install notes are put together, we could do this with the free and open source (under some MS license) Ionics Isapi Rewrite Filter.
    daibach - Wow, fantastic work man! To get around the proxy limitation we just need to get dekihost/dream running within IIS using the HttpHandler. Then we just create a vdir named @api and setup a wildcard application map so all requests for /@api get handled by the dream runtime environment.

    Then the final problem we need to solve is attachment indexing. Brigette has written a little command line app in C++ that uses Microsoft's IFilters and should work quite nicely.

    It looks like running DekiWiki under IIS might be possible sooner than we thought thanks to your hard work!
    PeteE - MindTouch lackey
    Join #mindtouch on freenode for questions about MindTouch

  8. #8
    Join Date
    Mar 2007
    Location
    Cardiff, Wales, United Kingdom
    Posts
    49

    Default

    Quote Originally Posted by PeteE View Post
    daibach - Wow, fantastic work man! To get around the proxy limitation we just need to get dekihost/dream running within IIS using the HttpHandler. Then we just create a vdir named @api and setup a wildcard application map so all requests for /@api get handled by the dream runtime environment.
    No problem, just giving back to Dekiwiki in any way I can , especially after SteveB tried his best to solve my Mono/Windows issue.

    If you have any details on how to do what you mentioned, and what revision / version would be best to use, let me know. Would love to try it out and get everything working using the free rewriting software instead.

    Great news about the document indexing too, all of this rolled together would produce a very tasty Windows installation.

  9. #9
    Join Date
    Jul 2006
    Location
    San Diego, CA
    Posts
    5,450

    Default

    Quote Originally Posted by daibach View Post
    Especially after SteveB tried his best to solve my Mono/Windows issue.
    Euh... no, I dropped the ball on that. It's a mono issue and I got distracted by other stuff. Sorry, man.

    Great work on the IIS stuff! I can't tell you how excited we are about it!!! Go Daibach!
    Steve G. Bjorg - Chief Architect
    Did you check the MindTouch FAQ?
    Found a bug? Report it.
    Follow me on Twitter
    Find us on IRC: irc.freenode.net #mindtouch

  10. #10
    Join Date
    Mar 2007
    Location
    Cardiff, Wales, United Kingdom
    Posts
    49

    Default

    Quote Originally Posted by SteveB View Post
    Euh... no, I dropped the ball on that. It's a mono issue and I got distracted by other stuff. Sorry, man.
    Well I thought you helped. You tracked it down to a Mono issue so it's nothing Dekiwiki is doing wrong so I've got to wait for the Mono team to sort it

    Besides, if the dekihost service can run via IIS on Windows 2000 it means I can switch back to .NET and everything will be solved

    I've knocked up some basic notes and instructions on how to get things running on IIS. Obviously it needs padding out a bit more and I didn't want to repeat what was already written in the Apache/Windows instructions.
    Last edited by daibach; 12-06-2007 at 01:07 PM. Reason: Added but about wiki IIS instructions

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts