Publishing Problem

Topics: ASP.NET 2.0, Themes
Apr 7, 2009 at 11:14 AM
I have published the blog over internet based on SQL Server 2005 DB....
But I am facing two problems:

1- Content Display does not work well... it seems there is a problem regaing js ....
2- I could not login to admin CMS.

Your can take a look at this url to view the problem www.xtra-code.com

Thanks in advance
Coordinator
Apr 7, 2009 at 6:42 PM
This doesn't appear to be a SQL problem, but a problem with the JS and CSS handlers with IIS7.

Do you have a <system.webServer> section in your web.config file?  If so, try replacing the <system.webServer> section with the one I posted here.  If you don't already have this section, then add that <system.webServer> section into your web.config file.  It would go towards the bottom of the web.config file, right before the closing </configuration> tag.
Apr 7, 2009 at 10:29 PM

Hello ...

Thanks BenAmada for your helpfull reply....... but It seems there is a problem on Trust Level of my godady host .
after modify my web.config by your suggested code , I got unrcongized error

I try to modify on this line "<handlers accessPolicy="Read, Write, Script, Execute">" to change access ploicy ,,,, but i got this error
 "

500 - Internal server error.

There is a problem with the resource you are looking for, and it cannot be displayed

"

any idea for helping will be highly appricated

Thanks

Coordinator
Apr 7, 2009 at 10:37 PM
Edited Apr 8, 2009 at 12:59 AM
There shouldn't be any problems with the <system.webServer> section at GoDaddy.  Others here are also on GoDaddy and aren't having security issues (this person for example).

In case you had a copy-and-paste mistake, below is the Web.config file that comes with BE 1.5 RC1 -- and it includes the modified <system.webServer> section.  Try using the one below.

EDIT:  The DbBlogProvider is the default provider in the Web.config below.

