## 1. Подготовка сервера ### 1.1. Обновление системы Перед началом установки обновите пакеты системы: ```bash sudo apt update && sudo apt upgrade -y ``` ### 1.2. Установка необходимых утилит Установите базовые утилиты, которые могут понадобиться: ```bash sudo apt install -y software-properties-common curl wget git unzip build-essential ``` ## 2. Установка PHP 7.5 ### 2.1. Добавление репозитория ```bash sudo add-apt-repository ppa:ondrej/php -y sudo apt update ``` ### 2.2. Установка PHP 7.5 и необходимых расширений ```bash sudo apt install -y php7.5 php7.5-cli php7.5-fpm php7.5-common php7.5-mysql php7.5-xml php7.5-json php7.5-curl php7.5-zip php7.5-gd php7.5-mbstring php7.5-bcmath ``` ### 2.3. Проверка установки PHP ```bash php -v ``` Вы должны увидеть что-то вроде: ``` PHP 7.5.x (cli) (built: ...) ``` ## 3. Установка Node.js 16 ### 3.1. Добавление репозитория NodeSource ```bash curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - ``` ### 3.2. Установка Node.js и npm ```bash sudo apt install -y nodejs ``` ### 3.3. Проверка установки ```bash node -v npm -v ``` Вы должны увидеть версии Node.js 16.x.x и соответствующую версию npm. ## 4. Установка Composer Composer необходим для управления зависимостями PHP, включая Laravel. ### 4.1. Загрузка и установка Composer ```bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer ``` ### 4.2. Проверка установки ```bash composer --version ``` ## 5. Установка Laravel ### 5.1. Глобальная установка Laravel Installer (опционально) ```bash composer global require laravel/installer ``` Добавьте путь к composer в переменную PATH: ```bash echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc source ~/.bashrc ``` ### 5.2. Создание нового Laravel-проекта (если нужно) Если вам нужно создать новый проект: ```bash laravel new project-name # или composer create-project --prefer-dist laravel/laravel project-name ``` ## 6. Настройка проекта Laravel ### 6.1. Переход в директорию проекта ```bash cd /path/to/your/project ``` ### 6.2. Установка зависимостей PHP ```bash composer install ``` ### 6.3. Установка зависимостей JavaScript ```bash npm install ``` ### 6.4. Создание файла окружения ```bash cp .env.example .env ``` ### 6.5. Генерация ключа приложения ```bash php artisan key:generate ``` ### 6.6. Настройка прав на директории ```bash sudo chown -R $USER:www-data storage bootstrap/cache sudo chmod -R 775 storage bootstrap/cache ``` ## 7. Запуск проекта ### 7.1. Разработческий сервер (для тестирования) ```bash php artisan serve ``` Это запустит сервер на http://localhost:8000 ## 8. Настройка Nginx (для production) ### 8.1. Установка Nginx ```bash sudo apt install -y nginx ``` ### 8.2. Создание конфигурационного файла Создайте новый файл конфигурации: ```bash sudo nano /etc/nginx/sites-available/your-project ``` Добавьте следующую конфигурацию (адаптируйте под ваш проект): ```nginx server { listen 80; server_name your-domain.com; root /path/to/your/project/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; index index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } } ``` ### 8.3. Активация конфигурации ```bash sudo ln -s /etc/nginx/sites-available/your-project /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx ``` ### 9. Настройка .env Возьмите данные с сайта 1plat и вставьте в ``` X_SECRET=секретный код магазина X_SHOP=ID магазина ``` ### 10. Установка Redis на сервер Установка из официальных репозиториев (Ubuntu/Debian) ```bash sudo apt update sudo apt install redis-server -y ``` Запуск и проверка статуса ```bash sudo systemctl start redis-server sudo systemctl enable redis-server # автозагрузка при старте системы sudo systemctl status redis-server # проверка статуса ``` Проверка работы Redis ```bash redis-cli ping # должен ответить "PONG" ``` # Подробная инструкция по созданию базы данных и импорту данных в MySQL/MariaDB Дополню предыдущую инструкцию шагами по созданию базы данных и импорту данных. ## 13. Установка MySQL Установка MySQL ```bash sudo apt install -y mysql-server ``` Запуск и включение в автозагрузку ```bash sudo systemctl start mysql # или mariadb sudo systemctl enable mysql ``` ## 12. Настройка безопасности MySQL Запуск скрипта безопасности ```bash sudo mysql_secure_installation ``` Во время выполнения скрипта: 1. Нажмите Enter для текущего пароля root (если он не установлен) 2. Выберите `Y` для установки VALIDATE PASSWORD компонента (опционально) 3. Установите надежный пароль для root 4. Удалите анонимных пользователей (`Y`) 5. Запретите удаленный вход root (`Y`) 6. Удалите тестовую базу данных (`Y`) 7. Перезагрузите таблицы привилегий (`Y`) ## 13. Создание базы данных и пользователя Вход в MySQL ```bash sudo mysql -u root -p ``` Введите пароль root, который вы установили. Создание базы данных ```sql CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` Создание пользователя и назначение прав ```sql CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_strong_password'; GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'localhost'; FLUSH PRIVILEGES; EXIT; ``` Настройка Laravel для работы с базой данных Откройте файл `.env` вашего Laravel-проекта: ```bash nano /path/to/your/project/.env ``` Обновите следующие строки: ```ini DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_username DB_PASSWORD=your_strong_password ``` Импорт базы данных Импорт из SQL-файла (командная строка) Если у вас есть файл дампа базы данных (например, `database_dump.sql`): ```bash mysql -u your_username -p your_database_name < /path/to/database_dump.sql ``` ### 14. Настройка Коллбека на сайте 1plat в настройках измнеите Коллбек на https://твой домен/status