I'm sure there have been many people wanting someone to recommend them a wiki engine for whatever purpose, but I have yet to see anyone with my specific requirements.

We currently have one Linux server that hosts every service in our (small) office. One of its duties is to run an apache server that ONLY allows connections from the local network. I'm wanting to set up a Wiki to run on this intranet (which is already serving up various reports and other tools I've personally written in PHP). It would have two purposes. First, it would serve as my documentation tool, allowing me to detail every aspect of my IT work here. Secondly, it would serve as a host for the company manual.

That sounds simple enough. Pretty much any Wiki would do that, but here is what complicates things:

It must be integrated with the Linux system user and group accounts already in place. I do not want my users to have yet another set of credentials for our system. Users should be able to log in with their system accounts, and I need to be able to assign view/edit privileges based on the groups that user is it (for example, only members of the "admin" group would be able to view/edit IT documentation, only "managers" would be able to edit the manual, "users" can view the manual, etc). In addition, I would really prefer one with a WYSIWYG editor (or the ability to add one) for less technical users who are uncomfortable with even basic markup.

I've researched a number of Wiki engines and have not found any that seem to be able to do this easily. I'm sure some of the "big" ones like MediaWiki can probably-maybe do this with extensive tweaking, but I'm looking for something that can do this in a more straightforward and maintainable way without having to spend hours on configuration

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
If this question can be reworded to fit the rules in the help center, please edit the question.

How does system accounts normally auth? Using LDAP? Against a Kerberos Real (or an AD)? Towards locally stored passwd and shadow files?
–
andolDec 10 '09 at 19:46

4 Answers
4

find a wiki tool that supports PAM authentication directly. A quick scan of the web didn't reveal any that currently do, although it is mentioned as a future feature for pmwiki for example.

convert your authentication on the linux server to ldap, and then also point your wiki at that same ldap server. A number of wiki engines support ldap authentication. I don't see any technical reason you couldn't host that ldap server on the same machine.

Number 2 feels like the best answer, of course you do have the setup overhead of converting your server to ldap authentication.

MediaWiki isn't too hard to integrate with Apache if you're already going over HTTPS with authentication. I used the techniques on the following page to get it to pickup credentials we already have running through mod_ssl. I think it was here that I found code to auto-build new Wiki accounts if necessary too.

MediaWiki doesn't really have a good ACL system in place. I would avoid using it in this case b/c DWilliams indicates that he wants to assign view/edit privileges per user/group.
–
3dinfluenceDec 10 '09 at 19:53

Have a look at moinmoin I've used it at a few places with similar requirements. It can be integrated with PAM but it's not built in. LDAP is really a better method of centralizing users and groups. But it does offer a decent but not perfect WYSIWYG editor. For advance tables and such I find that the WYSIWYG editor can mess things up and you're better off dropping to the raw markup editor. It also has a good template and ACL system in place so you can restrict access to users and groups easily.