<?xml version="1.0"?>
<configuration>
    <configSections>
        <sectionGroup name="BlogEngine">
            <section name="blogProvider" requirePermission="false" type="BlogEngine.Core.Providers.BlogProviderSection, BlogEngine.Core" allowDefinition="MachineToApplication" restartOnExternalChanges="true"/>
        </sectionGroup>
    </configSections>
    <BlogEngine>
        <blogProvider defaultProvider="DbBlogProvider">
            <providers>
                <add name="XmlBlogProvider" type="BlogEngine.Core.Providers.XmlBlogProvider, BlogEngine.Core"/>
                <add name="DbBlogProvider" type="BlogEngine.Core.Providers.DbBlogProvider, BlogEngine.Core" connectionStringName="BlogEngine"/>
            </providers>
        </blogProvider>
    </BlogEngine>
    <!-- configSource is not implemented in Mono.
    <connectionStrings configSource="sql.config" />
  -->
    <connectionStrings>
        <clear/>
        <add name="LocalSqlServer" connectionString="dummy"/>
        <!-- Mono complains if LocalSqlServer isn't specified -->
        <add name="BlogEngine" connectionString="Data Source=MySQLServer;User ID=user;Password=password;persist security info=False;initial catalog=BlogEngine;" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    <appSettings>
        <add key="BlogEngine.FileExtension" value=".aspx"/>
        <!-- You can e.g. use "~/blog/" if BlogEngine.NET is not located in the root of the application -->
        <add key="BlogEngine.VirtualPath" value="~/"/>
        <!-- The regex used to identify mobile devices so a different theme can be shown -->
        <add key="BlogEngine.MobileDevices" value="(nokia|sonyericsson|blackberry|samsung|sec\-|windows ce|motorola|mot\-|up.b|midp\-)"/>
        <!-- The name of the role with administrator permissions -->
        <add key="BlogEngine.AdminRole" value="Administrators"/>
        <!--This value is to provide an alterantive location for storing data.-->
        <add key="StorageLocation" value="~/App_Data/"/>
        <!--A comma separated list of script names to hard minify. It's case-sensitive. -->
        <add key="BlogEngine.HardMinify" value="blog.js,widget.js,WebResource.axd"/>
    </appSettings>
    <system.web>
        <compilation debug="false">
            <assemblies>
                <add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                <add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                <add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            </assemblies>
        </compilation>
        <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="auto" uiCulture="auto"/>
        <httpRuntime enableVersionHeader="false" useFullyQualifiedRedirectUrl="true" maxRequestLength="16384" executionTimeout="3600" requestLengthDiskThreshold="16384"/>
        <machineKey validationKey="D9F7287EFDE8DF4CAFF79011D5308643D8F62AE10CDF30DAB640B7399BF6C57B0269D60A23FBCCC736FC2487ED695512BA95044DE4C58DC02C2BA0C4A266454C" decryptionKey="BDAAF7E00B69BA47B37EEAC328929A06A6647D4C89FED3A7D5C52B12B23680F4" validation="SHA1" decryption="AES"/>
        <authentication mode="Forms">
            <forms timeout="129600" name=".AUXBLOGENGINE" protection="All" slidingExpiration="true" loginUrl="~/login.aspx" cookieless="UseCookies"/>
        </authentication>
        <pages enableSessionState="false" enableViewStateMac="true" enableEventValidation="true">
            <controls>
                <add namespace="Controls" tagPrefix="blog"/>
            </controls>
        </pages>
        <customErrors mode="RemoteOnly" defaultRedirect="~/error404.aspx">
            <error statusCode="404" redirect="~/error404.aspx"/>
        </customErrors>
        <membership defaultProvider="XmlMembershipProvider">
            <providers>
                <clear/>
                <add name="XmlMembershipProvider" type="BlogEngine.Core.Providers.XmlMembershipProvider, BlogEngine.Core" description="XML membership provider" passwordFormat="Hashed"/>
                <add name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="BlogEngine" applicationName="BlogEngine"/>
                <add name="DbMembershipProvider" type="BlogEngine.Core.Providers.DbMembershipProvider, BlogEngine.Core" passwordFormat="Hashed" connectionStringName="BlogEngine"/>
            </providers>
        </membership>
        <roleManager defaultProvider="XmlRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".BLOGENGINEROLES">
            <providers>
                <clear/>
                <add name="XmlRoleProvider" type="BlogEngine.Core.Providers.XmlRoleProvider, BlogEngine.Core" description="XML role provider"/>
                <add name="SqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="BlogEngine" applicationName="BlogEngine"/>
                <add name="DbRoleProvider" type="BlogEngine.Core.Providers.DbRoleProvider, BlogEngine.Core" connectionStringName="BlogEngine"/>
            </providers>
        </roleManager>
        <siteMap defaultProvider="PageSiteMap" enabled="true">
            <providers>
                <add name="PageSiteMap" description="The site map provider that reads in the .sitemap XML files." type="BlogEngine.Core.Web.Controls.PageSiteMap, BlogEngine.Core"/>
                <add name="SecuritySiteMap" description="Used for authenticated users." type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" securityTrimmingEnabled="true" siteMapFile="Web.sitemap"/>
            </providers>
        </siteMap>
        <httpModules>
            <add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core"/>
            <add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core"/>
            <add name="CompressionModule" type="BlogEngine.Core.Web.HttpModules.CompressionModule, BlogEngine.Core"/>
            <add name="ReferrerModule" type="BlogEngine.Core.Web.HttpModules.ReferrerModule, BlogEngine.Core"/>
            <!--Remove the default ASP.NET modules we don't need-->
            <remove name="PassportAuthentication"/>
            <remove name="Profile"/>
            <remove name="AnonymousIdentification"/>
        </httpModules>
        <httpHandlers>
            <add verb="*" path="file.axd" type="BlogEngine.Core.Web.HttpHandlers.FileHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="image.axd" type="BlogEngine.Core.Web.HttpHandlers.ImageHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="syndication.axd" type="BlogEngine.Core.Web.HttpHandlers.SyndicationHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="sitemap.axd" type="BlogEngine.Core.Web.HttpHandlers.SiteMap, BlogEngine.Core" validate="false"/>
            <add verb="*" path="trackback.axd" type="BlogEngine.Core.Web.HttpHandlers.TrackbackHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="pingback.axd" type="BlogEngine.Core.Web.HttpHandlers.PingbackHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="opensearch.axd" type="BlogEngine.Core.Web.HttpHandlers.OpenSearchHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="metaweblog.axd" type="BlogEngine.Core.API.MetaWeblog.MetaWeblogHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="rsd.axd" type="BlogEngine.Core.Web.HttpHandlers.RsdHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="css.axd" type="BlogEngine.Core.Web.HttpHandlers.CssHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="js.axd" type="BlogEngine.Core.Web.HttpHandlers.JavaScriptHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="rating.axd" type="BlogEngine.Core.Web.HttpHandlers.RatingHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="opml.axd" type="BlogEngine.Core.Web.HttpHandlers.OpmlHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="blogml.axd" type="BlogEngine.Core.Web.HttpHandlers.BlogMLExportHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="sioc.axd" type="BlogEngine.Core.Web.HttpHandlers.Sioc, BlogEngine.Core" validate="false"/>
            <add verb="*" path="apml.axd" type="BlogEngine.Core.Web.HttpHandlers.Apml, BlogEngine.Core" validate="false"/>
            <add verb="*" path="foaf*.axd" type="BlogEngine.Core.Web.HttpHandlers.Foaf, BlogEngine.Core" validate="false"/>
        </httpHandlers>
    </system.web>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <!-- Enable the staticContent section below to add Expires headers to images for better performance.
                 Some hosting providers does not allow the staticContent section to be set. -->
        <!--
        <staticContent>
            <clientCache httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" />
        </staticContent>
        -->
        <modules>
            <add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core"/>
            <add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core"/>
            <add name="CompressionModule" type="BlogEngine.Core.Web.HttpModules.CompressionModule, BlogEngine.Core"/>
            <add name="ReferrerModule" type="BlogEngine.Core.Web.HttpModules.ReferrerModule, BlogEngine.Core"/>
        </modules>
        <handlers accessPolicy="Read, Write, Script, Execute">
            <remove name="PageHandlerFactory-Integrated" />
            <add name="FileHandler" verb="*" path="file.axd" type="BlogEngine.Core.Web.HttpHandlers.FileHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="ImageHandler" verb="*" path="image.axd" type="BlogEngine.Core.Web.HttpHandlers.ImageHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="Syndication" verb="*" path="syndication.axd" type="BlogEngine.Core.Web.HttpHandlers.SyndicationHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="Sitemap" verb="*" path="sitemap.axd" type="BlogEngine.Core.Web.HttpHandlers.SiteMap, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="Trackback" verb="*" path="trackback.axd" type="BlogEngine.Core.Web.HttpHandlers.TrackbackHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="Pingback" verb="*" path="pingback.axd" type="BlogEngine.Core.Web.HttpHandlers.PingbackHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="OpenSearch" verb="*" path="opensearch.axd" type="BlogEngine.Core.Web.HttpHandlers.OpenSearchHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="MetaWeblog" verb="*" path="metaweblog.axd" type="BlogEngine.Core.API.MetaWeblog.MetaWeblogHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="RSD" verb="*" path="rsd.axd" type="BlogEngine.Core.Web.HttpHandlers.RsdHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="CssHandler" verb="*" path="css.axd" type="BlogEngine.Core.Web.HttpHandlers.CssHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="Javascript" path="js.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.JavaScriptHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="Rating" verb="*" path="rating.axd" type="BlogEngine.Core.Web.HttpHandlers.RatingHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="Opml" verb="*" path="opml.axd" type="BlogEngine.Core.Web.HttpHandlers.OpmlHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="BlogML" verb="*" path="blogml.axd" type="BlogEngine.Core.Web.HttpHandlers.BlogMLExportHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="SIOC" verb="*" path="sioc.axd" type="BlogEngine.Core.Web.HttpHandlers.Sioc, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="Apml" verb="*" path="apml.axd" type="BlogEngine.Core.Web.HttpHandlers.Apml, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="Foaf" verb="*" path="foaf*.axd" type="BlogEngine.Core.Web.HttpHandlers.Foaf, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="PageHandlerFactory-Integrated" verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
        </handlers>
        
        <!-- Enable the httpProtocol section below to manipulate some HTTP headers.
                 Some hosting providers does not allow the httpProtocol section to be set. -->
        <!--
        <httpProtocol>
            <customHeaders>
                <remove name="X-Powered-By" />
                <add name="Etag" value=" " />
            </customHeaders>
        </httpProtocol>
        -->
    </system.webServer>
