• Как написать динамический location и try_files в конфиге NGINX?

    @mezhuev
    Системный администратор
    Вы почти нашли решение, только «/» в начале пропустили:
    location ~ ^/([a-zA-Z0-9]*)/ {
        root /usr/share/nginx/html;
        try_files $uri $uri/ /$1/index.html;
    }
    Ответ написан
    3 комментария
  • Как написать правило в nginx для определенных УРЛ пускать по определенному ip адресу, а если ip адрес иной то запрашивать авторизацию по логин паролю?

    @mezhuev
    Системный администратор
    Ограничения по IP-адресу: nginx.org/ru/docs/http/ngx_http_access_module.html

    Аутентификация по логину и паролю: nginx.org/ru/docs/http/ngx_http_auth_basic_module.html
    Или с помощью дополнительного запроса (например, к бэкенду): nginx.org/ru/docs/http/ngx_http_auth_request_modul...

    Чтобы всё это работало так как вам нужно, достаточно добавить в соответствующий контекст:
    satisfy any;

    Пример
    server {
        location / {
            proxy_pass http://backend;
        }
    
        location /private {
            allow 192.168.0.0/24;
            deny all
    
            auth_basic "Private zone";
            auth_basic_user_file htpasswd;
    
            satisfy any;
    
            proxy_pass http://backend/private;
        }
    }
    Ответ написан
    Комментировать
  • Как настроить nginx чтобы он закрыл доступ к сайту и направил на заглушку во время ТО?

    @mezhuev
    Системный администратор
    Пример реализации вывода заглушки при недоступности бэкенда:
    error_page 502 503 504 /maintenance.htm;
    location ~ /maintenance\.(css|htm|jpg) {
            root /usr/share/nginx;
    }

    При этом сохраняется исходный адрес запроса. Удобство ещё в том, что данные параметры можно вынести в отдельный файл и подключить по необходимости через include для любого множества сайтов. Дополнительно можно организовать автоматическую перезагрузку страницы, например добавив в файле maintenance.htm строчку:
    <meta http-equiv="refresh" content="30" />
    Ответ написан
    Комментировать
  • Бесплатное ПО для удаленного сбора состояния системы (Windows)?

    @mezhuev
    Системный администратор
    В корпоративных антивирусах, как минимум у Касперского и Dr.Web, есть такой функционал. Если надо без своей клиент-серверной архитектуры, то у такого же Касперского есть Endpoint Security Cloud. Да, это не бесплатно, но антивирус, как правило, так и так покупается.
    Ответ написан
  • Как создать контролер домена Active Directory на VPS/VDS или выделенном севере?

    @mezhuev
    Системный администратор
    Переезжать в облако так по полной. Почитайте про Azure AD и Microsoft 365 (не путать с Office 365).
    Ответ написан
  • Как $USER состит в группе, но группа пустая?

    @mezhuev
    Системный администратор
    man groups:
    NAME
           groups - print the groups a user is in
    
    SYNOPSIS
           groups [OPTION]... [USERNAME]...
    
    DESCRIPTION
           Print group memberships for each USERNAME or, if no USERNAME is specified,
           for the current process (which may differ if the groups database has changed).

    То есть команда показывает в каких группах состоит пользователь, а не наоборот, о чём вам и сообщает:
    ‘example’: no such user

    Состав групп можно посмотреть в файле /etc/group или командой groupmems -g $GROUP -l.
    Ответ написан
    Комментировать
  • Чем проще всего отсортировать файлы в папке по формату а не расширению?

    @mezhuev
    Системный администратор
    Если у вас Windows 10 и вы не против извращений, то можно использовать подсистему Windows для Linux:
    user@DESKTOP:/mnt/d/TEMP$ find .
    .
    ./archive.zip
    ./document.pdf
    ./picture.jpg
    
    user@DESKTOP:/mnt/d/TEMP$ for F in *; do T=`file -b --mime-type "$F"`; mkdir -p "$T"; mv "$F" "$T/$F"; done
    
    user@DESKTOP:/mnt/d/TEMP$ find .
    .
    ./application
    ./application/octet-stream
    ./application/octet-stream/archive.zip
    ./application/pdf
    ./application/pdf/document.pdf
    ./image
    ./image/jpeg
    ./image/jpeg/picture.jpg
    Ответ написан
    Комментировать
  • Как выборочно чистить кэш Chrome?

    @mezhuev
    Системный администратор
    Кукисы можно быстро очистить через «Сведения о сайте»:
    3e7147944762e89a31490502d334bd55.png
    Кеширование отключается в DevTools на вкладе Network параметром Disable cache (параметр действует только при активной панели DevTools).
    Ответ написан
    Комментировать
  • Как правильно организовать AD, DNS, DHCP филиала?

    @mezhuev
    Системный администратор
    1. Выделяете для филиала отдельную подсеть. Настраиваете IPSec и маршрутизацию.
    2. Настраивайте сайты, а именно в соответствующей оснастке добавляете подсеть, транспорт и создаёте новый сайт.
    3. Разворачиваете контроллер домена в новом сайте (или перемещаете уже созданный). Можно полноправный, можно RODC, смотря какие у вас потребности.
    4. На нём организуете DHCP и DNS для местных аборигенов.

    Компьютеры филиала синхронизируются с местным контроллером домена, который в свою очередь синхронизируется с контроллерами в головном офисе. Автономность сохраняется, так как сведения о политиках и учётных данных, DHCP и DNS физически есть в филиале.
    Ответ написан
    3 комментария
  • Какой есть простой класс для работы с почтой на php?

    @mezhuev
    Системный администратор
    Есть вариант для тех, у кого свой свой сервер (физический или виртуальный) и кому достаточно функционала встроенной функции mail().
    1. Подключаемся к серверу по SSH и устанавливаем пакет msmtp.
      • CentOS: yum install msmtp, предварительно может потребоваться подключить репозиторий EPEL: yum install epel-release
      • Ubuntu: apt install msmtp
      • FreeBSD: pkg install mail/msmtp или, если предпочитаете порты: portmaster mail/msmtp

    2. Создаёте файл конфигурации, где прописываете параметры подключения к почтовому серверу, включая используемую учётную запись. Файл может располагаться в домашнем каталоге пользователя ~/.msmtpr или же быть одним на всю систему:
      • CentOS и Ubuntu: /etc/msmtprc
      • FreeBSD: /usr/local/etc/msmtprc

      Пример для Яндекса:
      account default
      host smtp.yandex.ru
      port 465
      from site@example.com
      auth plain
      user site@example.com
      password Pa$$w0rD
      tls on
      tls_certcheck off

      Полный список параметров и их подробное описание доступно по man msmtp.
      Примечание: вместо tls_certcheck лучше использовать tls_trust_file.
    3. Вносим изменения в файл php.ini:
      • CentOS, файл /etc/php.ini:
        sendmail_path = /usr/bin/msmtp -t
      • Ubuntu, файл /etc/php/fpm/php.ini или /etc/php/apache2/php.ini:
        sendmail_path = /usr/bin/msmtp -t
      • FreeBSD, файл /usr/local/etc/php.ini:
        sendmail_path = /usr/local/bin/msmtp -t

    Ответ написан
  • Как спасти почту в thunderbird?

    @mezhuev
    Системный администратор
    Thunderbird поддерживает работу с несколькими учётными записями. Просто добавьте ещё одну через меню: Создать → Настроить мою учётную запись почты…
    5881f54eb543948bac61ec9b163ad943.png
    Если новый сервер работает по протоколу IMAP, то вы даже сможете перетащить на него старые письма простым перетаскиванием в клиенте из папки в папку.
    Ответ написан
    Комментировать
  • Почему CentOS7 показывает неправильное время?

    @mezhuev
    Системный администратор
    UTC

    Всё дело в часовом поясе. Используйте следующую команду для установки нужного часового пояса:
    timedatectl set-timezone ZONE
    Просмотреть список доступных зон можно командой:
    timedatectl list-timezones
    Ответ написан
    1 комментарий
  • Superseded обновления в WSUS, устанавливать?

    @mezhuev
    Системный администратор
    При этом WSUS показывает, что их надо поставить!

    WSUS показывает все подходящие обновления, которые не были отклонены. Но это не значит, что данное обновление будет установлено. При наличии более новой и одобренной версии будет установлена именно она.
    spoiler
    Допустим, в январе выходит обновление KB001, исправляющее проблему с зависанием калькулятора. А в феврале выходит обновление KB002, теперь уже действительно исправляющее проблему с зависанием калькулятора и заменяющее KB001. Запустив в марте WSUS вы увидите оба этих обновления как требующие установки. В большинстве случаев можно спокойно выбирать более новое, а все старые версии отклонить. Если одобрить оба, то будет установлено KB002, а KB001 пропадёт из списка требующих установки.
    Ответ написан
    Комментировать
  • Хостинг дома ( вопрос по поводу DNS и NS)?

    @mezhuev
    Системный администратор
    Доменное имя зарегистрировано. Поддержку прописали с настройками по умолчанию на наших нс-ах.

    Найдите в панели управления регистратора раздел по управлению NS/DNS серверами/зоной/записями (у разных регистраторов может называться по разному). Там вам надо будет добавить A-запись примерно следующего вида:
    example.com. A 1.2.3.4
    Где «example.com.» — ваш домен, обратите внимание на точку в конце. А «1.2.3.4» — ваш статический IP-адрес домашнего сервера. Мгновенного эффекта не будет. Сколько конкретно ждать? Зависит от настроек NS-серверов.
    Если надо чтобы сайт был доступен так же по адресу www.example.com или любому другому, то потребуется добавить дополнительные записи по аналогии или использовать CNAME-запись:
    www.example.com. CNAME example.com.
    Ответ написан
    1 комментарий