Портфолио и кейсы фрилансеров по системному администрированию

Алексей Багин
Алексей Багин 1 месяц назад
Технический специалист по ИТ: парк ~500 ПК + аутсорсинг ~20 организаций (2016–2022)
Пять лет — технический специалист в УП «Топ Софт» (Корпорация «Галактика»): компания на ~500 сотрудников, парк около 500 ПК и ноутбуков — обслуживали вдвоём: диагностика и ремонт, установка и настройка ПО, хелпдеск, сети и коммутация, подготовка образов ОС для развёртывания. Через год подключился к работе ООО «Топ Суппорт» — абонентское ИТ-обслуживание сторонних организаций: около 20 компаний, от небольших офисов до предприятий со 100–200 компьютерами. Брали новые предприятия на обслуживание и обновляли оборудование и ПО без остановки их рабочих процессов. Среда: домен Active Directory, терминальные приложения (Галактика, 1С), виртуализация Proxmox.
Алексей Багин
Алексей Багин 1 месяц назад
Telegram-бот для приёма заявок (меню, автоответы, таблица)
Разработал Telegram-бота для приёма заявок от клиентов: интерактивное меню с кнопками, автоответы на команды, приём заявки (имя + телефон) с автоматическим сохранением в таблицу. Написан на Python, развёрнут на собственном сервере — работает круглосуточно с автозапуском. Живой пример: @bylexbybot (нажмите /start).
Сайт упал - восстановил и перенёс сервер за сутки без потери данных
Сайт упал - восстановил и перенёс сервер за сутки без потери данных Проблема: сервер клиента вышел из строя посреди рабочего дня. Сайт лёг полностью - ни фронта, ни админки, ни доступа к самому серверу. Каждый час простоя - это ушедшие посетители, недошедшие заявки и доверие, которое не вернуть словами после того, как сайт снова заработает. Сложность: бэкап был - и это единственное, что давало право не совершить ошибку дальше. Между "есть резервная копия" и "сайт снова работает" лежит несколько шагов, на любом из которых можно потерять данные насовсем. Структуру бэкапа FastPanel нужно прочитать без единой ошибки. Базу и файлы - перенести так, чтобы не разъехались пути и ссылки. А сервер поднять так, чтобы не получить второй даунтайм уже по вине исполнителя. Старый сервер к тому же стоял на Windows Server, что для WordPress и будущих проектов клиента означало лишнюю нагрузку и головную боль с администрированием. Решение: разобрал структуру бэкапа, восстановил сайт и базу данных без единой потери, настроил связку Apache и Nginx, поднял SSL, устранил ошибки 502 и 404 после переноса. На этом не остановился - перевёл сервер с Windows Server на Ubuntu 24.04 LTS с FastPanel, заложив запас прочности под будущий рост. Результат: сайт работает без единого повторного простоя, инфраструктура стала быстрее и дешевле в обслуживании. Клиент оставил 3 положительных отзыва и продолжает доверять новые серверные задачи.
Восстановление FastPanel после сбоя на VPS
Клиент обратился с задачей срочно восстановить FastPanel после сбоя во время тестирования сервера. Панель перестала открываться, доступ к управлению сервером был потерян. При этом простая переустановка “в лоб” была рискованной, так как могла повредить рабочее окружение и существующие сайты. Сначала провел диагностику сервера и проверил состояние системы, веб-сервисов и пакетов панели. Выяснилось, что проблема была связана не только со слетевшим основным пакетом FastPanel, но и с поврежденными путями логов и ошибками в web-обвязке панели. Из-за этого сервис FastPanel не мог корректно завершить запуск. Выполнил восстановление основного пакета FastPanel, устранил ошибки post-installation, создал недостающие системные каталоги и log-файлы, после чего поэтапно восстановил запуск web-сервиса панели. Все работы провел аккуратно, без полной миграции сервера и без разрушения существующего окружения. Результат: FastPanel была полностью восстановлена, панель снова стала доступна в браузере, ключевые сервисы успешно запустились, а клиент получил обратно рабочий доступ к управлению сервером.
MODX Revolution: Оптимизация PHP-процессов на хостинге.
Проблема: Сайт на MODX Revolution работал с ошибками. Хостинг-провайдер зафиксировал превышение лимита PHP-процессов тарифного плана: 36 активных процессов при лимите 32. После принудительного завершения процессы автоматически восстанавливались до прежнего количества. Диагностика: Подключился по SSH к хостингу (ISPmanager). Получил данные для подключения к БД из конфига MODX (core/config/config.inc.php). Через SQL-запросы к БД проверил: настройки кэша (modx_system_settings) - кэш включён, но покрытие низкое количество опубликованных ресурсов - 2004 страницы при 171 файле кэша (покрытие менее 10%) шаблоны с некэшируемыми вызовами ([[!...]]) Причина: В трёх шаблонах сайта (основной, текстовый, сертификаты) сниппет getImageList был вызван с принудительным отключением кэша. При этом параметр docid был захардкожен - данные всегда статичные, независимо от страницы. Из-за одного некэшируемого вызова вся страница не сохранялась в кэш, и каждый визит генерировал страницу заново через PHP. Решение: Перед правками сделал резервную копию таблицы шаблонов. Убрал принудительное отключение кэша у трёх статичных вызовов getImageList через SQL UPDATE. Некэшируемые вызовы с реальной динамикой (msProducts с RAND(), AjaxForm, mFilter2) не трогал - они обоснованно некэшируемые. После правок очистил core/cache/resource/ для принудительного прогрева кэша с новыми настройками. Результат: PHP-процессы снизились с 36 до 8 - в 4.5 раза. Сайт работает в рамках лимитов тарифного плана без ошибок.
Стабилизация сервера BitrixVM / 1С-Битрикс после пиков CPU до 100%
Стабилизация сервера BitrixVM / 1С-Битрикс после пиков CPU до 100% Клиент обратился с проблемой периодической недоступности сайта: CPU поднимался до 100%, сайт зависал, клиенты жаловались, владелец проекта был вынужден вручную перезагружать сервер. Клиент предполагал DDoS-атаку со стороны хостинга. В ходе диагностики были проверены Apache, nginx, MySQL, swap, access/error-логи и пики нагрузки. Выявлено, что после перезагрузки BitrixVM откатывала настройки Apache prefork к тяжёлым стандартным значениям, из-за чего сервер снова начинал расходовать больше памяти и уходить в нагрузку. Также были обнаружены внешние сканеры и тяжёлые динамические ajax-запросы сайта. Что было сделано: оптимизирован Apache prefork под текущий объём RAM; исправлен шаблон BitrixVM, из-за которого настройки откатывались после перезагрузки; добавлен guard-скрипт для автоматического контроля настроек Apache; настроена nginx-защита от типовых сканерских запросов; добавлен мониторинг пиков нагрузки; проверены и проанализированы тяжёлые ajax-запросы корзины/каталога; выполнено обновление и проверка основных сервисов сервера. Результат: сервер стабилизировался, скачков CPU до 100% больше не наблюдается уже больше недели. Максимальный всплеск после оптимизации составил около 55%, средняя рабочая нагрузка держится в диапазоне 15-25%. Сайт работает стабильно, без регулярных зависаний и ручных перезагрузок.
Восстановление сайта после взлома и аудит безопасности сервера
Клиент обратился после взлома сайта: на главной странице появился посторонний текст и редирект на внешний ресурс. На сервере также работали Laravel-проект, WordPress-сайты, Docker-сервисы, MySQL, Nginx, Apache/PHP-FPM, ISPmanager и FTP. В ходе работ был найден и удалён вредоносный код, восстановлен public / index.php, исправлена конфигурация Nginx, восстановлена работа сайта и внутренних Laravel-маршрутов. Дополнительно проведён аудит доступов: заблокированы лишние пользователи, удалён root-клон, очищены SSH-ключи, ограничены SSH-входы, проверены cron/systemd, FTP и fail2ban. Была выполнена ротация MySQL-доступов: создан новый пользователь БД для Laravel, старый засвеченный пользователь удалён, Docker-сервисы переведены на новые доступы, отключён внешний MySQL X Plugin. Также были удалены служебные Composer-файлы из public-директории, проверена недоступность .env, .git и других чувствительных файлов извне. На втором этапе восстановлены связанные WordPress-сайты, которые использовали старые DB-доступы, и исправлена работа раздела расписания. Результат: сайт восстановлен, редирект устранён, Docker-сервисы работают, БД переведена на новые доступы, публичные утечки закрыты, сервер дополнительно укреплён.
londtreeforce
Фрилансер 2 месяца назад
Конвейер СнабГрупп
Клиенту был нужен корпоративный сайт для компании, занимающейся конвейерным оборудованием и сопутствующими решениями. Основная задача заключалась в том, чтобы удобно представить услуги, продукцию и направления работы компании, а также обеспечить простое управление контентом через кастомную CRM. Я разрабатывал проект на PHP, Phalcon и JS. Реализовал и поддерживал функциональность сайта, а также административную часть на базе собственной CRM, где можно управлять товарами, страницами, пользователями, заявками и контентом. Дополнительно дорабатывал интерфейсы и логику, чтобы сайт был удобен как для посетителей, так и для сотрудников компании. В результате был создан удобный корпоративный сайт с понятной структурой и возможностью оперативно обновлять информацию. Проект применяется для презентации компании, демонстрации услуг и обработки обращений от клиентов.
londtreeforce
Фрилансер 2 месяца назад
Molement
Компания работает с комплексным оснащением объектов, поэтому передо мной стояла задача сделать сайт, который не просто рассказывает об услугах, а помогает быстро понять масштаб и экспертизу компании. Нужно было показать несколько направлений работы, акцентировать внимание на производственных возможностях, реализованных решениях и преимуществах формата работы под ключ. Я разрабатывал проект на PHP, Phalcon и JS, а также в поддержке кастомной CRM, через которую управлялся контент сайта, страницы, заявки и другие сущности. Отдельное внимание уделял структуре подачи информации - чтобы сложные услуги были разложены по понятным блокам, а пользователю было удобно переходить между направлениями, проектами и формами обращения. Также дорабатывал админскую часть, чтобы контент-менеджмент был быстрым и удобным. Получился корпоративный сайт с более сильной презентацией компании и ее компетенций. Он используется как инструмент для привлечения клиентов, демонстрации услуг и оформления обращений, а внутренняя система управления позволяет команде быстро обновлять данные и масштабировать контент под новые задачи.
Евгений Михалев
Евгений Михалев 2 месяца назад
Свой игровой сервер на Oracle VirtualBox с мониторингом нагрузки на сервер + плагины + автоматизация
Комплексный деплой, настройка и разгон игрового сервера CS2 под Linux (Ubuntu Server). Что было сделано: • Оптимизация ядра: Устранена проблема лагов и задержек генерации кадров (High latency) из-за CPU Overcommit. Служба сервера переведена в режим реального времени (Nice=-20, приоритет 99, планировщик rr) через юниты systemd. Настроено кэширование под SSD. • Контейнеризация: База данных MySQL и стек мониторинга Grafana + Prometheus завернуты в Docker-контейнеры с автозапуском. • Моды: Установлены Metamod, CounterStrikeSharp, админка и пак из 6 моделей через Steam Workshop.