</configuration>
Coordinator
Apr 7, 2009 at 10:47 PM
Oops, sorry, you did say you are using SQL 2005.  If you post your Web.config file here, I (or someone else) can take a look at it.  Just remove any DB connection passwords and other sensitive info.
Apr 7, 2009 at 11:17 PM
I tried to copy web config over here , but i could not because the page fail...... I am using sql server 2005.... send me a sample web config that handle this issue


Thanks a lot
Coordinator
Apr 7, 2009 at 11:23 PM
I'm not sure if you're using SQL Server 2005 for just blog posts (i.e. the BlogProvider), or if you're also using SQL Server 2005 for Users and Roles.  It would be easiest if you could paste your web.config file here (minus any passwords).  Then I can make adjustments to what you already have.
Apr 7, 2009 at 11:48 PM
Really i tried to copy and paste my web config but i got error on this page....
I am using sql server 2005 for just blog posts without Users and Roles.............I hope u can help me coz I stick over there......
Coordinator
Apr 7, 2009 at 11:56 PM
I edited the Web.config file I posted a few messages above.  The only change I made was changing the "defaultProvider" for the <blogProvider> element to 'DbBlogProvider'.

So try using that same Web.config file I posted above.  You'll need to change the "BlogEngine" connection string for your DB.
Apr 8, 2009 at 12:19 AM
I ma still getting this error

