Необходимо выполнить обновление, перенос и настройку Laravel-проектов на новый сервер с обеспечением стабильной работы, безопасности, защиты от эксплойтов и корректной работы всех сервисов после миграции. 1. Основные задачи Подготовить новый сервер к работе. Перенести файлы проектов, базы данных, конфигурации и cron-задачи. Обновить серверное программное обеспечение. Настроить безопасное окружение для Laravel. Проверить совместимость PHP, Laravel, Composer-пакетов и зависимостей. Обеспечить защиту от известных эксплойтов, вредоносных запросов и несанкционированного доступа. Настроить SSL-сертификаты. Проверить работоспособность сайтов после переноса. 2. Перенос Laravel-проектов Для каждого проекта необходимо: Перенести файлы проекта. Перенести базу данных. Перенести .env конфигурацию. Настроить права доступа к директориям: storage bootstrap/cache Проверить работу: главной страницы; админ-панели; авторизации; форм; API; загрузки файлов; email-отправки; cron-задач; queue workers.3. Безопасность и защита Необходимо реализовать базовый и прикладной уровень защиты: закрыть root-доступ по SSH; настроить SSH-доступ только по ключам; изменить стандартный SSH-порт, если нужно; настроить firewall; разрешить только необходимые порты; установить Fail2Ban; скрыть служебные версии Nginx/Apache/PHP; запретить доступ к .env, .git, backup-файлам, log-файлам; настроить правильные file permissions; проверить проекты на наличие вредоносных файлов; проверить Composer-пакеты на известные уязвимости; обновить зависимости, если это не ломает функционал; настроить защиту от SQL injection, XSS, CSRF и path traversal; проверить правильность Laravel APP_ENV и APP_DEBUG; установить APP_DEBUG=false на production; настроить rate limiting для критических endpoint-ов; проверить доступы к storage/uploads; настроить защиту от выполнения PHP в upload-директориях; проверить права доступа к админ-панелям. 4. SSL и домены Необходимо: Установить SSL-сертификаты. Настроить автоматическое обновление SSL. Включить редирект с HTTP на HTTPS. Проверить корректную работу сайтов через HTTPS. 5. Резервное копирование Необходимо настроить backup: файлов проектов; баз данных; .env файлов; uploaded media; cron-конфигураций; Nginx/Apache конфигураций. Backup должен выполняться автоматически по расписанию. Желательно хранить копии отдельно от основного сервера. 6. Проверка после переноса После миграции необходимо проверить: отсутствие 500/403/404 ошибок; отсутствие критических ошибок в Laravel logs. 9. Результат выполнения После завершения работ должно быть: Laravel-проекты успешно перенесены на новый сервер; сайты работают стабильно; SSL настроен; сервер защищен базовыми security-настройками; доступы к критическим файлам закрыты; backup настроен; cron и queues работают; старый сервер можно отключить после финальной проверки.
Ставки скрыты
Ставки пока отсутствуют
-
Егор Горбачев 7 декабря 2021проше каждый сервер что бы делал бекап. А то что вы хотите по башу не сделать тут ansibel надо использовать а это не дешевое удовльствие.
-
Максим Семёнов 7 декабря 2021Да, более правильно будет использовать нечто типа syncthing что бы бэкапило дампы, которые могут просто запускаться по крону.
-
Владимир Витковский 7 декабря 2021Есть скрипт, который сохраняет историю бекапов за заданное в конфиге число дней в локальной папке и дублирует историю бекапов на другой сервер по FTP/SFTP. Можно настроить архивирование каждого на соседний (по кругу). Такой вариант подойдёт?
-
Vladislav Prodan 8 декабря 2021Тут два задания.
1) с помощью ansible установить mysqlbackup? который по заданному циклу делает бэкапы сам на сервере.
2) с помощью ansible запустить бэкап mysql
Актуальные фриланс-проекты в категории DevOps
У нас есть выделенный сервер на hetzner с вебсайтом на докерах (+фреймворк laravel) Контакт с разработчиками потерян Необходимо: - восстановить и изменить серверные доступы (вероятно, ssh) - рекомендовать место хранения и настроить полный бэкап сервера с простым восстановлением, вероятно, не на hetzner для безопасности - пофиксить почему-то не отображаемый логотип (непонятно почему файл перестал быть доступным) Важно - бэкапа сайта нет, права на ошибку тоже. Рассмотрим только опытных специалистов.