/[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.9 - (show annotations) (download) (as text)
Fri Aug 20 14:24:36 2004 UTC (10 years, 4 months ago) by neysx
Branch: MAIN
Changes since 1.8: +27 -21 lines
File MIME type: application/xml
Fixes from #61009

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

  ViewVC Help
Powered by ViewVC 1.1.20