infra/@beget-kondurov.server/management/README.md

Quick Start: Beget Shared Hosting

Проект: @remote-beget-kondurov
Провайдер: Beget.com
Статус: ⚠️ Требуется уточнение username


🔑 Подключение

SSH:

# После уточнения username:
ssh <username>@kondurov.beget.tech

# С паролем (для автоматизации):
sshpass -p 'OKnfF5KH' ssh <username>@kondurov.beget.tech

Панель управления:

URL: https://cp.beget.com/
Login: (уточнить)
Password: (уточнить)

📁 Структура на сервере

/home/<username>/
├── domain1.com/
│   ├── public_html/       # Сайт 1
│   └── logs/
├── domain2.com/
│   ├── public_html/       # Сайт 2
│   └── logs/
└── .mysql/                # MySQL данные

🚀 Частые команды

Навигация

# Домашняя директория
cd ~

# Список сайтов
ls -la ~/

# Перейти в сайт
cd ~/domain.com/public_html/

Логи

# Логи ошибок сайта
tail -f ~/domain.com/logs/error.log

# Логи доступа
tail -f ~/domain.com/logs/access.log

# Последние 100 строк
tail -n 100 ~/domain.com/logs/error.log

Файлы

# Размер директорий
du -sh ~/*/

# Найти большие файлы
find ~/ -type f -size +10M -exec ls -lh {} \;

# Права доступа
chmod 755 ~/domain.com/public_html/
chmod 644 ~/domain.com/public_html/index.php

MySQL

# Список баз данных
mysql -e "SHOW DATABASES;"

# Подключение к БД
mysql -u <user> -p <database_name>

# Экспорт БД
mysqldump -u <user> -p <database> > backup.sql

# Импорт БД
mysql -u <user> -p <database> < backup.sql

PHP

# Версия PHP
php -v

# Запустить PHP скрипт
php ~/domain.com/script.php

# Проверить синтаксис
php -l ~/domain.com/index.php

📊 Мониторинг

# Использование диска
df -h ~/

# Размер по директориям
du -sh ~/*/ | sort -hr

# Процессы (ограниченный доступ)
ps aux | grep <username>

# Активные подключения
netstat -an | grep ESTABLISHED

🔧 Деплой изменений

Через SSH

# 1. Подключиться
ssh <username>@kondurov.beget.tech

# 2. Перейти в сайт
cd ~/domain.com/public_html/

# 3. Обновить файлы (пример)
# Загрузить через scp или git pull

# 4. Проверить права
chmod 755 .
chmod 644 *.php

Через SCP

# С локальной машины на сервер
scp -r ./local-folder/ <username>@kondurov.beget.tech:~/domain.com/public_html/

# С сервера на локальную машину
scp -r <username>@kondurov.beget.tech:~/domain.com/public_html/ ./backup/

Через Git (если доступен)

# На сервере
cd ~/domain.com/public_html/
git pull origin main

🔐 Безопасность

Настройка SSH ключа

# 1. Сгенерировать ключ (локально)
ssh-keygen -t ed25519 -C "beget-kondurov"

# 2. Скопировать на сервер
ssh-copy-id <username>@kondurov.beget.tech

# 3. Подключаться без пароля
ssh <username>@kondurov.beget.tech

Права доступа к файлам

# Директории
find ~/domain.com/public_html/ -type d -exec chmod 755 {} \;

# Файлы
find ~/domain.com/public_html/ -type f -exec chmod 644 {} \;

# Исполняемые скрипты
chmod 755 ~/domain.com/cron-script.sh

🆘 Troubleshooting

Сайт не работает

# 1. Проверить логи
tail -f ~/domain.com/logs/error.log

# 2. Проверить права
ls -la ~/domain.com/public_html/

# 3. Проверить .htaccess
cat ~/domain.com/public_html/.htaccess

Проблемы с БД

# Проверить подключение
mysql -u <user> -p -e "SELECT 1;"

# Проверить размер БД
mysql -u <user> -p -e "SELECT table_schema, SUM(data_length + index_length) / 1024 / 1024 AS 'Size (MB)' FROM information_schema.tables GROUP BY table_schema;"

Нет места на диске

# Найти большие файлы
du -sh ~/* | sort -hr | head -20

# Очистить логи
> ~/domain.com/logs/error.log
> ~/domain.com/logs/access.log

📝 Next Steps

  1. ⚠️ Уточнить SSH username
  2. Подключиться к серверу
  3. Исследовать структуру (какие сайты размещены)
  4. Создать проекты в projects/ для каждого сайта
  5. Настроить SSH ключ для удобного доступа

Обновлено: 2025-11-13