Гид по технологиям

Как настроить веб-конфигурируемый печатный сервер на Ubuntu Server с помощью SWAT, CUPS и SAMBA

• 7 min read • Инструкции • Обновлено 23 Nov 2025
Веб‑принт‑сервер на Ubuntu: CUPS, Samba, SWAT
Веб‑принт‑сервер на Ubuntu: CUPS, Samba, SWAT

О чём эта инструкция

Это руководство показывает, как превратить Ubuntu Server в головной (headless) печатный сервер, доступный через веб-интерфейс CUPS и общий для Windows через Samba. Мы используем SWAT для веб-конфигурации Samba. Материал основан на реальном опыте и проверенных шагах.

Ключевые термины:

  • CUPS — система печати для UNIX-подобных систем. Однострочное определение: обеспечивает очередь печати и веб-интерфейс для управления принтерами.
  • Samba — обеспечивает совместный доступ к файлам и принтерам для Windows-клиентов.
  • SWAT — веб-интерфейс для конфигурации Samba.

Важно: перед началом используйте актуальную версию Ubuntu Server и обновите систему.

Требования и предпосылки

  • Ubuntu Server (рекомендуется LTS).
  • Доступ к интернету для скачивания пакетов.
  • SSH-доступ с другой машины в локальной сети (например, PuTTY на Windows).
  • Имя хоста для сервера: в примерах используется PRINTSERVER — замените на своё.
  • Локальный пользователь UNIX, которого будете использовать для управления.
  • Физически подключенный принтер или принтер в сети.

Примечание о сетях: если сервер за NAT/маршрутизатором, следите за настройками firewall/маршрутизатора; по умолчанию пример позволяет доступ к сервисам CUPS и SWAT из локальной сети.

Шаг 0. Установка Ubuntu Server и базовая конфигурация

  1. При установке включите openssh и LAMP (если требуются дополнительные web-функции). Для большинства задач достаточно openssh.
  2. Убедитесь, что сервер подключён к сети и получает IP от DHCP.
  3. После входа через консоль определите IP сервера:
ifconfig

Найдите адрес в строке inet (не 127.0.0.1). Например: inet addr:192.168.2.8.

Шаг 1. Подключение по SSH с другой машины

Скачайте и запустите любимый SSH-клиент (например, PuTTY) и подключитесь к IP сервера по порту 22. Введите имя пользователя и пароль.

Шаг 2. Установка CUPS

sudo apt-get install cupsys cupsys-client xinetd

Далее создаём резервную копию конфигурации CUPS и защищаем её от случайных изменений:

sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original
sudo chmod a-w /etc/cups/cupsd.conf.original

Отредактируйте основной конфигурационный файл:

sudo nano /etc/cups/cupsd.conf

Найдите и отредактируйте строку администратора и добавьте необходимые параметры:

ServerAdmin [email protected]
DefaultEncryption Never
Browsing on
BrowseAllow all

Если в файле есть строки, запрещающие просмотр или разрешающие только локальную сеть, замените их или закомментируйте, добавив #:

#BrowseAllow @LOCAL
#BrowseAddress @LOCAL
#Browsing off

В блоках после строки с “Allow, deny” добавьте:

Allow All

Например:


  Order allow,deny
  Allow All

Добавьте прослушивание порта 631 (для доступа к веб-интерфейсу CUPS):

Listen 631

Важно: Такая настройка разрешает доступ всем, кто может подключиться к серверу на порт 631. Для защищённой сети следует ограничить доступ по IP или использовать шифрование и аутентификацию.

Перезапустите службы:

sudo /etc/init.d/cups restart
sudo /etc/init.d/xinetd restart

Перезагрузка сервера необязательна, но при желании можно выполнить:

sudo reboot

Создайте пользователя CUPS (используйте уже существующее UNIX-имя):

lppasswd -a yourusername

Подключите принтер физически к серверу или убедитесь, что сетевой принтер доступен.

Шаг 3. Проверка веб-интерфейса CUPS

Откройте браузер на другом компьютере в сети и перейдите по адресу:

http://PRINTSERVER:631

Если доступ закрыт, увеличьте логирование для отладки:

LogLevel warn

замените на

LogLevel debug

Просмотр логов:

sudo nano /var/log/cups/error_log

Очистите лог перед тестом (например, alt-T в nano для удаления), затем повторите попытку и изучите новые записи.

Через веб-интерфейс CUPS добавьте принтер, укажите драйвер или PPD-файл, если это необходимо. Многие принтеры HP распознаются автоматически.

Шаг 4. Установка Samba и SWAT для Windows-доступа

sudo apt-get install samba smbfs swat

Создайте пользователя Samba (должен совпадать с UNIX-пользователем):

sudo smbpasswd -a username

Добавьте службу SWAT для xinetd. Отредактируйте файл:

sudo nano -w /etc/xinetd.d/swat

Вставьте или проверьте содержимое:

# description: SAMBA SWAT  
{  
 service swat   
 disable = no  
 socket_type = stream  
 protocol = tcp  
 #should use a more limited user here  
 user = root  
 wait = no  
 server = /usr/sbin/swat  
}

Перезагрузите конфигурацию xinetd:

sudo dpkg-reconfigure xinetd

Проверьте, запущен ли SWAT:

sudo netstat -tap | grep swat

Откройте в браузере:

http://PRINTSERVER:901

Вход: пользователь root и пароль Samba (тот, который вы указали командой smbpasswd).

В SWAT на вкладке globals укажите имя рабочей группы и установите security = user (рекомендуется для сетей с учётом разделения прав). Нажмите Commit changes.

