Метка: Nginx

  • Основные настройки PHP-FPM для веб-сервера

    Правильная конфигурация PHP-FPM критически важна для безопасности и стабильности работы веб-приложений. Разберём ключевые параметры из файла конфигурации пула (обычно /etc/php/8.x/fpm/pool.d/www.conf).

    1. Пользователь и группа (user/group)

    user = www-data
    group = www-data
    • Назначение: Определяет, от какого пользователя будут выполняться PHP-скрипты
    • Рекомендации:
      • Всегда используйте отдельного пользователя (не root!)
      • www-data — стандартный пользователь для веб-серверов в Ubuntu/Debian
      • Для изоляции разных сайтов создавайте отдельных пользователей
    • Безопасность: Ограничивает права PHP-скриптов в системе

    2. Группа сокета (listen.group)

    listen.group = www-data
    • Назначение: Указывает группу, которой доступен Unix-сокет PHP-FPM
    • Важно: Веб-сервер Nginx должен быть в этой же группе
    • Проверка:
      ps aux | grep nginx | grep -v grep
      groups www-data

    3. Права доступа к сокету (listen.mode)

    listen.mode = 0660
    ПраваВладелецГруппаОстальные
    0660rw-rw-
    • Безопасность: Запрещает доступ всем, кроме владельца и группы
    • Альтернативы:
      • 0666 — небезопасно (доступ всем)
      • 0600 — только владельцу (могут быть проблемы с веб-сервером)

    4. Дополнительные важные настройки

    ПараметрРекомендуемое значениеОписание
    pmondemandРежим управления процессами (для серверов с переменной нагрузкой)
    pm.max_children50Максимальное число процессов (зависит от памяти сервера)
    request_terminate_timeout30sМаксимальное время выполнения скрипта
    security.limit_extensions.phpОграничивает выполнение только PHP-файлов

    5. Проверка и применение настроек

    # Проверка синтаксиса
    sudo php-fpm8.x -t
    
    # Перезагрузка PHP-FPM
    sudo systemctl restart php8.x-fpm
    
    # Проверка прав сокета
    ls -la /run/php/php8.x-fpm.sock

    Вывод

    • Используйте отдельного пользователя/группу для PHP-FPM
    • Ограничивайте права доступа к сокету (0660 — оптимально)
    • Регулярно проверяйте логи PHP-FPM на ошибки
    • Настройки зависят от нагрузки и специфики приложения

    Эти настройки обеспечат баланс между безопасностью и производительностью вашего веб-сервера.

  • Как добавить пользователя с правами www-data на Ubuntu 22.04 для веб-разработки

    При настройке веб-сервера часто требуется создать пользователя с ограниченными правами, но с доступом к файлам веб-приложений. В этом руководстве я покажу, как правильно добавить пользователя в группу www-data на Ubuntu 22.04.

    Зачем это нужно?

    • Безопасный доступ к файлам веб-сервера без root-прав
    • Корректная работа PHP-скриптов и WordPress
    • Возможность совместной работы над проектом
    • Правильные права для загрузки файлов через веб-интерфейс

    Шаг 1: Создаем нового пользователя

    sudo adduser devuser

    Замените «devuser» на имя вашего пользователя. Система запросит задать пароль и дополнительную информацию (можно пропустить).

    Шаг 2: Добавляем пользователя в группу www-data

    sudo usermod -aG www-data devuser
    sudo groups devuser | grep www-data

    Шаг 3: Настраиваем права на веб-папки

    sudo chown -R www-data:www-data /var/www/html
    sudo chmod -R 775 /var/www/html

    Эти команды:

    • Меняют владельца на www-data
    • Дают группе www-data права на запись
    • Сохраняют права на выполнение для всех

    Шаг 4: Настройка PHP-FPM (если используется)

    sudo nano /etc/php/8.1/fpm/pool.d/www.conf

    Добавьте или измените строки:

    user = www-data
    group = www-data
    listen.group = www-data
    listen.mode = 0660

    Перезапустите PHP-FPM:

    sudo systemctl restart php8.1-fpm

    Шаг 5: Проверка настроек

    sudo -u devuser -g www-data touch /var/www/html/test.txt

    Если файл создался — настройки верны.

    SSH доступ

    sudo rsync --archive --chown=devuser:www-data ~/.ssh /home/devuser/
    sudo chmod 700 /home/devuser/.ssh
    sudo chmod 600 /home/devuser/.ssh/authorized_keys

    Важные нюансы

    • Не давайте пользователю sudo без необходимости
    • Для системных задач используйте sudo -u www-data
    • Проверяйте логи при ошибках: sudo tail -f /var/log/nginx/error.log

    Заключение

    Теперь у вас есть безопасно настроенный пользователь для работы с веб-проектами. Это особенно полезно при:

    • Разработке в команде
    • Настройке CI/CD
    • Управлении правами на production-сервере

    Если у вас есть вопросы или дополнения — оставляйте комментарии!

  • Как привязать домен с Nic.ru к серверу FirstVDS в 2025: полное руководство.

    Если у вас есть домен на Nic.ru и VDS-сервер на FirstVDS, но вы не знаете, как их соединить — это руководство поможет вам разобраться во всех тонкостях процесса.

    Что вам понадобится

    • Доступ к панели управления Nic.ru
    • Доступ к серверу FirstVDS
    • IP-адрес вашего VDS (можно найти в панели FirstVDS)
    • Установленный веб-сервер Nginx.
    • 15-30 минут времени

    Шаг 1: Настройка DNS на Nic.ru

    Использование DNS FirstVDS

    1. Зайдите Личный кабинет в Nic.ru
    2. В активные услуги, выберите «Домены»
    3. Выберите ваш домен → «DNS-серверы» → «Изменить»
    4. Выберите «Указать DNS-серверы самостоятельно»
    5. Введите DNS FirstVDS (обычно ns1.firstvds.ru и ns2.firstvds.ru)
    6. Сохраните изменения

    Примечание: Изменения DNS могут распространяться до 24 часов.

    Шаг 2: Настройка сервера на FirstVDS

    Для пользователей панели управления

    1. Зайдите в панель управления (ISPmanager, Webmin и т.д.)
    2. Найдите раздел «Домены»
    3. Добавьте новый домен
    4. Укажите корневую директорию сайта

    Для ручной настройки (Nginx)

    server {
        listen 80;
        server_name ваш-домен.ru www.ваш-домен.ru;
        root /var/www/ваш-сайт;
        index index.php index.html index.htm;
        
        # другие настройки
    }

    Перезапустите сервер nginx:

    systemctl reload nginx
    # или
    service nginx reload

    Шаг 3: Настройка A-записи

    1. Зайти в DNS Manager в FirstVds. Ссылка на DNS Manager должна придти в письме, вместе с настройками VDS. Либо найти в личном кабинете.
    2. Переходим в «Управление доменами», нажимаем «Создать».
    3. Указываем свой домен и IP-адрес вашего VDS-сервера.

    Шаг 4: Дополнительные настройки

    Настройка SSL-сертификата

    1. Установите Certbot: sudo apt install certbot python3-certbot-nginx
    2. Получите сертификат: sudo certbot --nginx -d ваш-домен.ru -d www.ваш-домен.ru
    3. Настройте автоматическое обновление: sudo certbot renew --dry-run
    4. Поблее подробно про настройку SSL-сертификата читайте здесь.

    Перенаправление с www на без www

    server {
        listen 80;
        server_name www.ваш-домен.ru;
        return 301 $scheme://ваш-домен.ru$request_uri;
    }

    Шаг 4: Проверка работы

    • Проверьте DNS-записи на DNSchecker.org
    • Проверьте доступность сайта в браузере
    • Просмотрите логи ошибок: sudo tail -f /var/log/nginx/error.log

    Заключение

    Теперь ваш домен с Nic.ru должен быть успешно привязан к серверу FirstVDS. Если возникли проблемы — проверьте правильность DNS-записей и настройки веб-сервера.