DebianDebian Based

How To Install webERP on Debian 13

Install webERP on Debian 13

Managing business operations efficiently requires robust enterprise resource planning (ERP) software. webERP stands out as a powerful, open-source accounting and business management system designed specifically for small and medium enterprises. This comprehensive guide walks through the complete installation process of webERP on Debian 13, ensuring your business has access to professional-grade financial management tools without the hefty licensing fees of proprietary solutions.

webERP provides a web-based interface that enables multi-user access from anywhere with an internet connection. The system handles everything from general ledger operations to inventory management, purchase orders, and sales analysis. Installing webERP on Debian 13 gives your organization a stable, secure foundation for critical business processes. This tutorial covers all necessary steps, from initial system preparation through final security configuration, providing detailed commands and troubleshooting guidance to ensure successful deployment.

What is webERP?

webERP represents a complete business management solution built on open-source principles. The application runs entirely through a web browser, eliminating the need for desktop client installations on every workstation. This architecture makes webERP particularly suitable for distributed teams and remote work environments.

The system evolved from earlier accounting packages to become a comprehensive ERP solution. Organizations worldwide deploy webERP to manage financial operations, track inventory levels, process customer orders, and generate business intelligence reports. The active development community continuously enhances features and maintains compatibility with modern web technologies.

Small to medium enterprises benefit most from webERP’s balanced feature set. The software provides enterprise-level functionality without overwhelming complexity. Companies transitioning from spreadsheet-based accounting or upgrading from basic bookkeeping software find webERP offers substantial improvements in workflow efficiency and reporting capabilities.

Key Features of webERP

The general ledger module forms the core of webERP’s accounting functionality. Financial transactions automatically update relevant accounts, maintaining accurate balance sheets and income statements. The system supports multiple fiscal periods, enabling year-end processing while maintaining access to current transactions.

Inventory management capabilities track stock levels across multiple warehouse locations. The system monitors reorder points and generates purchase requisitions automatically. Manufacturing operations benefit from bill of materials (BOM) support and work order tracking. Sales orders integrate with inventory to reserve stock and trigger fulfillment processes.

Multi-currency support enables international operations. Exchange rates update automatically or manually, ensuring accurate financial reporting across different monetary systems. The interface supports multiple languages, making webERP accessible to diverse workforces.

User access controls provide granular security. Administrators assign specific permissions to each user account, restricting access to sensitive financial data. The audit trail functionality logs all transactions, supporting compliance requirements and internal controls.

System Requirements and Prerequisites

Hardware Requirements

Adequate server resources ensure smooth webERP operation. Minimum RAM requirements start at 1 GB, though 2 GB or more provides better performance for multiple concurrent users. A dual-core processor handles typical small business workloads effectively. Storage needs vary based on transaction volume and retention periods, but allocating at least 20 GB ensures sufficient space for the application, database, and log files.

Network connectivity requirements depend on deployment architecture. Local installations on a LAN need standard ethernet speeds. Cloud-hosted or remotely accessed installations benefit from higher bandwidth connections to maintain responsive user interfaces.

Software Requirements

Debian 13 (codenamed Trixie) provides the operating system foundation. A fresh installation simplifies the setup process by avoiding conflicts with existing software configurations. The system requires a complete LAMP stack: Linux, Apache, MySQL (or MariaDB), and PHP.

PHP version 8.x delivers the best performance and security updates. Several PHP extensions are mandatory: php-curl handles HTTP requests, php-gd processes graphics, php-mbstring manages multi-byte character encoding, php-mysql provides database connectivity, php-xml parses XML data, and php-zip handles compressed files. These extensions enable all webERP features to function correctly.

Apache web server version 2.4 serves webERP pages to users. The modular Apache architecture allows enabling only necessary modules, reducing attack surface. MariaDB database server stores all webERP data. This MySQL fork provides enhanced performance while maintaining complete compatibility with MySQL commands and syntax.

User Permissions

Administrative access to the Debian 13 server is essential. Either direct root login or a user account with sudo privileges enables executing system commands. SSH access allows remote server management. An active internet connection facilitates downloading packages from Debian repositories and obtaining the webERP installation files.

Step 1: Update System Packages

Beginning with an updated system prevents compatibility issues and security vulnerabilities. Package managers maintain databases of available software versions. Refreshing these databases ensures the latest versions install.