После этого принтеры из CUPS должны быть доступны для Windows-клиентов как сетевые принтеры Samba.

Отладка и типичные проблемы

  • Нельзя подключиться к CUPS по сети: проверьте Listen 631, firewall (ufw/iptables), маршрутизацию. Проверьте, не слушает ли CUPS только локальный интерфейс (127.0.0.1).
  • SWAT недоступен: проверьте xinetd и netstat, убедитесь, что /usr/sbin/swat существует.
  • Драйверы принтера отсутствуют: найдите PPD или драйвер для Linux на сайте производителя или в репозиториях.
  • Права доступа: убедитесь, что пользователи Samba совпадают с UNIX-аккаунтами или применены соответствующие настройки security в smb.conf.

Безопасность и жёсткая конфигурация

Важно: по умолчанию приведённые настройки открывают порты CUPS (631) и SWAT (901) на сервере. Для продакшен-среды выполните следующее:

  • Ограничьте доступ к портам через ufw или iptables только для доверенных подсетей.
  • Настройте шифрование для CUPS (TLS) и включите аутентификацию администраторов.
  • Не запускайте SWAT как root при открытом доступе из интернета; ограничьте доступ по IP.
  • Используйте сложные пароли для Samba-пользователей и регулярную смену.

Пример базовой блокировки с ufw:

sudo ufw allow from 192.168.0.0/24 to any port 631 proto tcp
sudo ufw allow from 192.168.0.0/24 to any port 901 proto tcp
sudo ufw enable

Замените подсеть на ту, где находятся ваши клиенты.

Контрольный список перед вводом в эксплуатацию

  • Ubuntu обновлён (sudo apt-get update && sudo apt-get upgrade).
  • [ ] CUPS установлен и доступен по http://PRINTSERVER:631.
  • Принтер добавлен в CUPS и тестовая печать проходит.
  • [ ] Samba и SWAT установлены и доступны по http://PRINTSERVER:901.
  • Samba-пользователи созданы (smbpasswd).
  • Порты CUPS/SWAT ограничены в firewall для локальной сети.
  • Документированы IP-адреса/имена хостов и пароли администратора.

Роль‑ориентированные чеклисты

Администратор сервера:

  • Проверить журнал CUPS при проблемах: /var/log/cups/error_log.
  • Проверить состояние xinetd и SWAT: sudo systemctl status xinetd или dpkg-reconfigure xinetd.
  • Настроить резервное копирование /etc/cups и /etc/samba.

ИТ‑поддержка/пользователь сети:

  • Подключиться к принтеру в Windows: Добавить сетевой принтер через адрес smb://PRINTSERVER/printername или через диалог “Добавить принтер“.
  • Проверить права доступа к очереди печати и тестовую печать.

Мини‑методология развёртывания (повторяемый процесс)

  1. Подготовка сервера: обновление и базовая сеть.
  2. Установка CUPS и базовая настройка доступа.
  3. Подключение и добавление принтера в CUPS, тестовая печать.
  4. Установка Samba и SWAT, создание Samba‑пользователя.
  5. Ограничение доступа в firewall и проверка с клиентских машин.
  6. Документирование конфигурации и создание бэкапов.

Критерии приёмки

  • Веб‑интерфейс CUPS доступен в браузере и показывает добавленный принтер.
  • Windows‑клиент видит принтер и может распечатать тестовую страницу.
  • Логи не содержат критических ошибок при выполнении тестовой печати.
  • Порты 631 и 901 доступны только из доверенной подсети.

Когда этот подход не подходит (ограничения)

  • Если требуется корпоративный уровень безопасности или интеграция с Active Directory — Samba+SWAT в базовой конфигурации может не соответствовать требованиям; рассмотрите SSSD/AD или защищённую конфигурацию Samba.
  • Если у вас много удалённых пользователей через интернет, открывать CUPS/SWAT в Интернет нельзя; используйте VPN или прокси.

Быстрый план отката

  1. Откатить изменения cupsd.conf, восстановив /etc/cups/cupsd.conf.original.
  2. Удалить SWAT из xinetd (отключить /etc/xinetd.d/swat и перезапустить xinetd).
  3. Остановить службы CUPS и Samba до повторной настройки.

Пример взаимодействия Windows-клиента с сервером

  1. В Проводнике Windows в адресной строке ввести: smb://PRINTSERVER
  2. Найти нужный принтер и подключиться.
  3. При необходимости указать учётные данные Samba.

Мера предосторожности

Важно: не открывайте SWAT и CUPS в публичный интернет без дополнительных мер: VPN, TLS и ограничений по IP.

Часто задаваемые вопросы

Как найти PPD‑файл для принтера?

Поискать на сайте производителя или в репозиториях Linux/Ubuntu; часто PPD содержится в драйверных пакетах HPLIP для HP.

Нужен ли SWAT в современной конфигурации?

SWAT удобен в простых сценариях, но в современных системах часто предпочитают править smb.conf напрямую и использовать более безопасные инструменты или GUI‑утилиты.

Можно ли использовать статический IP для PRINTSERVER?

Да. Для стабильности сервера печати рекомендуется фиксировать IP либо по статике, либо через DHCP reservation на маршрутизаторе.

Резюме

  1. Установите CUPS, добавьте принтер и проверьте печать через http://PRINTSERVER:631.
  2. Установите Samba и SWAT, создайте Samba-пользователя и настройте рабочую группу.
  3. Ограничьте доступ через firewall и используйте шифрование при необходимости.

Желаю удачи при настройке. Если возникнут конкретные ошибки — опишите их вывод логов, и я помогу с отладкой.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро