Установка
Минимальные системные требования к серверу
- 1 CPU, 515 Mb RAM, 1Gb HDD
- PHP 7.4 или больше
- PHP расширения
zip,mbstring,curl,gd,intl,PDO,pdo_mysql(илиpdo_pgsqlдля PostgreSQL),xml,fpm - MySQL / MariaDb или PostgreSQL база данных
Установка компонентов на Linux (Debian / Ubuntu)
Выполните консольные команды для обновления системы
$ sudo apt update
$ sudo apt upgrade
Выполните установку php и требуемых расширений
$ sudo apt install php8.0 php8.0-{zip,mbstring,curl,gd,intl,mysql,xml,fpm}
Выполните установку nginx или apache2
Установка nginx
$ sudo apt install nginx
Установка apache2
$ sudo apt install apache2
Выполните установку Mysql или MariaDb.
Установка Mysql для Debian 11, Debian 10, Ubuntu 22.04
Установка MariaDb
$ sudo apt install mariadb-server
Установка Core2
1) Скачайте архив c последней версией на github.com
2) В директории DOCUMENT_ROOT вашего проекта создайте папку с названием core2 и разместите в нее содержимое архива
3) Создайте еще 2 папки cache и logs за пределами DOCUMENT_ROOT
Например чтобы получилось вот такая структура
.
├─ /var/www/project.com/
│ ├─ htdocs/
│ │ └─ core2/
│ │
│ ├─ cache/
│ └─ logs/
4) Дайте права доступа на чтение и запись в папки cache и logs для пользователя www-data
$ chmod 755 /var/www/project.com/cache/
$ chmod 755 /var/www/project.com/logs/
$ chown -R www-data:www-data /var/www/project.com/cache/
$ chown -R www-data:www-data /var/www/project.com/logs/
5) В DOCUMENT_ROOT создайте файл index.php со следующем содержимым
try {
require_once("core2/inc/classes/Error.php");
require_once("core2/inc/classes/Init.php");
$init = new Init();
$init->checkAuth();
echo $init->dispatch();
} catch (Exception $e) {
\Core2\Error::catchException($e);
}
6) Создайте новую базу данных с любым названием на вашем MySQL / MariaDb сервере.
В данном примере она будет названа project_com.
CREATE SCHEMA project_com COLLATE utf8mb4_general_ci;
7) Скачайте и выполните этот sql скрипт, чтобы в вашей базе данных добавились необходимые таблицы. Для этого можно воспользоваться командной строкой.
$ mysql -u your_user_name -p project_com < db.sql
!!! note "Важно"
Скрипт db.sql создает только структуру таблиц и не добавляет пользователя по умолчанию.
После импорта создайте администратора вручную, например:
```sql
INSERT INTO `core_users` (`u_login`, `u_pass`, `visible`, `is_admin_sw`, `date_added`)
VALUES ('admin', 'ad7123ebca969de21e49c12a7d69ce25', 'Y', 'Y', NOW());
```
8) В директории рядом с файлом index.php создайте файл конфигурации conf.ini и поместите в него следующий текст.
Замените значения для доступа к вашей базе данных, project.com замените на адрес вашего будущего проекта.
[production]
database.adapter = Pdo_Mysql
database.params.host = localhost
database.params.port = 3306
database.params.dbname = "project_com"
database.params.username = "your_user_name"
database.params.password = "your_user_pass"
[project.com : production]
system.host = project.com
system.theme.name = material
cache = /var/www/project.com/cache
log.on = true
log.path = /var/www/project.com/logs/error.log
log.system.file = /var/www/project.com/logs/access.log
log.system.writer = file
Пример для PostgreSQL:
[production]
database.adapter = Pdo_Pgsql
database.params.host = localhost
database.params.port = 5432
database.params.dbname = "project_com"
database.params.username = "your_user_name"
database.params.password = "your_user_pass"
database.schema = public
9) Скачайте последнюю версию Composer с сайта getcomposer.org или по прямой ссылке
10) Скопируйте скаченный файл composer.phar в папку core2
11) Откройте консоль и выполните команды для установки зависимых пакетов
$ cd /var/www/project.com/htdocs/core2
$ php composer.phar install
!!! tip "Рекомендация"
Для production лучше использовать composer install (по composer.lock) вместо composer update,
чтобы избежать неожиданных обновлений зависимостей.
Настройка веб сервера
Для запуска приложения необходимо настроить http сервер.
Рекомендуемые настройки Apache
1) В папке /etc/apache2/sites-available/ необходимо добавить файл project.com.conf. Замените project.com на адрес вашего проекта.
2) Поместите в созданный файл следующее содержимое.
Замените /var/www/project.com, project.com и php8.0 на ваши актуальные значения.
ServerName project.com
DocumentRoot "/var/www/project.com/htdocs"
ErrorLog /var/www/project.com/logs/error_apache.log
<Directory "/var/www/project.com/htdocs">
Options +Indexes +FollowSymLinks
DirectoryIndex index.php
Order allow,deny
Allow from all
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php8.0-fpm.sock|fcgi://localhost"
</FilesMatch>
3) Выполните консольную команды для активации настройки
$ sudo a2ensite project.com
$ sudo systemctl restart apache2
Рекомендуемые настройки Nginx
1) В папке /etc/nginx/sites-available/ необходимо добавить файл project.com.conf. Замените project.com на адрес вашего проекта.
2) Поместите в созданный файл следующее содержимое.
Замените /var/www/project.com, project.com и php8.0 на ваши актуальные значения.
server {
listen 80;
listen [::]:80;
server_name project.com;
root /var/www/project.com/htdocs;
error_log /var/www/project.com/logs/errors_nginx.log warn;
index index.php index.html;
client_max_body_size 100M;
location / {
try_files $uri /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_buffers 8 128k;
fastcgi_buffer_size 256k;
fastcgi_buffering off;
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location ~* (\.ini|\.log|\.conf)$ {
deny all;
}
}
3) Выполните консольные команды для активации настройки. Замените project.com на адрес вашего проекта.
$ sudo ln -s /etc/nginx/sites-available/project.com.conf /etc/nginx/sites-enabled/project.com.conf
$ sudo systemctl reload nginx
Проверка установки
Если это доменное имя (project_com) не привязано к вашему серверу, то для проверки его работы вы можете добавить домен на своем компьютере в хостах.
Для Windows
1) Открыть файл C:\Windows\System32\drivers\etc\hosts
2) Добавить указанную строку в конец этого файла. Замените 192.168.10.10 на актуальный ip адрес вашего сервера.
192.168.10.10 project.com
Для Linux
1) Открыть файл etc/hosts
2) Добавить указанную строку в конец этого файла. Замените 192.168.10.10 на актуальный ip адрес вашего сервера.
192.168.10.10 project.com
После установки приложение будет доступно по следующему URL:
http://project.com
В случае успеха вы должны будите увидеть страницу логина
Войдите в приложение используя логин admin и пароль admin (если вы создали пользователя SQL-запросом выше).
После входа обязательно смените пароль на другой.