# Apache2, mod_mono, mono, and mysql (error when browsed to)

## JamesCurtis

Hey Guys, i'm trying to run BugTracker.net on our gentoo linux server here at work.  I am first and foremost a computer technician, but I am interested in some of the web programs that are available.  Right now I have the following running -

Cacti (server graph management)

Snort & Base

NTop

I have made all of these work without a problem, but dealing with this asp.net stuff has become a nightmare.  My problem at the moment is that when a browser tries to load the index.aspx file it throws an error on line 1 of the web.config.  Here's the Web.Config

```
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

   <configSections>

      <section name="btnetSettings" type="System.Configuration.NameValueFileSectionHandler,System, Version=1.0.3300.0,Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

   </configSections>

   <system.web>

      <!--

      BugTracker.NET is not comaptible with Session serialization.

      

      Your "sessionState" setting has to be "InProc".      

      -->

<!-- for testing -->

<!--  

<sessionState

    mode="SQLServer"

    sqlConnectionString="server=(local);user id=sa;password=;Trusted_Connection=no"

    cookieless="false"

    timeout="20"

/>       

-->

      <sessionState mode="InProc" timeout="20" />

      <compilation debug="true">

         <assemblies>

            <add assembly="System.DirectoryServices.Protocols, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

            <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

            <add assembly="System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

         </assemblies>

      </compilation>

      <pages validateRequest="true" />

      <!-- A few people over the years have needed to override the default IIS settings...

      <httpRuntime executionTimeout="300" maxRequestLength="51200"/>

      -->

   </system.web>

   <btnetSettings>

        <!-- 

         ********* QUICK START *************

        

           If you want to get started quickly, then just change the following

           and then try to log in:

           

            ConnectionString

            AbsouteUrlPrefix

         

         After you can log in and create a bug, then you probably want to

         set up the email integration.  Set up the following:

         

            ErrorEmailTo

            ErrorEmailFrom

            NotificationEmailEnabled

            NotificationEmailFrom

            And your SMTP settings below.

        -->

      <!--

         Change this to point to your database

      -->

      <add key="ConnectionString" value="server=localhost;database=x;user id=x;password=x;Trusted_Connection=no"/>

      <!--

         Used when creating absolute href's.  For example, in notification emails.

         Don't forget trailing slash!.

      -->

      <add key="AbsoluteUrlPrefix" value="x"/>

      <!--

         You can turn the logging and emailing of errors on and off.

         Log file name is "btnet_log_yyyy_mm_dd.txt"

         

         For the LogFileFolder setting, if you specify the folder starting with a 

         drive letter or the \\ that indicates a UNC path, it's treated as a full path.  

         For example: c:\\something or \\somemachine\something

         

         Otherwise it's treated as a path relative to where you virtual directory is

         located.

         

         LogEnabled turns on and off logging as a whole.

         LogSqlEnabled turns on and off just the logging of SQL statements, but

         that's about 98% of what gets logged, so if you want to reduce the

         volume, turn that off.

         

      -->

      <add key="LogEnabled" value="1"/>

      <add key="LogSqlEnabled" value="1"/>

      <add key="LogFileFolder" value="App_Data\logs"/>

      <!-- If BugTracker.NET itself experiences an error, it can send an email notification -->

      <add key="ErrorEmailEnabled" value="1"/>

      <add key="ErrorEmailTo" value="YOUR EMAIL HERE"/>

      <add key="ErrorEmailFrom" value="FROM EMAIL HERE"/>

      <!--

         You can "subscribe" to email notifications on a per-bug basis.

         You will receive an email whenever the bug is updated.

      -->

      <add key="NotificationEmailEnabled" value="1"/>

      <add key="NotificationEmailFrom" value="FROM EMAIL HERE"/>

      <!--

         This controls the format of the subject of the email notifications.

         The available variables are:

         $THING$ - from the "SingularBugLabel" setting

         $BUGID$

         $ACTION$ - added or changed

         $SHORTDESC$

         $PROJECT$

         $CATEGORY$

         $ORGANIZATION$

         $PRIORITY$

         $STATUS$

         $TRACKINGID$ - from the "TrackingIdString" setting

      -->

      <add key="NotificationSubjectFormat" value="$THING$:$BUGID$ was $ACTION$ - $SHORTDESC$ $TRACKINGID$"/>

      <!--

         If you aren't using the local SMTP server that comes with IIS,

         set the name, user, and password for your SMTP server here.

      -->

      <!-- Sample SMTP Settings -->

      <!--

         These settings work with my SBC account

      -->

      <!--

      <add key="SmtpServer" value="smtp.att.yahoo.com"/>

      <add key="SmtpServerAuthenticateUser" value="ctrager@sbcglobal.net"/>

      <add key="SmtpServerPort" value="465"/>

      <add key="SmtpUseSSL" value="1"/>

      <add key="SmtpServerAuthenticatePassword" value="MY PASSWORD"/>

      -->

      <!--

         These settings work with my GMail account

      -->

      <!--

      <add key="SmtpServer" value="smtp.gmail.com"/>

      <add key="SmtpServerAuthenticateUser" value="ctrager@gmail.com"/>

      <add key="SmtpServerPort" value="465"/>

      <add key="SmtpUseSSL" value="1"/>

      <add key="SmtpServerAuthenticatePassword" value="MY PASSWORD"/>

      -->

      <!--

         These settings work with my GoDaddy account

      -->

      <!--      

      <add key="SmtpServer" value="relay-hosting.secureserver.net"/>

      <add key="SmtpServerAuthenticateUser" value="ctrager@ifdefined.com"/>

      <add key="SmtpServerAuthenticatePassword" value="MY PASSWORD"/>

      <add key="SmtpServerPort" value="25"/>      

      -->

      <!--

         Specify the pickup directory if you have the problem described here:

         http://support.microsoft.com/default.aspx?scid=kb;en-us;816789#8

      -->

      <!--

      <add key="SmtpServerPickupDirectory" value=""/>

      <add key="SmtpSendUsing" value="1"/>

      -->

      <!--

         Ignore this setting unless you are esperiencing the symptoms

         related to this: http://cr.yp.to/docs/smtplf.html

      -->

      <!--

      <add key="SmtpForceReplaceOfBareLineFeeds" value="1"/>

      -->

      <!--

         By default, emails are UTF8 encoded.  If that doesn't work for you,

         uncomment the following.

      -->

      <!--

      <add key="BodyEncodingUTF8" value="0"/>

      -->

      <!--

         Dates fetched by the datepicker popup are formatted

         using the following specifiers.

         Set the second to your local date format without time

            The format can be combinations of the following:

            d  - day of month (no leading zero)

            dd - day of month (two digit)

            D  - day name short

            DD - day name long

            m  - month of year (no leading zero)

            mm - month of year (two digit)

            M  - month name short

            MM - month name long

            y  - year (two digit)

            yy - year (four digit)      

      

      -->

      <add key="DatepickerDateFormat" value="yy-mm-dd"/>

      <!--

         These settings control how dates are displayed in the

         web pages.  It's not a perfect scheme, but the logic

         tries to display both the date and the time when that

         seems to be the right thing, and just the date, without

         the time, when that seems to be the right thing.

         

         See "Custom Date and Time Format Strings" for the .NET

         System.DateTime for the format specifiers you can use:

         http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

      -->

      <!-- American style -->

      <add key="DateTimeFormat" value="yyyy-MM-dd h:mm tt" />

      <add key="JustDateFormat" value="yyyy-MM-dd" />

      <!-- European style

      <add key="DateTimeFormat" value="dd.MM.yy HH:mm" />

      -->

      <!--

         This is used to convert the datetime into the format

         expected by SQL Server.

      

      Format SQL Server expects the dates to be in

      This doesn't affect what user sees on web pages.

      <add key="SQLServerDateFormat" value="yyyyMMdd HH\:mm\:ss" />

      -->

      <!--

         If category/project/status/priority are not enough bug attributes

         for you, here's one more that you can name yourself.

         

         This is just one of the ways, a simple way, of creating

         custom fields.  For more info, visit

         http://www.ifdefined.com/README.html

      -->

      <add key="ShowUserDefinedBugAttribute" value="0"/>

      <add key="UserDefinedBugAttributeName" value="YourAttribute"/>

      <!--

         This controls whether entries are inserted into the bug_history table

         when the user changes description, category, priority, assigned to. or status.

      -->

      <add key="TrackBugHistory" value="1" />

      <!--

         When per-project permission is not specified, what is the permission?

         3 = "reporter" allow adds but after bug is added, only allow posting of additional comments

         2 = allow everything

         1 = allow view only

         0 = hide

      -->

      <add key="DefaultPermissionLevel" value="2"/>

      <!--

         Set WindowsAuthentication to "1" if you want to use

         windows authentication instead of the logon page.

         1) Configure your IIS virtual directory so that anon

         access is unchecked and windows authentication is checked

         2) Configure IE to automatically send username and

         password

         3) Usernames in users table should match your

         windows usernames. Passwords in users table will be

         ignored.

         If you want BOTH modes to work, set "WindowsAuthentication"

         to "2".

         Configure your IIS virtual directory as normal (allowing

         anon access).   Follow these instrunctions for the file "loginnt.aspx":

         * From IIS Manager, right-click the file loginnt.aspx and select properties

         * Select the Security tab

         * Click Edit in the Anonymous Access and Authentication frame

         * Ensure Anonymous Access and Basic Authentication is cleared

         * Ensure Integrated Windows Authentication is selected

         * Click OK

         * Select the Custom Errors tab

         * Select HTTP Error 401;2 and click Edit Properties

         * Set the message type to File and select the file login.htm, including the full local path. (Note that this must be a file   reference and not a URL)

         The idea is that when the user access default.aspx, it redirects to loginnt.aspx.

         When access to loginnt.aspx is denied, IIS resonds with the custom error login.htm.

         Login.htm then redirects to default.aspx.

      -->

      <add key="WindowsAuthentication" value="0"/>

      <!--

         You can have BugTracker.NET check the user's password using an LDAP server instead of

         checking it in the database.  You still have to create a BugTracker.NET user. It's only

         the password that get's checked.

         

         To use LDAP, set AuthenticateUsingLdap to 1 and enter the appropriariate distinguished name.

         The $REPLACE_WITH_USERNAME$ gets replaced with the username that's typed in by the user

         when he tries to log on.

           The LDAP auth type used when checking users' passwords using LDAP.

           Choices are:

            Anonymous

            Basic

            Negotiate

            Ntlm

            Digest

            Sicily

            Dpa

            Msn

            External

            Kerberos

           For details, see:

           http://msdn.microsoft.com/en-us/library/system.directoryservices.protocols.authtype.aspx

      -->

      <add key="AuthenticateUsingLdap" value="0"/>

      <!--         

         These values worked for me when I tested with OpenLDAP

      -->

      <!--

      <add key="LdapServer" value="127.0.0.1"/>

      <add key="LdapUserDistinguishedName" value="uid=$REPLACE_WITH_USERNAME$,ou=people,dc=mycompany,dc=com"/>

      <add key="LdapAuthType" value="Basic"/>

      -->

      <!--

         There's a special user in the database, "guest". Think of it as a user account that can

         be shared by several people. The guest user can't save settings and can't save searches.

         If "AllowGuestWithoutLogin" is set to "0", and if you set the guest user to active,

         then the guest user still has to login with a password.  If set to "1", then the guest 

         user doesn't need to even enter a password.   Instead, a link will appear on the login page, 

         default.aspx, saying:

         

         Continue as "guest" without logging in

         

         You can control the per-project permissions of the guest user in the same way as other

         users EXCEPT that even if you give the guest user permissions beyond View Only and Reporter,

         the system will automatically reduce his permissions downward.

      -->

      <add key="AllowGuestWithoutLogin" value="0"/>

      <!--

         If you have windows security turned on, and if you set 

         EnableWindowsUserAutoRegistration to "1", then windows users will be

         automatically added to the BugTracker.NET database as users.

         

         The new user will be a clone of the user specified in

         WindowsUserAutoRegistrationUserTemplate

      -->

      <add key="EnableWindowsUserAutoRegistration" value="0" />

      <!--

      

         When creating a new user as a result of a auto-registration

         use an existing user's settings, permissions, etc as a template

         for the new user

      -->

      <add key="WindowsUserAutoRegistrationUserTemplate" value="guest" />

      <add key="EnableWindowsUserAutoRegistrationLdapSearch" value="0" />

      <!-- 

         Configure how you want BugTracker.NET to search LDAP for a new user's info.

         Authentication types are as follows:

            None

            Secure

            Encryption

            SecureSocketsLayer

            ReadonlyServer

            Anonymous

            FastBind

            Signing

            Sealing

            Delegation

            ServerBind

         For details, see:

         http://msdn.microsoft.com/en-us/library/system.directoryservices.authenticationtypes.aspx            

      -->

      <!--         

         These values worked for me when I tested with OpenLDAP

      -->

      <!--      

      <add key="LdapDirectoryEntryPath" value="LDAP://127.0.0.1/DC=mycompany,DC=com" />

      <add key="LdapDirectoryEntryAuthenticationType" value="Anonymous" />

      <add key="LdapDirectoryEntryUsername" value="" />

      <add key="LdapDirectoryEntryPassword" value="" />

      <add key="LdapDirectorySearcherFilter" value="(uid=$REPLACE_WITH_USERNAME$)" />

      <add key="LdapFirstName" value="gn" />

      <add key="LdapLastName" value="sn" />

      <add key="LdapEmail" value="mail" />

      <add key="LdapEmailSigniture" value="cn" />

      -->

      <!--         

         These values worked for me when I tested with Microsoft "ADAM" on another machine

      -->

      <!--

      <add key="LdapDirectoryEntryPath" value="LDAP://192.168.1.113:389/DC=mycompany,DC=com" />

      <add key="LdapDirectoryEntryAuthenticationType" value="None" />

      <add key="LdapDirectoryEntryUsername" value="cn=MyReader,ou=people,dc=mycompany,dc=com" />

      <add key="LdapDirectoryEntryPassword" value="MY PASSWORD HERE" />

      <add key="LdapDirectorySearcherFilter" value="(uid=$REPLACE_WITH_USERNAME$)" />

      <add key="LdapFirstName" value="givenName" />

      <add key="LdapLastName" value="sn" />

      <add key="LdapEmail" value="mail" />

      <add key="LdapEmailSigniture" value="cn" />

      -->

      <!--

         TextArea for Custom fields

         This setting is used to format custom defined fields.  If a field is greater than TextAreaThreshold, it will be

         displayed as a TextArea instead of a normal Input control.  The number of rows in the TextArea is

         determined by dividing the field length by TextAreaThreshold up to a maximum value indicated by MaxTextAreaRows.

      -->

      <add key="TextAreaThreshold" value="80"/>

      <add key="MaxTextAreaRows" value="3"/>

      <!--

         Some folks don't like the word "bug".   These next four settings allow you to 

         override the text of the logo and the word bugs.

      -->

      <add key="AppTitle" value="BugTracker.NET"/>

      <add key="SingularBugLabel" value="bug"/>

      <add key="PluralBugLabel" value="bugs"/>

      <!-- customize marker for creating hyperlinks in bug comments -->

      <add key="BugLinkMarker" value="bugid#"/>

      <!--

         In dropdowns featuring users, do you want to see the logon names or their full names, in

         "LastName, FirstName" format?

         If you set this to "1", for the user-related filter dropdowns to work, you will also 

         have to adjust your SQL that you use for the bug lists.   Your SQL will need to end

         up with parts of it looking something like this.   The names of the columns must

         be "reported by" and "assigned to" because the logic that creates the filter dropdowns

         looks for those names.

         ~

         ~

         rpt.us_lastname + ', ' + rpt.us_firstname [reported by], 

         asg.us_lastname + ', ' + asg.us_firstname [assigned to],

         ~

         ~

         left outer join users rpt ...

         left outer join users asg...

      

      -->

      <add key="UseFullNames" value="0"/>

      <!--

         In edit_bug.aspx, you can have your own link appear:

         <a href="your_url.aspx?bugid=...">YOUR LINK</a>

         You have to HTML encode any HTML tags embedded here.

      -->

      <!--

      <add key="CustomBugLinkLabel" value="YOUR LINK"/>

      <add key="CustomBugLinkUrl" value="your_url.aspx"/>

      -->

      <!--

         You can add to the menu, just to the left of the "about" link

         You have to HTML encode any HTML tags embedded here.

      -->

      <!--

      <add key="CustomMenuLinkLabel" value="YOUR LINK"/>

      <add key="CustomMenuLinkUrl" value="your_url.aspx"/>

      -->

      <!--

         You can add a link to a bug post (comment, attachment, email, etc)

         Your link will looks something like this:

         <a href="your_url.aspx?postid=99999">YOUR LINK</a>

         You have to HTML encode any HTML tags embedded here.

         Jochen Jonckheere has contributed a fun sample that uses

         a web service to translate the text of a bug comment.  

      -->

      <!--

      <add key="CustomPostLinkLabel" value="translate"/>

      <add key="CustomPostLinkUrl" value="translate.aspx"/>

      -->

      <!--

         Display your own HTML on the default.aspx page.   You have to HTML encode it here.

      -->

      <!--

      <add key="CustomWelcomeHtml" value="&lt;div style='color:red;font-weight:bold;'&gt;For demo, logon as &quot;user1&quot;, &quot;user2&quot;, or &quot;user3&quot;.&lt;br&gt;Password=&quot;guest&quot;&lt;div&gt;"/>

      -->

      <!--

         Customize the text that appears in the subject of emails that allows

         us to related incoming emails to the bugids they refer to.   We parse

         these words in the subject to get the bugid.

      -->

      <add key="TrackingIdString" value="DO NOT EDIT THIS:"/>

      <!--

         If you want replies to be generated automatically.

      -->

<!--

      <add key="AutoReplyText" value="Thanks for you email.

Don't call us, we'll call you."/>

-->

      <!--

         SearchSQL allows you to customize the columns, etc that are displayed on the "search"

         page, search.aspx.

         The "[br]" characters are replaced by line breaks.   They are there to make the SQL

         display nicely, but the SQL will work without them too.

         The "$WHERE$" marks the spot in the SQL where the logic will modify the where

         clause based on what the user entered in the search form.

      -->

<!--

      <add key="SearchSQL" value="[br]select isnull(pr_background_color,'#ffffff') [color], bg_id [id],

[br]bg_short_desc [desc] /* *** ADD OTHER COLUMNS YOU WANT HERE **** */

[br]from bugs

[br]left outer join users rpt on rpt.us_id = bg_reported_user

[br]left outer join users asg on asg.us_id = bg_assigned_to_user

[br]left outer join projects on pj_id = bg_project

[br]left outer join categories on ct_id = bg_category

[br]left outer join priorities on pr_id = bg_priority

[br]left outer join statuses on st_id = bg_status

[br]left outer join user_defined_attribute on udf_id = bg_user_defined_attribute

[br]$WHERE$

[br]order by bg_short_desc

"/>

-->

      <!--

         Search has a "Suggest" feature like Google Labs "Suggest"

         at http://www.google.com/webhp?complete=1&hl=en.

         

         Suggest starts working after you type in 3 characters in the "description contains"

         field.   But you can change the number of characters required here.

      -->

      <add key="SearchSuggestMinChars" value="3"/>

      <!--

         When navigating back to the bug list using the browser's "Back" button,

         do you get a warning "Warning: Page has Expired"?   If so, try changing 

         this from "POST" to "GET".

         

         But, if you get a javascript error when submitting the form around the

         line "theForm.submit()", then use "POST".

         

         GET can break if you are sending too much data back to the server - and

         ASP.NET's viewstate mechanism is kind of long.

      -->

      <add key="BugListFormSubmitMethod" value="GET"/>

      <!--

      

         This next two settings are to fix bugs some people have, but I can't 

         reproduce. 

         

         If you are experiencing problems in the edit_query.aspx page, where

         instead of the symbols for "greater than" and "less than", ">" and "<"

         you instead see the html encoded versions, "&gt;", "&lt;", then

         try changing HtmlEncodeSql to 1.

         

         Similarly, if you are experiencing problems in the edit_comment.aspx,

         where it seems to be getting mixed up about encoding and decoding, the

         try setting HtmlDecodeComment to 1.

         

         

      -->

      <add key="HtmlEncodeSql" value="1"/>

      <add key="HtmlDecodeComment" value="1"/>

      <!--

         You probably don't need the following.

      

         Allow special text in incoming emails to set a bug's project, category, etc      

         Look at the source code of insert_bug.aspx to see exactly what's going on.

         

         The variables expect to be followed by an integer, the database id of the

         corresponding row in the db.  The variables are:

         $CATEGORY$:

         $PRIORITY$:

         $ASSIGNEDTO$:

         $STATUS$:

         $PROJECT$:

      -->

      <add key="ProcessVariablesInEmails" value="0"/>

      <!--

         If you want emails handled by btnet_service.exe to automatically reset a bugs 

         status, set this to the st_id, the integer, of the status you want.   

         

         Set it to 0 to turn   this feature off.

      -->

      <add key="StatusResultingFromIncomingEmail" value="0"/>

      <!-- 

         If you set this to 1, you will see an additional "Visible to internal users only"

         checkbox in pages to edit bugs, attachments, and comments.  If you check it, then

         that attachement or comment will not be visible to users who are marked "external".

         

         They also will not be visible in email notifications for anybody, even internal users.

         

         They ARE visible in prints for internal users, and they are visible when an

         internal users checks "Include print of Bug" when sending email.

         

         If you want the entire bug to be private, create another project and don't give

         the external users permissions for that project, and then assign the bug to that other

         project. 

      -->

      <add key="EnableInternalOnlyPosts" value="0"/>

      <!--

         Turning this on make a "revisions" link visible on the add/edit bug page.

         See the "Subversion" folder for hook scripts that will integrate Subversion with

         BugTracker.NET.  When you do a Subversion checkin and include the BugTracker.NET

         bug id, the scripts will update a table in the BugTracker.NET database's

         bug_file_revisions table.

         

         For step-by-step instructions on how to use Subversion with BugTracker.NET,

         see http://ifdefined.com/README.html 

         

      -->

      <add key="EnableSubversionIntegration" value="1"/>

      <!-- 

         This setting turns on the links to "diff" and "history" in 

         the view_svn_file_revisions.aspx page.

         

         You could leave this blank but turn on the WebSvnUrl setting,

         or vice versa, or turn them both on.

   

      -->

      <add key="SubversionRepositoryUrl" value="svn://127.0.0.1/svnrepos/"/>  <!-- with the trailing slash!! -->

      

      <!-- 

         svn.exe, the Subversion client, needs to be on the web server

      -->

      <add key="SubversionPathToSvn" value="svn.exe"/>

      <!-- 

         If your Subversion repository doesn't allow anonymous reads, then put 

         the Subversion user and password here that the web server will pass to svn.exe 

      -->

      <add key="SubversionUsername" value=""/>

      <add key="SubversionPassword" value=""/>

      <!-- 

         These get appended to every SVN command.  

      -->

      <add key="SubversionAdditionalArgs" value=""/>

      <!-- 

         This adds another link, "WebSvn" to view_svn_file_revisions.aspx, a link to WebSvn. 

         Make sure to replace the & symbol with &amp; in your URL.

         The logic in view_svn_file_revisions.aspx replaces $PATH and $REV with

         the path and revision of the file.

         Note the leading ? before $PATH.

      -->

      <!--

      <add key="WebSvnUrl" value="http://127.0.0.1:8080/websvn/filedetails.php?repname=svnrepos&amp;path=/$PATH&amp;rev=$REV&amp;sc=0"/>

      -->

      <!--

         These entries control where attachment file are uploaded to and how large

         the files can be.

         

         If StoreAttachmentsInDatabase is set to "1", all new attachments

         will be stored in the SQL database. If StoreAttachmentsInDatabase

         is set to "0", all new attachments will be stored in the

         folder indentified by the UploadFolder setting (if uncommented).

         

         For the UploadFolder setting, if you specify the folder starting with a 

         drive letter or the \\ that indicates a UNC path, it's treated as a full path.  

         For example: c:\\something or \\somemachine\something

         Otherwise it's treated as a path relative to where you virtual directory is

         located.

         Database storage of attachments is backward compatible with

         the prior version of BugTracker.NET. If the attachment cannot

         be found in the database, BugTracker.NET will check the

         UploadFolder. Therefore, you may enable StoreAttachmentInDatabase

         even if you have previously used UploadFolder.

      -->

      <add key="StoreAttachmentsInDatabase" value="1" />

      <add key="UploadFolder" value="App_Data\uploads"/>

      <add key="MaxUploadSize" value="5000000" />

      <!--

         If set to "1", then passwords need to be at least 8 characters long.

         The characters in the password need to be from at least 2 of the

         following categories:

         * lowercase letters

         * uppercase letters

         * numbers

         * special chars

      -->

      <add key="RequireStrongPasswords" value="0" />

      <!--

         Show "Forgot Password?" link.

      -->

      <add key="ShowForgotPasswordLink" value="0" />

      <!--

         Allow people to self-register.

         You must also set "SelfRegisteredUserTemplate".

         You should also consider setting "RequireStrongPasswords"

      -->

      <add key="AllowSelfRegistration" value="0" />

      <!--

         When creating a new user as a result of a self-registration,

         use an existing user's settings, permissions, etc as a template

         for the new user

      -->

      <add key="SelfRegisteredUserTemplate" value="guest" />

      <!--

         Number of minutes a new user has between the time they register

         and the time they must confirm the registration by clicking on

         the link they received by email

      -->

      <add key="RegistrationExpiration" value="20" />

      <!--

         Some people have reported problems with the HTML TABLE borders 

         missing in email notifications.  Actually, the css settings 

         seem to get ignored entirely.  Setting this to "1"

         will force the table to have borders even without css.

      -->

      <add key="ForceBordersInEmails" value="0" />

      <!--

         If this is set to "1", then the list of user names in the dropdowns

         in the search page is limited to those users who have either reported bugs

         or have bugs currently assigned to them.  Setting this to "1" might

         make the search page load slower. Setting it to "0" might result in

         too many names in the dropdowns on the search page.

      -->

      <add key="LimitUsernameDropdownsInSearch" value="0" />

      <!--

         Enabling tags lets you mark bugs with your own free-form keywords and 

         then filter bug lists using your keywords.  

         

         Note that you might not want to use this feature if you are also using

         tricky permissions, because the page that displays already-used tags

         and their counts looks at all bugs, not just the bugs that the user

         is elegible to see.   That is, if somebody with rights only to project A

         tags 3 bugs with "Foo", then somebody with rights only to project B

         will see "Foo(3)" in the tags.aspx page.   Maybe that matters to you, 

         maybe not.

         

      -->

      <add key="EnableTags" value="0" />

      

      <!--

         I'm not 100% sure that FCKEditor, or the way I'm using FCKEditor, 

         is secure.  It might be possible to use it for Cross-Site-Scripting.

         If you don't trust it, or me, set this to 1.

      -->

      <add key="DisableFCKEditor" value="0" />

      <!--

         If your view_attachment.aspx isn't working when you are trying to download

         a large file, then try setting this to 1.  

         But you might have problems on  Windows Server 2000:

         http://support.microsoft.com/?kbid=902780

      -->

      <add key="UseTransmitFileInsteadOfWriteFile" value="0" />

      <!--

         BugTracker.NET can remember which bugs you have seen or not.  To

         enable this feature, set this to 1.  You also have to include

         the $SEEN magic word in your query as explained in edit_query.aspx

      -->

      <add key="EnableSeen" value="0" />

      <!--

         Enabling this adds a "news" link to the menu that goes across the page.

         This is an experimental feature.  Click on the "news" page, leave it up, 

         and it will refresh itself as people add and change bugs.

         It doesn't obey any permissions, so you probably don't want to use this

         page if you also use project or organization permissions.

      -->

      <!--

      <add key="EnableWhatsNewPage" value="1" />

      <add key="WhatsNewPageIntervalInSeconds" value="30" />

      -->

      <!--

         Something I use for debugging, in conjunction with the view_memory_log.aspx.

         Only useful for a programmer.  If you are interested, search the code

         for MemoryLogEnabled.

      -->

      <!--

      <add key="MemoryLogEnabled" value="1" />

      -->

      

      <!--

         Use this to turn on/off the full text search in the upper right corner.

         I think, the only reason to turn it off is if you have some technical problem 

         with it.

      -->

      <add key="EnableLucene" value="1" /> 

      <add key="LuceneIndexFolder" value="App_Data\lucene_index" />

      <!--

         Adds a button to the top of the form too.

      -->

      <add key="DisplayAnotherButtonInEditBugPage" value="0" /> 

   </btnetSettings>

</configuration>

```

