Best Windows IIS Wiki Solutions with Active Directory Integration and SQL Server Backend


2 views

When deploying a wiki on Windows Server with IIS/SQL Server stack, these solutions stand out for Active Directory integration:

While primarily Java-based, the Windows installer handles all dependencies. SQL Server configuration example:

<databaseConfig>
  <name>mssql</name>
  <driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
  <url>jdbc:sqlserver://localhost:1433;databaseName=confluence</url>
  <username>sa</username>
  <password>password</password>
</databaseConfig>

Active Directory authentication via Crowd or native AD Connector

.NET-based solution with direct AD integration. Sample web.config snippet:

<membership defaultProvider="ActiveDirectoryMembershipProvider">
  <providers>
    <add name="ActiveDirectoryMembershipProvider"
      type="System.Web.Security.ActiveDirectoryMembershipProvider"
      connectionStringName="ADService"
      attributeMapUsername="sAMAccountName"/>
  </providers>
</membership>

Native Windows integration with these PowerShell provisioning commands:

New-SPWeb -Url "https://wiki.contoso.com" -Template "WIKI#0" 
Set-SPWeb -Identity "https://wiki.contoso.com" -Title "Team Wiki"

For IIS-level AD integration (applicable to most wikis):

<system.webServer>
  <security>
    <authentication>
      <windowsAuthentication enabled="true">
        <providers>
          <add value="Negotiate" />
          <add value="NTLM" />
        </providers>
      </windowsAuthentication>
    </authentication>
  </security>
</system.webServer>

SQL Server performance tuning parameters for wiki databases:

ALTER DATABASE WikiDB 
SET RECOVERY SIMPLE;
GO

ALTER DATABASE WikiDB 
SET AUTO_UPDATE_STATISTICS_ASYNC ON;
GO

When setting up a corporate wiki on Windows Server infrastructure, you need a solution that integrates seamlessly with Microsoft's ecosystem. Here are the top contenders that meet your technical requirements:

// Example PowerShell snippet to check IIS prerequisites
Get-WindowsFeature -Name Web-Server, Web-WebServer, Web-Common-Http
Get-WindowsFeature -Name Web-Application-Proxy, Web-Asp-Net45

Atlassian's Confluence stands out with:

  • Native Active Directory authentication via Crowd or directly through SAML
  • SQL Server database support
  • Group-based permissions synced with AD
// Sample web.config for Confluence on IIS
<configuration>
  <system.webServer>
    <handlers>
      <add name="Confluence" path="*.action" verb="*" 
           type="System.Web.HttpForbiddenHandler"/>
    </handlers>
    <rewrite>
      <rules>
        <rule name="ConfluenceProxy" stopProcessing="true">
          <match url="^(.*)$"/>
          <conditions>
            <add input="{HTTP_HOST}" pattern="wiki.yourdomain.com"/>
          </conditions>
          <action type="Rewrite" url="http://localhost:8090/{R:1}"/>
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

For teams needing simplicity:

  • authad plugin for direct Active Directory integration
  • Flat-file storage (no database required) or SQL Server option
  • Easy IIS deployment with PHP
// Example authad plugin configuration (conf/local.php)
$conf['auth']['ad']['account_suffix'] = '@yourdomain.local';
$conf['auth']['ad']['base_dn'] = 'DC=yourdomain,DC=local';
$conf['auth']['ad']['domain_controllers'] = array('dc1.yourdomain.local');
$conf['auth']['ad']['admin_username'] = 'wikiadmin';
$conf['auth']['ad']['admin_password'] = 'securepassword';

For organizations already using SharePoint:

  • Full AD integration out-of-the-box
  • Tight SQL Server integration
  • Seamless permission management through AD groups
# PowerShell to enable SharePoint wiki feature
Enable-SPFeature -Identity "WikiPageHomePage" -Url https://your-sharepoint-site
New-SPWikiPage -Name "TeamWiki" -List "Site Pages" -Content "Initial content"

When deploying on Server 2008 R2/IIS 7.5:

  • Ensure application pools run under domain accounts for AD access
  • Configure Kerberos constrained delegation for SSO scenarios
  • Set proper NTFS permissions on wiki directories
// Web.config snippet for Windows Authentication in IIS
<system.web>
  <authentication mode="Windows"/>
  <authorization>
    <deny users="?"/>
  </authorization>
  <identity impersonate="false"/>
</system.web>
<system.webServer>
  <security>
    <authentication>
      <windowsAuthentication enabled="true">
        <providers>
          <clear/>
          <add value="Negotiate"/>
          <add value="NTLM"/>
        </providers>
      </windowsAuthentication>
    </authentication>
  </security>
</system.webServer>