• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

FTP publishing errors

R

redherring@

Guest
Hi there -

Right now I have 2 testing sites setup. On the hosting server side of things they are setup identically. Within Sitebuilder's Admin interface they are also setup identically... same owner, and all of the exact same publishing settings except that the "working directory" and the "web site url" settings are customized as appropriate to each site, as per the following example:

site1 working directory: "/site1/www/"
site2 working directory: "/site2/www/"

site1 web site url: "http://www.site1.com"
site2 web site url: "http://www.site2.com"

I can't "verify the location" of either site, which is, I believe a whole other issue, but the error I get in trying to do so is different for each site:

site1 verify the location error:

Location status: Static only

Details:
ASP.NET account has not write permission for the App_Data folder.
ASP.NET account has not read permission for the App_Data folder.
ASP.NET account has not delete permission for the App_Data folder.

From log:
Publish Location checker, CheckDefaultDocumentsPriority step error
System.Net.WebException: The remote server returned an error: (403) Forbidden.
at System.Net.HttpWebRequest.GetResponse()
at SWsoft.SiteBuilder.BO.Facade.Publish.LocationChecker.GetContentByUrl(String url)
at SWsoft.SiteBuilder.BO.Facade.Publish.LocationChecker.CheckDocuments(String fileNameToDelete, String fileNameToRequest)

site2 verify the location error:

Location status: Error

Details:
There is either a problem with connecting to the HTTP server specified in the web site URL, or the web site URL does not correspond to the specified publishing location

From Log:
Publish Location checker, CheckDefaultDocumentsPriority step error
System.Net.WebException: The remote server returned an error: (403) Forbidden.
at System.Net.HttpWebRequest.GetResponse()
at SWsoft.SiteBuilder.BO.Facade.Publish.LocationChecker.GetContentByUrl(String url)
at SWsoft.SiteBuilder.BO.Facade.Publish.LocationChecker.CheckDocuments(String fileNameToDelete, String fileNameToRequest)


The log entries are the same for both "errors", but I think somehow I'd feel better if I at least had the same Sitebuilder Admin interface popup error for both sites.

Any thoughts on why the 2 distinct error messages and / or what might be causing the error at the server end of things?

Thanks.

Darrin
 
OK. So we've managed to get the first of the two sites to publish "dynamically" from sitebuilder, but the second one is still giving that same error message:

Location status: Error

Details:
There is either a problem with connecting to the HTTP server specified in the web site URL, or the web site URL does not correspond to the specified publishing location

The corresponding log entry says the following:

Publish Location checker, CheckDefaultDocumentsPriority step error
System.Net.WebException: The remote server returned an error: (403) Forbidden.
at System.Net.HttpWebRequest.GetResponse()
at SWsoft.SiteBuilder.BO.Facade.Publish.LocationChecker.GetContentByUrl(String url)
at SWsoft.SiteBuilder.BO.Facade.Publish.LocationChecker.CheckDocuments(String fileNameToDelete, String fileNameToRequest)

Again, both test sites are setup exactly the same... same owner, and all of the exact same publishing settings except that the "working directory" and the "web site url" settings are customized as appropriate to each site, as per the following example:

site1 working directory: "/site1/www/"
site2 working directory: "/site2/www/"

site1 web site url: "http://www.site1.com"
site2 web site url: "http://www.site2.com"

And on the hosting server side of things they are setup identically.

Any thoughts on why this second site is giving me trouble? Does anything jump out as being obviously wrong?

Thanks in advance for your assistance. I feel close to being successful here...

Darrin
 
Hi Darrin,
Are you able to navigate your Internet Explorer to the URL of the second site (http://www.site2.com)? Sitebuilder gets 403 error when trying to access that address, that's why it fails. Please make sure your browser shows something more appropriate that "Cannot display page" there.

In case browser also gets 403, you should review the IIS settings for those sites in more detail:

1. Is anonymous access enabled for both sites? (directory security options)
2. Is both web applications are run within the same app pool?
3. Is identity under which that pool runs has read access to both file system folders?

Also reviewing the Windows Event Log on server can shed more light on the reason it denies access to the second site.

Let me know your progress on this - I have a couple more tricks to help if those listed do not work ;)
 
OK. Perhaps this post deserves it's own thread, but since it's still me working thru FTP publishing issues, I'll continue here.

I now have multiple sites, the "location status" of each has been successfully "verified" as "dynamic", and yet I can't actually publish anything to one of them?

For each site, every time I get to the Wizard's "editing" stage, I get a non-informative "An error has occurred." And I am never able to publish the site, with the following being an example of the log entry recorded when I try:

