/[gentoo]/xml/htdocs/doc/en/ltsp.xml
Gentoo

Contents of /xml/htdocs/doc/en/ltsp.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (show annotations) (download) (as text)
Wed Oct 13 17:43:44 2004 UTC (9 years, 11 months ago) by swift
Branch: MAIN
Changes since 1.10: +5 -6 lines
File MIME type: application/xml
Emerge ltsp, not ltsp-core

1 <?xml version='1.0' encoding="UTF-8"?>
2 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/ltsp.xml,v 1.10 2004/10/09 13:10:39 swift Exp $ -->
3 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4
5 <guide link="/doc/en/ltsp.xml">
6 <title>Gentoo - LTSP Guide</title>
7 <author title="Author">
8 <mail link="lanius@gentoo.org">Heinrich Wendel</mail>
9 </author>
10 <author title="Author">
11 <mail link="josiah@ritchietribe.net">Josiah Ritchie</mail>
12 </author>
13 <author title="Editor">
14 <mail link="swift@gentoo.org">Sven Vermeulen</mail>
15 </author>
16
17 <abstract>
18 This guide shows you how to setup a LTSP Server with Gentoo.
19 </abstract>
20
21 <license/>
22
23 <version>1.8</version>
24 <date>October 13, 2004</date>
25 <chapter>
26 <title>Introduction</title>
27 <section>
28 <title>What is LTSP?</title>
29 <body>
30 <p>
31 LTSP is an abbreviation for "Linux Terminal Server Project". Installed
32 on a server it can supply many workstations (so called thin-clients)
33 with identical environments. All applications run on the server and
34 therefore you can use old PCs and convert them into XTerminals. This
35 reduces costs and maintenance especially in an environment where you
36 need to have an uniform workspace on each computer you login, e.g. in
37 schools or firms.
38 </p>
39 </body>
40 </section>
41 </chapter>
42 <chapter>
43 <title>Installation</title>
44 <section>
45 <title>Preliminaries</title>
46 <body>
47 <p>
48 All of the examples in this document presume that your server's IP is
49 192.168.0.254, your domain is named yourdomain.com and your network is
50 192.168.0.0/24.
51 </p>
52 </body>
53 </section>
54 <section>
55 <title>Installation</title>
56 <body>
57
58 <p>
59 First of all, you must have a working Gentoo system. Please read the
60 Gentoo Installation Manual for your architecture on <uri
61 link="http://www.gentoo.org/doc">Gentoo's Documentation Website</uri>.
62 </p>
63
64 <p>
65 Then lets begin with the easiest step, installing the ltsp package:
66 </p>
67
68 <pre caption="Emerge LTSP">
69 # <i>emerge ltsp</i>
70 </pre>
71
72 <p>
73 This will install the following packages as dependencies:
74 </p>
75
76 <ul>
77 <li><b>XFree</b>: They are called XTerminals, guess why :)</li>
78 <li><b>DHCP</b>: DHCP is a protocol for automating the configuration of
79 computers that use TCP/IP, used by ltsp to distribute IPs to the
80 workstations.</li>
81 <li><b>NFS</b>: NFS is a protocol to allow access to harddisks through
82 the network, used by ltsp to mount a base system for the
83 workstations.</li>
84 <li><b>TFTP</b>: TFTP is a simple file transfer protocol, used by ltsp
85 to transfer the kernel to the workstations.</li>
86 <li><b>XINETD</b>: Xinetd is a powerful replacement for inetd, with
87 advanced features, used by ltsp to start tftp.</li>
88 </ul>
89
90 <note>
91 If you have the kde/gnome useflag set, it will also install a complete kde/gnome system.
92 </note>
93
94 </body>
95 </section>
96 </chapter>
97 <chapter>
98 <title>Configuration</title>
99 <section>
100 <body>
101
102 <p>
103 After the emerge process has finished all services must be configured:
104 </p>
105
106 </body>
107 </section>
108 <section>
109 <title>System Logger</title>
110 <body>
111
112 <p>
113 To analyze problems easier, the system logger must be configured to
114 accept remote connections. Please read the documentation of your
115 system logger on how to achieve this. If, for example, you are using
116 sysklogd, all you need to do is edit <path>/etc/conf.d/sysklogd</path> and add
117 "-r" to the SYSLOGD line:
118 </p>
119
120 <pre caption="/etc/conf.d/sysklogd">
121 SYSLOGD="-m 0 -r"
122 KLOGD="-c 3 -2"
123 </pre>
124
125 </body>
126 </section>
127 <section>
128 <title>NFS</title>
129 <body>
130
131 <p>
132 Next step is to edit your <path>/etc/exports</path> file, in order to
133 allow the workstations to mount the root filesystem. There should be at
134 least two lines in it:
135 </p>
136
137 <pre caption="/etc/exports">
138 /opt/ltsp-4.1/i386 192.168.0.0/255.255.255.0(ro,no_root_squash,async)
139 /var/opt/ltsp/swapfiles 192.168.0.0/255.255.255.0(rw,no_root_squash,async)
140 </pre>
141
142 <note>
143 You have to alter the network/netmask to match your network/netmask
144 settings.
145 </note>
146
147 <p>
148 Now start NFS.
149 </p>
150
151 <pre caption="Starting nfs">
152 # <i>rc-update add nfs default</i>
153 # <i>/etc/init.d/nfs start</i>
154 </pre>
155
156 </body>
157 </section>
158
159 <section>
160 <title>xinetd/tftp</title>
161 <body>
162 <p>
163 TFTP requires a bit of configuring to get it to work properly. First, edit
164 <path>/etc/conf.d/in.tftpd</path> to set tftpd's options and path correctly:
165 </p>
166
167 <pre caption="/etc/conf.d/in.tftpd">
168 INTFTPD_PATH="/tftpboot"
169 INTFTPD_OPTS="-s ${INTFTPD_PATH}"
170 </pre>
171
172 <p>
173 The -s flag specifies that TFTP is to run in secure chrooted mode
174 (recommended). This means that you don't need to include the
175 <path>/tftpboot</path> path for example in the DHCP configuration.
176 </p>
177
178 <p>
179 Next, configure xinetd to run TFTP and allow remote connections. By default
180 TFTP won't be started by xinetd, so edit <path>/etc/xinetd.d/tftp</path> and
181 replace <c>disable=yes</c> with <c>disable=no</c>. If the file is missing just
182 go ahead and create <path>/etc/xinetd.d/tftp</path> with the contents below.
183 </p>
184
185 <pre caption="/etc/xinetd.d/tftp">
186 service tftp
187 {
188 disable = no
189 socket_type = dgram
190 protocol = udp
191 wait = yes
192 user = root
193 server = /usr/sbin/in.tftpd
194 }
195 </pre>
196
197 <p>
198 Now edit <path>/etc/xinetd.conf</path> and comment out the line <c>only_from = localhost</c> by prefacing it with a <c>#</c>. Finally, start xinetd.
199 </p>
200
201 <pre caption="Starting xinetd">
202 # <i>rc-update add xinetd default</i>
203 # <i>/etc/init.d/xinetd start</i>
204 </pre>
205
206 </body>
207 </section>
208 <section>
209 <title>Name resolving</title>
210 <body>
211
212 <p>
213 In order for the workstation to reach all resources, a correct name
214 resolving must be available. There are several ways to achieve this. One
215 is to configure a DNS server for the local network, the other (and more
216 simple) is to have almost identical <path>/etc/hosts</path> files on all
217 systems. We are going to use the latter.
218 </p>
219
220 <p>
221 All workstations must be listed in <path>/etc/hosts</path>. Take a look
222 at the example:
223 </p>
224
225 <pre caption="/etc/hosts">
226 127.0.0.1 localhost
227 192.168.0.254 server server.yourdomain.com
228 192.168.0.1 ws001 ws001.yourdomain.com
229 </pre>
230
231 </body>
232 </section>
233 <section>
234 <title>DHCP Config</title>
235 <body>
236
237 <p>
238 This is the most complicated step in my opinion, you have to create a
239 valid DHCP Config (<path>/etc/dhcp/dhcpd.conf</path>). Here is an
240 example:
241 </p>
242
243 <pre caption = "dhcpd.conf">
244 <codenote>Some general options</codenote>
245 default-lease-time 21600;
246 max-lease-time 21600;
247 use-host-decl-names on;
248 ddns-update-style ad-hoc;
249
250 <codenote>Bootp options</codenote>
251 allow booting;
252 allow bootp;
253
254 <codenote>Network Options</codenote>
255 option subnet-mask 255.255.255.0;
256 option broadcast-address 192.168.0.255;
257 option routers 192.168.0.254;
258 option domain-name-servers 192.168.0.254;
259 option log-servers 192.168.0.254;
260 option domain-name "yourdomain.com";
261
262 <codenote>LTSP Path Options</codenote>
263 option root-path "192.168.0.254:/opt/ltsp-4.1/i386";
264 filename "/lts/vmlinuz-2.4.26-ltsp-2";
265
266 <codenote>If your workstations have ISA NICs uncomment the following</codenote>
267 <codenote>lines and alter the driver and IO</codenote>
268 #option option-128 code 128 = string;
269 #option option-129 code 129 = text;
270 #option option-128 e4:45:74:68:00:00;
271 #option option-129 "NIC=ne IO=0x300";
272
273 shared-network WORKSTATIONS {
274 subnet 192.168.0.0 netmask 255.255.255.0 {
275 <codenote>Distribute dynamic IPs to the workstations</codenote>
276 range dynamic-bootp 192.168.0.1 192.168.0.16;
277 <codenote>Workstation specific configuration for PXE booting</codenote>
278 #host ws001 {
279 # hardware ethernet 00:E0:06:E8:00:84;
280 # fixed-address 192.168.0.1;
281 #}
282 }
283 }
284 </pre>
285
286 <p>
287 If your workstations support PXE, you should list each one of them as we
288 have done with <e>host ws001</e> (don't forget to uncomment it). Don't
289 give them an adress in the dynamic range, otherwise it would be possible
290 that more workstations have the same IP (which is troublesome). Remember, if you cut-n-paste the above example, replace any "//" comments with "##", or else dhcp will fail to start.
291 </p>
292
293 <p>
294 For more documentation on this item read the official dhcp handbook:
295 <uri>http://www.dhcp-handbook.com/</uri>
296 </p>
297
298 <p>
299 Now start DHCP as you did with NFS and xinetd:
300 </p>
301
302 <pre caption="start dhcp">
303 # <i>rc-update add dhcp default</i>
304 # <i>/etc/init.d/dhcp start</i>
305 </pre>
306
307 <note>
308 DHCPD needs CONFIG_PACKET and CONFIG_FILTER activated in the kernel to work.
309 </note>
310
311 </body>
312 </section>
313
314 <section>
315 <title>LTSP Configuration</title>
316 <body>
317
318 <p>
319 There are many options to configure your workstations, visit
320 <uri>http://www.ltsp.org/documentation/ltsp-3.0-4-en.html#AEN903</uri>
321 for a full description of <path>/opt/ltsp/i386/etc/lts.conf</path>.
322 </p>
323
324 <p>
325 As a few suggestions to get started, you will want to first copy <path>/opt/ltsp/i386/etc/lts.conf.example</path> to <path>/opt/ltsp/i386/etc/lts.conf</path> and edit it from there. You may want to try changing the <c>SCREEN_01</c> option to read
326 <c>SCREEN_01 = startx</c>. To use a USB mouse on the remote client, add the following MODULE lines, and change the X_MOUSE_* lines as follows:
327 </p>
328
329 <pre caption="/opt/ltsp/i386/etc/lts.conf">
330 MODULE_01 = usb-uhci
331 MODULE_02 = mousedev
332 MODULE_03 = usbmouse
333 X_MOUSE_PROTOCOL = "IMPS/2"
334 X_MOUSE_DEVICE = "/dev/input/mice"
335 </pre>
336
337 </body>
338 </section>
339
340 <section>
341 <title>Displaymanager</title>
342 <body>
343
344 <p>
345 Now you have to change your displaymanager's configuration to
346 also accept remote connections.
347 </p>
348
349 <p>
350 First change your <path>/etc/X11/xdm/Xaccess</path> file,
351 uncomment the following line:
352 </p>
353
354 <pre caption="/etc/X11/xdm/Xaccess">
355 #* #any host can get a login window
356 </pre>
357
358 <p>
359 Now change the configuration of the displaymanager you use:
360 </p>
361
362 <p>
363 <b>XDM</b>: In <path>/etc/X11/xdm/xdm-config</path> comment out <c>DisplayManager.requestPort: 0</c>
364 </p>
365
366 <p>
367 <b>KDM</b>: In <path>/usr/kde/3.1/share/config/kdm/kdmrc</path> look
368 for the <c>[Xdmcp]</c> section and change <c>Enable = false</c> to
369 <c>Enable = true</c>.
370 </p>
371
372 <p>
373 <b>GDM</b>: In <path>/etc/X11/gdm/gdm.conf</path> look for the
374 <c>[xdmcp]</c> section and change <c>Enable = false</c> to
375 <c>Enable = True</c>.
376 </p>
377
378 <p>
379 Then start the displaymanager:
380 </p>
381
382 <pre caption="Starting xdm">
383 # <i>rc-update add xdm default</i>
384 # <i>/etc/init.d/xdm start</i>
385 </pre>
386
387 <warn>
388 There seem to be problems currently with XDM and GDM. The author used
389 KDM to resolve these issues.
390 </warn>
391
392 <p>
393 Remember, if your display manager is already running, restarting the X server via CTRL-ALT-BACKSPACE doesn't restart the display manager.
394 </p>
395
396 </body>
397 </section>
398
399 <section>
400 <title>Creating a bootfloppy</title>
401 <body>
402
403 <p>
404 If your workstations don't support PXE booting, you can create a boot-floppy
405 which is used to start your workstations and connect to the terminal server.
406 Go to <uri>http://www.rom-o-matic.net</uri>, select the latest version, select
407 your NIC, press <e>Get ROM</e> and write the image to a floppy:
408 </p>
409
410 <pre caption="Write floppy image">
411 # <i>cat nicfile.zdsk > /dev/fd0</i>
412 </pre>
413
414 </body>
415 </section>
416 </chapter>
417
418 <chapter>
419 <title>Troubleshooting</title>
420 <section>
421 <body>
422
423 <p>
424 There are a lot of things that can be the source of trouble, but there
425 are also several resources around which help you solve your problems:
426 </p>
427
428 <ul>
429 <li>The official documentation:
430 <uri>http://www.ltsp.org/documentation/</uri>, especially the
431 Troubleshooting section.</li>
432 <li>The gentoo IRC channel: irc.freenode.org #gentoo</li>
433 <li>The ltsp irc channel: irc.freenode.org #ltsp</li>
434 <li>The ltsp mailinglists <uri>http://ltsp.org/mailinglists.php</uri>
435 are full of some real good knowledge.</li>
436 </ul>
437 </body>
438 </section>
439 </chapter>
440
441 <chapter>
442 <title>FAQ</title>
443 <section>
444 <body>
445 <p>
446 <b>Q:</b> My workstations have Pentium II CPUs, but my server is compiled
447 with <c>march=athlon-xp</c>, does this work?
448 </p>
449
450 <p>
451 <b>A:</b> This is no problem, because all applications run on the server.
452 </p>
453
454 <p>
455 <b>Q:</b> Which CPU and how much RAM should the server have?
456 </p>
457
458 <p>
459 <b>A:</b> There is a good document with suggestions at
460 <uri>http://ltsp.org/documentation/server_suggestions.html</uri>.
461 </p>
462
463 <p>
464 <b>Q:</b> Do you have more information about this PXE stuff?
465 </p>
466
467 <p>
468 <b>A:</b> Yes, take a look at
469 <uri>http://ltsp.org/documentation/eproms.txt</uri>
470 and <uri>http://ltsp.org/documentation/pxe.howto.html</uri>.
471 </p>
472
473 <p>
474 <b>Q:</b> Is it possibly to use 3D-Accelerated software on the workstations?
475 </p>
476
477 <p>
478 <b>A:</b> If you are using NVidia cards take a look at
479 <uri>http://ltsp.org/documentation/nvidia.txt</uri>.
480 </p>
481
482 <p>
483 <b>Q:</b> In some applications the fonts look crappy, what to do?
484 </p>
485
486 <p>
487 <b>A:</b> You have to setup the XFontServer, add <c>USE_XFS=Y</c> to your
488 <path>lts.conf</path>, edit <path>/etc/X11/fs/config</path> and comment
489 <c>no-listen: tcp</c> out, replace <c>XFS_PORT="-1"</c> with
490 <c>XFS_PORT="7100"</c> in <path>/etc/conf.d/xfs</path> and start xfs:
491 <c>/etc/init.d/xfs start</c>. Also doublecheck that
492 <path>/etc/X11/XF86Config</path> (or <path>/etc/X11/xorg.conf</path>) contains
493 <c>FontPath "unix/:7100"</c> in the Files-section.
494 </p>
495
496 <p>
497 <b>Q: </b> How can I use the soundcard of my workstation?
498 </p>
499
500 <p>
501 <b>A: </b> There is a ltsp-sound package in gentoo, for more instructions read
502 the included <path>README</path> file.
503 </p>
504
505 </body>
506 </section>
507 </chapter>
508
509 <chapter>
510 <title>Glossary</title>
511 <section>
512 <body>
513
514 <p>
515 <b><uri link="http://www.ltsp.org">LTSP</uri></b>
516 "The LTSP provides a simple way to utilize low cost workstations as either
517 graphical or character based terminals on a GNU/Linux server."
518 </p>
519
520 <p>
521 <b><uri link="http://www.webopedia.com/TERM/P/PXE.html">PXE</uri></b>
522 "Short for Pre-Boot Execution Environment. Pronounced pixie, PXE is one of the
523 components of Intel's WfM specification. It allows a workstation to boot from
524 a server on a network prior to booting the operating system on the local hard
525 drive. A PXE-enabled workstation connects its NIC to the LAN via a jumper,
526 which keeps the workstation connected to the network even when the power is
527 off."
528 </p>
529
530 </body>
531 </section>
532 </chapter>
533 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20