Eprints Automated Web Server Log file rotation for HTTPS and HTTP configurations. Requirements: 1.) Cronolog - Cronolog Version 1.6.2 is available at http://cronolog.org This program can also split your existing logs as needed using cronosplit. 2.) Some minor modifications (for HTTPS only). Known to work: Eprints Version 3.1.2.1 (HTTPS Configuration) - See below for HTTP configuration After setting up Apache2 and getting https to work to the server and installing your repository per the instructions at http://wiki.eprints.org/w/HTTPS Note: In our Apache configuration we have uncommented the "Include conf/extra/httpd-ssl.conf" line in our Apache httpd.conf file and have added our "Include /opt/eprints/archive/{archive}/var/auto-secure.conf" to the bottom of the Apache conf/extra/httpd-ssl.conf file just before the last Perform the following changes: 1.) Since generate_apacheconf does not have a way (currently) to include additional apache directives similar to {archive}/cfg/apachevhost.conf for the secure (HTTPS) side you have to modify the {archive}/var/auto-secure.conf file and place the following above the '' directive. Note: Keep in mind that re-running bin/generate_apacheconf will wipe out your auto-secure.conf changes so you might want to keep a backup copy handy to copy back in after you run it. <--BEGIN--> # Include this here, so that it's rules come first. Include /opt/eprints3/archives/{archive}/cfg/apachesecure.conf <--END--> 2.) Create the {archive}/cfg/apachesecure.conf file (copy it from {archive}/cfg/apachevhost.conf) and modify as needed. Here is what our apachesecure.conf looks like: <--BEGIN--> # # apachesecure.conf include file for {archive} # # If this file exists then it will not be over written by # the generate_apacheconf command. # # Directives in this file are interpreted inside the virtualhost # configuration for this repository. # ServerName {archive FQDN}:443 ServerAdmin {archive email address} TransferLog "|/usr/local/sbin/cronolog /usr/local/apache2/logs/{archive FQDN}/access-%m%Y.ssl.log" ErrorLog "|/usr/local/sbin/cronolog /usr/local/apache2/logs/{archive FQDN}/errors-%m%Y.ssl.log" <--END--> These directives will over ride some of the already predefined Apache directives from the conf/extra/httpd-ssl.conf file in the Apache installation to better reflect the archive as well as define the log files. (HTTP only Configuration) For those that just want to use Cronolog for their own web log file rotation (Non HTTPS) in Eprints here's our apachevhost.conf file (no modifications are needed besides altering this file): <--Begin--> # # apachevhost.conf include file for {archive} # # If this file exists then it will not be over written by # the generate_apacheconf command. # # Directives in this file are interpreted inside the virtualhost # configuration for this repository. # CustomLog "|/usr/local/sbin/cronolog /usr/local/apache2/logs/{archive FQDN}/access-%m%Y.log" combined ErrorLog "|/usr/local/sbin/cronolog /usr/local/apache2/logs/{archive FQDN}/errors-%m%Y.log" <--END--> In both the HTTPS and HTTP instances make sure you create the /usr/local/apache2/logs/{archive FQDN} directory before restarting the Apache web server so that the logs have somewhere to go. You can alter the log file output by modifying the parameters "%m%Y" to your taste - see here: http://cronolog.org/usage.html Once you restart Apache you should see a single cronolog processes running for each log file you defined while the web server is running. Development: There could be some minor modifications to the bin/generate_apacheconf to at least create the "apachesecure.conf" file in the {archive}/cfg directory and to include the reference to it in the auto-secure.conf file. I could try to make the changes and suggest them here, but I didn't want to do so unless the maintainers would be interested in these minor changes or if the changes may have already been included in future releases etc. The changes would probably include those similar to the following in generate_apacheconf etc. ## Changes to include apachesecure.conf at or about: my $vhostfile = $repository->get_conf( "config_path" )."/apachevhost.conf"; ## Include the same for apachesecure.conf at or about: unless( -e $vhostfile ) { print "Creating $vhostfile\n" if( $noise >= 2 ); open( CONF, ">$vhostfile" ) || die "Can't write to $vhostfile"; print CONF <