500 - Internal server error.

There is a problem with the resource you are looking for, and it cannot be displayed.


Thanks for ur help

Coordinator
Apr 8, 2009 at 12:28 AM
Earlier today, your blog was working ... except for the styles weren't showing up correctly.  The only change you've made since this morning has been to the Web.config file, right?  Can you PM me your original Web.config file from this morning?  Either that or post it here?
Apr 9, 2009 at 2:49 PM
Dear Ben

I have saved your time and mine too and change my IIS version to 6 and avoid all problem happens by IIS 7.....
Now the blog is published well and life is happy.......................http://yasser.danfrost.bz
But I face a small problem is: I can not login to admin panel. I am using SQL Server 2005 as  Data provider & I checked Users table and there is a user there ....

I suspect that my login connection do not look in SQL DB ............how can I check.

By the way I tried to copy and paste my web.config here but the page fire an error. If poosible advise ur email to send the web config file to you to take a look.

Regards
Yasser
Coordinator
Apr 9, 2009 at 6:37 PM
I just PM'd you.  You should get an email.  If you have anything to send me, you can reply to the email and the reply will be sent to my email address.

For the login issue, I would first double check the Web.config file to make sure BE is using the be_Users table in the DB.  There's a <membership> tag in the Web.config file.  You would want to verify the "defaultProvider".  If it's "XmlMembershipProvider, BE is using the users.xml file in the App_Data folder.  The tag would look like:

<membership defaultProvider="XmlMembershipProvider">

But if the defaultProvider is DbMembershipProvider, like below, then BE is using the be_Users table in the DB.

<membership defaultProvider="DbMembershipProvider">

If you're using the XmlMembershipProvider, clear out the <password> value in the users.xml file so it looks like:

<Password></Password>

If you're using the DbMembershipProvider, clear out the Password column in the be_Users table so the column contains an empty string.  Basically, something like:

UPDATE be_Users SET [Password] = ''

After making these changes, you'll want to re-start BE since it will probably have the old data cached in memory.  You can re-start BE by making a small change to the web.config file (add a space, for example) or just re-uploading the same web.config file.

After re-starting BE, you should be able to login using the existing User account you have, and for the password, enter "admin".  The "admin" password is the default password if the user doesn't yet have a password.
Apr 10, 2009 at 12:38 AM
Thanks Ben

you have solved my problem, thanks a lot APP is working well now.....

Thanks my friend