FedoraRHEL Based

How To Install CodeIgniter on Fedora 41

Install CodeIgniter on Fedora 41

CodeIgniter is a powerful PHP framework that is widely used for developing web applications. Its simplicity and performance make it a popular choice among developers. This article will guide you through the process of installing CodeIgniter on Fedora 41, ensuring that you have a robust environment for your web projects. We will cover everything from prerequisites to configuration, making it easy for you to get started.

Prerequisites

Before diving into the installation process, it’s essential to ensure that your system meets the necessary requirements. This section outlines the system specifications and user privileges needed for a successful installation.

System Requirements

  • PHP Version: CodeIgniter 4 requires PHP 7.2 or higher. Ensure that your system has an appropriate version installed.
  • Database: MySQL or MariaDB is recommended for managing your application’s data.
  • PHP Extensions: The following extensions are required for optimal functionality:
    • curl
    • intl
    • mbstring
    • xml

User Privileges

You should have either root access or a non-root user with sudo privileges to install software and modify system settings.

Step 1: Update the System

The first step in any installation process is to ensure that your system is up to date. This helps avoid compatibility issues with packages. Open your terminal and run the following command:

sudo dnf update -y

This command updates all installed packages to their latest versions, ensuring that you have the most secure and stable environment for your CodeIgniter installation.

Step 2: Install Required Software

Next, you need to install the necessary software components: Apache web server, PHP, and Composer. Each of these plays a crucial role in running a CodeIgniter application.

Install Apache Web Server

The Apache web server is one of the most popular web servers available. To install it, execute the following command:

sudo dnf install httpd -y

Once installed, start the Apache service and enable it to run at boot:

sudo systemctl start httpd
sudo systemctl enable httpd

Install PHP and Extensions

Now, install PHP along with the required extensions using this command:

sudo dnf install php php-cli php-common php-mbstring php-curl php-intl php-xml -y

This command installs PHP and its essential extensions, which are necessary for CodeIgniter to function properly.

Install Composer

Composer is a dependency manager for PHP that simplifies the management of libraries in your projects. To install Composer globally, use the following commands:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

This command downloads Composer and places it in the /usr/bin directory, making it accessible from anywhere in your terminal.

Step 3: Download CodeIgniter

You can download CodeIgniter either using Composer or manually. Below are both methods explained in detail.

Using Composer to Create a New Project

The easiest way to create a new CodeIgniter project is by using Composer. Execute the following command in your terminal:

composer create-project codeigniter4/appstarter my-codeigniter-app

This command creates a new directory named my-codeigniter-app, containing all necessary files for a fresh CodeIgniter installation.

Manual Download Option

If you prefer downloading manually, visit the CodeIgniter download page. Download the latest version of CodeIgniter, extract it, and move it to your desired directory (e.g., /var/www/html/). Use these commands:

wget https://github.com/codeigniter4/CodeIgniter4/archive/refs/tags/v4.x.x.zip
unzip v4.x.x.zip
sudo mv CodeIgniter4-4.x.x /var/www/html/my-codeigniter-app

Step 4: Configure Apache for CodeIgniter

The next step involves configuring Apache to serve your CodeIgniter application correctly. This includes creating a virtual host file.

Create Apache Virtual Host Configuration

Create a new configuration file for your application by executing:

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

Add the following configuration settings to this file:

<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot /var/www/html/my-codeigniter-app/public

    <Directory /var/www/html/my-codeigniter-app>
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

This configuration sets up Apache to serve requests for your application and enables URL rewriting by allowing overrides in the specified directory.

Enable Mod_Rewrite

The mod_rewrite module must be enabled for CodeIgniter’s routing functionality. Enable it by executing:

sudo a2enmod rewrite
sudo systemctl restart httpd

This ensures that Apache can process URL rewrites correctly.

Step 5: Set Permissions

A crucial step in securing your application is setting proper ownership and permissions on your project directory. Run these commands:

sudo chown -R apache:apache /var/www/html/my-codeigniter-app
sudo chmod -R 755 /var/www/html/my-codeigniter-app

This ensures that Apache has access to read and write files as needed while preventing unauthorized access.

Step 6: Start and Enable Apache

If you haven’t already started Apache, do so now with these commands:

sudo systemctl start httpd
sudo systemctl enable httpd

This starts the Apache service immediately and configures it to launch automatically at boot time.

Step 7: Configure Firewall

If you have a firewall running on Fedora, you’ll need to allow HTTP traffic through it. Use these commands:

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

This opens port 80 for HTTP traffic, allowing users to access your application from their browsers.

Step 8: Access CodeIgniter in Browser

Your installation is almost complete! Open a web browser and navigate to http://yourdomain.com/. If everything was set up correctly, you should see the default welcome page of CodeIgniter.

Troubleshooting Tips

  • Error 403 Forbidden:
    – Ensure that permissions are set correctly on your project directory.
    – Check if SELinux is enforcing; if so, consider setting it to permissive mode temporarily.
  • Error 404 Not Found:
    – Verify that your virtual host configuration points correctly to the public directory of CodeIgniter.
    – Ensure mod_rewrite is enabled.
  • No Database Connection:
    – Check database credentials in the .env file (located in the root of your project).
    – Ensure that MySQL or MariaDB service is running.
  • Error Logs:
    – Always check Apache error logs located at /var/log/httpd/error_log for detailed error messages.
  • Caching Issues:
    – If changes do not reflect immediately in your browser, clear browser cache or try accessing via incognito mode.
  • Purge Composer Cache:
    – If you encounter issues with dependencies, run:

    composer clear-cache

Congratulations! You have successfully installed CodeIgniter. Thanks for using this tutorial for installing CodeIgniter on your Fedora 41 system. For additional help or useful information, we recommend you check the official CodeIgniter 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