Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

1 Before we start

  • Tomcat runs as "www" by default and i found a bit easier to run dspace under "www" user too. If You decided to create "dspace" user then pay attention to filesystem permissions. Using "www" may not be good idea when server is accessible by any other user(s) than system administrator(s).
  • If You like to run dspace on port 80/443, you'll need Apache web server. Tomcat itself uses on ports somewhere  8000 ... 9000.
  • Since dspace does not come from ports, there's no exact or good place for it. Think something out. Solaris often uses "/opt" or "/export". You may create those mountpoints. I thougt that "/data" is fine to put most of dspace related stuff there. You can create mountpoint "/dspace" but i don't think it's a good idea to put dspace software directly to mointpoint. I's better to have dspace in some kind sub-directory (eg /mntpnt/dspace ). Also avoid construction like /dspace/dspace, which is just confusing.
  • I decided to create slices like that:

...

Panel

    <Connector port="8080" protocol="HTTP/1.1"
                maxThreads="150"
                minSpareThreads="25"
                maxSpareThreads="75"
                enableLookups="false"
                redirectPort="8443"
                acceptCount="100"
                connectionTimeout="20000"
                disableUploadTimeout="true"
                URIEncoding="UTF-8" />

Panel

    <!- - Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />

Once again i found more reasonable not to copy (or symlink) webapps to tomcat appBase dir as suggests dspace official documentation. Instead i'm changin tomcat appBase to point to dspace webapps. Also put tomcat logs with other www/apache logs. Original lines are commented out and my lines marked bold.

Panel

      <!-- <Host name="localhost"  appBase="webapps" - ->
      <Host name="localhost"  appBase="/data/dspace/webapps"
            unpackWARs="true" autoDeploy="true">
        <!-- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
                pattern="%h %l %u %t "%r" %s %b" /> -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/apache2"
               prefix="tomcat_access." suffix=".log"
               pattern="%h %l %u %t "%r" %s %b" />

...

Panel
Wiki Markup
*tcsh# egrep \-v "#\|"^$ /usr/local/etc/apache22/httpd.conf*
/*/
LoadModule rewrite_module libexec/apache22/mod_rewrite.so
LoadModule jk_module&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libexec/apache22/mod_jk.so
/*/
ErrorLog "/var/log/apache2/httpd-error.log"
/*/
&nbsp;&nbsp;&nbsp; CustomLog "\|/usr/local/sbin/rotatelogs \-l /var/log/apache2/httpd-access_%Y-%m-%d.log 86400" combined
/*/
Include etc/apache22/extra/httpd-mpm.conf
Include etc/apache22/extra/httpd-default.conf
Include etc/apache22/extra/httpd-ssl.conf
/*/
Include etc/apache22/Includes/*.conf
NameVirtualHost \*:80
<IfModule jk_module>
&nbsp;&nbsp; &nbsp;# relative path to /usr/local
&nbsp;&nbsp; &nbsp;JkWorkersFile etc/apache22/workers.properties
&nbsp;&nbsp; &nbsp;JkShmFile&nbsp; /var/run/jk-runtime-status
&nbsp;&nbsp; &nbsp;JkLogLevel error
&nbsp;&nbsp; &nbsp;JkLogFile&nbsp; /var/log/apache2/mod_jk.log
</IfModule>
<VirtualHost \*:80>
ServerName dspace.example.com
&nbsp;&nbsp; &nbsp;DocumentRoot /usr/local/www/apache22/data
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <IfModule jk_module>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;JkMount /xmlui localhost-worker
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;JkMount /xmlui/\* localhost-worker
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;JkMount /solr localhost-worker
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;JkMount /solr/\* localhost-worker
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;JkMount /oai localhost-worker
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;JkMount /oai/\* localhost-worker
&nbsp;&nbsp; &nbsp;</IfModule>
&nbsp;&nbsp; &nbsp;RewriteEngine On
&nbsp;&nbsp; &nbsp;RewriteRule \^/$ /xmlui/ \[PT\]
&nbsp;&nbsp; &nbsp;RewriteRule \^/$ /solr/ \[PT\]
&nbsp;&nbsp; &nbsp;RewriteRule \^/$ /oai/ \[PT\]
&nbsp;&nbsp; &nbsp;RewriteCond [http://%]

{HTTP_HOST}%{REQUEST_URI} (.*)-login(.*) \[OR\]
&nbsp;&nbsp; &nbsp;RewriteCond [http://%]

{HTTP_HOST}%{REQUEST_URI} (.*)/register(.*) \[OR\]
&nbsp;&nbsp; &nbsp;RewriteCond [http://%]

{HTTP_HOST}%{REQUEST_URI} (.*)/forgot(.*) &nbsp;
&nbsp;&nbsp; &nbsp;RewriteRule (.*) [https://%]

{HTTP_HOST}%{REQUEST_URI}
&nbsp;&nbsp; &nbsp;#
&nbsp;&nbsp; &nbsp;CustomLog "\|/usr/local/sbin/rotatelogs \-l /var/log/apache2/dspace.example.com-access-%Y-%m-%d.log 86400" combined
&nbsp;&nbsp; &nbsp;ErrorLog /var/log/apache2/dspace.example.com-error.log
</VirtualHost>

*tcsh# egrep \-v "#\|"^$ /usr/local/etc/apache22/extra/httpd-ssl.conf*
Listen 443
/*/
<VirtualHost \_default_:443>
ServerName dspace.example.com:443
ServerAdmin hostmaster@example.com
DocumentRoot "/usr/local/www/apache22/data"
<IfModule jk_module>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount /xmlui localhost-worker
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount /xmlui/\* localhost-worker
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount /solr localhost-worker
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount /solr/\* localhost-worker
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount /oai localhost-worker
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount /oai/\* localhost-worker
&nbsp;&nbsp; &nbsp;RewriteEngine On
&nbsp;&nbsp; &nbsp;RewriteRule \^/$ /xmlui/ \[PT\]
&nbsp;&nbsp; &nbsp;RewriteRule \^/$ /solr/ \[PT\]
&nbsp;&nbsp; &nbsp;RewriteRule \^/$ /oai/ \[PT\]
</IfModule>
ErrorLog "\|/usr/local/sbin/rotatelogs /var/log/apache2/https-error-%Y-%m-%d.log 5M"
TransferLog "\|/usr/local/sbin/rotatelogs /var/log/apache2/https-access-%Y-%m-%d.log 86400"
/*/
SSLCertificateFile "/usr/local/etc/apache22/certs/dspace.example.com.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/certs/dspace.example.com.key"
SSLCertificateChainFile "/usr/local/etc/apache22/certs/dspace-bundle.example.com.crt"
/*/
<Directory "/data/dspace/webapps/xmlui">
&nbsp;&nbsp;&nbsp; SSLOptions \+StdEnvVars \+ExportCertData
</Directory>

...