May 19, 2022 at 1:30 am #4753rogercguiParticipant
The ABCD code runs on Windows and Linux flavors. The source code is equal for both OS variants, except for some small differences.
ABCD requires several other components for its operations. Component CISIS (the database kernel software used by ABCD) is distributed with ABCD.
Some integrated components are also distributed with ABCD.
Other components are indicated as prerequisites and not distributed with ABCD.
Module EmpWeb (advanced loans module) has a completely different technology, it is put outside the ABCD-www folder and needs to be configured according to the instructions in its own manual.
### Always required
– A webserver. ABCD is tested with an Apache web server.
In order to minimize security problems the latest version is recommended. ABCD requires for a minimal installation at least
mod_cgi: To allow execution of CGI scripts
mod_rewrite: To allow rewrite rules in the
– A PHP processor. The unicode implementation of ABCD requires PHP 7.4.x.
The default loaded extensions depend on the actual PHP processor. ABCD requires for a minimal installation at least
mbstring: Multibyte support. To enable unicode.
gd2: Image functions. The name depends on the PHP implementation
### Optional requirements
– Web server extensions
mod_ssl: Enables certificates and the https protocol
– PHP Extensions
curl: Required if
DSpace bridgeis used (to download records from DSpace repositories)
ldap: Required if login with LDAP is used
xmlrpc: Required if Site is used
xsl: Required if Site is used
yaz: Required if
Z39.50client is used (to download records via the Z39.50 communication protocol)
– Apache Tika. This content analysis toolkit is required by the Digital Document functionality in ABCD.
ABCD uses the archive
javato execute this jar.
tikaarchive from https://tika.apache.org/download.html
The preparation phase ensures that a web server and PHP with the desired [prerequisites](#Prerequisites) are installed. This chapter adresses some attention points specifically for of ABCD.
Multiple solutions exist to fullfill these functions ( native, XAMPP, WAMP, EasyPHP,…). Due to the many solutions and options of these solutions it is required to read the solution documentation carefully. This guide gives only minimal directives.
Good to know:
– Integrated solutions offer multiple functions. ABCD requires only the web server and PHP
– The firewall requires attention for the ABCD ports
### Check the web server and PHP
Ensure that the webserver and PHP are installed correctly and that PHP has the required extensions
### Download ABCD
The code for ABCD contains example configuration files for the webserver.
All code for ABCD is located in [GitHub ABCD-DEVCOM / ABCD2](https://github.com/ABCD-DEVCOM/ABCD2)
This repository contains shared code for Linux AND Windows and data specific for Linux OR Windows.
The downloads contains all components.
1. Select option **Releases** on the right side of the window
2. Scroll to the desired release and select **Assets**
3. Select Source code (zip) or Source code (tar.gz)
### Unpack downloaded archive
Use your favorite utility (zip/7zip/tar/…) to unpack the downloaded file. The folder structure
<Release_name> –+– www ———-+– bases-examples_Linux
### Virtual host file
The webserver serves an ABCD installation with a virtual configuration. With this technique multiple, completely different installations are possible.
The example virtual host configuration files for [Linux](vhost_ABCD_9090_Linux.conf) and [Windows](vhost_ABCD_9090_Windows.conf)
contain the values for a default ABCD installation.
– These example files are located in
<Release_name> --+-- zz_installation
– These files are example files. MUST be examined and updated to serve your needs and match the actual webserver.
– The virtual host file determines the protocol, port and server name for the ABCD installation.
– The port number is picked up by the ABCD installation
– The protocol (**http**/**https**) is picked up by the ABCD installation
– The **https** protocol is recommended. Take care of a certificate. To enable https: uncomment the lines with parameter names **SSL\***
– The virtual host file determines the locations for the ABCD components. The defaults are different for Linux and Windows.
The webserver adresses these folders with parameters:
– **DocumentRoot** : folder with ABCD PHP-scripts
– **ScriptAlias cgi-bin** : folder with executable files (e.g. CISIS, jar’s,…)
– **Alias docs** : folder with database folders
– The example virtual host file specifies a specific location for the logs of this virtual host. Must be an existing folder ! Create it if it does not exist.
– The example virtual host file contains common PHP flags
### Virtual host file installation
– Copy the example file to the webserver configuration. The file name can be arbitrarily chosen.
– WAMP →
– XAMPP →
– native Ubuntu →
– The existence of the file must be made known to the server. Method depends on the installed webserver solution
– XAMPP → edit
– native Ubuntu →
sudo a2ensite vhost_ABCD_9090_Linux.conf
– Check configuration
– XAMPP → Start service and check log files
– native Ubuntu →
sudo apachectl -S/
sudo apachectl -t -D DUMP_MODULES/
sudo systemctl start apache2
# Install ABCD
### Preprocess the downloaded folders
The ABCD code is downloaded in the preparation phase.
Note the different actions for Windows and Linux platforms.
bases-examples_Linux # Linux users: Rename to “bases”. Windows users: Delete
bases-examples_Windows # Windows users: Rename to “bases”. Linux users: Delete
cgi-bin_Linux # Linux users: Rename to “cgi-bin”. Windows users: Delete
cgi-bin_Windows # Windows users: Rename to “cgi-bin”. Linux users: Delete
extra # Contains c-source code: Delete
htdocs # Contains ABCD
zz_installation # Contains this file, the “virtual host example files”, and related files: Delete after installation
zz_miscellaneous # Only used by developers: Delete
The resulting set is:
bases # Folder with example databases
cgi-bin # Folder with executable programs
htdocs # Contains ABCD
### Copy to the web server
The virtual host file specifies the folder names for the ABCD installation.
1. Copy the content of **htdocs** to the folder specified by parameter **DocumentRoot**
2. Copy the content of **cgi-bin** to the folder specified by parameter **ScriptAlias**
3. Copy the content of **bases** to the folder specified by parameter **docs**
4. If the Digital Document feature is used: Copy the downloaded tika jar to the folder specified by parameter **ScriptAlias**
5. For Linux installations
– Change ownership of the folders to the owner/group of the webserver (
chown -R ...)
– Change protection of the folders to correct values (
chmod -R ...)
6. Restart the webserver/web server service
Start your favourite web browser and run ABCD with following URL’s.
https://localhost:9090/phpinfo: Show information about PHP settings and extensions
https://localhost:9090: The central module. Login username
https://localhost:9090/iah: The iAH module. Login username
https://localhost:9090/site: The SITE module. No login
https://localhost:9090/site/admin: The SITE module. Login username
https://localhost:9090/opac: The OPAC module. No login
Recommendation: Modify the passwords of the administrative users to avoid unexpected logins with too much privileges
- You must be logged in to reply to this topic.