
CodeIgniter, который следует паттерну Model-View-Controller (MVC), – это фреймворк для веб-приложений PHP с открытым исходным кодом, который способствует быстрой веб-разработке. Он предоставляет набор библиотек, помощников и инструментов для упрощения общих задач веб-разработки. Этот фреймворк также известен своей легкостью и удобством в использовании, поэтому является хорошим выбором для создания динамических веб-приложений и веб-сайтов.
Некоторые из ключевых особенностей CodeIgniter – архитектура MVC, небольшая площадь, встроенные библиотеки, различные функции безопасности, поддержка множества баз данных, включая MySQL, PostgreSQL, SQLite и другие. Кроме того, отличная документация, гибкость, активное сообщество разработчиков и экосистема делают его легко управляемым и для новых пользователей. Это также означает, что вы можете найти множество руководств, плагинов и сторонних библиотек для расширения его функциональности.
Этот учебник не ограничивается только Ubuntu для установки CodeIgniter, но также может быть использован в Debian и других системах Linux.
Шаг 1: Обновление списка пакетов сервера Ubuntu 22.04 или 20.04
Зайдите в командный терминал на вашем сервере или рабочем столе напрямую или через SSH с пользователем, имеющим права sudo на системе. После этого сначала запустите команду обновления системы, чтобы обновить доступные пакеты и обновить индексный кэш APT.
sudo apt update

Шаг 2: Установите веб-сервер Apache & PHP
CodeIgniter – это фреймворк, основанный на PHP, поэтому нам нужно настроить язык PHP на нашей Ubuntu 22.04. В то время как для его обслуживания через веб необходим HTTP-сервер Apache. Поэтому в этом шаге мы установим и то, и другое.
sudo apt install apache2
Установите PHP вместе с необходимыми расширениями. По умолчанию в репозитории Ubuntu 22.04 установлена версия PHP 8.1.
sudo apt install php php-{cli,mysql,gd,xml,curl,zip,redis,intl,imap,mbstring}

Шаг 3: Установите Composer
После установки PHP нам понадобится Composer. Это инструмент управления зависимостями, который помогает пользователям устанавливать различные PHP-пакеты и библиотеки, необходимые для их проектов. Так что и нам он нужен для установки необходимых зависимостей для нашего CodeIgniter.
Скачать Composer
curl -sS https://getcomposer.org/installer -o composer-setup.php
Установите Composer глобально:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Чтобы проверить доступность Composer, выполните команду:
compser

Шаг 4: Скачайте и установите CodeIgniter на Ubuntu 22.04
Перейдите в корневой каталог вашего веб-сервера Apache:
cd /var/www/html
Загрузите проект CodeIgniter с помощью Composer:
Примечание: Вы можете заменить “mycodeigniterapp” на любое имя, которое вы хотите дать своему проекту, если вам это необходимо.
sudo composer create-project codeigniter4/appstarter mycodeigniterapp

Шаг 5: Создайте файл конфигурации Apache для CodeIgniter
Чтобы обслуживать Codeigniter с нашего конкретного домена, если вы размещаете несколько сайтов на одном сервере Apache, создайте файл конфигурации виртуального хоста Apache для CodeIgniter. Вот шаги, которые необходимо выполнить:
sudo nano /etc/apache2/sites-available/codeigniter.conf
Добавьте в него следующие строки:
Примечание: Заменить “mycodeigniterapp” в приведенном ниже блоке кода на название проекта вашего приложения, если вы используете что-то другое, чем мы.
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/html/mycodeigniterapp/public
<Directory /var/www/html/mycodeigniterapp>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Заменить yourdomain.com с тем, который вы хотите использовать для CodeIgniter. Альтернативный вариант, вы можете оставить все как есть и использовать IP-адрес сервера для первоначального доступа к нему.
Сохраните файл, нажав кнопку Ctrl+X, введите Y, и , затем нажмите кнопку Введите клавиша.
Шаг 6: Установка разрешений
Убедитесь, что Apache имеет необходимые разрешения для доступа к вашим файлам CodeIgniter, чтобы они были доступны веб-пользователю Apache.
sudo chown -R www-data:www-data /var/www/html/mycodeigniterapp
sudo chmod -R 755 /var/www/html/mycodeigniterapp
Примечание: Не забудьте заменить “mycodeigniterapp”, если вы использовали что-то другое при создании приложения с помощью Composer.
Шаг 7: Включите модуль Apache Rewrite
Включите модуль Apache Rewrite, который необходим для переписывания URL в CodeIgniter:
sudo a2enmod rewrite
Теперь отключите стандартную конфигурацию Apache и включите конфигурацию CodeIgnitor.
Отключить:
a2dissite 000-default.conf
Включить:
a2ensite codeigniter.conf
Перезапустите Apache:
sudo systemctl restart apache2
Шаг: Получите доступ к своему приложению CodeIgniter
Мы успешно настроили наше приложение CodeIgniter, теперь, чтобы получить к нему доступ, откройте системный браузер и направьте его на приложение, введя IP-адрес вашего сервера или доменное имя, на котором был настроен CodeIgniter.

Вот и все! Мы установили и настроили CodeIgniter на Ubuntu 22.04 Linux. Теперь вы можете приступить к разработке веб-приложений с использованием фреймворка CodeIgniter.
(опционально) Настройка базы данных для CodeIgniter
Если вашему проекту нужна база данных MySQL/MariaDB для хранения данных, то в этом шаге мы узнаем, как установить и настроить ее для CodeIgniter.
Установите MariaDB:
sudo apt install mariadb-server
sudo systemctl enable --now mariadb
Закрепите установку, запустив и выполнив текстовый мастер, предлагаемый данной командой:
sudo mysql_secure_installation
Вот несколько вопросов, на которые попросит ответить приведенная выше команда…
Переход на аутентификацию unix_socket [Y/n] y
Изменить пароль root? [Y/n]: Y
Удалить анонимных пользователей? [Y/n] y
Запретить удаленный вход в систему root? [Y/n] y
Удалить тестовую базу данных и доступ к ней? [Y/n] y
Перезагрузить таблицы привилегий сейчас? [Y/n] y
Вход на сервер MariaDB
sudo mysql -u root -p
Создать базу данных
CREATE DATABASE mycodeigniterdb;
CREATE USER 'mycodeigniteruser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mycodeigniterdb.* TO 'mycodeigniteruser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Примечание: Замените ‘mycodeigniterdb’ на желаемое имя базы данных, а ‘mycodeigniteruser’ на желаемое имя пользователя и пароль.
Добавьте детали базы данных в файл конфигурации CodeIgniter, чтобы настроить подключение к базе данных. Откройте файл конфигурации базы данных:
sudo nano /var/www/html/mycodeigniterapp/app/Config/Database.php
Обновите настройки базы данных, указав имя базы данных, имя пользователя и пароль, которые вы задали ранее.

После этого сохраните файл с помощью Ctlr+X, Y и нажмите кнопку Введите клавиша.
Итак, это краткие шаги, которые вы можете выполнить на вашей Ubuntu 22.04 Linux или любой другой, которую вы используете для установки CodeIgniter.