********************
Publish failed
SWsoft.SiteBuilder.BO.Facade.PublishException: Publish failed: unknown exception ---> System.Net.WebException: The remote server returned an error: (404) Not Found.
at System.Net.HttpWebRequest.GetResponse()
at SWsoft.SiteBuilder.BO.Facade.SiteConvertor.GetPageContent(String url)
at SWsoft.SiteBuilder.BO.Facade.SiteConvertor.ProcessAspxFile(Uri srcUrl, IResourceItem dst)
at SWsoft.SiteBuilder.BO.Facade.SiteConvertor.ConvertToStatic(ISiteRepository siteRep, IResourceFolder dst)
at SWsoft.SiteBuilder.BO.Facade.SiteConvertor.ConvertToStatic(IResourceFolder src, String siteUrl, ISiteRepository siteRepository)
at SWsoft.SiteBuilder.BO.Facade.PublishTask.<>c__DisplayClass2.b__0()
at SWsoft.SiteBuilder.BO.Facade.PublishHelper.CheckPublishExceptions(CheckPublishExceptionsMethod a_method)
at SWsoft.SiteBuilder.BO.Facade.PublishTask.Run(Object a_data)
--- End of inner exception stack trace ---
********************

What might cause such behaviour? Verified location status but unable to publish? FYI - these sites have never been published.

Thanks in advance.
 
Oh yes - this time the trouble is on the Preview host side.
The publish process attempts to pull the pages from the Preview host and put them into the Publish host. And Preview returns 404.

Tis could be caused by a number of reasons.

A. If you can peview your sites Ok, then probably DNS on your server is set up so it does not resolve correctly.
Make sure that preview host is available from the Sitebuilder machine:
1. Open the preview of some of the sites in browser
2. Copy the URL of the preview page
3. Log into the Sitebuilder machine via Remote Desktop
4. Start there a browser
5. Navigate to the preview URL you got on step 2.
6. In case browser does not show the preview, some additional analysis is need to to detect what's wrong.
Typical reasons:
- preview is being accessed via external IP address which is not visible from inside the machine
- preview is being accessed via hostname, which is locally forced to 127.0.0.1 instead of external IP
- port forwarding is set up in a way so locally port 80 accesses different virtual web site than when accessed from external network
- etc.

B. If you cannot get the Preview from your desktop machine, then there is a misconfiguration on Sitebuilder/IIS side. Typical reason is presence of two virtual web sites in IIS mapped to same physical Sitebuilder folder. I will provide some more detail once you verify the Preview behavior.
 
Hi Sinclair -

Thanks for your reply. Much appreciated.

As we are still in the installation and testing phase, none of these sites has ever been published, so there's really nothing there to see. But they each do have a default.aspx page borrowed from somewhere that is set as the default document to display.

When I browse to one of the sites from anywhere but the server on which Sitebuilder is installed, it certainly seems to resolve and I simply get:

"This is placeholder file, do not remove them."

If I then logon to the Sitebuilder machine via Remote Desktop and browse to the same site, again, it seems to resolve and I simply get:

"This is placeholder file, do not remove them."

In both cases the URL remains exactly as it was entered, that being, for one particular case, "http://www.signblogger.com/"

I'm going to guess and hope that this means something to you. I feel that we're really close to nailing this down and I'm very excited and hopefull that we'll be up and running with Sitebuilder soon!

Thanks!

Darrin
 
Sorry Darrin for improper explanations.
Please go to Sitebuilder Wizard and use Preview button from any page (bottom right). That should show you the current state of the site similar to the final result that would be achieved after publishing.
 
No problem. Thanks for the clarification.

If I try to preview any site from within the Wizard I receive an error page similiar to the following:


Server Error in '/' Application.
--------------------------------------------------------------------------------

The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

Requested URL: /Sites/4041e3e6-7772-45fc-b60c-ac712ae08eb8/page1.aspx


Thanks again.

Darrin
 
Ok, great. This is option 'B' - misconfiguration of the preview host.
Now we'll have to deep dive into IIS settings.
1. Log into the Sitebuilder server via Remote Desktop
2. Launch IIS manager
3. Review the list of virtual sites:
3.1. Check how many of those are mapped to the same physical location of the Sitebuilder (typically it's %program files%\Sitebuilder\Web)
3.2. Check the ports and IP addresses of Sitebuilder virtual site(s).
3.3. Check the contents of the %program files%\Sitebuilder\Web\Sites folder - it's where the preview files should be stored (and aren't found!)

I can't tell much more until we check those basics.
 
