Установка
Минимальные системные требования к серверу
- 1 CPU, 515 Mb RAM, 1Gb HDD
- PHP 7.4 или больше
- PHP расширения
zip
,mbstring
,curl
,gd
,intl
,PDO
,pdo_mysql
,xml
,fpm
- MySQL или MariaDb база данных
Установка компонентов на 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
8) В директории рядом с файлом index.php
создайте файл конфигурации conf.ini
и поместите в него следующий текст.
Замените значения для доступа к вашей базе данных, project.com
замените на адрес вашего будущего проекта.
[production]
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
9) Скачайте последнюю версию Composer с сайта getcomposer.org или по прямой ссылке
10) Скопируйте скаченный файл composer.phar
в папку core2
11) Откройте консоль и выполните команды для установки зависимых пакетов
$ сd /var/www/project.com/htdocs/core2
$ php composer.phar 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
. После входа обязательно смените пароль на другой.