1 | <?xml version='1.0' encoding='UTF-8'?> |
1 | <?xml version='1.0' encoding='UTF-8'?> |
2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/quick-samba-howto.xml,v 1.26 2006/12/25 17:30:26 nightmorph Exp $ --> |
2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/quick-samba-howto.xml,v 1.38 2007/12/01 11:34:22 neysx Exp $ --> |
3 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
3 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
|
|
4 | |
4 | <guide link="/doc/en/quick-samba-howto.xml"> |
5 | <guide link="/doc/en/quick-samba-howto.xml"> |
|
|
6 | |
5 | <title>Gentoo Samba3/CUPS/ClamAV HOWTO</title> |
7 | <title>Gentoo Samba3/CUPS/ClamAV HOWTO</title> |
|
|
8 | |
6 | <author title="Author"> |
9 | <author title="Author"> |
7 | <mail link="daff at dword dot org">Andreas "daff" Ntaflos</mail> |
10 | Andreas "daff" Ntaflos <!--daff at dword dot org--> |
8 | </author> |
11 | </author> |
9 | <author title="Author"> |
12 | <author title="Author"> |
10 | <mail link="joshua@sungentoo.homeunix.com">Joshua Preston</mail> |
13 | <mail link="joshua@sungentoo.homeunix.com">Joshua Preston</mail> |
11 | </author> |
14 | </author> |
|
|
15 | <author title="Editor"> |
|
|
16 | <mail link="nightmorph@gentoo.org">Joshua Saddler</mail> |
|
|
17 | </author> |
12 | |
18 | |
13 | <abstract> |
19 | <abstract> |
14 | Setup, install and configure a Samba Server under Gentoo that shares |
20 | Setup, install and configure a Samba Server under Gentoo that shares files, |
15 | files, printers without the need to install drivers and provides |
21 | printers without the need to install drivers and provides automatic virus |
16 | automatic virus scanning. |
22 | scanning. |
17 | </abstract> |
23 | </abstract> |
18 | |
24 | |
19 | <!-- The content of this document is licensed under the CC-BY-SA license --> |
25 | <!-- The content of this document is licensed under the CC-BY-SA license --> |
20 | <!-- See http://creativecommons.org/licenses/by-sa/1.0 --> |
26 | <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
21 | <license/> |
27 | <license/> |
22 | |
28 | |
23 | <version>1.15</version> |
29 | <version>1.23</version> |
24 | <date>2006-12-25</date> |
30 | <date>2007-12-01</date> |
25 | |
31 | |
26 | <chapter> |
32 | <chapter> |
27 | <title>Introduction to this HOWTO</title> |
33 | <title>Introduction to this HOWTO</title> |
28 | <section> |
34 | <section> |
29 | <title>Purpose</title> |
35 | <title>Purpose</title> |
30 | <body> |
36 | <body> |
31 | |
37 | |
32 | <p> |
38 | <p> |
33 | This HOWTO is designed to help you move a network from many different |
39 | This HOWTO is designed to help you move a network from many different clients |
34 | clients speaking different languages, to many different machines that |
40 | speaking different languages, to many different machines that speak a common |
35 | speak a common language. The ultimate goal is to help differing |
41 | language. The ultimate goal is to help differing architectures and technologies, |
36 | architectures and technologies, come together in a productive, |
42 | come together in a productive, happily coexisting environment. |
37 | happily coexisting environment. |
|
|
38 | </p> |
|
|
39 | |
|
|
40 | <p> |
43 | </p> |
|
|
44 | |
|
|
45 | <p> |
41 | Following the directions outlined in this HOWTO should give you an |
46 | Following the directions outlined in this HOWTO should give you an excellent |
42 | excellent step towards a peaceful cohabitation between Windows, and |
47 | step towards a peaceful cohabitation between Windows, and virtually all known |
43 | virtually all known variations of *nix. |
48 | variations of *nix. |
44 | </p> |
|
|
45 | |
|
|
46 | <p> |
49 | </p> |
|
|
50 | |
|
|
51 | <p> |
47 | This HOWTO originally started not as a HOWTO, but as a FAQ. It was |
52 | This HOWTO originally started not as a HOWTO, but as a FAQ. It was intended to |
48 | intended to explore the functionality and power of the Gentoo system, |
53 | explore the functionality and power of the Gentoo system, portage and the |
49 | portage and the flexibility of USE flags. Like so many other projects, |
54 | flexibility of USE flags. Like so many other projects, it was quickly discovered |
50 | it was quickly discovered what was missing in the Gentoo realm: there |
55 | what was missing in the Gentoo realm: there weren't any Samba HOWTO's catered |
51 | weren't any Samba HOWTO's catered for Gentoo users. These users are |
56 | for Gentoo users. These users are more demanding than most; they require |
52 | more demanding than most; they require performance, flexibility and |
57 | performance, flexibility and customization. This does not however imply that |
53 | customization. This does not however imply that this HOWTO was not |
|
|
54 | intended for other distributions; rather that it was designed to work |
58 | this HOWTO was not intended for other distributions; rather that it was designed |
55 | with a highly customized version of Samba. |
59 | to work with a highly customized version of Samba. |
56 | </p> |
|
|
57 | |
|
|
58 | <p> |
60 | </p> |
|
|
61 | |
|
|
62 | <p> |
59 | This HOWTO will describe how to share files and printers between Windows |
63 | This HOWTO will describe how to share files and printers between Windows PCs and |
60 | PCs and *nix PCs. It will also demonstrate the use of the VFS (Virtual |
64 | *nix PCs. It will also demonstrate the use of the VFS (Virtual File System) |
61 | File System) feature of Samba to incorporate automatic virus protection. |
65 | feature of Samba to incorporate automatic virus protection. As a finale, it will |
62 | As a finale, it will show you how to mount and manipulate shares. |
66 | show you how to mount and manipulate shares. |
63 | </p> |
|
|
64 | |
|
|
65 | <p> |
67 | </p> |
|
|
68 | |
|
|
69 | <p> |
66 | There are a few topics that will be mentioned, but are out of the |
70 | There are a few topics that will be mentioned, but are out of the scope of this |
67 | scope of this HOWTO. These will be noted as they are presented. |
71 | HOWTO. These will be noted as they are presented. |
68 | </p> |
|
|
69 | |
|
|
70 | <p> |
72 | </p> |
|
|
73 | |
|
|
74 | <p> |
71 | This HOWTO is based on a compilation and merge of an excellent HOWTO |
75 | This HOWTO is based on a compilation and merge of an excellent HOWTO provided |
72 | provided in the <uri link="http://forums.gentoo.org">Gentoo forums</uri> |
76 | in the <uri link="http://forums.gentoo.org">Gentoo forums</uri> by Andreas |
73 | by Andreas "daff" Ntaflos and the collected knowledge of Joshua Preston. |
77 | "daff" Ntaflos and the collected knowledge of Joshua Preston. The link to this |
74 | The link to this discussion is provided below for your reference: |
78 | discussion is provided below for your reference: |
75 | </p> |
79 | </p> |
76 | |
80 | |
77 | <ul> |
81 | <ul> |
78 | <li> |
82 | <li> |
79 | <uri link="http://forums.gentoo.org/viewtopic.php?t=110931">HOWTO |
83 | <uri link="http://forums.gentoo.org/viewtopic.php?t=110931">HOWTO |
80 | CUPS+Samba: printing from Windows & Linux</uri> |
84 | CUPS+Samba: printing from Windows & Linux</uri> |
81 | </li> |
85 | </li> |
82 | </ul> |
86 | </ul> |
83 | |
87 | |
84 | </body> |
88 | </body> |
… | |
… | |
87 | <title>Before you use this guide</title> |
91 | <title>Before you use this guide</title> |
88 | <body> |
92 | <body> |
89 | |
93 | |
90 | <p> |
94 | <p> |
91 | There are a several other guides for setting up CUPS and/or Samba, please read |
95 | There are a several other guides for setting up CUPS and/or Samba, please read |
92 | them as well, as they may tell you things left out of this HOWTO (intentional |
96 | them as well, as they may tell you things left out of this HOWTO (intentional or |
93 | or otherwise). One such document is the very useful and well written <uri |
97 | otherwise). One such document is the very useful and well written <uri |
94 | link="/doc/en/printing-howto.xml">Gentoo Printing Guide</uri>, as configuration |
98 | link="/doc/en/printing-howto.xml">Gentoo Printing Guide</uri>, as configuration |
95 | issues and specific printer setup is not discussed here. |
99 | issues and specific printer setup is not discussed here. |
96 | </p> |
100 | </p> |
97 | |
101 | |
98 | </body> |
102 | </body> |
… | |
… | |
100 | <section> |
104 | <section> |
101 | <title>Brief Overview</title> |
105 | <title>Brief Overview</title> |
102 | <body> |
106 | <body> |
103 | |
107 | |
104 | <p> |
108 | <p> |
105 | After presenting the various USE flags, the following list will outline |
109 | After presenting the various USE flags, the following list will outline all of |
106 | all of the topics covered as they are presented: |
110 | the topics covered as they are presented: |
107 | </p> |
111 | </p> |
108 | |
112 | |
109 | <ul> |
113 | <ul> |
110 | <li>On the Samba server: |
114 | <li>On the Samba server: |
111 | <ul> |
115 | <ul> |
… | |
… | |
144 | <ul> |
148 | <ul> |
145 | <li>net-fs/samba</li> |
149 | <li>net-fs/samba</li> |
146 | <li>app-antivirus/clamav</li> |
150 | <li>app-antivirus/clamav</li> |
147 | <li>net-print/cups</li> |
151 | <li>net-print/cups</li> |
148 | <li>net-print/foomatic</li> |
152 | <li>net-print/foomatic</li> |
149 | <li>net-print/hpijs (if you have an HP printer)</li> |
153 | <li>net-print/hplip (if you have an HP printer)</li> |
150 | <li>A kernel of sorts (preferably 2.4.24+ or 2.6.x)</li> |
154 | <li>A kernel of sorts (2.6)</li> |
151 | <li>A printer (PS or non-PS, maybe not TOO new or fancy)</li> |
155 | <li>A printer (PS or non-PS, maybe not TOO new or fancy)</li> |
152 | <li> |
156 | <li> |
153 | A working network (home/office/etc) consisting of more than one machine) |
157 | A working network (home/office/etc) consisting of more than one machine) |
154 | </li> |
158 | </li> |
155 | </ul> |
159 | </ul> |
156 | |
160 | |
157 | <p> |
161 | <p> |
158 | The main package we use here is net-fs/samba, however, you will need |
162 | The main package we use here is net-fs/samba, however, you will need a kernel |
159 | a kernel with smbfs support enabled in order to mount a samba or windows |
163 | with cifs support enabled in order to mount a samba or windows share from |
160 | share from another computer. CUPS will be emerged if it is not already. |
164 | another computer. CUPS will be emerged if it is not already. |
161 | app-antivirus/clamav will be used also, but others should be easily adapted |
165 | app-antivirus/clamav will be used also, but others should be easily adapted to |
162 | to work with Samba. Gentoo's samba ebuild supports all kinds of virus scanning |
166 | work with Samba. Gentoo's samba ebuild supports all kinds of virus scanning |
163 | technologies, such as Sophos, FProt, Fsav, Trend, Icap, Nai, ... |
167 | technologies, such as Sophos, FProt, Fsav, Trend, Icap, Nai, ... |
164 | </p> |
168 | </p> |
165 | |
169 | |
166 | </body> |
170 | </body> |
167 | </section> |
171 | </section> |
… | |
… | |
172 | <section> |
176 | <section> |
173 | <title>The USE Flags</title> |
177 | <title>The USE Flags</title> |
174 | <body> |
178 | <body> |
175 | |
179 | |
176 | <p> |
180 | <p> |
177 | Before emerging anything, take a look at the various USE flags |
181 | Before emerging anything, take a look at some of the various USE flags available |
178 | available to Samba. |
182 | to Samba. |
179 | </p> |
183 | </p> |
180 | |
184 | |
181 | <pre caption="Samba uses the following USE Variables:"> |
185 | <pre caption="Samba uses the following USE Variables:"> |
182 | kerberos mysql xml acl cups ldap pam readline python oav libclamav |
186 | kerberos acl cups ldap pam readline python oav |
183 | </pre> |
187 | </pre> |
184 | |
188 | |
185 | <p> |
189 | <p> |
186 | Depending on the network topology and the specific requirements of |
190 | Depending on the network topology and the specific requirements of the server, |
187 | the server, the USE flags outlined below will define what to include or |
191 | the USE flags outlined below will define what to include or exclude from the |
188 | exclude from the emerging of Samba. |
192 | emerging of Samba. |
189 | </p> |
193 | </p> |
190 | |
194 | |
191 | <table> |
195 | <table> |
192 | <tr> |
196 | <tr> |
193 | <th><b>USE flag</b></th> |
197 | <th><b>USE flag</b></th> |
194 | <th>Description</th> |
198 | <th>Description</th> |
195 | </tr> |
199 | </tr> |
196 | <tr> |
200 | <tr> |
197 | <th><b>kerberos</b></th> |
201 | <th><b>kerberos</b></th> |
198 | <ti> |
202 | <ti> |
199 | Include support for Kerberos. The server will need this if it is |
203 | Include support for Kerberos. The server will need this if it is intended |
200 | intended to join an existing domain or Active Directory. See the note |
204 | to join an existing domain or Active Directory. See the note below for more |
201 | below for more information. |
205 | information. |
202 | </ti> |
|
|
203 | </tr> |
|
|
204 | <tr> |
|
|
205 | <th><b>mysql</b></th> |
|
|
206 | <ti> |
|
|
207 | This will allow Samba to use MySQL in order to do password authentication. |
|
|
208 | It will store ACLs, usernames, passwords, etc in a database versus a |
|
|
209 | flat file. If Samba is needed to do password authentication, such as |
|
|
210 | acting as a password validation server or a Primary Domain Controller |
|
|
211 | (PDC). |
|
|
212 | </ti> |
|
|
213 | </tr> |
|
|
214 | <tr> |
|
|
215 | <th><b>xml</b></th> |
|
|
216 | <ti> |
|
|
217 | The xml USE option for Samba provides a password database backend allowing |
|
|
218 | Samba to store account details in XML files, for the same reasons listed in |
|
|
219 | the mysql USE flag description. |
|
|
220 | </ti> |
206 | </ti> |
221 | </tr> |
207 | </tr> |
222 | <tr> |
208 | <tr> |
223 | <th><b>acl</b></th> |
209 | <th><b>acl</b></th> |
224 | <ti> |
210 | <ti> |
225 | Enables Access Control Lists. The ACL support in Samba uses a patched |
211 | Enables Access Control Lists. The ACL support in Samba uses a patched |
226 | ext2/ext3, or SGI's XFS in order to function properly as it extends more |
212 | ext2/ext3, or SGI's XFS in order to function properly as it extends more |
227 | detailed access to files or directories; much more so than typical *nix |
213 | detailed access to files or directories; much more so than typical *nix |
228 | GID/UID schemas. |
214 | GID/UID schemas. |
229 | </ti> |
215 | </ti> |
230 | </tr> |
216 | </tr> |
231 | <tr> |
217 | <tr> |
232 | <th><b>cups</b></th> |
218 | <th><b>cups</b></th> |
233 | <ti> |
219 | <ti> |
234 | This enables support for the Common Unix Printing System. This |
220 | This enables support for the Common Unix Printing System. This provides an |
235 | provides an interface allowing local CUPS printers to be shared to |
221 | interface allowing local CUPS printers to be shared to other systems in the |
236 | other systems in the network. |
222 | network. |
237 | </ti> |
223 | </ti> |
238 | </tr> |
224 | </tr> |
239 | <tr> |
225 | <tr> |
240 | <th><b>ldap</b></th> |
226 | <th><b>ldap</b></th> |
241 | <ti> |
227 | <ti> |
242 | Enables the Lightweight Directory Access Protocol (LDAP). If Samba is |
228 | Enables the Lightweight Directory Access Protocol (LDAP). If Samba is |
243 | expected to use Active Directory, this option must be used. This would |
229 | expected to use Active Directory, this option must be used. This would be |
244 | be used in the event Samba needs to login to or provide login to |
230 | used in the event Samba needs to login to or provide login to a |
245 | a Domain/Active Directory Server. The kerberos USE flag is needed for |
231 | Domain/Active Directory Server. The kerberos USE flag is needed for proper |
246 | proper functioning of this option. |
232 | functioning of this option. |
247 | </ti> |
233 | </ti> |
248 | </tr> |
234 | </tr> |
249 | <tr> |
235 | <tr> |
250 | <th><b>pam</b></th> |
236 | <th><b>pam</b></th> |
251 | <ti> |
237 | <ti> |
252 | Include support for pluggable authentication modules (PAM). This |
238 | Include support for pluggable authentication modules (PAM). This provides |
253 | provides the ability to authenticate users on the Samba Server, which is |
239 | the ability to authenticate users on the Samba Server, which is required if |
254 | required if users have to login to your server. The kerberos USE flag |
240 | users have to login to your server. The kerberos USE flag is recommended |
255 | is recommended along with this option. |
241 | along with this option. |
256 | </ti> |
242 | </ti> |
257 | </tr> |
243 | </tr> |
258 | <tr> |
244 | <tr> |
259 | <th><b>readline</b></th> |
245 | <th><b>readline</b></th> |
260 | <ti> |
246 | <ti> |
261 | Link Samba against libreadline. This is highly recommended and should |
247 | Link Samba against libreadline. This is highly recommended and should |
262 | probably not be disabled |
248 | probably not be disabled. |
263 | </ti> |
249 | </ti> |
264 | </tr> |
250 | </tr> |
265 | <tr> |
251 | <tr> |
266 | <th><b>python</b></th> |
252 | <th><b>python</b></th> |
267 | <ti> |
253 | <ti> |
268 | Python bindings API. Provides an API that will allow Python to |
254 | Python bindings API. Provides an API that will allow Python to interface |
269 | interface with Samba. |
255 | with Samba. |
270 | </ti> |
256 | </ti> |
271 | </tr> |
257 | </tr> |
272 | <tr> |
258 | <tr> |
273 | <th><b>oav</b></th> |
259 | <th><b>oav</b></th> |
274 | <ti> |
260 | <ti> |
275 | Provides on-access scanning of Samba shares with FRISK F-Prot |
261 | Provides on-access scanning of Samba shares with FRISK F-Prot Daemon, |
276 | Daemon, Kaspersky AntiVirus, OpenAntiVirus.org ScannerDaemon, Sophos Sweep |
262 | Kaspersky AntiVirus, OpenAntiVirus.org ScannerDaemon, Sophos Sweep (SAVI), |
277 | (SAVI), Symantec CarrierScan, and Trend Micro (VSAPI). |
263 | Symantec CarrierScan, and Trend Micro (VSAPI). |
278 | </ti> |
|
|
279 | </tr> |
|
|
280 | <tr> |
|
|
281 | <th><b>libclamav</b></th> |
|
|
282 | <ti> |
|
|
283 | Use the ClamAV library instead of the clamd daemon |
|
|
284 | </ti> |
264 | </ti> |
285 | </tr> |
265 | </tr> |
286 | </table> |
266 | </table> |
287 | |
267 | |
288 | <p> |
268 | <p> |
… | |
… | |
290 | Samba functions include: |
270 | Samba functions include: |
291 | </p> |
271 | </p> |
292 | |
272 | |
293 | <ul> |
273 | <ul> |
294 | <li> |
274 | <li> |
295 | ACLs on ext2/3 are implemented through extended attributes (EAs). EA and |
275 | ACLs on ext2/3 are implemented through extended attributes (EAs). EA and |
296 | ACL kernel options for ext2 and/or ext3 will need to be enabled |
276 | ACL kernel options for ext2 and/or ext3 will need to be enabled (depending |
297 | (depending on which file system is being used - both can be enabled). |
277 | on which file system is being used - both can be enabled). |
298 | </li> |
278 | </li> |
299 | <li> |
279 | <li> |
300 | While Active Directory, ACL, and PDC functions are out of the intended |
280 | While Active Directory, ACL, and PDC functions are out of the intended |
301 | scope of this HOWTO, you may find these links as helpful to your cause: |
281 | scope of this HOWTO, you may find these links as helpful to your cause: |
302 | <ul> |
282 | <ul> |
… | |
… | |
315 | <section> |
295 | <section> |
316 | <title>Emerging Samba</title> |
296 | <title>Emerging Samba</title> |
317 | <body> |
297 | <body> |
318 | |
298 | |
319 | <p> |
299 | <p> |
320 | First of all: be sure that all your hostnames resolve correctly. |
300 | First of all: be sure that all your hostnames resolve correctly. Either have a |
321 | Either have a working domain name system running on your network |
301 | working domain name system running on your network or appropriate entries in |
322 | or appropriate entries in your <path>/etc/hosts</path> file. |
302 | your <path>/etc/hosts</path> file. <c>cupsaddsmb</c> often borks if hostnames |
323 | <c>cupsaddsmb</c> often borks if hostnames don't point to the correct |
303 | don't point to the correct machines. |
324 | machines. |
|
|
325 | </p> |
|
|
326 | |
|
|
327 | <p> |
304 | </p> |
|
|
305 | |
|
|
306 | <p> |
328 | Hopefully now you can make an assessment of what you'll actually need in |
307 | Hopefully now you can make an assessment of what you'll actually need in order |
329 | order to use Samba with your particular setup. The setup used for this |
308 | to use Samba with your particular setup. The setup used for this HOWTO is: |
330 | HOWTO is: |
|
|
331 | </p> |
309 | </p> |
332 | |
310 | |
333 | <ul> |
311 | <ul> |
334 | <li>oav</li> |
312 | <li>oav</li> |
335 | <li>cups</li> |
313 | <li>cups</li> |
336 | <li>readline</li> |
314 | <li>readline</li> |
337 | <li>pam</li> |
315 | <li>pam</li> |
338 | </ul> |
316 | </ul> |
339 | |
317 | |
340 | <p> |
318 | <p> |
341 | To optimize performance, size and the time of the build, the |
319 | To optimize performance, size and the time of the build, the USE flags are |
342 | USE flags are specifically included or excluded. |
320 | specifically included or excluded. |
343 | </p> |
321 | </p> |
344 | |
322 | |
345 | <pre caption="Emerge Samba"> |
323 | <pre caption="Emerge Samba"> |
346 | # <i>echo "net-fs/samba oav readline cups pam" >> /etc/portage/package.use</i> |
324 | # <i>echo "net-fs/samba oav readline cups pam" >> /etc/portage/package.use</i> |
347 | # <i>emerge net-fs/samba</i> |
325 | # <i>emerge net-fs/samba</i> |
348 | </pre> |
326 | </pre> |
349 | |
327 | |
350 | <note> |
|
|
351 | The following archs will need to add <e>~</e> to their <e>KEYWORDS</e>: x86, |
|
|
352 | ppc, sparc, hppa, ia64 and alpha |
|
|
353 | </note> |
|
|
354 | |
|
|
355 | <p> |
328 | <p> |
356 | This will emerge Samba and CUPS (if CUPS is not already emerged). |
329 | This will emerge Samba and CUPS (if CUPS is not already emerged). |
357 | </p> |
330 | </p> |
358 | |
331 | |
359 | </body> |
332 | </body> |
… | |
… | |
361 | <section> |
334 | <section> |
362 | <title>Emerging ClamAV</title> |
335 | <title>Emerging ClamAV</title> |
363 | <body> |
336 | <body> |
364 | |
337 | |
365 | <p> |
338 | <p> |
366 | Because the <e>oav</e> USE flag only provides an interface to allow on access |
339 | Because the <e>oav</e> USE flag only provides an interface to allow on access |
367 | virus scanning, the actual virus scanner must be emerged. The scanner |
340 | virus scanning, the actual virus scanner must be emerged. The scanner used in |
368 | used in this HOWTO is ClamAV. |
341 | this HOWTO is ClamAV. |
369 | </p> |
342 | </p> |
370 | |
343 | |
371 | <pre caption="Emerge Clamav"> |
344 | <pre caption="Emerge Clamav"> |
372 | # <i>emerge app-antivirus/clamav</i> |
345 | # <i>emerge app-antivirus/clamav</i> |
373 | </pre> |
346 | </pre> |
… | |
… | |
383 | </pre> |
356 | </pre> |
384 | |
357 | |
385 | </body> |
358 | </body> |
386 | </section> |
359 | </section> |
387 | <section> |
360 | <section> |
388 | <title>Emerging net-print/hpijs</title> |
361 | <title>Emerging net-print/hplip</title> |
389 | <body> |
362 | <body> |
390 | |
363 | |
391 | <p> |
364 | <p> |
392 | You only need to emerge this if you use an HP printer. |
365 | You only need to emerge this if you use an HP printer. |
393 | </p> |
366 | </p> |
394 | |
367 | |
395 | <pre caption="Emerge hpijs"> |
368 | <pre caption="Emerge hplip"> |
396 | # <i>emerge net-print/hpijs</i> |
369 | # <i>emerge net-print/hplip</i> |
397 | </pre> |
370 | </pre> |
398 | |
371 | |
399 | </body> |
372 | </body> |
400 | </section> |
373 | </section> |
401 | </chapter> |
374 | </chapter> |
… | |
… | |
405 | <section> |
378 | <section> |
406 | <title>Configuring Samba</title> |
379 | <title>Configuring Samba</title> |
407 | <body> |
380 | <body> |
408 | |
381 | |
409 | <p> |
382 | <p> |
410 | The main Samba configuration file is <path>/etc/samba/smb.conf</path>. |
383 | The main Samba configuration file is <path>/etc/samba/smb.conf</path>. It is |
411 | It is divided in sections indicated by [sectionname]. Comments are either |
384 | divided in sections indicated by [sectionname]. Comments are either |
412 | # or ;. A sample <path>smb.conf</path> is included below with comments and |
385 | # or ;. A sample <path>smb.conf</path> is included below with comments and |
413 | suggestions for modifications. If more details are required, see the |
386 | suggestions for modifications. If more details are required, see the man page |
414 | man page for <path>smb.conf</path>, the installed |
387 | for <path>smb.conf</path>, the installed <path>smb.conf.example</path>, the |
415 | <path>smb.conf.example</path>, the Samba Web site or any of the |
388 | Samba Web site or any of the numerous Samba books available. |
416 | numerous Samba books available. |
|
|
417 | </p> |
389 | </p> |
418 | |
390 | |
419 | <pre caption="A Sample /etc/samba/smb.conf"> |
391 | <pre caption="A Sample /etc/samba/smb.conf"> |
420 | [global] |
392 | [global] |
421 | <comment># Replace MYWORKGROUPNAME with your workgroup/domain</comment> |
393 | <comment># Replace MYWORKGROUPNAME with your workgroup/domain</comment> |
… | |
… | |
445 | hosts deny = 0.0.0.0/0 |
417 | hosts deny = 0.0.0.0/0 |
446 | <comment># Other options for this are USER, DOMAIN, ADS, and SERVER |
418 | <comment># Other options for this are USER, DOMAIN, ADS, and SERVER |
447 | # The default is user</comment> |
419 | # The default is user</comment> |
448 | security = share |
420 | security = share |
449 | <comment># No passwords, so we're going to use a guest account!</comment> |
421 | <comment># No passwords, so we're going to use a guest account!</comment> |
450 | guest account = samba |
|
|
451 | guest ok = yes |
422 | guest ok = yes |
452 | <comment># We now will implement the on access virus scanner. |
423 | <comment># We now will implement the on access virus scanner. |
453 | # NOTE: By putting this in our [Global] section, we enable |
424 | # NOTE: By putting this in our [Global] section, we enable |
454 | # scanning of ALL shares, you could optionally move |
425 | # scanning of ALL shares, you could optionally move |
455 | # these to a specific share and only scan it.</comment> |
426 | # these to a specific share and only scan it.</comment> |
… | |
… | |
479 | guest ok = yes |
450 | guest ok = yes |
480 | <comment># Modify this to "username,root" if you don't want root to |
451 | <comment># Modify this to "username,root" if you don't want root to |
481 | # be the only printer admin)</comment> |
452 | # be the only printer admin)</comment> |
482 | printer admin = <i>root</i> |
453 | printer admin = <i>root</i> |
483 | |
454 | |
484 | <comment># Now we setup our printers share. This should be |
455 | <comment># Now we setup our printers share. This should be |
485 | # browseable, printable, public.</comment> |
456 | # browseable, printable, public.</comment> |
486 | [printers] |
457 | [printers] |
487 | comment = All Printers |
458 | comment = All Printers |
488 | browseable = no |
459 | browseable = no |
489 | printable = yes |
460 | printable = yes |
490 | writable = no |
461 | writable = no |
491 | public = yes |
462 | public = yes |
492 | guest ok = yes |
463 | guest ok = yes |
493 | path = /var/spool/samba |
464 | path = /var/spool/samba |
494 | <comment># Modify this to "username,root" if you don't want root to |
465 | <comment># Modify this to "username,root" if you don't want root to |
495 | # be the only printer admin)</comment> |
466 | # be the only printer admin)</comment> |
496 | printer admin = <i>root</i> |
467 | printer admin = <i>root</i> |
… | |
… | |
506 | guest ok = yes |
477 | guest ok = yes |
507 | path = /home/samba/public |
478 | path = /home/samba/public |
508 | </pre> |
479 | </pre> |
509 | |
480 | |
510 | <warn> |
481 | <warn> |
511 | If you like to use Samba's guest account to do anything concerning |
482 | If you like to use Samba's guest account to do anything concerning printing from |
512 | printing from Windows clients: don't set <c>guest only = yes</c> in |
483 | Windows clients: don't set <c>guest only = yes</c> in the <c>[global]</c> |
513 | the <c>[global]</c> section. The guest account seems to cause |
484 | section. The guest account seems to cause problems when running |
514 | problems when running <c>cupsaddsmb</c> sometimes when trying to |
485 | <c>cupsaddsmb</c> sometimes when trying to connect from Windows machines. See |
515 | connect from Windows machines. See below, too, when we talk about |
486 | below, too, when we talk about <c>cupsaddsmb</c> and the problems that can |
516 | <c>cupsaddsmb</c> and the problems that can arise. Use a dedicated |
|
|
517 | printer user, like <c>printeruser</c> or <c>printer</c> or |
487 | arise. Use a dedicated printer user, like <c>printeruser</c> or <c>printer</c> |
518 | <c>printme</c> or whatever. It doesn't hurt and it will certainly |
488 | or <c>printme</c> or whatever. It doesn't hurt and it will certainly protect you |
519 | protect you from a lot of problems. |
489 | from a lot of problems. |
520 | </warn> |
490 | </warn> |
521 | |
491 | |
522 | <warn> |
492 | <warn> |
523 | Turning on ClamAV on access scanning in the <c>[global]</c> section will slow |
493 | Turning on ClamAV on access scanning in the <c>[global]</c> section will slow |
524 | down the performance of your Samba server dramatically. |
494 | down the performance of your Samba server dramatically. |
525 | </warn> |
495 | </warn> |
526 | |
496 | |
527 | <p> |
497 | <p> |
528 | Now create the directories required for the minimum configuration of |
498 | Now create the directories required for the minimum configuration of Samba to |
529 | Samba to share the installed printer throughout the network. |
499 | share the installed printer throughout the network. |
530 | </p> |
500 | </p> |
531 | |
501 | |
532 | <pre caption="Create the directories"> |
502 | <pre caption="Create the directories"> |
533 | # <i>mkdir /etc/samba/printer</i> |
503 | # <i>mkdir /etc/samba/printer</i> |
534 | # <i>mkdir /var/spool/samba</i> |
504 | # <i>mkdir /var/spool/samba</i> |
535 | # <i>mkdir /home/samba/public</i> |
505 | # <i>mkdir /home/samba/public</i> |
536 | </pre> |
506 | </pre> |
537 | |
507 | |
538 | <p> |
508 | <p> |
539 | At least one Samba user is required in order to install the printer |
509 | At least one Samba user is required in order to install the printer drivers and |
540 | drivers and to allow users to connect to the printer. Users must |
510 | to allow users to connect to the printer. Users must exist in the system's |
541 | exist in the system's <path>/etc/passwd</path> file. |
511 | <path>/etc/passwd</path> file. |
542 | </p> |
512 | </p> |
543 | |
513 | |
544 | <pre caption="Creating the users"> |
514 | <pre caption="Creating the users"> |
545 | # <i>smbpasswd -a root</i> |
515 | # <i>smbpasswd -a root</i> |
546 | |
516 | |
547 | <comment>(If another user is to be a printer admin)</comment> |
517 | <comment>(If another user is to be a printer admin)</comment> |
548 | # <i>smbpasswd -a username</i> |
518 | # <i>smbpasswd -a username</i> |
549 | </pre> |
519 | </pre> |
550 | |
520 | |
551 | <p> |
521 | <p> |
552 | The Samba passwords need not be the same as the system passwords |
522 | The Samba passwords need not be the same as the system passwords |
553 | in <path>/etc/passwd</path>. |
523 | in <path>/etc/passwd</path>. |
554 | </p> |
524 | </p> |
555 | |
525 | |
556 | <p> |
526 | <p> |
557 | You will also need to update <path>/etc/nsswitch.conf</path> so that Windows |
527 | You will also need to update <path>/etc/nsswitch.conf</path> so that Windows |
… | |
… | |
569 | <section> |
539 | <section> |
570 | <title>Configuring ClamAV</title> |
540 | <title>Configuring ClamAV</title> |
571 | <body> |
541 | <body> |
572 | |
542 | |
573 | <p> |
543 | <p> |
574 | The configuration file specified to be used in <path>smb.conf</path> is |
544 | The configuration file specified to be used in <path>smb.conf</path> is |
575 | <path>/etc/samba/vscan-clamav.conf</path>. While these options are set |
545 | <path>/etc/samba/vscan-clamav.conf</path>. While these options are set to the |
576 | to the defaults, the infected file action may need to be changed. |
546 | defaults, the infected file action may need to be changed. |
577 | </p> |
547 | </p> |
578 | |
548 | |
579 | <pre caption="/etc/samba/vscan-clamav.conf"> |
549 | <pre caption="/etc/samba/vscan-clamav.conf"> |
580 | [samba-vscan] |
550 | [samba-vscan] |
581 | <comment>; run-time configuration for vscan-samba using |
551 | <comment>; run-time configuration for vscan-samba using |
… | |
… | |
638 | <comment>; port number the ScannerDaemon listens on</comment> |
608 | <comment>; port number the ScannerDaemon listens on</comment> |
639 | oav port = 8127 |
609 | oav port = 8127 |
640 | </pre> |
610 | </pre> |
641 | |
611 | |
642 | <p> |
612 | <p> |
643 | It is generally a good idea to start the virus scanner immediately. Add |
613 | It is generally a good idea to start the virus scanner immediately. Add it to |
644 | it to the <e>default</e> runlevel and then start the <c>clamd</c> service |
614 | the <e>default</e> runlevel and then start the <c>clamd</c> service immediately. |
645 | immediately. The service has two processes: freshclam keeps the virus definition |
615 | The service has two processes: freshclam keeps the virus definition database up |
646 | database up to date while clamd is the actual anti-virus daemon. First you may |
616 | to date while clamd is the actual anti-virus daemon. First you may want to set |
647 | want to set the paths of the logfiles so that it fits your needs. |
617 | the paths of the logfiles so that it fits your needs. |
648 | </p> |
618 | </p> |
649 | |
619 | |
650 | <pre caption="Checking the location of the logfiles"> |
620 | <pre caption="Checking the location of the logfiles"> |
651 | # <i>vim /etc/clamd.conf</i> |
621 | # <i>vim /etc/clamd.conf</i> |
652 | <comment>(Check the line "LogFile /var/log/clamd.log")</comment> |
622 | <comment>(Check the line "LogFile /var/log/clamd.log")</comment> |
… | |
… | |
670 | <section> |
640 | <section> |
671 | <title>Configuring CUPS</title> |
641 | <title>Configuring CUPS</title> |
672 | <body> |
642 | <body> |
673 | |
643 | |
674 | <p> |
644 | <p> |
675 | This is a little more complicated. CUPS' main config file is |
645 | This is a little more complicated. CUPS' main config file is |
676 | <path>/etc/cups/cupsd.conf</path>. It's structure is similar to Apache's |
646 | <path>/etc/cups/cupsd.conf</path>. It's structure is similar to Apache's |
677 | <path>httpd.conf</path> file, so many you may find it familiar. Outlined |
647 | <path>httpd.conf</path> file, so many you may find it familiar. Outlined in the |
678 | in the example are the directives that need to be changed: |
648 | example are the directives that need to be changed: |
679 | </p> |
649 | </p> |
680 | |
650 | |
681 | <pre caption="/etc/cups/cupsd.conf"> |
651 | <pre caption="/etc/cups/cupsd.conf"> |
682 | ServerName <i>PrintServer</i> <comment># your printserver name</comment> |
652 | ServerName <i>PrintServer</i> <comment># your printserver name</comment> |
683 | ServerAdmin <i>root@PrintServer</i> <comment># the person for printer-related hate-mail, e.g. you</comment> |
653 | ServerAdmin <i>root@PrintServer</i> <comment># the person for printer-related hate-mail, e.g. you</comment> |
684 | |
654 | |
685 | AccessLog /var/log/cups/access_log <comment># probably doesn't need changing</comment> |
655 | AccessLog /var/log/cups/access_log <comment># probably doesn't need changing</comment> |
686 | ErrorLog /var/log/cups/error_log <comment># doesn't really need changing either</comment> |
656 | ErrorLog /var/log/cups/error_log <comment># doesn't really need changing either</comment> |
687 | |
657 | |
688 | LogLevel debug <comment># only while isntalling and testing, should later be |
658 | LogLevel debug <comment># only while installing and testing, should later be |
689 | # changed to 'info'</comment> |
659 | # changed to 'info'</comment> |
690 | |
660 | |
691 | MaxClients 100 <comment># I've had to set this to 1000000000 or so because some time back, |
661 | MaxClients 100 <comment># I've had to set this to 1000000000 or so because some time back, |
692 | # there seemed to be a bug in CUPS' controlling of the web interface, |
662 | # there seemed to be a bug in CUPS' controlling of the web interface, |
693 | # making CUPS think a denial of service attack was in progress when |
663 | # making CUPS think a denial of service attack was in progress when |
694 | # I tried to configure a printer with the web interface. weird.</comment> |
664 | # I tried to configure a printer with the web interface. weird.</comment> |
695 | |
665 | |
696 | BrowseAddress @IF(<i>eth0</i>) <comment># Change this to your internal net interface</comment> |
666 | BrowseAddress @IF(<i>eth0</i>) <comment># Change this to your internal net interface</comment> |
697 | |
667 | |
698 | <Location /> |
668 | <Location /> |
699 | Order Deny,Allow |
669 | Order Deny,Allow |
700 | Deny From All |
670 | Deny From All |
701 | Allow From <i>192.168.1.*</i> <comment># the addresses of your internel network |
671 | Allow From <i>192.168.1.*</i> <comment># the addresses of your internel network |
… | |
… | |
705 | |
675 | |
706 | <Location /admin> |
676 | <Location /admin> |
707 | AuthType Basic |
677 | AuthType Basic |
708 | AuthClass System |
678 | AuthClass System |
709 | Allow From <i>192.168.1.*</i> <comment># same as above, allow any host on the |
679 | Allow From <i>192.168.1.*</i> <comment># same as above, allow any host on the |
710 | # 192.168.1.0 network to connect and do |
680 | # 192.168.1.0 network to connect and do |
711 | # administrative tasks after authenticating</comment> |
681 | # administrative tasks after authenticating</comment> |
712 | Order Deny,Allow |
682 | Order Deny,Allow |
713 | Deny From All |
683 | Deny From All |
714 | </Location> |
684 | </Location> |
715 | </pre> |
685 | </pre> |
716 | |
686 | |
717 | <p> |
687 | <p> |
718 | Edit <path>/etc/cups/mime.convs</path> to uncomment some lines. |
688 | Edit <path>/etc/cups/mime.convs</path> to uncomment some lines. The changes to |
719 | The changes to <path>mime.convs</path> and <path>mime.types</path> are |
689 | <path>mime.convs</path> and <path>mime.types</path> are needed to make CUPS |
720 | needed to make CUPS print Microsoft Office document files. |
690 | print Microsoft Office document files. |
721 | </p> |
691 | </p> |
722 | |
692 | |
723 | <pre caption="/etc/cups/mime.convs"> |
693 | <pre caption="/etc/cups/mime.convs"> |
724 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
694 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
725 | application/octet-stream application/vnd.cups-raw 0 |
695 | application/octet-stream application/vnd.cups-raw 0 |
726 | </pre> |
696 | </pre> |
727 | |
697 | |
728 | <p> |
698 | <p> |
729 | Edit <path>/etc/cups/mime.types</path> to uncomment some lines. |
699 | Edit <path>/etc/cups/mime.types</path> to uncomment some lines. |
730 | </p> |
700 | </p> |
731 | |
701 | |
732 | <pre caption="/etc/cups/mime.types"> |
702 | <pre caption="/etc/cups/mime.types"> |
733 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
703 | <comment>(The following line is found near the end of the file. Uncomment it)</comment> |
734 | application/octet-stream |
704 | application/octet-stream |
735 | </pre> |
705 | </pre> |
736 | |
706 | |
737 | <p> |
707 | <p> |
738 | CUPS needs to be started on boot, and started immediately. |
708 | CUPS needs to be started on boot, and started immediately. |
739 | </p> |
709 | </p> |
740 | |
710 | |
741 | <pre caption="Setting up the CUPS service" > |
711 | <pre caption="Setting up the CUPS service" > |
742 | <comment>(To start CUPS on boot)</comment> |
712 | <comment>(To start CUPS on boot)</comment> |
743 | # <i>rc-update add cupsd default</i> |
713 | # <i>rc-update add cupsd default</i> |
… | |
… | |
754 | <p> |
724 | <p> |
755 | First, go to <uri link="http://linuxprinting.org">LinuxPrinting.Org</uri> to |
725 | First, go to <uri link="http://linuxprinting.org">LinuxPrinting.Org</uri> to |
756 | find and download the correct PPD file for your printer and CUPS. To do so, |
726 | find and download the correct PPD file for your printer and CUPS. To do so, |
757 | click the link Printer Listings to the left. Select your printers manufacturer |
727 | click the link Printer Listings to the left. Select your printers manufacturer |
758 | and the model in the pulldown menu, e.g. HP and DeskJet 930C. Click "Show". On |
728 | and the model in the pulldown menu, e.g. HP and DeskJet 930C. Click "Show". On |
759 | the page coming up click the "recommended driver" link after reading the |
729 | the page coming up click the "recommended driver" link after reading the various |
760 | various notes and information. Then fetch the PPD file from the next page, |
730 | notes and information. Then fetch the PPD file from the next page, again after |
761 | again after reading the notes and introductions there. You may have to select |
731 | reading the notes and introductions there. You may have to select your printers |
762 | your printers manufacturer and model again. Reading the <uri |
732 | manufacturer and model again. Reading the <uri |
763 | link="http://www.linuxprinting.org/cups-doc.html">CUPS quickstart guide</uri> |
733 | link="http://www.linuxprinting.org/cups-doc.html">CUPS quickstart guide</uri> is |
764 | is also very helpful when working with CUPS. |
734 | also very helpful when working with CUPS. |
765 | </p> |
|
|
766 | |
|
|
767 | <p> |
735 | </p> |
|
|
736 | |
|
|
737 | <p> |
768 | Now you have a PPD file for your printer to work with CUPS. Place it in |
738 | Now you have a PPD file for your printer to work with CUPS. Place it in |
769 | <path>/usr/share/cups/model</path>. The PPD for the HP DeskJet 930C was |
739 | <path>/usr/share/cups/model</path>. The PPD for the HP DeskJet 930C was named |
770 | named <path>HP-DeskJet_930C-hpijs.ppd</path>. You should now install the printer. |
740 | <path>HP-DeskJet_930C-hpijs.ppd</path>. You should now install the printer. |
771 | This can be done via the CUPS web interface or via command line. The web |
741 | This can be done via the CUPS web interface or via command line. The web |
772 | interface is found at <path>http://PrintServer:631</path> once CUPS is running. |
742 | interface is found at <path>http://PrintServer:631</path> once CUPS is running. |
773 | </p> |
743 | </p> |
774 | |
744 | |
775 | <pre caption="Install the printer via command line"> |
745 | <pre caption="Install the printer via command line"> |
776 | # <i>lpadmin -p HPDeskJet930C -E -v usb:/dev/ultp0 -m HP-DeskJet_930C-hpijs.ppd</i> |
746 | # <i>lpadmin -p HPDeskJet930C -E -v usb:/dev/ultp0 -m HP-DeskJet_930C-hpijs.ppd</i> |
777 | # <i>/etc/init.d/cupsd restart</i> |
747 | # <i>/etc/init.d/cupsd restart</i> |
778 | </pre> |
748 | </pre> |
779 | |
749 | |
780 | <p> |
750 | <p> |
781 | Remember to adjust to what you have. Be sure to have the name |
751 | Remember to adjust to what you have. Be sure to have the name (<c>-p</c> |
782 | (<c>-p</c> argument) right (the name you set above during the Samba |
752 | argument) right (the name you set above during the Samba configuration!) and to |
783 | configuration!) and to put in the correct <c>usb:/dev/usb/blah</c>, |
753 | put in the correct <c>usb:/dev/usb/blah</c>, <c>parallel:/dev/blah</c> or |
784 | <c>parallel:/dev/blah</c> or whatever device you are using for your |
754 | whatever device you are using for your printer. |
785 | printer. |
|
|
786 | </p> |
|
|
787 | |
|
|
788 | <p> |
755 | </p> |
|
|
756 | |
|
|
757 | <p> |
789 | You should now be able to access the printer from the web interface |
758 | You should now be able to access the printer from the web interface and be able |
790 | and be able to print a test page. |
759 | to print a test page. |
791 | </p> |
760 | </p> |
792 | |
761 | |
793 | </body> |
762 | </body> |
794 | </section> |
763 | </section> |
795 | <section> |
764 | <section> |
796 | <title>Installing the Windows printer drivers</title> |
765 | <title>Installing the Windows printer drivers</title> |
797 | <body> |
766 | <body> |
798 | |
767 | |
799 | <p> |
768 | <p> |
800 | Now that the printer should be working it is time to install the drivers |
769 | Now that the printer should be working it is time to install the drivers for |
801 | for the Windows clients to work. Samba 2.2 introduced this functionality. |
770 | the Windows clients to work. Samba 2.2 introduced this functionality. Browsing |
802 | Browsing to the print server in the Network Neighbourhood, right-clicking |
771 | to the print server in the Network Neighbourhood, right-clicking on the |
803 | on the printershare and selecting "connect" downloads the appropriate |
772 | printershare and selecting "connect" downloads the appropriate drivers |
804 | drivers automagically to the connecting client, avoiding the hassle of |
773 | automagically to the connecting client, avoiding the hassle of manually |
805 | manually installing printer drivers locally. |
774 | installing printer drivers locally. |
806 | </p> |
775 | </p> |
807 | |
776 | |
808 | <p> |
777 | <p> |
809 | There are two sets of printer drivers for this. First, the Adobe PS drivers |
778 | There are two sets of printer drivers for this. First, the Adobe PS drivers |
810 | which can be obtained from <uri |
779 | which can be obtained from <uri |
811 | link="http://www.adobe.com/support/downloads/main.html">Adobe</uri> (PostScript |
780 | link="http://www.adobe.com/support/downloads/main.html">Adobe</uri> (PostScript |
812 | printer drivers). Second, there are the CUPS PS drivers, to be obtained <uri |
781 | printer drivers). Second, there are the CUPS PS drivers, to be obtained by |
813 | link="http://dev.gentoo.org/~nightmorph/misc/cups-samba-5.0rc2.tar.gz">here</uri>. |
782 | emerging <c>net-print/cups-windows</c>. Note that it may still be marked ~arch, |
|
|
783 | so you may need to add it to <path>/etc/portage/package.keywords</path>. There |
814 | There doesn't seem to be a difference between the functionality of the two, but |
784 | doesn't seem to be a difference between the functionality of the two, but the |
815 | the Adobe PS drivers need to be extracted on a Windows System since it's a |
785 | Adobe PS drivers need to be extracted on a Windows System since it's a Windows |
816 | Windows binary. Also the whole procedure of finding and copying the correct |
786 | binary. Also the whole procedure of finding and copying the correct files is a |
817 | files is a bit more hassle. The CUPS drivers seem to support some options the |
787 | bit more hassle. The CUPS drivers support some options the Adobe drivers |
818 | Adobe drivers don't. |
788 | don't. |
819 | </p> |
|
|
820 | <!-- |
|
|
821 | used to be available at www.cups.org/articles.php?L142+p4, but only 6.0 is |
|
|
822 | available. at some point, we should update this for 6.0. |
|
|
823 | --> |
|
|
824 | |
|
|
825 | <p> |
789 | </p> |
826 | This HOWTO uses the CUPS drivers for Windows. The downloaded file is |
790 | |
827 | called <path>cups-samba-5.0rc2.tar.gz</path>. Extract the files |
|
|
828 | contained into a directory. |
|
|
829 | </p> |
791 | <p> |
830 | |
792 | This HOWTO uses the CUPS drivers for Windows. Install them as shown: |
831 | <pre caption="Extract the drivers and run the install"> |
|
|
832 | # <i>tar -xzf cups-samba-5.0rc2.tar.gz</i> |
|
|
833 | # <i>cd cups-samba-5.0rc2</i> |
|
|
834 | <comment>(Only use this script if CUPS resides in /usr/share/cups)</comment> |
|
|
835 | # <i>./cups-samba.install</i> |
|
|
836 | </pre> |
|
|
837 | |
|
|
838 | <p> |
793 | </p> |
839 | <path>cups-samba.ss</path> is a TAR archive containing three files: |
|
|
840 | <path>cups5.hlp</path>, <path>cupsdrvr5.dll</path> and |
|
|
841 | <path>cupsui5.dll</path>. These are the actual driver files. |
|
|
842 | </p> |
|
|
843 | |
794 | |
844 | <warn> |
|
|
845 | The script <c>cups-samba.install</c> may not work for all *nixes (i.e. FreeBSD) |
|
|
846 | because almost everything which is not part of the base system is |
|
|
847 | installed somewhere under the prefix <path>/usr/local/</path>. This |
|
|
848 | seems not to be the case for most things you install under GNU/Linux. |
|
|
849 | However, if your CUPS installation is somewhere other than |
|
|
850 | <path>/usr/share/cups/</path> see the example below. |
|
|
851 | </warn> |
|
|
852 | |
|
|
853 | <p> |
|
|
854 | Suppose your CUPS installation resides under |
|
|
855 | <path>/usr/local/share/cups/</path>, and you want to install the drivers there. |
|
|
856 | Do the following: |
|
|
857 | </p> |
|
|
858 | |
|
|
859 | <pre caption="Manually installing the drivers"> |
795 | <pre caption="Install the drivers"> |
860 | # <i>cd /path/you/extracted/the/CUPS-driver/tarball/into</i> |
796 | # <i>emerge -av cups-windows</i> |
861 | # <i>tar -xf cups-samba.ss</i> |
|
|
862 | <comment>(This extracts the files to usr/share/cups/drivers under the CURRENT WORKING DIRECTORY)</comment> |
|
|
863 | # <i>cd usr/share/cups/drivers</i> |
|
|
864 | <comment>(no leading / !)</comment> |
|
|
865 | # <i>cp cups* /usr/local/share/cups/drivers</i> |
|
|
866 | # <i>/etc/init.d/cupsd restart</i> |
|
|
867 | </pre> |
797 | </pre> |
868 | |
798 | |
869 | <p> |
799 | <p> |
870 | Now we'll use the script <c>cupsaddsmb</c> provided by the CUPS distribution. |
800 | Now we'll use the script <c>cupsaddsmb</c> provided by the CUPS distribution. |
871 | Its man page is an interesting read. |
801 | Be sure to read its manpage (<c>man cupsaddsmb</c>), as it will tell you which |
|
|
802 | Windows drivers you'll need to copy to the proper CUPS directory. Once you've |
|
|
803 | copied the drivers, restart CUPS by running <c>/etc/init.d/cupsd restart</c>. |
|
|
804 | Next, run <c>cupsaddsmb</c> as shown: |
872 | </p> |
805 | </p> |
873 | |
806 | |
874 | <pre caption="Run cupsaddsmb"> |
807 | <pre caption="Run cupsaddsmb"> |
875 | # <i>cupsaddsmb -H PrintServer -U root -h PrintServer -v HPDeskJet930C</i> |
808 | # <i>cupsaddsmb -H PrintServer -U root -h PrintServer -v HPDeskJet930C</i> |
876 | <comment>(Instead of HPDeskJet930C you could also specify "-a", which will |
809 | <comment>(Instead of HPDeskJet930C you could also specify "-a", which will |
… | |
… | |
889 | </p> |
822 | </p> |
890 | |
823 | |
891 | <ul> |
824 | <ul> |
892 | <li> |
825 | <li> |
893 | The hostname given as a parameter for <c>-h</c> and <c>-H</c> |
826 | The hostname given as a parameter for <c>-h</c> and <c>-H</c> |
894 | (<c>PrintServer</c>) often does not resolve correctly and doesn't |
827 | (<c>PrintServer</c>) often does not resolve correctly and doesn't identify |
895 | identify the print server for CUPS/Samba interaction. If an error |
828 | the print server for CUPS/Samba interaction. If an error like: <b>Warning: |
896 | like: <b>Warning: No PPD file for printer "CUPS_PRINTER_NAME" - |
829 | No PPD file for printer "CUPS_PRINTER_NAME" - skipping!</b> occurs, the |
897 | skipping!</b> occurs, the first thing you should do is substitute |
830 | first thing you should do is substitute <c>PrintServer</c> with |
898 | <c>PrintServer</c> with <c>localhost</c> and try it again. |
831 | <c>localhost</c> and try it again. |
899 | </li> |
832 | </li> |
900 | <li> |
833 | <li> |
901 | The command fails with an <b>NT_STATUS_UNSUCCESSFUL</b>. This error message |
834 | The command fails with an <b>NT_STATUS_UNSUCCESSFUL</b>. This error message |
902 | is quite common, but can be triggered by many problems. It's unfortunately |
835 | is quite common, but can be triggered by many problems. It's unfortunately |
903 | not very helpful. One thing to try is to temporarily set <c>security = |
836 | not very helpful. One thing to try is to temporarily set <c>security = |
904 | user</c> in your <path>smb.conf</path>. After/if the installation completes |
837 | user</c> in your <path>smb.conf</path>. After/if the installation completes |
905 | successfully, you should set it back to share, or whatever it was set to |
838 | successfully, you should set it back to share, or whatever it was set to |
906 | before. |
839 | before. |
907 | </li> |
840 | </li> |
908 | </ul> |
841 | </ul> |
909 | |
842 | |
910 | <p> |
843 | <p> |
911 | This should install the correct driver directory structure under |
844 | This should install the correct driver directory structure under |
912 | <path>/etc/samba/printer</path>. That would be |
845 | <path>/etc/samba/printer</path>. That would be |
913 | <path>/etc/samba/printer/W32X86/2/</path>. The files contained should |
846 | <path>/etc/samba/printer/W32X86/2/</path>. The files contained should be the 3 |
914 | be the 3 driver files and the PPD file, renamed to YourPrinterName.ppd |
847 | driver files and the PPD file, renamed to <path>YourPrinterName.ppd</path> (the |
915 | (the name which you gave the printer when installing it (see above). |
848 | name which you gave the printer when installing it (see above). |
916 | </p> |
|
|
917 | |
|
|
918 | <p> |
849 | </p> |
|
|
850 | |
|
|
851 | <p> |
919 | Pending no errors or other complications, your drivers are now |
852 | Pending no errors or other complications, your drivers are now installed. |
920 | installed. |
|
|
921 | </p> |
853 | </p> |
922 | |
854 | |
923 | </body> |
855 | </body> |
924 | </section> |
856 | </section> |
925 | <section> |
857 | <section> |
… | |
… | |
943 | <title>Testing our Samba configuration</title> |
875 | <title>Testing our Samba configuration</title> |
944 | <body> |
876 | <body> |
945 | |
877 | |
946 | <p> |
878 | <p> |
947 | We will want to test our configuration file to ensure that it is formatted |
879 | We will want to test our configuration file to ensure that it is formatted |
948 | properly and all of our options have at least the correct syntax. To do |
880 | properly and all of our options have at least the correct syntax. To do this we |
949 | this we run <c>testparm</c>. |
881 | run <c>testparm</c>. |
950 | </p> |
882 | </p> |
951 | |
883 | |
952 | <pre caption="Running the testparm"> |
884 | <pre caption="Running the testparm"> |
953 | <comment>(By default, testparm checks /etc/samba/smb.conf)</comment> |
885 | <comment>(By default, testparm checks /etc/samba/smb.conf)</comment> |
954 | # <i>/usr/bin/testparm</i> |
886 | # <i>/usr/bin/testparm</i> |
… | |
… | |
984 | <section> |
916 | <section> |
985 | <title>Checking our services</title> |
917 | <title>Checking our services</title> |
986 | <body> |
918 | <body> |
987 | |
919 | |
988 | <p> |
920 | <p> |
989 | It would probably be prudent to check our logs at this time also. |
921 | It would probably be prudent to check our logs at this time also. We will also |
990 | We will also want to take a peak at our Samba shares using |
922 | want to take a peak at our Samba shares using <c>smbclient</c>. |
991 | <c>smbclient</c>. |
|
|
992 | </p> |
923 | </p> |
993 | |
924 | |
994 | <pre caption="Checking the shares with smbclient"> |
925 | <pre caption="Checking the shares with smbclient"> |
995 | # <i>smbclient -L localhost</i> |
926 | # <i>smbclient -L localhost</i> |
996 | Password: |
927 | Password: |
… | |
… | |
1006 | <section> |
937 | <section> |
1007 | <title>Printer configuration of *nix based clients</title> |
938 | <title>Printer configuration of *nix based clients</title> |
1008 | <body> |
939 | <body> |
1009 | |
940 | |
1010 | <p> |
941 | <p> |
1011 | Despite the variation or distribution, the only thing needed is CUPS. Do the |
942 | Despite the variation or distribution, the only thing needed is CUPS. Do the |
1012 | equivalent on any other UNIX/Linux/BSD client. |
943 | equivalent on any other UNIX/Linux/BSD client. |
1013 | </p> |
944 | </p> |
1014 | |
945 | |
1015 | <pre caption="Configuring a Gentoo system"> |
946 | <pre caption="Configuring a Gentoo system"> |
1016 | # <i>emerge cups</i> |
947 | # <i>emerge cups</i> |
… | |
… | |
1047 | </pre> |
978 | </pre> |
1048 | |
979 | |
1049 | <p> |
980 | <p> |
1050 | Just point your web browser to <c>http://printserver:631</c> on the client if |
981 | Just point your web browser to <c>http://printserver:631</c> on the client if |
1051 | you want to manage your printers and their jobs with a nice web interface. |
982 | you want to manage your printers and their jobs with a nice web interface. |
1052 | Replace <c>printserver</c> with the name of the <e>machine</e> that acts as |
983 | Replace <c>printserver</c> with the name of the <e>machine</e> that acts as your |
1053 | your print server, not the name you gave to the cups print server if you used |
984 | print server, not the name you gave to the cups print server if you used |
1054 | different names. |
985 | different names. |
1055 | </p> |
986 | </p> |
1056 | |
987 | |
1057 | </body> |
988 | </body> |
1058 | </section> |
989 | </section> |
1059 | <section> |
990 | <section> |
1060 | <title>Mounting a Windows or Samba share in GNU/Linux</title> |
991 | <title>Mounting a Windows or Samba share in GNU/Linux</title> |
1061 | <body> |
992 | <body> |
1062 | |
993 | |
|
|
994 | <note> |
|
|
995 | Don't forget to install <c>net-fs/mount-cifs</c> or <c>net-fs/samba</c> on the |
|
|
996 | client(s) that will be accessing the shares. |
|
|
997 | </note> |
|
|
998 | |
1063 | <p> |
999 | <p> |
1064 | Now is time to configure our kernel to support smbfs. Since I'm assumming we've |
1000 | Now is time to configure our kernel to support cifs. Since I'm assuming |
1065 | all compiled at least one kernel, we'll need to make sure we have all the right |
1001 | we've all compiled at least one kernel, we'll need to make sure we have all the |
1066 | options selected in our kernel. For simplicity sake, make it a module for ease |
1002 | right options selected in our kernel. For simplicity's sake, make it a module |
1067 | of use. It is the author's opinion that kernel modules are a good thing and |
1003 | for ease of use. It is the author's opinion that kernel modules are a good thing |
1068 | should be used whenever possible. |
1004 | and should be used whenever possible. |
1069 | </p> |
|
|
1070 | |
|
|
1071 | <pre caption="Relevant kernel options" > |
|
|
1072 | CONFIG_SMB_FS=m |
|
|
1073 | CONFIG_SMB_UNIX=y |
|
|
1074 | </pre> |
|
|
1075 | |
|
|
1076 | <p> |
1005 | </p> |
|
|
1006 | |
|
|
1007 | <pre caption="Kernel support" > |
|
|
1008 | CONFIG_CIFS=m |
|
|
1009 | </pre> |
|
|
1010 | |
|
|
1011 | <p> |
1077 | Then make the module/install it; insert them with: |
1012 | Then make the module/install it; insert it with: |
1078 | </p> |
1013 | </p> |
1079 | |
1014 | |
1080 | <pre caption="Loading the kernel module"> |
1015 | <pre caption="Loading the kernel module"> |
1081 | # <i>modprobe smbfs</i> |
1016 | # <i>modprobe cifs</i> |
1082 | </pre> |
1017 | </pre> |
1083 | |
1018 | |
1084 | <p> |
1019 | <p> |
1085 | Once the modules is loaded, mounting a Windows or Samba share is |
1020 | Once the module is loaded, mounting a Windows or Samba share is possible. Use |
1086 | possible. Use <c>mount</c> to accomplish this, as detailed below: |
1021 | <c>mount</c> to accomplish this, as detailed below: |
1087 | </p> |
1022 | </p> |
1088 | |
1023 | |
1089 | <pre caption="Mounting a Windows/Samba share"> |
1024 | <pre caption="Mounting a Windows/Samba share"> |
1090 | <comment>(The syntax for mounting a Windows/Samba share is: |
1025 | <comment>(The syntax for mounting a Windows/Samba share is: |
1091 | mount -t smbfs [-o username=xxx,password=xxx] //server/share /mnt/point |
1026 | mount -t cifs [-o username=xxx,password=xxx] //server/share /mnt/point |
1092 | If we are not using passwords or a password is not needed)</comment> |
1027 | If we are not using passwords or a password is not needed)</comment> |
1093 | |
1028 | |
1094 | # <i>mount -t smbfs //PrintServer/public /mnt/public</i> |
1029 | # <i>mount -t cifs //PrintServer/public /mnt/public</i> |
1095 | |
1030 | |
1096 | <comment>(If a password is needed)</comment> |
1031 | <comment>(If a password is needed)</comment> |
1097 | # <i>mount -t smbfs -o username=USERNAME,password=PASSWORD //PrintServer/public /mnt/public</i> |
1032 | # <i>mount -t cifs -o username=USERNAME,password=PASSWORD //PrintServer/public /mnt/public</i> |
1098 | </pre> |
1033 | </pre> |
1099 | |
1034 | |
1100 | <p> |
1035 | <p> |
1101 | After you mount the share, you would access it as if it were a local |
1036 | After you mount the share, you would access it as if it were a local drive. |
1102 | drive. |
|
|
1103 | </p> |
1037 | </p> |
1104 | |
1038 | |
1105 | </body> |
1039 | </body> |
1106 | </section> |
1040 | </section> |
1107 | <section> |
1041 | <section> |
1108 | <title>Printer Configuration for Windows NT/2000/XP clients</title> |
1042 | <title>Printer Configuration for Windows NT/2000/XP clients</title> |
1109 | <body> |
1043 | <body> |
1110 | |
1044 | |
1111 | <p> |
1045 | <p> |
1112 | That's just a bit of point-and-click. Browse to |
1046 | That's just a bit of point-and-click. Browse to <path>\\PrintServer</path> and |
1113 | <path>\\PrintServer</path> and right click on the printer |
1047 | right click on the printer (HPDeskJet930C) and click connect. This will download |
1114 | (HPDeskJet930C) and click connect. This will download the drivers to |
|
|
1115 | the Windows client and now every application (such as Word or Acrobat) |
1048 | the drivers to the Windows client and now every application (such as Word or |
1116 | will offer HPDeskJet930C as an available printer to print to. :-) |
1049 | Acrobat) will offer HPDeskJet930C as an available printer to print to. :-) |
1117 | </p> |
1050 | </p> |
1118 | |
1051 | |
1119 | </body> |
1052 | </body> |
1120 | </section> |
1053 | </section> |
1121 | </chapter> |
1054 | </chapter> |
… | |
… | |
1125 | <section> |
1058 | <section> |
1126 | <title>A Fond Farewell</title> |
1059 | <title>A Fond Farewell</title> |
1127 | <body> |
1060 | <body> |
1128 | |
1061 | |
1129 | <p> |
1062 | <p> |
1130 | Well that should be it. You should now have a successful printing enviroment |
1063 | That should be it. You should now have a successful printing enviroment that is |
1131 | that is friendly to both Windows and *nix as well as a fully virus-free working |
1064 | friendly to both Windows and *nix as well as a fully virus-free working share! |
1132 | share! |
|
|
1133 | </p> |
1065 | </p> |
1134 | |
1066 | |
1135 | </body> |
1067 | </body> |
1136 | </section> |
1068 | </section> |
1137 | </chapter> |
1069 | </chapter> |
… | |
… | |
1147 | troubleshooting your installation: |
1079 | troubleshooting your installation: |
1148 | </p> |
1080 | </p> |
1149 | |
1081 | |
1150 | <ul> |
1082 | <ul> |
1151 | <li><uri link="http://www.cups.org/">CUPS Homepage</uri></li> |
1083 | <li><uri link="http://www.cups.org/">CUPS Homepage</uri></li> |
|
|
1084 | <li> |
1152 | <li><uri link="http://www.samba.org/">Samba Homepage</uri></li> |
1085 | <uri link="http://www.samba.org/">Samba Homepage</uri>, especially the <uri |
|
|
1086 | link="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html">chapter |
|
|
1087 | on Samba/CUPS configuration</uri> |
|
|
1088 | </li> |
1153 | <li><uri link="http://linuxprinting.org/">LinuxPrinting dot Org</uri></li> |
1089 | <li><uri link="http://linuxprinting.org/">LinuxPrinting dot Org</uri></li> |
1154 | <li> |
1090 | <li> |
1155 | <uri link="http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO/">Kurt |
1091 | <uri link="http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO/">Kurt |
1156 | Pfeifle's Samba Print HOWTO</uri> ( |
1092 | Pfeifle's Samba Print HOWTO</uri> ( This HOWTO really covers <e>ANYTHING</e> |
1157 | This HOWTO really covers <e>ANYTHING</e> and <e>EVERYTHING</e> |
|
|
1158 | I've written here, plus a LOT more concerning CUPS and Samba, and |
1093 | and <e>EVERYTHING</e> I've written here, plus a LOT more concerning CUPS and |
1159 | generally printing support on networks. A really interesting read, |
1094 | Samba, and generally printing support on networks. A really interesting |
1160 | with lots and lots of details) |
1095 | read, with lots and lots of details.) |
1161 | </li> |
1096 | </li> |
1162 | <li><uri link="http://www.freebsddiary.org/cups.php">FreeBSD Diary's CUPS Topic</uri></li> |
1097 | <li><uri link="http://www.freebsddiary.org/cups.php">FreeBSD Diary's CUPS Topic</uri></li> |
1163 | </ul> |
1098 | </ul> |
1164 | |
1099 | |
1165 | </body> |
1100 | </body> |
… | |
… | |
1167 | <section> |
1102 | <section> |
1168 | <title>Troubleshooting</title> |
1103 | <title>Troubleshooting</title> |
1169 | <body> |
1104 | <body> |
1170 | |
1105 | |
1171 | <p> |
1106 | <p> |
|
|
1107 | See <uri |
1172 | See <uri link="http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO/Samba-HOWTO-Collection-3.0-PrintingChapter-11th-draft.html#37">this |
1108 | link="http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO/Samba-HOWTO-Collection-3.0-PrintingChapter-11th-draft.html#37">this |
1173 | page</uri> from Kurt Pfeifle's "Printing Support in Samba 3.0" |
1109 | page</uri> from Kurt Pfeifle's "Printing Support in Samba 3.0" manual. Lots of |
1174 | manual. Lots of useful tips there! Be sure to look this one up |
1110 | useful tips there! Be sure to look this one up first, before posting questions |
1175 | first, before posting questions and problems! Maybe the solution |
1111 | and problems! Maybe the solution you're looking for is right there. |
1176 | you're looking for is right there. |
|
|
1177 | </p> |
1112 | </p> |
1178 | |
1113 | |
1179 | </body> |
1114 | </body> |
1180 | </section> |
1115 | </section> |
1181 | </chapter> |
1116 | </chapter> |