# SAMBA & CUPS czyli drukowanie po sieci

## kurak

Witam!

Problem tego typu: Mam w siecie lokalnej serwer na Gentoo, na nim posadzona samba i cups, oraz w sieci lokalnej klienty (moj na gentoo) i 4 windy. Teraz mam taki problem, robiłem wszustko zgodnie z opisami na gentoo-wiki i gentoo.org, ale nie moge sobie poradzić, a mianowicie, chcę żeby zasoby samby były dostepne w sieci lokalnej (żeby jeden duży folder dostępny dla wszystkich z mozliwością zapisywania i usuwania) i żeby drukarka funkcjonowała bez problemów. Doszedłem do takiego punktu, że w windzie widzi drukarke ale nie mogę drukować, natomiast na swoim gentoo nie wiedze w ogole tej drukarki (jak zrobic kilenta cups na gentoo?). Może mi ktos pomóc? 

smb.conf

```
[global]

        workgroup = MELINA

        netbios name = Server

        server string = Gentoo

        security = share

        #username map = /etc/samba/smbusers

        #guest account = guest

        log file = /var/log/smb/samba.%m

        max log size = 50

#       local master = yes

        printcap name = cups

        disable spoolss = Yes

        show add printer wizard = No

        printing = cups

[public]

        comment = shared

        path = /home/

        guest ok = yes

        browseable = yes

[printers]

        comment = All Printers

        path = /var/spool/samba

        printer admin = root, local_user

        create mask = 0600

        guest ok = Yes

        printable = Yes

        use client driver = Yes

        browseable = No

[HPDeskJet3550]

comment = HP DeskJet 3550 Network Printer

printable = yes

path = /var/spool/samba

public = yes

guest ok = yes

```

 cups.conf

```
# Show troubleshooting information in error_log.

LogLevel debug

SystemGroup lpadmin

# Allow remote access

Port 631

Listen /var/run/cups/cups.sock

# Enable printer sharing and shared printers.

Browsing Yes

BrowseOrder allow,deny,All

BrowseAllow All

BrowseAddress All

DefaultAuthType Basic

<Location />

  # Allow shared printing and remote administration...

  Order allow,deny,All

  Allow All

</Location>

<Location /admin>

  Encryption Required

  # Allow remote administration...

  Order allow,deny,All

  Allow All

</Location>

<Location /admin/conf>

  AuthType Basic

  Require user @SYSTEM

  # Allow remote access to the configuration files...

  Order allow,deny,All

  Allow All

</Location>

<Policy default>

  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>

    Require user @OWNER @SYSTEM

    Order deny,allow,All

  </Limit>

  <Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default>

    AuthType Basic

    Require user @SYSTEM

    Order deny,allow,All

  </Limit>

  <Limit CUPS-Authenticate-Job>

    Require user @OWNER @SYSTEM

    Order deny,allow,All

  </Limit>

  <Limit All>

    Order deny,allow,All

  </Limit>

</Policy>

```

 Co do cupsa, to drukarka chyba działa, bo po zalogowaniu przez www bez problemów drukuje stronę testową.

----------

## arek.k

Muszę przyznać, że nie chce mi się analizować twojej konfigiracji samby (przynajmniej narazie). Moja wygląda następująco: 

```
# cat /etc/samba/smb.conf

[global]

netbios name = GENTOO

server string = Gentoo server

workgroup = Homenetwork

encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

printcap = cups

printing = cups

security = user

display charset = ISO8859-2

dos charset = 852

UNIX charset = ISO8859-2

[Dokumenty]

path = /mnt/documents

write ok = yes

create mode = 0660

directory mode = 0770

[hp710c]

path = /var/smbprint

comment = HP DeskJet 710 C

writable = yes

printable = yes

readonly = no

use client driver = yes
```

Wszystko działa ok - klienty windows i linux (Suse 10.1). Może moja konfiguracja jest znacznie uproszczona i ma jakieś błędy (niedociągnięcia), ale spróbuj najpierw coś zmajstrować na tej podstawie, a później (jak zadziała) baw się dalej w rozbudowywanie.

Jeśli drukowanie strony testowej (na serwerze) działa, to ja winił bym smb (ale pewności 100% nie mam).

(Jeśli widzicie jakieś rażące błędy, to komentujcie przy tej okazji.)

----------

## kurak

A możesz mi jeszcze podrzucić cups.conf?

----------

## largo3

A czytałeś może Drukowanie w Gentoo?

Pozdr.

----------

## kurak

Czytane dużo razy, albo jestem jakiś wolno trybiący albo faktycznie nie idzie tego zrobić  :Sad: 

----------

## arek.k

U mnie wygląda to tak: 

```
# cat /etc/cups/cupsd.conf | grep -v ^# | grep -v ^$

DocumentRoot /usr/share/cups/docs

LogLevel info

User lp

Group lp

Port 631

SystemGroup lp

<Location />

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

</Location>

<Location /admin>

AuthType Basic

AuthClass System

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

</Location>
```

 (Mam nadzieję, że moja regułka niczego potrzebnego nie pominęła  :Smile: )

Ja bym jednak na razie spróbował pobawić cię z sambą (jeśli masz możliwość). Zrób kopię swojego pliku i daj najprostszą konfigurację samby, a jak zadziała, to będziesz mógł dalej rozbudowywać smb.conf.

Nie przejmuj się @kurak, ja też miałem kiedyś problem z postawieniem samby (nawet zabrałem się za jakiś 300 str. handbook do samby). Czasem mały błąd potrafi psuc nerwy. Ciężko mi tak zgadywać, bo sambę stawiałem tylko raz. Wtedy jeszcze nie wiedziałem, gdzie szukać jakichkolwiek logów systemowych  :Embarassed: , więc zgadłem, w którym miejscu mam błąd w konfiguracji. Może coś wywnioskujesz z logów samby lub cupsa (lub obu naraz) - /var/log/samba/ i /var/log/cups/.

