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 update
sudo 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 cgi
sudo a2enmod rewrite
sudo 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/ABCD
sudo 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/www
sudo 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/bases
sudo 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 ABCD
Listen 9090
<VirtualHost *:9090>
ServerAdmin webmaster@localhost
# Path to the ABCD web files
DocumentRoot "/opt/ABCD/www/htdocs"
<Directory "/opt/ABCD/www/htdocs">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
# Alias for the CGI scripts
ScriptAlias /cgi-bin/ "/opt/ABCD/www/cgi-bin/"
<Directory "/opt/ABCD/www/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AddHandler cgi-script .cgi .exe
Require all granted
</Directory>
# Alias for the databases directory
Alias /docs/ "/var/opt/ABCD/bases/"
<Directory "/var/opt/ABCD/bases/">
Options -Indexes
AllowOverride None
Require all granted
</Directory>
# Log files
ErrorLog ${APACHE_LOG_DIR}/abcd_error.log
CustomLog ${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.