- Installation
- ============
-
- Install mysql [not necessary if connecting to a remote MySQL server].
-
- % fink install mysql
- % sudo daemonic enable mysql
-
-
- Install Apache [with SSL if required]. OR: just use the built-in Apache
- (1.3.3), as it seems to just work out of the box with this (with
- mod_perl 1.x).
-
- % fink install apache2[-ssl]
- % sudo daemonic enable apache2
-
-
- Perl 5.8.1 (10.3) or 5.8.6 (10.4) should already be there.
-
-
- Install the latest version of the Perl CGI package (need at least 3.08
- for mod_perl 2).
-
-
- Install mod_perl 2 [note mod_perl 1 is already included with the
- built-in Apache 1.3]. No Fink package), so must install manually. This
- includes the Apache and Apache2 Perl modules required by ePrints.
- Presumably it will build to whatever the current system version of Perl
- is.
-
- % perl Makefile.PL MP_APXS=/sw/sbin/apxs
- % make
- % make test
- % sudo make install
-
-
- Install required Perl modules.
-
- % fink install data-showtable-pm [Data::ShowTable]
- % fink install dbi-pm58x [DBI]
- % fink install dbd-mysql-pm58x [DBD::MySQL]
- % fink install mime-base64-pm58x [MIME:Base64]
- % fink install unicode-string-pm58x [Unicode::String]
- % fink install xml-parser-pm58x [XML::Parser]
-
- Msql-Mysql Module: It appears that this is actually the DBD::MySQL
- module. Apparently this requires access to .h and library files from
- MySQL.
-
- Maybe (but probably not) CGI, Carp, Cwd, Data::Dumper, Digest::MD5,
- File::Basename, File::Copy, File::Find, File::Path, Getopt::Long,
- Pod::Usage, Sys::Hostname
-
- Probably worth installing the most recent version of the CGI module,
- as it fixes a known forms problem with Apache 2 [not necessary for
- Apache 1 unless you have a really old version]. Can't install with
- Fink as it only lists it as a virtual package. Install manually with
- cpan instead.
-
- Install XML::GDOME if required. Leave this for now as it's easier to
- set up without it. It needs XML-LibXML-Common, XML-NamespaceSupport,
- XML-GDOME. Download from http://gdome2.cs.unibo.it/#downloads.
-
-
- Install miscellaneous utilities (if necessary) [note these are only
- needed for compressed file uploads and snarfing documents from URLs ---
- I think both features can be turned off].
-
- % fink install wget
-
- Tar, gunzip and unzip are all base Fink packages and thus available
- by default.
-
-
- Install tools for full-text indexing (if necessary).
-
- % fink install xpdf [for pdftotext]
- % fink install lynx
- % fink install wv2 [= wvware]
-
-
- Install LaTeX support tools (if necessary).
-
- % fink install tetex [for latex, dvips]
- % fink install imagemagick [for convert]
-
-
- Install ePrints.
-
- % sudo mkdir /Library/Perl/5.8.x/darwin-thread-multi-2level
- [if it doesn't already exist]
-
- % cd /usr/include
- % sudo /usr/bin/h2ph * */* [to set up free space checking]
- [this will probably eventually become (??)
- /usr/bin/h2ph -d /sw/lib/perl5/5.8.1/darwin * */*]
-
- % pushd bin; sed -i -e "s/deny, allow/deny,allow/g" generate_apacheconf; chmod 755 generate_apacheconf; popd
- [Apache treats "deny, allow" as two separate arguments and complains]
-
- EPrints needs to be installed as the same user as the apache
- webserver runs as. We suggest you install it as user "eprints" and
- group "eprints". Apache will need to be reconfigured to run as this
- user if so. I won't bother for the quick and dirty test --- I'll
- just run ePrints as "www/www".
-
- % ./configure --prefix=/usr/local/eprints --with-user=www --with-group=www --with-apache=2 --with-smtp-server=whatever
- % sudo ./install.pl
-
-
- Setup
- =====
-
- Start and configure MySQL.
-
- % sudo /Library/StartupItems/daemonic-mysql/daemonic-mysql start
- % mysql -u root
-
- Set root passwords. It appears that you need to use the old password
- model for compatibility with the current version of DBI::MySQL.
- Without old password format, you can't connect to the database
- ("Client does not support authentication protocol").
-
- mysql> SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('bl@rgh');
- mysql> SET PASSWORD FOR 'root'@'ou075110.otago.ac.nz' = OLD_PASSWORD('bl@rgh');
-
- Remove anonymous accounts.
-
- mysql> DELETE FROM mysql.user WHERE User = '';
- mysql> FLUSH PRIVILEGES;
-
-
- Configure ePrints.
-
- % sudo -s -u www
- % cd /usr/local/eprints
- % ./bin/configure_archive
-
- Doesn't seem to like unusual characters in the database password.
- (barnacle)
-
- % ./bin/generate_apacheconf
- % ./bin/create_tables archive_test_1
-
- % ./bin/import_subjects archive_test_1
- - If you do not specify the subjects file name then the system will
- use "subjects" from the given archive's cfg directory.
- - Must answer "yes" in full to continuation prompt.
-
- % ./bin/generate_static archive_test_1
- % ./bin/create_user archive_test_1 admin nstanger@infoscience.otago.ac.nz admin blobby
- % ./bin/generate_views archive_test_1
- % ./bin/generate_abstracts archive_test_1
-
- % ./bin/indexer start
- [starts up the indexer daemon, otherwise no indexes are built!]
-
-
- Configure and (re)start Apache.
-
- Add to httpd.conf:
- User www [should be this already]
- Group www [should be this already]
- LoadModule perl_module /sw/lib/apache2/modules/mod_perl.so
- PerlHeaderParserHandler "sub { tie *STDOUT, 'Apache' unless tied *STDOUT; }"
- Include /usr/local/eprints/cfg/apache.conf
- [For Apache 1.3:
- LoadModule perl_module libexec/httpd/libperl.so
- AddModule mod_perl.c
- ]
-
- % sudo apachectl stop [/usr/sbin/apachectl for Apache 1.3]
- % sudo apachectl start [note: restart doesn't reload the configs!]
-
-
- Maintaining the system
- ======================
-
- - bin/indexer must be running in the background for searching to work.
- - must run bin/generate_views periodically to rebuild the browse view pages.
-
-
- Advanced configuration
- ======================
-
- You can configure the archive to run on a different domain on the
- same machine, while leaving the "primary" domain intact.
-
- In httpd.conf:
-
- - uncomment "NameVirtualHost *:80"
- - add:
- <VirtualHost *:80>
- ServerName primary1.domain.name
- ServerName primary2.domain.name
- ServerAdmin admin@primary.domain.name
- </VirtualHost>
-
- In archive config XML file:
-
- <host>archive.domain.name</host>
- <adminemail>archive-admin@archive.domain.name</adminemail>
-
- Then ./bin/generate_apacheconf and restart Apache.
-
- You can also run on a different port to make things easier.
- (Remember to enable the Port and Listen directives in httpd.conf
- appropriately, and to let the ports through the firewall if
- necessary.)
-
- Much better, here are actual instructions!
- <http://wiki.eprints.org/w/EPrints2/EPrintsSetupUnderVirtualDirectoriesOtherThanRoot>
-
-
- Appearance
- ==========
-
- Note for dynamically generated pages: they don't seem to handle XHTML
- comments properly, adding an extra unnecessary layer of <!-- --> around
- them, which makes the pages display weirdly. Better not to have any
- comments :)
-
- If you change any of the templates (especially the top-level site template),
- you will need to generate_static, generate_abstracts, generate_views and
- possibly force_config_reload (or better, restart Apache).
-
- ARCHIVE/cfg/template-en.xml global page template (customise header & footer)
- ARCHIVE/cfg/static/en/* individual static page templates (e.g., info page)
- ARCHIVE/cfg/general/* CSS templates and standard images
-
- If you want to get a list of the latest items added on the front page,
- turn on SSI in httpd.conf then turn on Includes and XBitHack in
- ARCHIVE/cfg/apache.conf.
-
- httpd.conf:
- uncomment "AddType text/html .shtml" and "AddHandler server-parsed .shtml"
- ensure that mod_include is enabled
-
- ARCHIVE/cfg/apache.conf: add
- <Directory "/usr/local/eprints/archives/ARCHIVEID/html">
- Options +Includes
- XBitHack on
- </Directory>
-
- Finally (fortunately permissions seem to be preserved when the HTML
- verison is generated):
- % chmod +x ARCHIVE/cfg/static/en/index.xpage
-
-
- Security
- ========
-
- The most obvious way to set up a repository where only certain people can
- see the contents is to create a separate private repository on a different port,
- with no public registration.
-
- Creating new user types appears to involve adding stuff to
- metadata-types.xml, phrases-en.xml and ArchiveConfig.pm.