======================================================================================================================== D O O R - Digital Open Object Repository README ======================================================================================================================== Here is a basic outline of the installation process: 0) Requirements DOOR is primarily developed in Linux using Apache, MySQL and PHP (also sometimes known as the LAMP platform) The requirements for DOOR are as follows: Web server software : most people use Apache, but DOOR should work fine under any web server that supports PHP, such as IIS on Windows platforms. PHP scripting language : version 5.x.x. ADODB : included in DOOR. A working database server : MySQL (version 4.x, 5.x) or others. DOOR has been tested only with MySQL. A shibboleth Service Provider (optional) : only if you are planning to support shibboleth authentication of DOOR If you want to run DOOR on your own computer and all this looks a bit daunting, then follow this guide: http://www.apachefriends.org/en/faq-xampp.html 1) About shibboleth Shibboleth is standards-based, open source middleware software which provides Web Single SignOn (SSO) across or within organizational boundaries. It allows sites to make informed authorization decisions for individual access of protected online resources in a privacy-preserving manner. To learn more about shibboleth please visit the following link: http://shibboleth.internet2.edu/ For a shibboleth Service Provider deployment guide we recommend the following site: http://www.switch.ch/aai/tech/ 2) Creating a database You need to create an empty database (eg "door") in your database system along with a special user (eg "dooruser") that has access to that database (and that database only). You could use the "root" user for a test server, but this is not recommended for a production system: if hackers manage to discover the password then your whole database system would be at risk, rather than just one database. If you are using a webhost, they will probably have a control panel web interface for you to create your database. The Cpanel system is one of the most popular of these. To create a database in Cpanel: 1. Click on the "MySQL Databases" icon. 2. Type "repository" in the database field and click "Add Database". 3. Type a username and password (not one you use elsewhere) in the respective fields and click "Add User". 4. Now use the "Add User to Database" button to give this new user account "ALL" rights to the new database. 5. Note that the username and database names may be prefixed by your Cpanel account name. When entering this information into the DOOR installer - use the full names. If you have access to Unix command lines then you can do the same sort of thing by typing commands. Here are some example Unix command lines: # mysql -u root -p > CREATE DATABASE door; > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON repository.* TO dooruser@localhost IDENTIFIED BY 'yourpassword'; > quit # mysqladmin -p reload 3) Download and copy files into place DOOR is provided as a compressed package. You can find the package on the download page: http://door.sourceforge.net/#Download After downloading and unpacking the archive you will find a directory called "door", containing a number of files and folders. You can either place the whole folder in your web server documents directory, in which case the site will be located at http://yourwebserver.com/door, or you can copy all the contents straight into the main web server documents directory, in which case the site will be simply http://yourwebserver.com. If you are downloading DOOR to your local computer and then uploading it to your web site, it is usually better to upload the whole archive as one file, and then do the unpacking on the server. Even web hosting interfaces like Cpanel allow you to uncompress archives in the "File Manager". 4) 4a) Site structure You can safely skip this section, but here is a quick summary of the contents of the DOOR folder, to help get you oriented: admin/ - contains pages available only for users who belong to the admin category auth/ - contains the authentications systems supported by door config/ - contains the configuration file css/ - contains the stylesheets home/ - contains pages related to the home section images/ - contains the images used in the site javascript - contains js files lang/ - contains languages files lib/ - contains the library that manage errors, communication with the database and management of uploaded files moodle/ - contains files for the binding with moodle navigation/ - contains header & footer of pages oai2/ - OAIDP module (support for metadata harvesting) search/ - contains pages related to the search section setup/ - contains pages for web installation procedure statistics/ - contains pages related to the statistics section tree/ - contains the pages related to the browse section and those that manage the tree. README.txt - this file favicon.ico - DOOR icon file.php - this script is able to load file from the upload directory for display purpose index.php - first file reached setup.php - this file start the session, include the libraries, ... and it's included in the application scripts 4b) DOOR data directory structure For security reasons the DOOR data directory must be placed out of the web server and MUST be writable by the web server process. It's content (automatically generated by DOOR) is listed and explained below: door_data/ - tmp/ - temporary file (MOODLE <-> DOOR) - tree_cfg/ - tree files - uploads/ - upload directory Please create the DOOR data directory. 5) Last step To end the installation you can choose between WEB INSTALLATION and MANUAL INSTALLATION 5a) WEB INSTALLATION Visit your new home page with a web browser. DOOR will lead you through the rest of the setup, creating the configuration file, rebuilding the database from its dump and creating an admin account. 5b) MANUAL INSTALLATION DOOR is distributed under the GPL license, then read the file setup/gpl.txt and agree with it. Copy the file config/config.php.example to config/config.php, and edit it with all your own settings. Rebuild the database using the dump file setup/door.sql, add the user 'admin' in the table logi_user. Note that the administrator ('admin', the one created during the setup) can modify the config.php from inside DOOR. 6) Shibboleth authentication DOOR supports both local and shibboleth authentications. If you want to enable the shibboleth ones you just have to update the configuration file (manually or through the web). To restrict access only to certain users modify the file auth/shibboleth/.htaccess. For examples please visit the following link: https://aai-wiki.switch.ch/bin/view/AAIResources/ProtectWebResources By default every valid shibboleth user is accepted. 7) Max file size Please note that the maximum size for files to be uploaded is limited from the configuration file of the web server (usually less than 2 MB). To upload larger files please change the values for 'memory_limit' and 'upload_max_filesize'. 8) Known bugs - mime_content_type() function seems not to be supported in windows. 9) Bugs report To report bugs use the bug tracker on sourceforge. 10) Update DOOR 11a) BACKUP EVERYTHING (DB + FILES) 11b) Use the interface provided (DOOR_URL/setup/door_updater.php) This interface support the update from version 1.6.X to 1.7 and from version 1.7.X to 1.8. Update from 1.6.X to 1.8.X is quite simple, just do both steps (1.6.X to 1.7 and 1.7.X to 1.8). 11) Next features - Concurrency management - Support for the other IMS standards. The eLab Team ========================================================================================================================