Hello again. Thanks again for working thru this with me.

OK. Looks like we've got 3 virtual sites in ISS that are at least related to Sitebuilder. None of the 3 have an IP address specifically assigned, (set to "all unassigned"), but each has a unique port number, one set at 1600, one at 2006, and the third at 1180. The third one at port 1180 also has an SSL port of 443 assigned.

Both of the port 1600 and port 2006 sites point to a home directory of: "C:\Program Files\Sitebuilder\Web". The third site at port 1180 points to a home directory of "C:\Program Files\SWsoft\SSO\". (I am now suspecting that this site at port 1180 is a leftover remnant of a version 3 test installation and could likely be deleted.)

I am not sure why we would need to have anything more than one virtual site pointing to Sitebuilder, particularly as both the 1600 and 2006 port sites seem to be setup "indentically", except for the port numbers?

Now, as for the contents of the "C:\Program Files\Sitebuilder\Web\Sites" folder... the "Sites" folder itself doesn't even exist here. I remember now that I specified that sites be published to an entirely different drive and different location, specifically, call it "E:\WebSiteData\masterwebsite.com\Web\sitebuilder\Sites"

Therein lies the problem I am sure, but I will wait to hear back from you so as not to mess things up further.

I think I still like this idea - running Sitebuilder itself off one drive but storing the sites on another - if possible.

Thanks in advance for your response.

Darrin
 
Ok, that's what I expected. I will get back to you with this later as now I need to leave the office. Storing the files in an alternate location is definitely possible. However, it requires some additional configuration actions.
 
Hey Sinclair -

If there's any way that you could get back to me tonight, (my tonight, your today I guess), it would be greatly appreciated.

Thanks in advance.

Darrin
 
Ok, sorry for the delay:
1. Do not touch the site for 1180 port. It is SingleSignOn daemon.
2. Make sure that you have virtual folder "Sites" under the root of the Web site on port 2006. The folder should be mapped to "E:\WebSiteData\masterwebsite.com\Web\sitebuilder\Sites" since that's where you put your sites.
3. Make sure that virtual folder is also marked as Web Application in IIS settings (it will have the rusty gear icon instead of yellow folder) if that's ok.
4. Make sure user account under which Sitebuilder runs has r/w privileges on E:\WebSiteData\masterwebsite.com\Web\sitebuilder\Sites
5. Note the ID of the site mapped to port 2006 and verify the path in C:\Program Files\Sitebuilder\HostingService\HostingService.exe.config:
Code:
  <add key="service.root" value="[b]W3SVC/1/ROOT/Sites[/b]"/>
Make sure the correct site ID is inserted instead of '1' in a sample above.
6. In case you done any changes to the HostingService.exe.config, stop both sitebuilder services through control panel and then start them back (this will cause reloading of the config file).
7. Check in the web.config file in the Sitebuilder\Web folder that site repository path points to the correct location:
Code:
<siteRepository path="E:\WebSiteData\masterwebsite.com\Web\sitebuilder\Sites">
8. Verify the Preview feature behaviour and let me know if anything is still wrong.
 
Hi Sinclair -

Thanks again for your reply.

Bummer... I went thru all of your steps as outlined and there were no changes to be made as everything was already setup the way you described that it should be. Of course, I still cannot preview the sites.

As requested, I did not touch the site for 1180 port, neither did I touch the site for port 1600. Any thoughts on what that site might be and why it's there / might it be causing problems?

I noticed that when I try to preview a site from the machine on which Sitebuilder is running, I can do so successfully because I see that in this case Sitebuilder is previewing the site locally, from a URL like "http://localhost:2006/Sites/***********". I also noticed that when I try to preview a site from "the Web", of course I can't, but I did see that the URL it is trying to resolve is of the form "http://www.signsearch.com/Sites/***********", which is not a valid path, but I'm not exactly sure how that's supposed to work with perhaps the specific port or the "Sites" virtual directory.

Any thoughts?

Thanks again. I greatly appreciate your assistance.

Darrin
 
That's really strange. As far as I could see, there are no web site mapped to port 80 on your machine, right?
 
Oh yes, there's sites mapped to port 80. Not Sitebuilder sites, but others.
 
I am trying to understand whether the request to /Sites from external network goes into one of those sites.

There's a chance firewall blocks external access to the port 2006.
We can remap Sitebuilder to port 80 using one of the following:
- register a separate DNS name and assign it to Sitebuilder's virtual site
- move Sitebuilder into a subfolder of an existing web site, e.g. www.signsearch.com/sitebuilder/
 
Back
Top