Initial commit

This commit is contained in:
Kirchik
2025-08-02 11:45:16 +02:00
parent a6a820aba2
commit a0ba937a46
1078 changed files with 7800 additions and 1115 deletions
+109
View File
@@ -0,0 +1,109 @@
# Настройка форм обратной связи
## Копирование PHP файлов на сервер
```bash
# Скопировать обработчики форм в корень веб-сервера
sudo cp static/send_plan.php /var/www/html/
sudo cp static/send_ask.php /var/www/html/
# Установить права
sudo chown www-data:www-data /var/www/html/send_*.php
sudo chmod 644 /var/www/html/send_*.php
```
## Настройка email
Отредактируйте файлы и замените email получателя:
```bash
# В файле send_plan.php
sudo nano /var/www/html/send_plan.php
# Найти строку: $to = "info@sleeptrip.ru";
# Заменить на ваш email
# В файле send_ask.php
sudo nano /var/www/html/send_ask.php
# Найти строку: $to = "info@sleeptrip.ru";
# Заменить на ваш email
```
## Настройка SMTP (через msmtp)
```bash
# Установить msmtp
sudo apt update && sudo apt install msmtp msmtp-mta
# Создать конфигурацию
sudo tee /etc/msmtprc > /dev/null <<'EOF'
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp.log
# Gmail настройки (замените на ваши)
account gmail
host smtp.gmail.com
port 587
from your-email@gmail.com
user your-email@gmail.com
password your-app-password
# Установить Gmail как аккаунт по умолчанию
account default : gmail
EOF
# Установить права
sudo chmod 644 /etc/msmtprc
sudo chown root:mail /etc/msmtprc
# Создать лог файл
sudo touch /var/log/msmtp.log
sudo chown www-data:adm /var/log/msmtp.log
sudo chmod 664 /var/log/msmtp.log
# Настроить PHP для использования msmtp
echo "sendmail_path = /usr/bin/msmtp -t" | sudo tee -a /etc/php/*/apache2/php.ini
echo "sendmail_path = /usr/bin/msmtp -t" | sudo tee -a /etc/php/*/cli/php.ini
# Перезапустить Apache
sudo systemctl restart apache2
```
## Тестирование форм
1. Откройте страницы `/plan/` и `/ask/`
2. Заполните и отправьте формы
3. Проверьте логи: `sudo tail -f /var/log/msmtp.log`
4. Проверьте почту
## Альтернатива: использование существующего qform.io
Если предпочитаете оставить текущие формы qform.io, можно:
1. Оставить существующие формы как есть
2. PHP обработчики использовать как резервный вариант
3. Настроить webhook'и в qform.io для интеграции с внутренними системами
## Безопасность
- PHP файлы включают базовую валидацию
- Email headers защищены от инъекций
- Логируется IP и timestamp
- Рекомендуется добавить CAPTCHA для защиты от спама
## Интеграция с внутренними системами
Для интеграции с базой данных или CRM добавьте в PHP файлы:
```php
// Пример записи в базу данных
try {
$pdo = new PDO('mysql:host=localhost;dbname=travel', $db_user, $db_pass);
$stmt = $pdo->prepare("INSERT INTO requests (name, email, type, destination, created_at) VALUES (?, ?, ?, ?, NOW())");
$stmt->execute([$name, $email, $trip_type, $destination]);
} catch (PDOException $e) {
error_log("Database error: " . $e->getMessage());
}
```