SLOT-H: Быстрый старт



За 10 минут - работающий экземпляр.





1. Требования




PHP 7.0 и выше (адаптация к 8 версии работает через прослойку)
MySQL 8.0+
Apache или Nginx с mod\_rewrite



2. Клонирование



bash
  git clone [https://github.com/your-username/siteconstructor.git](https://github.com/your-username/siteconstructor.git)  
  cd siteconstructor
  

*

3. Создание таблиц




Запустить SQL-скрипт из репозитория, который содержит полную структуру базы данных и необходимые начальные данные (инсерты).

Скрипт находится в папке Config/Schema/install.sql

Выполнить скрипт через консоль:
bash
  mysql -u root -p < Config/Schema/install.sql
  

Или через phpMyAdmin / любой другой клиент - импортировать файл Config/Schema/install.sql

*

4. Настройка проекта




В таблице projects заменить хардкодное значение в поле project\_landing на реальный адрес, по которому будет доступен сайт.

Примеры:
127.0.0.1
256.256.256.256:8155
mysite.com

SQL-запрос для замены:
mysql
  UPDATE projects SET project_landing = '127.0.0.1' WHERE project_id = 1;
  


*

5. Создание виртуального хоста




Настроить виртуальный хост на адрес, указанный в project\_landing. Порт не имеет значения - система работает в любом формате.

Apache:
apache
  <VirtualHost \*:80>  
      DocumentRoot /var/www/siteconstructor  
      ServerName 127.0.0.1  
      <Directory /var/www/siteconstructor>  
          AllowOverride All  
          Require all granted  
      </Directory>  
  </VirtualHost>
  

Nginx:
nginx
  server {  
      listen 80;  
      server\_name 127.0.0.1;  
      root /var/www/siteconstructor;
  
      index index.php;
  
      location / {  
          try\_files 𝑢𝑟𝑖uriuri/ /index.php?$query\_string;  
      }
  
      location ~ .phpdocument\_root$fastcgi\_script\_name;  
      include fastcgi\_params;  
  }
  

*

6. Создание папок для логов и дампов




Создать папку Config/Logs/<адрес сайта>

Формат адреса:
127.0.0.1
256.256.256.256.8155 (двоеточие заменяется на точку при использовании порта)
mysite.com
bash
  mkdir -p Config/Logs/127.0.0.1  
  mkdir -p Config/Dump
  

*

7. Права доступа




Рекурсивно назначить владельца www-data:www-data на папки:
bash
  sudo chown -R www-data:www-data Config/Logs  
  sudo chown -R www-data:www-data Config/Dump
  

*

8. Настройка подключения к базам данных




Открыть файл Config/Domens/cli.ini и прописать актуальные значения доступа к базам данных.

В системе используется две базы:
Секция base - основная база данных сайта
Секция geo - общая база с геоданными (страны, города, языки, валюты)

Пример cli.ini:
config
  [base]  
  db_engine = "Mysql_Mysqli"  
  db_host = "localhost"  
  db_port = 3306  
  db_name = "siteconstructor_base"  
  db_login = "root"  
  db_password = "your_password"
  
  [geo]  
  db_engine = "Mysql_Mysqli"  
  db_host = "localhost"  
  db_port = 3306  
  db_name = "siteconstructor_geo"  
  db_login = "root"  
  db_password = "your_password"
  

*

9. Создание конфига проекта




Скопировать отредактированный файл cli.ini в файл с именем, соответствующим адресу сайта (как называлась папка логов):

Для IP-адреса:
bash
  cp Config/Domens/cli.ini Config/Domens/127.0.0.1.ini
  

Для IP-адреса с портом:
bash
  cp Config/Domens/cli.ini Config/Domens/256.256.256.256.8155.ini
  

Для домена:
bash
  cp Config/Domens/cli.ini Config/Domens/mysite.com.ini
  

*

10. Генерация автолоадера




Запустить консольный скрипт:
bash
  php Application/Tools/createAutoloader.php
  

*

11. Запуск




Открыть браузер по адресу, указанному в project\_landing.

http://<ваш сайт>

Поздравляю - проект развёрнут!



Что дальше?



- ➡️ Раздел 04. Философия
- ➡️ Раздел 05. Принципы работы
- ➡️ Раздел 06. Архитектура