FedoraRHEL Based

How To Install GLPI on Fedora 42

Install GLPI on Fedora 42

GLPI (Gestionnaire Libre de Parc Informatique) stands as one of the most powerful open-source IT asset management and helpdesk solutions available today. This comprehensive IT service management platform revolutionizes how organizations track, manage, and maintain their technology infrastructure. Installing GLPI on Fedora 42 provides system administrators with a robust, secure foundation for managing everything from hardware inventories to user support tickets.

Fedora 42 offers exceptional stability and performance characteristics that make it an ideal choice for hosting GLPI installations. The distribution’s cutting-edge package management system, combined with strong security features and regular updates, creates an optimal environment for mission-critical IT management applications. Organizations worldwide rely on this combination to streamline their IT operations while maintaining complete control over their asset management processes.

This detailed guide walks you through every aspect of installing GLPI on Fedora 42, from initial system preparation to advanced configuration optimization. Whether you’re a seasoned system administrator or new to GLPI deployments, you’ll find step-by-step instructions that ensure successful installation and configuration. The tutorial covers both automated package installation methods and manual setup procedures, giving you flexibility in choosing the approach that best fits your organizational requirements and technical preferences.

Prerequisites and System Requirements

Before beginning your GLPI installation on Fedora 42, ensuring your system meets all necessary requirements prevents installation complications and performance issues. Understanding these prerequisites helps you plan your deployment effectively and avoid common pitfalls that can derail the installation process.

Hardware Requirements:
Your Fedora 42 server needs sufficient resources to handle GLPI’s operational demands effectively. Minimum requirements include 2GB RAM, though 4GB or more is strongly recommended for production environments handling multiple concurrent users. Storage requirements depend on your anticipated data volume, but allocating at least 20GB ensures adequate space for the operating system, GLPI application files, database storage, and future growth.

Software Dependencies:
GLPI requires a complete LAMP (Linux, Apache, MariaDB, PHP) stack for optimal functionality. PHP 8.1 or higher provides the necessary performance and security features, while MariaDB or MySQL serves as the backend database system. Apache HTTP Server handles web requests efficiently, though Nginx represents a viable alternative for organizations preferring different web server architectures.

Network and Security Considerations:
Proper firewall configuration allows HTTP and HTTPS traffic while maintaining security. SELinux policies on Fedora 42 require specific configurations to permit GLPI operations without compromising system security. Administrative privileges through sudo access enable necessary system modifications during installation and ongoing maintenance procedures.

Pre-Installation Setup

Proper system preparation creates a solid foundation for successful GLPI deployment. This crucial phase ensures your Fedora 42 environment is optimized and ready for the installation process.

System Updates and Configuration:
Begin by updating all system packages to their latest versions. This ensures compatibility and security while providing access to the most recent features and bug fixes:

sudo dnf update -y

Configure your system timezone to match your organization’s location, which affects log timestamps and scheduled tasks:

sudo timedatectl set-timezone America/New_York

Replace the timezone with your appropriate region to ensure accurate time synchronization across your IT infrastructure.

Repository Management:
Enable the EPEL (Extra Packages for Enterprise Linux) repository to access additional packages not included in the standard Fedora repositories:

sudo dnf install epel-release -y

This repository provides essential components and dependencies that enhance GLPI functionality and performance.

Firewall Configuration:
Configure firewalld to allow necessary web traffic while maintaining security. Open HTTP and HTTPS ports for web access:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

SELinux Preparation:
Fedora 42’s SELinux implementation requires specific boolean settings for web applications. Configure necessary SELinux permissions for GLPI operations:

sudo setsebool -P httpd_can_network_connect on
sudo setsebool -P httpd_can_network_connect_db on
sudo setsebool -P httpd_can_sendmail on

These settings allow Apache to establish database connections and send email notifications, essential features for GLPI functionality.

System Backup Preparation:
Create system snapshots or backups before proceeding with installation. This precautionary measure enables quick recovery if unexpected issues arise during the installation process.

Installing Required Dependencies

GLPI’s functionality depends on a properly configured LAMP stack. Installing and configuring these components correctly ensures optimal performance and reliability for your IT asset management system.

Database Server Installation:
MariaDB provides excellent performance and compatibility for GLPI installations. Install and configure MariaDB server:

sudo dnf install mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl start mariadb

Secure your MariaDB installation by running the security script:

sudo mysql_secure_installation

Follow the prompts to set a strong root password, remove anonymous users, disable remote root login, and delete test databases. These security measures protect your GLPI data from unauthorized access.

Create a dedicated database and user account for GLPI:

sudo mysql -u root -p

Within the MySQL prompt, execute these commands:

