Установка и настройка принт-сервера (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

Источник

free-templates.ru