Connect to your Debian 13 server via SSH or access the terminal directly. Execute the following command to update package lists:

sudo apt update

This command contacts Debian repositories and downloads current package information. Next, upgrade all installed packages to their latest versions:

sudo apt upgrade -y

The -y flag automatically confirms the upgrade process. Review the list of packages being upgraded. Critical system updates occasionally require a reboot. Check if a restart is necessary:

sudo apt dist-upgrade -y

This command handles dependency changes intelligently. If kernel updates occurred, reboot the server:

sudo reboot

Wait for the system to restart completely before proceeding with the installation.

Step 2: Install LAMP Stack

Installing Apache Web Server

Apache serves as the web server platform for webERP. Install Apache with this command:

sudo apt install apache2 -y

The installation process configures Apache with sensible defaults. Start the Apache service and enable it to launch automatically at boot:

sudo systemctl start apache2
sudo systemctl enable apache2

Verify Apache runs correctly by checking its status:

sudo systemctl status apache2

The output should indicate “active (running)” status. Test Apache by accessing the server’s IP address in a web browser. The default Apache welcome page confirms successful installation.

Configure the firewall to allow HTTP and HTTPS traffic:

sudo ufw allow 'Apache Full'
sudo ufw enable

This ensures users can access webERP through standard web ports.

Installing MariaDB Database Server

MariaDB stores all webERP data. Install the MariaDB server package:

sudo apt install mariadb-server -y

Start and enable the MariaDB service:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Secure the MariaDB installation by running the security script:

sudo mysql_secure_installation

This interactive script prompts for several security configurations. Press Enter when asked for the current root password (none exists initially). Choose to set a root password and create a strong, unique password. Answer “Y” to remove anonymous users, disallow remote root login, remove test databases, and reload privilege tables.

Installing PHP and Required Extensions

PHP processes webERP’s server-side logic. Install PHP and all necessary extensions with a single command:

sudo apt install php php-mysql php-curl php-gd php-mbstring php-xml php-zip libapache2-mod-php -y

This installs PHP along with the Apache PHP module and required extensions. Verify the PHP installation:

php -v

The output displays the installed PHP version, confirming successful installation. Restart Apache to load the PHP module:

sudo systemctl restart apache2

Create a test PHP file to verify PHP processes correctly:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Access this file through your browser at http://your-server-ip/info.php. The PHP information page confirms PHP integration with Apache. Remove this test file afterward for security:

sudo rm /var/www/html/info.php

Step 3: Configure MariaDB for webERP

webERP requires a dedicated database and user account. Log into the MariaDB shell:

sudo mysql -u root -p

Enter the root password set during the security configuration. Create a database specifically for webERP:

CREATE DATABASE weberp;

This command creates an empty database named “weberp”. Create a dedicated database user:

CREATE USER 'weberpuser'@'localhost' IDENTIFIED BY 'your_strong_password';

Replace your_strong_password with a secure password containing uppercase letters, lowercase letters, numbers, and special characters. Grant the new user all privileges on the webERP database:

GRANT ALL PRIVILEGES ON weberp.* TO 'weberpuser'@'localhost';

This provides the webERP user complete control over the weberp database. Flush privileges to apply the changes immediately:

FLUSH PRIVILEGES;

Exit the MariaDB shell:

EXIT;

Record the database name, username, and password. These credentials are required during the webERP installation wizard.

Step 4: Download and Install webERP

Navigate to the web server’s document root directory:

cd /var/www/html

Download the latest webERP version from the official SourceForge repository:

sudo wget https://sourceforge.net/projects/web-erp/files/webERP_4.15.2.zip

Adjust the version number to match the current release. Extract the downloaded archive:

sudo unzip webERP_4.15.2.zip

This creates a “webERP” directory containing all application files. Remove the zip file to conserve space:

sudo rm webERP_4.15.2.zip

Set appropriate permissions on the webERP directory. The Apache web server runs under the www-data user account. Change ownership:

sudo chown -R www-data:www-data /var/www/html/webERP

Set directory and file permissions:

sudo chmod -R 755 /var/www/html/webERP

These permissions allow Apache to read and execute files while preventing unauthorized modifications. Specific configuration files may require write permissions, which the installation wizard will indicate.

Step 5: Configure Apache Virtual Host

