/[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.20 - (show annotations) (download) (as text)
Thu May 3 05:56:27 2007 UTC (7 years, 2 months ago) by nightmorph
Branch: MAIN
Changes since 1.19: +10 -9 lines
File MIME type: application/xml
url updates, bug 176854

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

  ViewVC Help
Powered by ViewVC 1.1.20