Как установить CodeIgniter на Linux

CodeIgniter это открытый исходный код, легкий PHP-фреймворк , который предоставляет простой и элегантный набор инструментов для разработки веб-приложений. Установить CodeIgniter на вашу систему очень просто и быстро. В этом подробном руководстве мы шаг за шагом рассмотрим процесс установки CodeIgniter. Мы расскажем о загрузке и разархивировании CodeIgniter, настройке веб-сервера, создании базы данных, подключении CodeIgniter к базе данных и проверке работоспособности. Если вы новичок в CodeIgniter или хотите создать среду разработки, этот учебник поможет вам. Давайте начнем!

Предварительные условия

Перед установкой CodeIgniter необходимо, чтобы в вашей системе было установлено следующее:

  • PHP версии 7.2 или выше
  • Программное обеспечение для веб-серверов, например Apache или Nginx
  • MySQL или любое другое программное обеспечение для работы с базами данных
  • Текстовые редакторы, такие как Visual Studio Code, Sublime Text, Atom и др.
  • Базовые знания PHP и веб-сервера

Для работы с CodeIgniter необходимо установить и правильно настроить PHP. Кроме того, вам нужен доступ к созданию новой базы данных через MySQL или любое другое программное обеспечение для работы с базами данных. Знакомство с базовым синтаксисом PHP и опыт настройки веб-сервера помогут разобраться с конфигурацией CodeIgniter.

Шаг 1 — Скачать CodeIgniter

Для начала нам нужно скачать последнюю версию CodeIgniter с официального сайта. Вот шаги:

  • Перейдите на https://codeigniter.com/download
  • На этой странице вы найдете текущую стабильную версию CodeIgniter (на момент написания статьи это 4.x.x).
  • Нажмите на кнопку «Скачать», чтобы получить zip-архив CodeIgniter.

Кроме того, вы можете скачать CodeIgniter, нажав на ссылку GitHub, указанную на сайте. Это приведет вас на страницу репозитория CodeIgniter4. Здесь вы можете скачать zip-файл с последним коммитом.

После загрузки распакуйте архив, и вы найдете файлы CodeIgniter в папке.

Шаг 2 — Настройка веб-сервера

Теперь нам нужно настроить веб-сервер, который будет обслуживать наше приложение CodeIgniter. В этом руководстве мы будем использовать Apache, но вы можете использовать любой веб-сервер, например Nginx. Ниже приведены шаги по настройке веб-сервера Apache:

  • Установите Apache, если у вас его еще нет. Для Ubuntu:
$ sudo apt update
$ sudo apt install apache2
  • Запустите сервер Apache:
$ sudo systemctl start apache2
  • Создайте файл конфигурации виртуального хоста, например codeigniter.conf по адресу /etc/apache2/sites-available/ со следующим содержанием:
<VirtualHost *:80>
    ServerName localhost
    ServerAlias localhost
    DocumentRoot /var/www/html/codeigniter
    <Directory /var/www/html/codeigniter>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Это устанавливает виртуальный хост с именем localhost , указывающий на каталог установки CodeIgniter.

  • Включите виртуальный хост:
$ sudo a2ensite codeigniter.conf
  • Перезапустите Apache, чтобы изменения вступили в силу:
$ sudo systemctl restart apache2

Теперь веб-сервер Apache готов обслуживать приложение CodeIgniter.

Шаг 3 — Настройка базы данных

CodeIgniter требует наличия базы данных для хранения данных приложения, таких как пользователи, посты, товары и т.д. Давайте создадим базу данных MySQL для нашего приложения.

  • Установите сервер MySQL, если у вас его еще нет:
$ sudo apt update
$ sudo apt install mysql-server
  • Войдите в консоль MySQL как root:
$ sudo mysql
  • Создайте базу данных, скажем ci_db:
mysql> CREATE DATABASE ci_db;
  • Создайте нового пользователя и предоставьте ему права:
mysql>  CREATE USER 'ci_user'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL ON ci_db.* TO 'ci_user'@'localhost';

Это создаст базу данных с именем ci_db и пользователя ci_user с полными привилегиями. Запомните имя пользователя, пароль и имя базы данных, так как позже нам нужно будет настроить их в CodeIgniter.

Шаг 4 — Настройка CodeIgniter