Virtual hosts enable Apache to serve multiple websites from a single server. Create a new virtual host configuration file for webERP:

sudo nano /etc/apache2/sites-available/weberp.conf

Add the following configuration, adjusting the ServerName to match your domain or IP address:

<VirtualHost *:80>
    ServerAdmin admin@yourdomain.com
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/html/webERP
    
    <Directory /var/www/html/webERP>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/weberp_error.log
    CustomLog ${APACHE_LOG_DIR}/weberp_access.log combined
</VirtualHost>

This configuration directs Apache to serve webERP from the correct directory. Save and close the file. Enable the Apache rewrite module, which webERP uses for clean URLs:

sudo a2enmod rewrite

Enable the new virtual host configuration:

sudo a2ensite weberp.conf

Disable the default Apache site to prevent conflicts:

sudo a2dissite 000-default.conf

Test the Apache configuration syntax for errors:

sudo apache2ctl configtest

The output should show “Syntax OK”. Restart Apache to apply all changes:

sudo systemctl restart apache2

Step 6: Complete webERP Web-Based Installation

Open a web browser and navigate to your server’s domain or IP address. The webERP installation wizard launches automatically on first access. The welcome screen explains the installation process.

Install webERP on Debian 13

The database configuration page requires the credentials created earlier. Enter the following information:

  • Database Host: localhost
  • Database Name: weberp
  • Database Username: weberpuser
  • Database Password: [your password]

Click “Submit Database Information” to proceed. The installer validates the database connection. Successful validation advances to the next step.

The company configuration page requests business details. Enter your company name, address, and contact information. Set the default currency and select your country. These settings affect reporting formats and tax calculations.

Create the administrative user account. Choose a unique username and strong password. This account has full system access, so secure credentials are essential. Provide an email address for password recovery and system notifications.

Review the configuration summary. The wizard creates necessary database tables and inserts initial configuration data. This process takes several minutes. Upon completion, a success message displays with a link to the login page.

Remove or secure the installation directory to prevent unauthorized access:

sudo rm -rf /var/www/html/webERP/install

Step 7: Secure webERP Installation

SSL/TLS Configuration

Encrypted communications protect sensitive financial data. Install Certbot for automated SSL certificate management:

sudo apt install certbot python3-certbot-apache -y

Obtain an SSL certificate from Let’s Encrypt:

sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

Follow the prompts to enter an email address and agree to the terms of service. Certbot automatically configures Apache for HTTPS and sets up certificate renewal. Test automatic renewal:

sudo certbot renew --dry-run

Successful test output confirms certificates will renew automatically before expiration.

Additional Security Measures

Set restrictive permissions on the configuration file containing database credentials:

sudo chmod 640 /var/www/html/webERP/config.php

This prevents unauthorized users from reading sensitive information. Disable directory listing in Apache by editing the virtual host configuration. Change Options Indexes FollowSymLinks to Options FollowSymLinks.

Configure PHP security settings by editing the PHP configuration file:

sudo nano /etc/php/8.2/apache2/php.ini

Modify these settings:

expose_php = Off
display_errors = Off
log_errors = On
allow_url_fopen = Off

These changes reduce information leakage and potential attack vectors. Restart Apache to apply PHP configuration changes:

sudo systemctl restart apache2

Implement regular backup procedures. Use mysqldump to backup the webERP database:

sudo mysqldump -u root -p weberp > weberp_backup_$(date +%Y%m%d).sql

Automate this command with cron jobs for consistent backup schedules.

Step 8: Post-Installation Configuration

Log into webERP using the administrative credentials created during installation. The dashboard presents an overview of system status. Navigate to Setup > Company Preferences to configure core business settings.

Set fiscal periods matching your accounting year. Define the number of periods (typically 12 for monthly accounting). Specify the date range for each period. These settings affect financial reporting and transaction posting.

Create user accounts for employees accessing the system. Navigate to Setup > User Accounts. Assign appropriate security permissions to each user. Limit access to sensitive functions like financial reporting and system configuration. The granular permission system ensures users access only necessary features.

Configure email settings to enable notification features. Enter SMTP server details, port numbers, and authentication credentials. Test email functionality by sending a test message. Automated notifications improve workflow efficiency for approval processes and exception reporting.

Define inventory locations if tracking stock across multiple warehouses. Navigate to Setup > Inventory Locations. Add each physical location with identifying codes and descriptions. Assign locations to specific users or departments.

Set up tax codes and rates applicable to your jurisdiction. Navigate to Setup > Tax Groups. Define tax authorities, rates, and calculation methods. Accurate tax configuration ensures compliant invoicing and financial reporting.

Customize the interface with your company logo and color scheme. Upload a logo file through Setup > Company Preferences. Branding creates a professional appearance for customer-facing documents like invoices and purchase orders.

Common Troubleshooting Issues

Database Connection Errors

Failed database connections prevent webERP from functioning. Verify the MariaDB service runs correctly:

sudo systemctl status mariadb

If stopped, start the service:

sudo systemctl start mariadb

Check database credentials in the config.php file. Ensure the username, password, and database name match the values set during database configuration. Test database connectivity from the command line:

mysql -u weberpuser -p weberp

Successful login confirms credentials work correctly. Connection failures may indicate firewall issues if the database server is remote. Verify port 3306 accessibility.

Permission Errors

File permission errors appear when Apache cannot read or write necessary files. Reset webERP directory permissions:

sudo chown -R www-data:www-data /var/www/html/webERP
sudo chmod -R 755 /var/www/html/webERP

Certain directories require write permissions. Check the companies directory:

sudo chmod -R 775 /var/www/html/webERP/companies

SELinux on some systems enforces additional restrictions. Check SELinux status:

getenforce

If enabled, configure appropriate contexts or temporarily set to permissive mode for testing.

PHP Errors and Missing Extensions

PHP errors typically indicate missing extensions or configuration problems. Check installed PHP modules:

php -m

Compare the output against required extensions. Install any missing modules:

sudo apt install php-[extension-name]

Review PHP error logs for specific issues:

sudo tail -f /var/log/apache2/weberp_error.log

Memory limit errors require increasing PHP’s memory allocation. Edit php.ini and modify:

memory_limit = 256M

Execution timeout errors occur with long-running reports. Increase max_execution_time:

max_execution_time = 300

Restart Apache after PHP configuration changes.

Apache Configuration Issues

Virtual host misconfigurations prevent webERP access. Verify the virtual host file syntax:

sudo apache2ctl configtest

Syntax errors display with line numbers for correction. Ensure the virtual host is enabled:

sudo a2ensite weberp.conf

Check which sites Apache currently serves:

sudo apache2ctl -S

Port conflicts occur if another service uses port 80 or 443. Identify processes using these ports:

sudo netstat -tlnp | grep :80

Stop conflicting services or reconfigure port assignments.

Performance Optimization Tips

PHP performance benefits from opcode caching. Install the PHP OPcache extension:

sudo apt install php-opcache

Configure OPcache in php.ini for optimal performance:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60

Database optimization improves query response times. Regular maintenance tasks include optimizing tables:

sudo mysqlcheck -o weberp -u root -p

Index optimization accelerates common queries. Monitor slow query logs to identify candidates for additional indexing.

Apache performance improves with proper module configuration. Disable unnecessary modules to reduce memory consumption. Enable compression for faster page loads:

sudo a2enmod deflate

Implement browser caching by adding headers to the virtual host configuration:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
</IfModule>

Regular maintenance tasks preserve system performance. Schedule automated cleanups of temporary files and old log entries. Monitor system resources using tools like htop to identify bottlenecks. Database backups should occur during off-peak hours to minimize performance impact.

Congratulations! You have successfully installed webERP. Thanks for using this tutorial to install the latest version of the webERP on Debian 13 “Trixie” system. For additional help or useful information, we recommend you check the official webERP website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is a dedicated and highly skilled Linux Systems Administrator with over a decade of progressive experience in designing, deploying, and maintaining enterprise-grade Linux infrastructure. His professional journey began in the telecommunications industry, where early exposure to Unix-based operating systems ignited a deep and enduring passion for open-source technologies and server administration.​ Throughout his career, r00t has demonstrated exceptional proficiency in managing large-scale Linux environments, overseeing more than 300 servers across development, staging, and production platforms while consistently achieving 99.9% system uptime. He holds advanced competencies in Red Hat Enterprise Linux (RHEL), Debian, and Ubuntu distributions, complemented by hands-on expertise in automation tools such as Ansible, Terraform, Bash scripting, and Python.
Back to top button