Możesz tam poszukać jakichś wskazówek (chociaż zrozumieć coś z tego bełkotu jest niełatwo  :Wink: ).

----------

## kurak

Przy tej konfiguracji dalej leży. Chyba się poddam.. bo już próbowałem chyba wszystkiego..

----------

## pszemas

sproboj ominac sambe, za pomoca samego cups da rade i bardzo ladnie chodzi, poszukaj na necie drukowanie z windowsa do linuxa, duzo jest tego

----------

## kurak

Przerobiłem od nowa dokumentacje, i sytuacja wygląda tak: 

Stworzyłem publiczny katalog, nawet spod Gentoo mogę go edytować. Natomiast z cupsem jak było, tak jest.. z windows widzi drukarke, instaluje sterowniki  i jak przychodzi co do czego, to stoi.. nie drukuje..

```
[global]

workgroup = MELINA

netbios name = GENTOO

printcap name = cups

printing = cups

security = users

display charset = ISO8859-2

dos charset = 852

UNIX charset = ISO8859-2

[Public]

path = /home/public/

write ok = yes

create mode = 0660

directory mode = 0770

[printers]

comment = Drukarki

printable = yes

path = /var/spool/samba

[hp3550]

path = /var/smbprint

comment = HP DeskJet 3550

writable = yes

printable = yes

readonly = no

use client driver = yes

```

```

LogLevel debug

SystemGroup lpadmin

Port 631

Listen /var/run/cups/cups.sock

Browsing On

BrowseOrder allow,deny

BrowseAllow @LOCAL

BrowseAddress @LOCAL

DefaultAuthType Basic

<Location />

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

Allow From 10.1.1.0/24

</Location>
```

----------

## c0oba

A z lo możesz drukować?

Cups widzi zadania do drukowania?

----------

## kurak

Właśnie mogę wydrukować stronę testową, a jednak nie widzi "zadań", tak jakby nie docierały do serwera wydruku pliki do drukowania.

----------

## LinuxTux

A nie możesz przez IPP drukować? Nie będzie potrzeby używania samby. Musisz tylko otworzyć port 631, odpowiednio skonfigurować windowsy i zmienić nieco config cupsa.

Przykładowa konfiguracja cupsa (ver. 1.1.23-r8)

```
DefaultLanguage pl

DocumentRoot /usr/share/cups/docs

LogLevel error

User lp

Group lp

Port 631

SystemGroup lp

<Location />

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

Allow From 192.168.249.*

</Location>

<Location /admin>

AuthType Basic

AuthClass System

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

</Location>

```

Konfiguracja drukarki na windowsach => http://guide.it168.com/files/9144/9144005000000.asp

Adres drukarki to: http://<ip_serwera_ipp>:631/printers/<skrocona_nazwa_drukarki>, np. http://192.168.249.72:631/printers/HPLasJet1100

----------

## bartmarian

mi kiedys pomoglo od(c)haszowanie w /etc/cups/mime*

```
application/vnd.cups-postscript application/vnd.cups-raster     100     pstoraster

application/octet-stream        application/vnd.cups-raw        0       -
```

oraz (chyba)

```
application/octet-stream
```

----------

## kurak

Chodzi o to, że mam do odchaszowane, ale to nic nie pomaga  :Sad:  Nie wiem gdzie popełniam błąd..

----------

## bartmarian

idz po kolei, zobacz w logach samby czy przyjmuje i probuje dac do cups'a, zobacz co na to cups

----------

## kurak

Trochę pozmieniałem, i w logach dostaję takie coś:

```
I [08/May/2007:22:37:07 +0200] Saving job cache file "/var/cache/cups/job.cache"...

E [08/May/2007:22:37:07 +0200] Unable to open listen socket for address :::631 - Address family not supported by protocol.

E [08/May/2007:22:37:53 +0200] cupsdCloseClient: Error in the push function.

```

----------

## pszemas

nie wiem czemu probojesz na sile robic to rpzez sambe ;/ same cupsy starcza, w zupelnosci.

----------

## kurak

No OK, powiedzmy, że samo cups wystarczy. Tylko jeżeli konfiguruję z handbooka i nie wychodzi to próbuje już różnych kombinacji z nadzieją, że kiedyś zadziała..

edit:

Jakoś udało mi się uruchomić to, nie wiem jak to poszło, ale działa z mojego gen2, jeszcze testy z winda..

edit:

i znów coś się zwaliło, jak klepie lpstat -a to dostaję pustą linijkę, ale jak wklepuję 

```
lpoptions -d hp_deskjet_3500_USB_1

job-sheets=none,none printer-info='hp deskjet 3500' printer-is-accepting-jobs=1 printer-is-shared=1 printer-make-and-model='HP DeskJet 3550 Foomatic/hpijs (recommended)' printer-state=3 printer-state-change-time=1178664861 printer-state-reasons=none printer-type=167948

```

 ba! jeżeli 

```
lp -d hp_deskjet_3500_USB_1 plik.txt
```

 to drukuje! ale nie widzi jej  :Sad:  Nie wiem co to ma się znaczyć. W konfigach nic nie grzebałem..

----------

## Rekuc

a masz zainstalowany net-print/hplip ? 

moze to rozwiaze twoj problem

----------

## kurak

Dzięki, ale to nie to.. drukowanie po sieci już mi działa. Tylko jak pisałem wcześniej, nie widzi jej przez polecenie: 

```
 lpstat -a
```

 W sumie to nie jest do niczego potrzebne, bo drukowanie odbywa się bez problemu. Ale jak się bawić to na całego  :Smile: 

----------

