wiki:ApacheSetup

Apache can rewrite URIs to make prettier URIs than the zope default. You can also set up name based VirtualHosts. So you can transform your plumi site's URI from  http://your.server:8080/my-plumi-site to  http://plumi.your.server

Basic apache config w/ seperate flv VirtualHost

A basic apache site config would look like this - you will need to change the commented sections, the name, and maybe the logfile locations. If you are using indytube for flash video playback, you will also need to create a separate VirtualHost to host those files.

<VirtualHost *:80>
    ServerName plumi.some.domain.com
    ServerAdmin webmaster@some.domain.com
   
    <Directory />
      Options FollowSymLinks
      AllowOverride None
      Order allow,deny
#      Deny from none
      Allow from all
    </Directory>

    <Location />
      Order Allow,Deny
      Deny from none
      Allow from all
    </Location>



    ErrorLog /var/log/apache2/plumi-error.log

    LogLevel warn

    CustomLog /var/log/apache2/plumi-access.log combined 
    ServerSignature On
    
    RewriteEngine On

    # Normalize URLs by removing trainling /'s
    RewriteRule ^/(.*)/$ http://127.0.0.1:8080/VirtualHostBase/http/%{SERVER_NAME}:80/plumi/VirtualHostRoot/$1 [L,P]
    #                                     ^^^^                                        ^^^^^
    #                  port number Zope is running on                  ID of plone site when you first created it
    #                                                            (e.g. http://localhost:8080/plumi - ID is 'plumi')
    
    # Pass all other URLs straight through
    RewriteRule ^/(.*)$ http://127.0.0.1:8080/VirtualHostBase/http/%{SERVER_NAME}:80/plumi/VirtualHostRoot/$1 [L,P]
    #                                    ^^^^                                        ^^^^^
    #                  port number Zope is running on                  ID of plone site when you first created it
    #                                                            (e.g. http://localhost:8080/plumi - ID is 'plumi')

</VirtualHost>

Combined config with Zope and flv on same VirtualHost

Another option is to use the same VirtualHost to host the flv files and redirect to the plone site. This can be useful for localised installs without a DNS server, as the plumi site could be accessed purely by IP address. In this case you would have to change the rest of the apache config to handle IP based virtual hosts (or no virtual hosts at all) rather than name virtual hosts.

<VirtualHost *:80>
    ServerName plumi.some.domain.com
    ServerAdmin webmaster@some.domain.com
   
    <Directory />
      Options FollowSymLinks
      AllowOverride None
      Order allow,deny
#      Deny from none
      Allow from all
    </Directory>

    <Location />
      Order Allow,Deny
      Deny from none
      Allow from all
    </Location>


    # A place to put flv files - this can be anywhere as long as the URI for the dir
    # matches the URI for the RewriteCond statements below.
    Alias /plumi-flv "/var/www/plumi-flv/"
    <Directory "/var/www/plumi-flv">
      Options FollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
    </Directory>

    ErrorLog /var/log/apache2/plumi-error.log

    LogLevel warn

    CustomLog /var/log/apache2/plumi-access.log combined 
    ServerSignature On
    
    RewriteEngine On
    #RewriteLog "/var/log/apache2/plumi-rw.log"
    #RewriteLogLevel 3

    RewriteCond %{REQUEST_URI} !^/plumi-flv
    #                             ^^^^^^^^^  
    # This should be the same as the URI to the Alias/Directory set above

    # Normalize URLs by removing trainling /'s
    RewriteRule ^/(.*)/$ http://127.0.0.1:8080/VirtualHostBase/http/%{SERVER_NAME}:80/plumi/VirtualHostRoot/$1 [L,P]
    #                                     ^^^^                                        ^^^^^
    #                  port number Zope is running on                  ID of plone site when you first created it
    #                                                            (e.g. http://localhost:8080/plumi - ID is 'plumi')
    
    RewriteCond %{REQUEST_URI} !^/plumi-flv
    #                             ^^^^^^^^^
    # This should be the same as the URI to the Alias/Directory set above

    # Pass all other URLs straight through
    RewriteRule ^/(.*)$ http://127.0.0.1:8080/VirtualHostBase/http/%{SERVER_NAME}:80/plumi/VirtualHostRoot/$1 [L,P]
    #                                    ^^^^                                        ^^^^^
    #                  port number Zope is running on                  ID of plone site when you first created it
    #                                                            (e.g. http://localhost:8080/plumi - ID is 'plumi')

</VirtualHost>