Установка и настройка принт-сервера (Ubuntu-server 8.04 + CUPS + HP1018)
Имеется сервер с подключенным к нему USB-принтером, нужно печатать на нем с компьютеров в локальной сети.
- Сервер - Ubuntu-server 8.04;
- Принтер - HP LaserJet 1018;
- Компьютеры в сети - Gentoo, Ubuntu.
Сначала устанавливаю драйвер для принтера, называется он foo2zjs. Автор драйвера красными буквами предупреждает, что из репозитория драйвер ставить не следует. Ок, ставлю ванильный. Последовательно выполняю:
cd && mkdir tmp1
cd tmp1 && wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
tar zxf foo2zjs.tar.gz
cd foo2zjs && make
./getweb 1018
получаю сообщение, косвенно подтверждающее, что все сделано правильно:
sihp1018.img
(c) Copyright Hewlett-Packard 2005
затем выполняю:
sudo make install
sudo make install-hotplug
и устанавливаю CUPS:
sudo aptitude install cupsys cupsys-client
и создаю конфиг, забэкапив предварительно умолчальный:
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original
sudo nano /etc/cups/cupsd.conf
вставляю код:
LogLevel warning # Administrator user group... SystemGroup lpadmin # Only listen for connections from the local machine. Listen *:631 Listen /var/run/cups/cups.sock # Show shared printers on the local network. Browsing On BrowseOrder allow,deny BrowseAllow all BrowseAddress @LOCAL # Default authentication type, when authentication is required... DefaultAuthType Basic # Restrict access to the server... <Location /> Order allow,deny Allow all Allow localhost Allow @LOCAL </Location> # Restrict access to the admin pages... <Location /admin> Order allow,deny Allow 192.168.0.33 # с этой машины я могу удаленно админить Allow localhost </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Default Require user @SYSTEM Order allow,deny Allow 192.168.0.33 # с этой машины я могу удаленно админить Allow localhost </Location> # Set the default printer/job policies... <Policy default> # Job-related operations must be done by the owner or an administrator... <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subs$ Require user @OWNER @SYSTEM Order deny,allow </Limit> # All administration operations require an administrator to authenticate... <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default> AuthType Default Require user @SYSTEM Order deny,allow </Limit> # All printer operations require a printer operator to authenticate... <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-N$ AuthType Default Require user @SYSTEM Order deny,allow </Limit> # Only the owner or an administrator can cancel or authenticate a job... <Limit Cancel-Job CUPS-Authenticate-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit All> Order deny,allow </Limit> </Policy>
рестартую cups:
sudo make cups
и убираю временные файлы и папки, созданные при установке драйвера:
cd && rm -rf tmp1
Теперь я могу попасть в админку управления принтером прямо из веб-браузера на другом компьютере. В конфиге я указал адрес компьютера, с которого могу админить, с него и захожу, набрав в адресной строке браузера адрес вида https://192.168.0.2:631/. https - защищенный, для администрирования, 192.168.0.2 - адрес сервера, 631 - порт, на котором висит CUPS. Вместо адреса можно указать алиас, прописанный в hosts, что более понятно и коротко, впрочем, это дело привычки. У меня это будет примерно так: https://servak:631/
На последнем шаге потребуется ввести логин и пароль для сервера. На этом установка принтера завершена. Можно подкорректировать настройки принтера, меня же устроили по-умолчанию.
Здесь маленький нюанс, запустив печать тестовой страницы принтер молчал, хотя cups отрапортовал об успешной печати. Печатать принтер стал лишь после рестарта сервера.
Теперь нужно настроить печать из удаленного компьютера под управлением Gentoo.
Устанавливаю:
sudo emerge -av cups
и правлю /etc/cups/client.conf, где вместо localhost указываю алиас или IP-адрес сервера, я подставляю servak, этим я добавляю сетевой принтер на моей джинту-машине:
sudo nano /etc/cups/client.conf
затем добавляю демон в автозагрузку:
sudo rc-update add cupsd default
и запускаю демон:
sudo /etc/init.d/cupsd startПри подготовке статьи использованы материалы:
MetaFilter
www.gentoo.org
foo2zjs