CREATE DATABASE glpidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'glpiuser'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON glpidb.* TO 'glpiuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Web Server Configuration:
Install Apache HTTP Server and essential modules:

sudo dnf install httpd -y
sudo systemctl enable httpd
sudo systemctl start httpd

PHP Installation and Optimization:
Install PHP 8.1+ with all required modules for GLPI functionality:

sudo dnf install php php-gd php-mysqlnd php-ldap php-mbstring php-intl php-xml php-xmlrpc php-curl php-json php-imap php-zip php-opcache php-apcu -y

Configure PHP settings for optimal GLPI performance by editing the PHP configuration file:

sudo nano /etc/php.ini

Modify these essential settings:

memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 32M
post_max_size = 32M
session.cookie_httponly = On
date.timezone = America/New_York

Restart Apache to apply PHP configuration changes:

sudo systemctl restart httpd

GLPI Installation Methods

Fedora 42 offers multiple approaches for installing GLPI, each with distinct advantages depending on your organizational requirements and maintenance preferences.

Method 1: Copr Repository Installation (Recommended)

The ligenix/enterprise-glpi10 Copr repository provides the most streamlined installation experience for Fedora users. This method offers automatic dependency resolution and simplified updates:

sudo dnf copr enable ligenix/enterprise-glpi10 -y
sudo dnf update -y

For x86_64 systems, you can also enable Remi’s RPM repository for additional PHP packages:

sudo dnf install https://rpms.remirepo.net/fedora/remi-release-$(rpm -E %fedora).rpm -y
sudo dnf config-manager --set-enabled remi

Install GLPI using the package manager:

sudo dnf install glpi -y

This method provides several advantages including automatic dependency management, simplified updates through standard package management tools, and integration with Fedora’s security update mechanisms. The packaged installation also includes proper file permissions and SELinux contexts configured automatically.

Method 2: Manual Installation from Source

Manual installation offers greater control over the installation process and access to the latest development versions. Download the latest GLPI release:

cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.18/glpi-10.0.18.tgz

Extract and install GLPI files:

sudo tar -xzf glpi-10.0.18.tgz -C /var/www/html/
sudo chown -R apache:apache /var/www/html/glpi
sudo chmod -R 755 /var/www/html/glpi

Choosing the Right Installation Method:

The Copr repository method suits most production environments due to its simplicity and maintenance advantages. Manual installation benefits development environments or situations requiring specific GLPI versions not available through package repositories. Consider your update policies, maintenance resources, and organizational requirements when selecting your preferred approach.

Step-by-Step Installation Process

This section provides detailed instructions for both installation methods, ensuring successful GLPI deployment regardless of your chosen approach.

Using Copr Repository Method:

After enabling the Copr repository, install GLPI with all dependencies:

sudo dnf install mariadb-server httpd php-fpm glpi -y

Verify successful installation by checking package information:

rpm -qi glpi

The output should display version information and installation details, confirming successful package installation.

Manual Installation Detailed Process:

For manual installations, begin by downloading and verifying GLPI integrity:

cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.18/glpi-10.0.18.tgz
wget https://github.com/glpi-project/glpi/releases/download/10.0.18/glpi-10.0.18.tgz.asc

Extract GLPI to the web server directory:

sudo tar -xzf glpi-10.0.18.tgz -C /var/www/html/

Set proper ownership and permissions:

sudo chown -R apache:apache /var/www/html/glpi
sudo find /var/www/html/glpi -type f -exec chmod 644 {} \;
sudo find /var/www/html/glpi -type d -exec chmod 755 {} \;

Apache Virtual Host Configuration:

Create a dedicated virtual host configuration for GLPI:

sudo nano /etc/httpd/conf.d/glpi.conf

Add this configuration:

<VirtualHost *:80>
    DocumentRoot /var/www/html/glpi
    ServerName glpi.yourdomain.com
    
    <Directory /var/www/html/glpi>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog /var/log/httpd/glpi-error.log
    CustomLog /var/log/httpd/glpi-access.log combined
</VirtualHost>

Test Apache configuration and restart the service:

sudo httpd -t
sudo systemctl restart httpd

Database Connection Verification:

Test database connectivity before proceeding with web-based installation:

mysql -u glpiuser -p -h localhost glpidb

Successful connection confirms proper database configuration and readiness for GLPI installation.

Initial GLPI Configuration

The web-based installation wizard guides you through initial GLPI configuration, creating necessary database tables and establishing administrative accounts.

Accessing Installation Wizard:

Navigate to your GLPI installation using a web browser:

http://your-server-ip/glpi/

The installation wizard automatically detects system requirements and displays compatibility information. Green indicators confirm proper configuration, while red warnings identify issues requiring attention before proceeding.

Install GLPI on Fedora 42

Installation Wizard Steps:

Step 1: Language Selection
Choose your preferred language for the installation interface and default GLPI configuration. This setting affects administrative interfaces and user-facing elements.

Step 2: System Requirements Check
The wizard validates PHP modules, file permissions, and system compatibility. Address any red warnings before continuing to ensure optimal functionality.

Step 3: Database Configuration
Enter database connection parameters:

  • Database server: localhost
  • Database name: glpidb
  • Username: glpiuser
  • Password: your_secure_password

Step 4: Database Initialization
GLPI creates necessary tables and populates initial data. This process may take several minutes depending on your server performance. Be patient and avoid refreshing the browser during initialization.

Step 5: Administrative Account Setup
Create your administrative user account with strong credentials. Avoid using default usernames for enhanced security.

Post-Installation Security Measures:

After completing the installation wizard, implement these essential security steps:

Remove installation files to prevent unauthorized access:

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

Change default passwords for built-in accounts (glpi, tech, normal, post-only). Access the GLPI interface and navigate to Administration > Users to modify these accounts.

Configure user authentication methods according to your organizational requirements, including LDAP integration if applicable.

Advanced Configuration

Optimizing GLPI performance and security requires additional configuration beyond basic installation. These advanced settings enhance system reliability and user experience.

PHP Performance Optimization:

Create a custom PHP configuration specifically for GLPI:

sudo nano /etc/php.d/99-glpi.ini

Add these performance-oriented settings:

[GLPI]
memory_limit = 512M
max_execution_time = 600
max_input_time = 300
upload_max_filesize = 64M
post_max_size = 64M
max_file_uploads = 20
session.gc_maxlifetime = 1440
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 10000

Database Performance Tuning:

Optimize MariaDB configuration for GLPI workloads:

sudo nano /etc/my.cnf.d/glpi.cnf

Add these database optimizations:

[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_file_per_table = 1
query_cache_size = 64M
query_cache_type = 1
max_connections = 200

Restart MariaDB to apply changes:

sudo systemctl restart mariadb

SSL/TLS Configuration:

Secure your GLPI installation with SSL certificates. Install Certbot for Let’s Encrypt:

sudo dnf install certbot python3-certbot-apache -y

Obtain SSL certificates:

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

Automated Backup Configuration:

Create automated backup scripts for GLPI data protection:

sudo nano /usr/local/bin/glpi-backup.sh
#!/bin/bash
BACKUP_DIR="/var/backups/glpi"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR

# Database backup
mysqldump -u glpiuser -p'password' glpidb > $BACKUP_DIR/glpi_db_$DATE.sql

# File backup
tar -czf $BACKUP_DIR/glpi_files_$DATE.tar.gz /var/www/html/glpi/files/

# Cleanup old backups (keep 7 days)
find $BACKUP_DIR -type f -mtime +7 -delete

Make the script executable and schedule it with cron:

sudo chmod +x /usr/local/bin/glpi-backup.sh
sudo crontab -e

Add daily backup schedule:

0 2 * * * /usr/local/bin/glpi-backup.sh

Troubleshooting Common Issues

Even well-planned installations can encounter challenges. Understanding common issues and their solutions helps maintain smooth GLPI operations.

Database Connection Problems:

Connection failures often result from incorrect credentials or network issues. Verify database connectivity:

mysql -u glpiuser -p -h localhost

Check MySQL error logs for detailed information:

sudo tail -f /var/log/mariadb/mariadb.log

Installation Timeout Issues:

If installation stalls during database initialization, increase PHP execution time:

sudo nano /etc/php.ini

Modify the max_execution_time setting:

max_execution_time = 10000

Restart Apache and retry installation:

sudo systemctl restart httpd

Permission and SELinux Problems:

File permission issues prevent proper GLPI operation. Reset permissions:

sudo chown -R apache:apache /var/www/html/glpi
sudo restorecon -R /var/www/html/glpi

Check SELinux contexts and policies:

sudo ls -laZ /var/www/html/glpi
sudo audit2allow -a

Performance and Memory Issues:

Slow page loading indicates insufficient resources or poor configuration. Monitor system resources:

top
free -h
df -h

Adjust PHP memory limits and database settings based on usage patterns and available system resources.

Plugin Installation Problems:

Plugin compatibility issues may arise with newer GLPI versions. Always verify plugin compatibility before installation and check GLPI logs for error details:

sudo tail -f /var/www/html/glpi/files/_log/php-errors.log

Congratulations! You have successfully installed GLPI. Thanks for using this tutorial for installing GLPI on Fedora 42 Linux system. For additional help or useful information, we recommend you check the official GLPI 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 an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button