CodeIgniter for Beginners: A Comprehensive Guide to Installation and Setup

CodeIgniter is a powerful open-source PHP framework with a very small footprint. It provides an elegant and simple toolkit to create full-featured web applications. Known for its speed, ease of use, simplicity, and extensive API, CodeIgniter has a well-documented codebase, making it a preferred choice not just for many developers seeking a simple yet powerful framework, but also for businesses looking to hire CodeIgniter developers.

CodeIgniter for Beginners: A Comprehensive Guide to Installation and Setup

This blog post aims to guide beginners on how to get started with CodeIgniter, covering its installation and setup.


Before we dive into installing CodeIgniter, ensure you have the following installed on your computer:

  1. PHP version 7.4 or newer.
  2. A web server (like Apache or Nginx).
  3. MySQL (or another database system supported by CodeIgniter).
  4. A good text editor or Integrated Development Environment (IDE).
  5. Composer, the PHP dependency manager.

Step 1: Downloading CodeIgniter

CodeIgniter is hosted on GitHub, so you can download it directly from the repository. Alternatively, you can use Composer, which is the recommended way to install CodeIgniter. Open a terminal or command prompt and navigate to the directory where you want to install CodeIgniter. Type the following command:

composer create-project codeigniter4/appstarter project_name

Replace “project_name” with your desired project name. Composer will create a new directory with this name and install CodeIgniter in it.

Step 2: Setting up the Server

If you’re using Apache, no extra configuration is needed because CodeIgniter comes with a .htaccess file. This file routes all requests to CodeIgniter’s front controller, index.php. Make sure your Apache installation has ‘mod_rewrite’ enabled.

For Nginx, you need to add some configuration to your server block to direct the requests to index.php. Here’s an example of what that might look like:

server {
    listen 80;
    server_name your_domain;
    root /path/to/your/project/public;

    location / {
        try_files $uri $uri/ /index.php?$query_string;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;

Replace ‘your_domain’ with your domain name or localhost, and ‘/path/to/your/project/public’ with the path to your CodeIgniter project’s public directory.

Step 3: Configuration

After installation, your next step is to configure CodeIgniter to match your development environment.

Open the `.env` file located in your project root directory. If you can’t find it, copy the `env` file and rename it to `.env`. This file allows you to set your environment variables. Remember not to commit this file to your version control system, as it contains sensitive information such as database credentials.

Start by setting the `CI_ENVIRONMENT` variable. This can be either ‘development’ or ‘production’. If it’s set to ‘development‘, CodeIgniter will display errors directly on the screen. If ‘production’, these errors will be hidden. Here’s how to set it:

CI_ENVIRONMENT = development

Next, configure your database settings. Find the database section in the .env file and update the hostname, database name, username, and password as necessary:

Step 4: Test your Installation

To test your installation, start your PHP development server. Go to your project root directory in the terminal and run:


php spark serv


This will start the server, and you can access your application by visiting `http://localhost:8080` in your browser.

You should see a welcome page, meaning CodeIgniter was installed successfully.

Step 5: Exploring the Directory Structure

CodeIgniter’s folder structure is straightforward. Here’s a quick overview:

– app/: This directory contains your application’s core files like Controllers, Models, and Views.

– system/: This directory has the CodeIgniter core files. You generally won’t need to modify anything here.

– public/: This is the directory that you will point your web server to. It contains the index.php file, which is the entry point of all requests.

– writable/: This directory contains files that the framework will need to write to, like cache and logs.

Step 6: Creating your First Page

To create your first page, you’ll need to create a controller. A controller is a PHP class that serves as an intermediary between the Model (database and business logic) and View (the page users see).

Navigate to the ‘Controllers’ directory (app/Controllers) and create a new PHP file, ‘MyFirstPage.php’. Inside this file, add the following code:


namespace App\Controllers;

class MyFirstPage extends BaseController
    public function index()
        echo 'Hello, welcome to my first page!';

To view this page, go to `http://localhost:8080/MyFirstPage` in your browser. You should see the message ‘Hello, welcome to my first page!’.


You’ve successfully installed and configured CodeIgniter, understood its directory structure, and even created your first page. This guide aimed to help you hit the ground running with CodeIgniter, but there’s a lot more to learn. As you continue to develop your skills with this robust PHP framework, CodeIgniter’s [User Guide]( will be an invaluable resource. 

Remember, the journey of mastering any framework involves building real projects. Hence, don’t stop here. Try creating a simple web application, such as a blog or a personal portfolio, to further your understanding of CodeIgniter. This hands-on experience can also prove beneficial if you aim to hire CodeIgniter developers, as it provides you with a better understanding of the framework’s capabilities.

Happy Coding!

Previously at
Flag Argentina
time icon
Experienced Full Stack Systems Analyst, Proficient in CodeIgniter with extensive 5+ years experience. Strong in SQL, Git, Agile.