- Prerequisite Download
- Create Virtual Directory
- Move Download to Virtual Directory
- Configure Attachment Directory Security
- Configure User Database for Initial Use
- Other web Configuration Steps
- Configure User Database with Roles
- Rebuild Search Index
- Update Web.Config
- Add Video Directory
- Update Web.Config
- jsMath support for Formula creation
- Malicious Activity Controls
- Export Wiki Directory support
- Creative Commons License Support
- Google Plus Badge
- Admin Page
- Advanced Attachment Capabilities
- Update Web.Config
Create Virtual Directory
- Create a physical path to hold the Virtual Directory you will create in the next step
- I use: C:\VirtualDir\LynxWiki
- In IIS Manager create a Virtual Directory below the Default or Main Web site called "LynxWiki" and assigned it to the physical path previously created.
Create LynxWiki AppPool
- Create the application pool to be used by LynxWiki
- Enable 32-Bit Applications should be set to True
- The application uses highly complex regular expressions that when run in 32-bit process require milliseconds, but when run in 64-bit processes take between 30 and 80 seconds to complete
- The Identity should remain at ApplicationPoolIdentity
- Idle time-out (minutes) should be set to 1220
- The ParserEngine is a singleton and takes 2-3 seconds to initialize. Using this setting minimizes how often it must be created.
- Enable 32-Bit Applications should be set to True
Move Download to Virtual Directory
- Unzip the contents of the download file into the physical path created for the Virtual Directory.
- Inspect the contents of the Virtual Directory in IIS Manager. It should appear as below
Configure Attachment Directory Security
- In a Windows File Explorer open the Security Permissions Property for the Attachments Folder
- Select Edit and then Add
- In the Select Users or Groups dialog enter IIS AppPool\LynxWiki
- Note that this is a special user not locatable in the Advanced User dialog
- After clicking OK in the Select Users or Groups dialog ensure that the permissions are checked for the LynxWiki user as shown in the Permissions dialog below
- It is not necessary to change any settings in for the upload directory, but the security dialog for that directory shows inherited special permissions for the LynxWiki user
- Those special permissions above result in the Advanced security settings show for the user in the upload directory below.
- It is necessary to change permissions for the docs, images and misc directory
- Open the Advances Security Settings dialog and click Change Permissions.
- The dialog changes and includes 2 checkboxes and 3 buttons
- ensure the checkboxes are unchecked and press Edit...
- In the Windows Security dialog press Add to convert inherited permissions to explicit permissions
- The Advanced Security Settings dialog will now show as being not inherited
- There may be multiple entries for the LynxWiki user based on different permissions or scope
- Edit each entry for the user LynxWiki so that they are the same as the dialog below
- When all entries are the same they will be combined into a single entry with a scope of This folder, subfolders and files
- Ensure the checkbox for Traverse folder / execute file is unchecked
Configure User Database for Initial Use
- The User database is not included in the release as it is auto-generated by the application on first startup.
- It is necessary to edit the DataSource of the DefaultConnection in the web.config file so that it points to the correct Sql locator for the server
- Do not change the AttachDbFilename, of the InitialCatalog values
- Update the Authentication Settings in IIS Manager so that they match the dialog below
Other web Configuration Steps
- Update the Output Caching settings to match the entries below
Configure User Database with Roles
- After the application has been run once and the User database has been successful created and the user that will be the administrator has been registered (using the link on the application at the upper right), open the database in your SQL client.
- Open the table webpages_Roles and add the roles WikiAdmin and WikiUser
- Open the table UserProfile and determine the ID of the user that will be assigned the WikiAdmin role
- Open the table webpages_UserInRoles and add the entry to assign the admin user to the admin role and user role
Rebuild Search Index
- While logged in as the admin user go to the SearchPage and select the Rebuild Index option
Version 126.96.36.199 - Add the following keys to appSettings in the web.config file:
<add key="PythonLibPath" value="C:\Program Files (x86)\IronPython 2.7\Lib"/> <add key="HostWikiPath" value="C:\LynxWiki-root\LynxWiki\" /> <add key="HostWikiPathDev" value="C:\LynxWiki-root\LynxWiki\" /> <add key="HostWikiPath" value="C:\VirtualDir\LynxWiki\" /> <add key="SiteUrl" value="http://localhost/LynxWiki/"/> <add key="SiteUrlDev" value="http://localhost/LynxWiki/"/> <add key="SiteUrlProd" value="http://www.sapientier.com:88/LynxWiki/"/> <add key="WikiRoot" value="WikiRoot\WikiDir"/> <add key ="RssFeed" value="http://localhost/LynxWikiSyndication/api/RssFeed"/> <add key ="RssFeedDev" value="http://localhost/LynxWikiSyndication/api/RssFeed"/> <add key ="RssFeedProd" value="http://www.spaientier.com:88/LynxWikiSyndication/api/RssFeed"/> <add key ="AtomFeed" value="http://localhost/LynxWikiSyndication/api/AtomFeed"/> <add key ="AtomFeedDev" value="http://localhost/LynxWikiSyndication/api/AtomFeed"/> <add key ="AtomFeedProd" value="http://www.spaientier.com:88/LynxWikiSyndication/api/AtomFeed"/>
The keys ending with Dev and Prod are just there for convenience. The keys in use are the ones without the Dev of Prod postfix. The RssFeed and AtomFeed keys are optional and only required if LynxWikiSyndication has been installed in its own web application. See LynxWikiSyndicationInstallationNotes for instructions
Add Video Directory
Version 188.8.131.52 - Add a video directory under the upload directory and configure it the same as the docs directory
Version 184.108.40.206 - Modify the httpRuntime setting to add: max RequestLength="30000"
jsMath support for Formula creation
Verson 220.127.116.11 adds jsMath to LynxWiki
- dowload the TEX fonts to the web server from http://www.math.union.edu/~dpvc/jsmath/download/jsMath-fonts.html
- install the TEX fonts
- the TEX fonts are required as the distribution does not include jsMath Image Fonts as these require 80MB (which would exceed build and release maximum capacities of 50MB)
- a server administrator may download the jsMath Image Fonts and add them to their application by:
Malicious Activity Controls
Version 18.104.22.168 added functionality for controlling malicious activity: see LynxWikiMaliciousActivityControls
Export Wiki Directory support
Version 22.214.171.124 added capability to export a wiki directory. A setting was added to web.config
<add key="EmoticonUrl" value="/LynxWiki/"/>
to manage emoticons better than was being done previously.
Creative Commons License Support
Version 126.96.36.199 added the capability to assign Create Commons licenses to a topic. See LynxWikiCreativeCommons for more details. The web.config has had the following settings added:
<!-- Options for key="CreativeCommons" are on|off --> <add key="CreativeCommons" value="on"/> <!-- DefaultLicense should be one of CC-BY|CC-BY-ND|CC-BY-SA|CC-BY-NC|CC-BY-NC-ND|CC-BY-NC-SA - other may be added by extending the xslt file--> <add key="DefaultLicense" value="CC-BY-SA"/> <add key="ValidLicense" value="CC-BY:CC-BY-SA:CC-BY-NC:CC-BY-NC-ND:CC-BY-NC-SA"/>
Google Plus Badge
Version 188.8.131.52 added the canonical meta tag and the option to display a Google Plus badge in the Admin menu
<add key="GooglePlusBadge" value="true"/>
Version 184.108.40.206 added support for managing users and roles via an Admin Page. See LynxWikiAdminPage. The role WikiAdmin is required for using this functionality. Another roles used is WikiUser. Both of these roles are created on database initialization, if they do not already exist.
The web.config has a new optional key added in this version:
<add key="BootstrapAdminUser" value="jwd"/>
Once this user is created by registering in the application the next startup of the application will assign the user specified to the WikiAdmin role.
Advanced Attachment Capabilities
Version 220.127.116.11 adds significantly more capabilities for Attachments.
- download and install Adobe PDF IFilter 9
- download and install Microsoft Filter Pack 2.0
- create the IFilter Web Service for extracting fulltext for indexing of attachments (note: this is a 64bit service)
- create the Default namespace
- following the creation of the Default namespace attachments will be placed in the new directory structure and attachments will be versioned
Version 18.104.22.168 adds a MaxAttachmentSize parameter to the configuration so that control of file upload size will respect error management
<!-- The key system.web::httpRuntime maxRequestLength should be greater than MaxAttachmentSize for error processing to work correctly --> <!-- The key system.webServer::security::requestFiltering::requestLimits maxAllowedContentLength should be greater than or equal the key system.web::httpRuntime maxRequestLength --> <add key="MaxAttachmentSize" value="50000000"/>
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.