Linux Installation Guide (Ubuntu/Debian)
This guide describes the ABCD installation and configuration process on a Linux server, using a recent version of Ubuntu or Debian as a base. This updated guide uses the recommended installation method by downloading the source code package from GitHub.
Step 1: Server Preparation
-
Connect to your server via SSH or a local terminal with administrator permissions (root or sudo).
-
Update the system packages:
sudo apt-get updatesudo apt-get upgrade -y
Step 2: Install Dependencies
-
Install Apache, PHP, and required extensions. This guide uses PHP 8.1. These modules are essential for the web server, CGI script execution, and specific functionalities like image processing and XML manipulation. While some documentation refers to PHP 7.4.x, this guide has been updated for a more modern environment.
sudo apt-get install -y apache2 php8.1 libapache2-mod-php8.1 php8.1-mbstring php8.1-gd php8.1-xml php8.1-xsl php8.1-zip curl unzipNote: If
php8.1is not available in your default repositories, you may need to add a third-party repository likeppa:ondrej/phpfor Ubuntu. -
Enable necessary Apache modules:
sudo a2enmod cgisudo a2enmod rewritesudo systemctl restart apache2
Step 3: Install ABCD
-
Download the latest ABCD release from the official GitHub repository. Go to the ABCD Releases page and copy the link for the latest
v2.3.0.zipfile. -
Download the file to your server. Use
wgetwith the copied link. For example:wget https://github.com/ABCD-DEVCOM/ABCD/archive/refs/tags/v2.3.0.zip -
Create the installation directory and unzip the package. The recommended path for the web files is
/opt/ABCD/www.sudo mkdir -p /opt/ABCDsudo unzip v2.3.0.zip -d /opt/ABCD/ -
Set the correct permissions. The web server user (commonly
www-dataon Debian/Ubuntu) needs to own the files.sudo chown -R www-data:www-data /opt/ABCD/wwwsudo chmod -R 755 /opt/ABCD/www -
Create the databases directory. This directory stores the ABCD databases and should be located at
/var/opt/ABCD/bases.sudo mkdir -p /var/opt/ABCD/basessudo chown -R www-data:www-data /var/opt/ABCD/bases
Step 4: Configure Apache Virtual Host
-
Create a new Virtual Host configuration file for ABCD.
sudo nano /etc/apache2/sites-available/abcd.conf -
Paste the following content into the file. This configuration, adapted from the official example, sets up ABCD to be accessible, for instance, on port 9090.
# Listen on port 9090 for ABCDListen 9090<VirtualHost *:9090>ServerAdmin webmaster@localhost# Path to the ABCD web filesDocumentRoot "/opt/ABCD/www/htdocs"<Directory "/opt/ABCD/www/htdocs">Options Indexes FollowSymLinks MultiViewsAllowOverride AllRequire all granted</Directory># Alias for the CGI scriptsScriptAlias /cgi-bin/ "/opt/ABCD/www/cgi-bin/"<Directory "/opt/ABCD/www/cgi-bin/">AllowOverride NoneOptions +ExecCGI -MultiViews +SymLinksIfOwnerMatchAddHandler cgi-script .cgi .exeRequire all granted</Directory># Alias for the databases directoryAlias /docs/ "/var/opt/ABCD/bases/"<Directory "/var/opt/ABCD/bases/">Options -IndexesAllowOverride NoneRequire all granted</Directory># Log filesErrorLog ${APACHE_LOG_DIR}/abcd_error.logCustomLog ${APACHE_LOG_DIR}/abcd_access.log combined</VirtualHost> -
Enable the new site configuration:
sudo a2ensite abcd.conf -
Restart the Apache service to apply all changes:
sudo systemctl restart apache2
Your ABCD installation should now be accessible at http://your_server_ip:9090. The default login for the central module is username abcd and password adm.