/[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.14 - (show annotations) (download) (as text)
Thu Jul 28 12:34:06 2005 UTC (9 years, 6 months ago) by jkt
Branch: MAIN
Changes since 1.13: +26 -13 lines
File MIME type: application/xml
Coding style fixes (formatting & <date>), *no content change*

1 <?xml version='1.0' encoding="UTF-8"?>
2 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/ltsp.xml,v 1.13 2005/04/06 09:40:00 neysx 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.9</version>
24 <date>2004-10-18</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
280 <comment>(If your workstations have ISA NICs uncomment the following)</comment>
281 <comment>(lines and alter the driver and IO)</comment>
282 #option option-128 code 128 = string;
283 #option option-129 code 129 = text;
284 #option option-128 e4:45:74:68:00:00;
285 #option option-129 "NIC=ne IO=0x300";
286
287 shared-network WORKSTATIONS {
288 subnet 192.168.0.0 netmask 255.255.255.0 {
289 <comment>(Distribute dynamic IPs to the workstations)</comment>
290 range dynamic-bootp 192.168.0.1 192.168.0.16;
291 <comment>(Workstation specific configuration for PXE booting)</comment>
292 #host ws001 {
293 # hardware ethernet 00:E0:06:E8:00:84;
294 # fixed-address 192.168.0.1;
295 #}
296 }
297 }
298 </pre>
299
300 <p>
301 If your workstations support PXE, you should list each one of them as we
302 have done with <e>host ws001</e> (don't forget to uncomment it). Don't
303 give them an adress in the dynamic range, otherwise it would be possible
304 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.
305 </p>
306
307 <p>
308 For more documentation on this item read the official dhcp handbook:
309 <uri>http://www.dhcp-handbook.com/</uri>
310 </p>
311
312 <p>
313 Now start DHCP as you did with NFS and xinetd:
314 </p>
315
316 <pre caption="start dhcp">
317 # <i>rc-update add dhcp default</i>
318 # <i>/etc/init.d/dhcp start</i>
319 </pre>
320
321 <note>
322 DHCPD needs CONFIG_PACKET and CONFIG_FILTER activated in the kernel to work.
323 </note>
324
325 </body>
326 </section>
327
328 <section>
329 <title>LTSP Configuration</title>
330 <body>
331
332 <p>
333 There are many options to configure your workstations, visit
334 <uri>http://www.ltsp.org/documentation/ltsp-3.0-4-en.html#AEN903</uri>
335 for a full description of <path>/opt/ltsp/i386/etc/lts.conf</path>.
336 </p>
337
338 <p>
339 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
340 <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:
341 </p>
342
343 <pre caption="/opt/ltsp/i386/etc/lts.conf">
344 MODULE_01 = usb-uhci
345 MODULE_02 = mousedev
346 MODULE_03 = usbmouse
347 X_MOUSE_PROTOCOL = "IMPS/2"
348 X_MOUSE_DEVICE = "/dev/input/mice"
349 </pre>
350
351 </body>
352 </section>
353
354 <section>
355 <title>Displaymanager</title>
356 <body>
357
358 <p>
359 Now you have to change your displaymanager's configuration to
360 also accept remote connections.
361 </p>
362
363 <p>
364 First change your <path>/etc/X11/xdm/Xaccess</path> file,
365 uncomment the following line:
366 </p>
367
368 <pre caption="/etc/X11/xdm/Xaccess">
369 #* #any host can get a login window
370 </pre>
371
372 <p>
373 Now change the configuration of the displaymanager you use:
374 </p>
375
376 <p>
377 <b>XDM</b>: In <path>/etc/X11/xdm/xdm-config</path> comment out <c>DisplayManager.requestPort: 0</c>
378 </p>
379
380 <p>
381 <b>KDM</b>: In <path>/usr/kde/3.1/share/config/kdm/kdmrc</path> look
382 for the <c>[Xdmcp]</c> section and change <c>Enable = false</c> to
383 <c>Enable = true</c>.
384 </p>
385
386 <p>
387 <b>GDM</b>: In <path>/etc/X11/gdm/gdm.conf</path> look for the
388 <c>[xdmcp]</c> section and change <c>Enable = false</c> to
389 <c>Enable = True</c>.
390 </p>
391
392 <p>
393 Then start the displaymanager:
394 </p>
395
396 <pre caption="Starting xdm">
397 # <i>rc-update add xdm default</i>
398 # <i>/etc/init.d/xdm start</i>
399 </pre>
400
401 <warn>
402 There seem to be problems currently with XDM and GDM. The author used
403 KDM to resolve these issues.
404 </warn>
405
406 <p>
407 Remember, if your display manager is already running, restarting the X server via CTRL-ALT-BACKSPACE doesn't restart the display manager.
408 </p>
409
410 </body>
411 </section>
412
413 <section>
414 <title>Creating a bootfloppy</title>
415 <body>
416
417 <p>
418 If your workstations don't support PXE booting, you can create a boot-floppy
419 which is used to start your workstations and connect to the terminal server.
420 Go to <uri>http://www.rom-o-matic.net</uri>, select the latest version, select
421 your NIC, press <e>Get ROM</e> and write the image to a floppy:
422 </p>
423
424 <pre caption="Write floppy image">
425 # <i>cat nicfile.zdsk > /dev/fd0</i>
426 </pre>
427
428 </body>
429 </section>
430 </chapter>
431
432 <chapter>
433 <title>Troubleshooting</title>
434 <section>
435 <body>
436
437 <p>
438 There are a lot of things that can be the source of trouble, but there
439 are also several resources around which help you solve your problems:
440 </p>
441
442 <ul>
443 <li>The official documentation:
444 <uri>http://www.ltsp.org/documentation/</uri>, especially the
445 Troubleshooting section.</li>
446 <li>The gentoo IRC channel: irc.freenode.org #gentoo</li>
447 <li>The ltsp irc channel: irc.freenode.org #ltsp</li>
448 <li>The ltsp mailinglists <uri>http://ltsp.org/mailinglists.php</uri>
449 are full of some real good knowledge.</li>
450 </ul>
451 </body>
452 </section>
453 </chapter>
454
455 <chapter>
456 <title>FAQ</title>
457 <section>
458 <body>
459 <p>
460 <b>Q:</b> My workstations have Pentium II CPUs, but my server is compiled
461 with <c>march=athlon-xp</c>, does this work?
462 </p>
463
464 <p>
465 <b>A:</b> This is no problem, because all applications run on the server.
466 </p>
467
468 <p>
469 <b>Q:</b> Which CPU and how much RAM should the server have?
470 </p>
471
472 <p>
473 <b>A:</b> There is a good document with suggestions at
474 <uri>http://ltsp.org/documentation/server_suggestions.html</uri>.
475 </p>
476
477 <p>
478 <b>Q:</b> Do you have more information about this PXE stuff?
479 </p>
480
481 <p>
482 <b>A:</b> Yes, take a look at
483 <uri>http://ltsp.org/documentation/eproms.txt</uri>
484 and <uri>http://ltsp.org/documentation/pxe.howto.html</uri>.
485 </p>
486
487 <p>
488 <b>Q:</b> Is it possibly to use 3D-Accelerated software on the workstations?
489 </p>
490
491 <p>
492 <b>A:</b> If you are using NVidia cards take a look at
493 <uri>http://ltsp.org/documentation/nvidia.txt</uri>.
494 </p>
495
496 <p>
497 <b>Q:</b> In some applications the fonts look crappy, what to do?
498 </p>
499
500 <p>
501 <b>A:</b> You have to setup the XFontServer, add <c>USE_XFS=Y</c> to your
502 <path>lts.conf</path>, edit <path>/etc/X11/fs/config</path> and comment
503 <c>no-listen: tcp</c> out, replace <c>XFS_PORT="-1"</c> with
504 <c>XFS_PORT="7100"</c> in <path>/etc/conf.d/xfs</path> and start xfs:
505 <c>/etc/init.d/xfs start</c>. Also doublecheck that
506 <path>/etc/X11/XF86Config</path> (or <path>/etc/X11/xorg.conf</path>) contains
507 <c>FontPath "unix/:7100"</c> in the Files-section.
508 </p>
509
510 <p>
511 <b>Q: </b> How can I use the soundcard of my workstation?
512 </p>
513
514 <p>
515 <b>A: </b> There is a ltsp-sound package in gentoo, for more instructions read
516 the included <path>README</path> file.
517 </p>
518
519 </body>
520 </section>
521 </chapter>
522
523 <chapter>
524 <title>Glossary</title>
525 <section>
526 <body>
527
528 <p>
529 <b><uri link="http://www.ltsp.org">LTSP</uri></b>
530 "The LTSP provides a simple way to utilize low cost workstations as either
531 graphical or character based terminals on a GNU/Linux server."
532 </p>
533
534 <p>
535 <b><uri link="http://www.webopedia.com/TERM/P/PXE.html">PXE</uri></b>
536 "Short for Pre-Boot Execution Environment. Pronounced pixie, PXE is one of the
537 components of Intel's WfM specification. It allows a workstation to boot from
538 a server on a network prior to booting the operating system on the local hard
539 drive. A PXE-enabled workstation connects its NIC to the LAN via a jumper,
540 which keeps the workstation connected to the network even when the power is
541 off."
542 </p>
543
544 </body>
545 </section>
546 </chapter>
547 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20