And the Error -

```

ids aspnet # xsp

xsp

Listening on port: 8080 (non-secure)

Listening on address: 0.0.0.0

Root directory: /var/www/localhost/htdocs/aspnet

Hit Return to stop the server.

System.TypeInitializationException: An exception was thrown by the type initializer for Mono.WebServer.XSPWorkerRequest

Server stack trace:

  at Mono.WebServer.XSPApplicationHost.ProcessRequest (Int32 reqId, Int64 localEPAddr, Int32 localEPPort, Int64 remoteEPAdds, Int32 remoteEPPort, System.String verb, System.String path, System.String queryString, System.String protocol, System.Byte[] inputBuffer, System.String redirect, IntPtr socket, Mono.WebServer.SslInformations ssl) [0x00000]

  at (wrapper remoting-invoke-with-check) Mono.WebServer.XSPApplicationHost:ProcessRequest (int,long,int,long,int,string,string,string,string,byte[],string,intptr,Mono.WebServer.SslInformations)

  at (wrapper xdomain-dispatch) Mono.WebServer.XSPApplicationHost:ProcessRequest (object,byte[]&,byte[]&,int,long,int,long,int,string,string,string,string,byte[],string)

Exception rethrown at [0]:

 ---> System.Configuration.ConfigurationException: Unrecognized attribute in root element (/var/www/localhost/htdocs/aspnet/Web.config line 1)

  at System.Configuration.ConfigurationData.ThrowException (System.String text, System.Xml.XmlTextReader reader) [0x00000]

  at System.Configuration.ConfigurationData.InitRead (System.Xml.XmlTextReader reader) [0x00000]

  at System.Configuration.ConfigurationData.Load (System.String fileName) [0x00000] --- End of inner exception stack trace ---

  at (wrapper xdomain-invoke) Mono.WebServer.XSPApplicationHost:ProcessRequest (int,long,int,long,int,string,string,string,string,byte[],string,intptr,Mono.WebServer.SslInformations)

  at (wrapper remoting-invoke-with-check) Mono.WebServer.XSPApplicationHost:ProcessRequest (int,long,int,long,int,string,string,string,string,byte[],string,intptr,Mono.WebServer.SslInformations)

  at Mono.WebServer.XSPWorker.RunInternal (System.Object state) [0x00000]

System.TypeInitializationException: An exception was thrown by the type initializer for Mono.WebServer.XSPWorkerRequest

Server stack trace:

  at Mono.WebServer.XSPApplicationHost.ProcessRequest (Int32 reqId, Int64 localEPAddr, Int32 localEPPort, Int64 remoteEPAdds, Int32 remoteEPPort, System.String verb, System.String path, System.String queryString, System.String protocol, System.Byte[] inputBuffer, System.String redirect, IntPtr socket, Mono.WebServer.SslInformations ssl) [0x00000]

  at (wrapper remoting-invoke-with-check) Mono.WebServer.XSPApplicationHost:ProcessRequest (int,long,int,long,int,string,string,string,string,byte[],string,intptr,Mono.WebServer.SslInformations)

  at (wrapper xdomain-dispatch) Mono.WebServer.XSPApplicationHost:ProcessRequest (object,byte[]&,byte[]&,int,long,int,long,int,string,string,string,string,byte[],string)

Exception rethrown at [0]:

 ---> System.Configuration.ConfigurationException: Unrecognized attribute in root element (/var/www/localhost/htdocs/aspnet/Web.config line 1)

  at System.Configuration.ConfigurationData.ThrowException (System.String text, System.Xml.XmlTextReader reader) [0x00000]

  at System.Configuration.ConfigurationData.InitRead (System.Xml.XmlTextReader reader) [0x00000]

  at System.Configuration.ConfigurationData.Load (System.String fileName) [0x00000] --- End of inner exception stack trace ---

  at (wrapper xdomain-invoke) Mono.WebServer.XSPApplicationHost:ProcessRequest (int,long,int,long,int,string,string,string,string,byte[],string,intptr,Mono.WebServer.SslInformations)

  at (wrapper remoting-invoke-with-check) Mono.WebServer.XSPApplicationHost:ProcessRequest (int,long,int,long,int,string,string,string,string,byte[],string,intptr,Mono.WebServer.SslInformations)

  at Mono.WebServer.XSPWorker.RunInternal (System.Object state) [0x00000]

```

----------

## JamesCurtis

well that was an easy fix, I needed to use xsp2 instead of plain xsp.  Now the trick is to get it running on apache  :Smile: 

----------