Теперь нам нужно настроить CodeIgniter для подключения к базе данных и указать ему нужные каталоги.

  • Скопируйте распакованную папку CodeIgniter в корень документа Apache, который находится по адресу /var/www/html/. Вы можете переименовать папку здесь.
$ sudo cp -r codeigniter-4.x.x /var/www/html/codeigniter
  • Откройте /var/www/html/codeigniter/app/Config/App.php и установите базовый URL-адрес:
public $baseURL = 'http://localhost/codeigniter/';
  • Открыть /var/www/html/codeigniter/app/Config/Database.php и введите учетные данные базы данных:
public $default = [
	'DSN'      => '',
	'hostname' => 'localhost',
	'username' => 'ci_user',
	'password' => 'password',
	'database' => 'ci_db',
];
  • Откройте /var/www/html/codeigniter/app/Config/Paths.php и задайте путь к системной папке:
public $systemDirectory = __DIR__ . '/../system';

На этом базовая конфигурация CodeIgniter завершена.

Шаг 5 — Настройка прав доступа

Для обеспечения безопасности нам необходимо установить правильные разрешения на файлы и папки CodeIgniter.

  • Дайте разрешение на запись файлу system папке:
$ sudo chmod -R 755 /var/www/html/codeigniter/system
  • Дайте разрешение на запись в папку app/Logs для создания файлов журнала:
$ sudo chmod -R 755 /var/www/html/codeigniter/app/Logs
  • Смените право собственности на корневой каталог CodeIgniter на веб-сервере:
$ sudo chown -R www-data:www-data /var/www/html/codeigniter

В Apache, www-data это пользователь и группа по умолчанию. Измените их соответствующим образом для других веб-серверов.

Шаг 6 — Тестирование CodeIgniter

Пришло время протестировать нашу установку CodeIgniter.

  • Посетите http://localhost/codeigniter/public/ в вашем браузере. Это отправная точка по умолчанию.
  • Вы должны увидеть страницу приветствия CodeIgniter с основной информацией о php.
  • Чтобы проверить возможность подключения к базе данных, создайте новый файл info.php по адресу app/Controllers со следующим кодом:
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
class Info extends Controller {
    public function index() {
        
        $db = \Config\Database::connect();
        $result = $db->query("SELECT * FROM ci_db.tables LIMIT 1");
        echo 'Database connected successfully. Number of tables: ' . $result->getResultArray()[0]->TABLE_NAME;
    }
}
  • Посетите http://localhost/codeigniter/public/info , чтобы посмотреть результаты тестирования подключения к базе данных.

Если вы видите напечатанное имя таблицы, значит CodeIgniter настроен правильно и подключен к базе данных.

Устранение неполадок

Здесь описаны некоторые распространенные проблемы, возникающие при установке, и способы их устранения:

  • Ошибка «Страница не найдена» — Проверьте значение baseURL в App.php и попробуйте перейти к /codeigniter/public вместо просто /codeigniter. Также проверьте, присутствует ли файл .htaccess в папке public.
  • Ошибка подключения к базе данных — Дважды проверьте учетные данные базы данных, заданные в файле Database.php. Попробуйте ввести учетные данные жестко, а не использовать переменные.
  • Ошибки отказа в разрешении — Выполните команды chmod и chown правильно для папок и файлов CodeIgniter.
  • Ошибки конфигурации Apache — Проверьте синтаксис конфигурации виртуального хоста. Включите его с помощью команды a2ensite. Перезапустите Apache после любых изменений конфигурации.
  • Не отображается страница приветствия CodeIgniter — Проверьте наличие ошибок PHP, зарегистрированных в папке app/Logs. Исправьте синтаксические ошибки. Также очистите кэш браузера.
  • Обратитесь к хостинг-провайдеру, если Apache, MySQL или PHP установлены/настроены неправильно.

Заключение

На этом мы завершаем руководство по установке CodeIgniter! Мы скачали последнюю версию CodeIgniter, настроили веб-сервер Apache, создали базу данных MySQL, настроили системные пути и учетные данные базы данных, установили права доступа к файлам и протестировали результат. Теперь CodeIgniter готов к разработке приложений. Благодаря простому синтаксису, богатому набору библиотек и понятной документации вы сможете быстро создавать мощные PHP-приложения с помощью CodeIgniter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *