cancel
Showing results for 
Search instead for 
Did you mean: 

Virtualization and .Net sites

markkennnedy
Champ in-the-making
Champ in-the-making
Hello:

A few weeks back I participated in the WCM Webinar. The virtualization looked really powerful, but I'm unclear on one thing:

I *think* the presentation stated that virtualization not only worked for Java/JSP-based sites but could also work for .Net/PHP/etc. sites.

I've been looking for more information about that, particularly the ability for the virtualization of .Net sites, but have been unsuccessful.

Did I misunderstand, or is virtualization of .Net sites actually possible?

Thanks!
6 REPLIES 6

kvc
Champ in-the-making
Champ in-the-making
Mark:

Yes.  Preview of .NET or PHP sites is possible, though not automatically through the virtualization server.

To preview non-JSP sites, you must individually configure your webserver to serve a site from the CIFS view of a sandbox.  Then, you must customize the GUI to provide a custom preview link to each webserver you've configure to serve a view of a sandbox.

Some extra work here today, and something that will be more natively supported in the future.  The benefit today, however, is that through our CIFS interface, support for code and content, and dynamic views of staged versions of your website using layers you have an excellent preview platform for your website changes.

Let me know if any more questions.

Kevin

jcox
Champ in-the-making
Champ in-the-making
Mark,

There are two different senses of "virtualization":  low-level
"content virtualization" (provided by the AVM), and higher-level
"website virtualization"  (provided by the tomcat-based virtualization server).

Currently, support for virtualizing  .net &  php websites does not include
integration with the Alfresco GUI.   However, if all you want to do is *see*
the content within a specific set of workareas rendered within your
webserver (e.g.:  php pages served using Apache 2), then you can do
the following:
  • Create a CIFS mount to expose the contents of the AVM.
  •        Now any webserver (not just Alfresco's virtualization server)
           can access this data just as it would any other set of files in an
           ordinary file system

  • For each AVM "store" you want to be able to browse in your
  •        non-tomcat web server (e.g.:  Apache 2),  configure a
           virtual host  and use the appropriate path within CIFS as your
           docroot for that virtual host.  For example, in Apache 2, you'd
           configure separate  <VirtualHost> entries by hand for each
           area you want to be able to browse.
This approach has some obvious limitations: all virtualized areas must
be configured within your content server (e.g.: Apache 2) as a virtual
host manually.   It also won't scale as nicely as the virtualization
server does in terms of having many different users automatically
sharing the same underlying libraries  (the virtualization server does
some fancy footwork to share the jar files in the staging WEB-INF/lib
directory with the user-level workareas when they're identical). Further
(as Kevin mentioned),  you won't be able to just click on a URL in the
Alfresco GUI and see a window pop up with your website in it.

However, if you have a limited number of author workareas  & staging
areas,  using CIFS to expose the contents of the AVM as a file system
does work quite well – it is surprisingly fast.  If you don't want to go
through the hassle of trying to customize the Alfersco GUI, there's a
simple low-tech solution that might be adequate for you in the short
term:    bookmarks.

In the future, we do plan upon fuller integration with other webservers;
the tomcat-based virtualization server can deal with static sites,
and full-blown java-based websites  (webapps/servlets/jsps, etc).

The next web content server I'll create explicit virtualization
support for will probably be Apache 2.   The goal here will
be to make it so that you'll end up with a different virtual host
per area automatically, just like the current tomcat-based
virtualization server. I'll also make it easy to set up a
an Apache 2 / Tomcat stack.

   I hope this helps,
   -Jon

PS:
My bias towards Apache 2 over 1.x is that Apache 2 works nicely
on both Windows & UNIX/UNIX-like operating systems, while
Apache 1.x behaves poorly on Windows  (it's slow & buggy).

markkennnedy
Champ in-the-making
Champ in-the-making
Jon, Kevin:

Thanks for the replies! They were exactly what I was looking for. Thanks for taking the time.

It sounds like serving "preview" content from the CIFS interface would work out well for my situation. Our site currently serves content from XML data stored on a filesystem and metadata stored in a SQL database. It sounds like we'd just use the CIFS interface for accessing the data from the CIFS interface for previews instead.

Again, thanks for the detailed answers!

MK

sbzoom
Champ in-the-making
Champ in-the-making
How do I make my web project know what the virtualization link is?  When the virtual Tomcat server starts it contacts the primary Tomcat server and lets it know what the virtual host name is.  Can I do this on a project by project basis?  Or, do I have to configure Apache (which I have running in front of Tomcat) to look for certain paths in the incoming URLs?

jcox
Champ in-the-making
Champ in-the-making
sbzoom,

Have a look at theVirtualization Server FAQ

  http://wiki.alfresco.com/wiki/Virtualization_Server_FAQ

I think the answers to your questions are all in there,
but if you have follow-up questions, please let me know.

sbzoom
Champ in-the-making
Champ in-the-making
jcox

Thanks for the tips.  I have been over that page a thousand times in the past few weeks.  I think I am starting to know it by heart.

Here is my question regarding this section of the page:
http://wiki.alfresco.com/wiki/Virtualization_Server_FAQ#Is_the_virtualization_server_limited_to_Java...

I have the CIFS mount //server/avm/ and I can see all of my apps.  What I was asking was if I then had to match incoming URLs to point to the correct virtual host.  I am assuming that is what I have to do.  We created an internal only domain name of wcm.alloyinc.com for the virtual server.


## default
<VirtualHost *:80>
    ServerAdmin hostmaster@alloy.com
    DocumentRoot /data/webapps/ROOT
    ServerName wcm.alloyinc.com
    JkMount /* tomcat
</VirtualHost>

So I would have to do this with more specific URLs right?


## mysite
<VirtualHost *:80>
    ServerAdmin hostmaster@alloy.com
    DocumentRoot /media/alfresco/cifs/v/mysite/VERSION/v-1/DATA/avm_webapps/ROOT
    ServerName mysite.wcm.alloyinc.com
</VirtualHost>

Something like that (I know some of the paths are a bit off, I just don't have it in front of me).

And, for my apps that are in Tomcat (which are most of them), I was going to setup 2 or 3 servers that mount the cifs/avm directory and use JkMount to point to "tomcat1", "tomcat2", "tomcat3" to relieve some of the load on the single server.

Thanks again.