1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
|
<?xml version="1.0" encoding="ISO8859-2"?>
<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved.
Redistribution and use in source (SGML DocBook) and 'compiled' forms
(SGML HTML, PDF, PostScript, RTF and so forth) with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code (SGML DocBook) must retain the above
copyright notice, this list of conditions and the following
disclaimer as the first lines of this file unmodified.
2. Redistributions in compiled form (transformed to other DTDs,
converted to PDF, PostScript, RTF and other formats) must reproduce
the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials
provided with the distribution.
THIS DOCUMENTATION IS PROVIDED BY NIK CLAYTON "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL NIK CLAYTON BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
$FreeBSD$
-->
<!-- The FreeBSD Hungarian Documentation Project
Translated by: PALI, Gabor <pgj@FreeBSD.org>
%SOURCE% en_US.ISO8859-1/books/fdp-primer/the-website/chapter.sgml
%SRCID% 1.27
-->
<chapter id="the-website" lang="hu">
<title>A honlap</title>
<sect1 id="the-website-prep">
<title>Elõkészületek</title>
<para>A honlap elõállításához
elsõsorban elegendõ szabad területet kell
keresnünk valamelyik merevlemezünkön. Ennek
mennyisége a választott módszertõl
függõen úgy nagyjából
200 MB-tól 500 MB-ig terjedhet. Ez a
becslés magában foglalja az SGML
eszközökhöz, a <application>CVS</application>
repository megfelelõ részeihez, valamint a honlap
generálásához szükséges
lemezterületet.</para>
<note>
<para>Mindig ellenõrizzük, hogy a
dokumentáció
elõállításához használt
portok frissek legyenek. Ha nem vagyunk benne biztosak, akkor a
portok telepítése elõtt a &man.pkg.delete.1;
paranccsal töröljük a korábbi
változatukat. Például ha a jade-1.2
csomagra van szükségünk és a
rendszerünkön már megtalálható a
jade-1.1, akkor a következõt kell tennünk:</para>
<screen>&prompt.root; <userinput><command>pkg_delete</command> jade-1.1</userinput></screen>
</note>
<para>A honlap elõállításához ebben
a fejezetben most két módszert adunk meg:</para>
<itemizedlist>
<listitem>
<para>A <command>csup</command> parancs
használatával hozzuk létre és
tartsunk karban a gépünkön a források
helyi másolatát valamelyik
<application>CVSup</application> szerverrõl. Ez a
legegyszerûbb megoldás, mivel semmilyen
további szoftver telepítését nem
igényli. Ehhez a következõ szakaszban
megadott supfile állomány mindig a
szükséges állományok legfrissebb
változatát kéri le. Ez abban az esetben
tökéletesen megfelelõ, ha egyszerûen
csak le akarjuk generálni a honlapokat és nem
kívánunk a forrásokkal dolgozni.</para>
<note>
<para>A &man.csup.1; a &os; 6.2-RELEASE
kiadástól az alaprendszer része.
Amennyiben még a &os; egy korábbi
változatát használjuk, akkor ezt a
programot a Portgyûjteménybõl a <filename
role="package">net/csup</filename> port
telepítésével érhetjük
el.</para>
</note>
</listitem>
<listitem>
<para>A <command>cvsup</command> parancs
használatával <quote>CVS módban</quote>
hozzunk létre és tartsunk karban egy helyi
<application>CVS</application> repositoryt a
szükséges állományokkal. Ehhez
például a <filename
role="package">net/cvsup-without-gui</filename> port
telepítését kell elvégeznünk,
ezáltal viszont egy sokkal rugalmasabb módszert
nyerünk abban az esetben, ha gyorsan és
könnyedén hozzá szeretnénk
férni a doc és www repositorykban tárolt
állományok különbözõ
revízióihoz, elõzményeihez vagy
éppen tárolni szeretnénk a &os;
központi <application>CVS</application>
repositoryjába.</para>
</listitem>
</itemizedlist>
<sect2 id="the-website-csup">
<title>Az egyszerû megoldás: a <command>csup</command>
használata</title>
<para>A <command>csup</command> az alaprendszer része lett,
de egy ideje már nagyon sokan használják,
többek közt a saját
portgyûjteményük
frissítésére. A most következõ
példa supfile állománnyal a honlapok
elõállításához
szükséges állományokat tudjuk
elérni:</para>
<programlisting>#
# Ezzel a konfigurációs állománnyal a &os; honlapjának
# legenerálásához szükséges gyûjteményeket tudjuk elérni.
#
# A http://www.freebsd.org/doc/handbook/mirrors.html honlapon található
# felsorolásból válasszuk ki a hozzánk legközelebb elhelyezkedõ CVSup
# tükrözést.
*default host=<replaceable>cvsup10.FreeBSD.org</replaceable>
*default base=/var/db
*default prefix=<replaceable>/usr/build</replaceable>
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress
# A &os; repository teljes doc ágát lekérjük.
doc-all
# Lekérjük a honlap forrásait.
www
# A holnapok elõállításához szükséges néhány alapvetõ port lekérése.
ports-base</programlisting>
<para>A <literal>default host</literal> helyére
természetesen ne felejtsük el megadni a hozzánk
legközelebb elhelyezkedõ
<application>CVSup</application> tükrözést
(például <literal>cvsup.hu.FreeBSD.org</literal>),
illetve a <literal>default prefix</literal>
bejegyzésnél azt a könyvtárat,
ahová a lekért állományokat
szeretnénk elhelyezni. Ezután az így
kitöltött mintát mentsük el
például
<filename><replaceable>doc-www-supfile</replaceable></filename>
néven és adjuk ki a következõ
parancsot:</para>
<screen>&prompt.root; <userinput><command>csup</command> <option>-g</option> <option>-L2</option> <replaceable>doc-www-supfile</replaceable></userinput></screen>
<para>A parancs lefutásának
eredményeképpen ekkor tehát a
<literal>default prefix</literal>
értékeként megadott könyvtáron
belül létrejönnek a <filename
class="directory">doc/</filename>, <filename
class="directory">www/</filename> és <filename
class="directory">ports/</filename> alkönyvtárak
(amely a példánkban a <filename
class="directory"><replaceable>/usr/build</replaceable></filename>
volt). Ebben a könyvtárban fogjuk
egyébként létrehozni az
állományokat, ezért ezt érdemes egy
olyan állományrendszerre tenni, ahol tehát
elegendõ szabad terület áll
rendelkezésre.</para>
<para>Remek! Most lépjünk tovább <link
linkend="the-website-build">a honlap
elõállításáról</link>
szóló részhez.</para>
</sect2>
<sect2 id="the-website-cvsup">
<title>A rugalmasabb megoldás: saját doc és
www repositoryk létrehozása és
karbantartása</title>
<para>Ez a módszer több lehetõséget
kínál, viszont cserébe
telepítenünk kell hozzá a <filename
role="package">net/cvsup-without-gui</filename> portot vagy
csomagot.</para>
<note>
<para>A <filename
role="package">net/cvsup-without-gui</filename> port
fordításához szükséges a
<filename role="package">lang/ezm3</filename> port, vagyis egy
Modula 3 fordító. Ennek a
fordítása viszonylag sok idõt vesz
igénybe és ráadásul a
legtöbben nem is használják másra,
ezért a <application>CVSup</application>
telepítéséhez elsõsorban a csomagok
használatát javasoljuk.</para>
</note>
<para>A <application>CVSup</application> program rendelkezik egy
speciális, ún. <quote>CVS móddal</quote>,
amelynek köszönhetõen lehetõvé teszi
a <application>CVS</application> repositoryt alkotó
<filename>,v</filename> állományok
elérését. Ez a funkció jelenleg
még nem érhetõ el a
<application>csup</application> programban. A
<application>CVSup</application> részletes
bemutatását a &os; kézikönyv <ulink
url="&url.books.handbook;/synching.html#CVSUP">A
források szinkronizálása</ulink>
címû részében olvashatjuk.</para>
<para>A most következõ supfile állomány
lekéri a holnapok
elõállításához
szükséges gyûjteményeket és
létrehozza a <application>CVS</application> repository
helyi másolatát:</para>
<programlisting>#
# Ezzel az állománnyal létre tudjuk hozni a CVS repository egy olyan
# helyi másolatát, amelyben csak a &os; holnapjának elõállításához
# szükséges gyûjtemények találhatóak meg. Jelen pillanatban *kizárólag*
# a cvsup paranccsal fog mûködni (a csup programmal tehát nem)
*default host=<replaceable>cvsup10.FreeBSD.org</replaceable>
*default base=/var/db
*default prefix=<replaceable>/usr/dcvs</replaceable>
*default release=cvs
*default delete use-rel-suffix
*default compress
# A honlapok generálásához az alábbi gyûjteményekre lesz szükségünk:
ports-base
doc-all
www
# A CVS funkciókhoz még ezek a gyûjtemények is kelleni fognak:
cvsroot-common
cvsroot-ports
cvsroot-doc</programlisting>
<para>A <literal>default host</literal> sorban
értelemszerûen a hozzánk legközelebb
elhelyezkedõ <application>CVSup</application>
tükrözést adjuk meg (például
<literal>cvsup.hu.FreeBSD.org</literal>), illetve a
<literal>default prefix</literal> bejegyzésnél
pedig azt a könyvtárat, ahol a repository
állományait kívánjuk tárolni.
Valamilyen, például
<filename><replaceable>doc-ww-cvsfile</replaceable></filename>
néven mentsük el ezt a mintát és adjuk
ki a következõ parancsot:</para>
<screen>&prompt.root; <userinput><command>cvsup</command> <option>-g</option> <option>-L2</option> <replaceable>doc-www-cvsfile</replaceable></userinput></screen>
<para>Továbbá érdemes még a
parancsértelmezõnk
indítóállományaiban
beállítani a <envar>CVSROOT</envar>
környezeti változó
értékét is. Például
vegyük fel az alábbi sort a
<filename>.cshrc</filename> állományunkba:</para>
<programlisting>setenv <envar>CVSROOT</envar> <replaceable>/usr/dcvs</replaceable></programlisting>
<para>Ennek megadásával a repositoryval kapcsolatos
mûveletek elvégzésekor a (lentebb
látható) parancsból elhagyhatjuk a
<option>-d</option> paraméter
megadását.</para>
<para>Jelenleg a repositoryban tárolt
állományok befogadásához
legalább 400 MB tárterületre lesz
szükségünk. A honlapok
elõállítása során ezen
felül ideiglenesen még nagyjából
további 200 MB hely kellhet. A
<command>cvsup</command> parancs lefutása után
már ki is kérhetjük a forrásokat a
munkakönyvtárunkba:</para>
<screen>&prompt.root; <userinput><command>mkdir</command> <replaceable>/usr/build</replaceable></userinput>
&prompt.root; <userinput><command>cd</command> <replaceable>/usr/build</replaceable></userinput>
&prompt.root; <userinput><command>cvs</command> <option>-d</option> <replaceable>/usr/dcvs</replaceable> <option>-R</option> co <option>-AP</option> doc www ports</userinput></screen>
<para>Ez a parancs lényegében ugyanannak felel meg,
ahogy a <application>csup</application> kéri le az
állományokat a <application>CVSup</application>
szervertõl. A folyamat befejezõdése
után a munkakönyvtárban tehát
tulajdonképpen ugyanazokat fogjuk találni, mint az
egyszerûbb, <application>csup</application> alapú
módszer esetében.</para>
<para>Az imént bemutatott <command>cvsup</command> parancs
folyamatos használatával tudjuk rendszeresen
karbantartani a <application>CVS</application> repository helyi
másolatát. Az elsõ esetben még
viszonylag sok állomány fog letöltõdni,
azonban a késõbbiekben már viszont csak
néhány percet vesz igénybe a
frissítés.</para>
</sect2>
</sect1>
<sect1 id="the-website-build">
<title>A honlapok elõállítása</title>
<para>Miután az elõbb tárgyalt módszerek
valamelyikével elõkészítettük
rendszerünkön a honlapok forrásainak egy
naprakész másolatát, készen
állunk a honlapok létrehozására. A
példánkban az ehhez használt
munkakönyvtár a <filename
class="directory"><replaceable>/usr/build</replaceable></filename>
volt, ahol már minden szükséges
állomány megtalálható.</para>
<procedure>
<step>
<para>Lépjünk be a
munkakönyvtárba:</para>
<screen>&prompt.root; <userinput><command>cd</command> <replaceable>/usr/build</replaceable></userinput></screen>
</step>
<step>
<para>A honlapok elõállítása a
<filename class="directory">www/en</filename>
könyvtárból indul, az
<maketarget>all</maketarget> &man.make.1; cél
végrehajtásával megkezdõdik a
honlapok készítése.</para>
<screen>&prompt.root; <userinput><command>cd</command> www/en</userinput>
&prompt.root; <userinput><command>make</command> <maketarget>all</maketarget></userinput></screen>
</step>
</procedure>
</sect1>
<sect1 id="the-website-install">
<title>A generált honlapok telepítése a
webszerverre</title>
<procedure>
<step>
<para>Ha nem az <filename class="directory">en</filename>
könyvtárban állunk, akkor váltsunk
vissza rá.</para>
<screen>&prompt.root; <userinput><command>cd</command> <replaceable>/usr/build/www/en</replaceable></userinput></screen>
</step>
<step>
<para>A <makevar>DESTDIR</makevar> változóban
állítsuk be a honlapok tényleges
helyét, és futtassuk le vele a
<maketarget>install</maketarget> &man.make.1;
célt.</para>
<screen>&prompt.root; <userinput><command>env</command> <makevar>DESTDIR</makevar>=<replaceable>/usr/local/www</replaceable> <command>make</command> <maketarget>install</maketarget></userinput></screen>
</step>
<step>
<para>Ha az elõbb megadott könyvtárba
korábban már másoltunk honlapokat, akkor az
újabb másolás során nem
törlõdnek a régi vagy elavult lapok.
Például ha a honlapokat napi
rendszereséggel frissítjük, akkor a
következõ paranccsal meg tudjuk keresni és
törölhetjük azokat a lapokat, amelyeket
már három napja nem
frissítettünk.</para>
<screen>&prompt.root; <userinput><command>find</command> <replaceable>/usr/local/www</replaceable> <option>-ctime</option> 3 <option>-print0</option> | <command>xargs</command> <option>-0</option> <command>rm</command></userinput></screen>
</step>
</procedure>
</sect1>
<sect1 id="the-website-env">
<title>Környezeti változók</title>
<variablelist>
<varlistentry>
<term><envar>CVSROOT</envar></term>
<listitem>
<para>A CVS állományait tároló
könyvtár gyökere. Ha a
<application>CVSup</application> alapú
módszert alkalmazzuk, akkor érdemes a
hozzá tartozó változót
beállítanunk:</para>
<screen><userinput>&prompt.root; <makevar>CVSROOT</makevar>=<replaceable>/usr/dcvs</replaceable>; <command>export</command> <makevar>CVSROOT</makevar></userinput></screen>
<para>A <envar>CVSROOT</envar> egy környezeti
változó. Vagy a paranccsorban, vagy pedig a
parancsértelmezõnknek megfelelõ
konfigurációs állományban
(például <filename>.profile</filename>) kell
beállítanunk. Ennek pontos
mikéntjét maga a parancsértelmezõ
határozza meg (a fenti parancsban
például a <application>bash</application>
és a hozzá hasonló
parancsértelmezõk által alkalmazott
megadási mód látható).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>ENGLISH_ONLY</makevar></term>
<listitem>
<para>Ha beállítjuk és nem üres,
akkor a folyamat során csak az angol nyelvû
oldalak fognak elkészülni, a
fordítások figyelmen kívül
maradnak. Például:</para>
<screen>&prompt.root; <userinput><command>make</command> <makevar>ENGLISH_ONLY=YES</makevar> <maketarget>all</maketarget> <maketarget>install</maketarget></userinput></screen>
<para>Ha le akarjuk tiltani az <makevar>ENGLISH_ONLY</makevar>
hatását és az összes oldalt az
összes elérhetõ fordítással
létrehozni, akkor az <makevar>ENGLISH_ONLY</makevar>
változónak adjunk üres
értéket:</para>
<screen>&prompt.root; <userinput><command>make</command> <makevar>ENGLISH_ONLY=""</makevar> <maketarget>all</maketarget> <maketarget>install</maketarget> <maketarget>clean</maketarget></userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>WEB_ONLY</makevar></term>
<listitem>
<para>Ha beállítottuk és az
értéke nem üres, akkor
hatására csak a <filename
class="directory">www</filename> könyvtárban
található HTML oldalak
állítódnak elõ és
telepítõdnek. Ilyenkor a <filename
class="directory">doc</filename> könyvtár teljes
tartalma (kézikönyv, GYIK és egyéb
leírások) figyelmen kívül
marad.</para>
<screen>&prompt.root; <userinput><command>make</command> <makevar>WEB_ONLY=YES</makevar> <maketarget>all</maketarget> <maketarget>install</maketarget></userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>WEB_LANG</makevar></term>
<listitem>
<para>Ha beállítottuk, akkor a <filename
class="directory">www</filename> könyvtáron
belül csak a benne megadott nyelvekhez tartozó
könyvtárak fognak
elõállítódni. Az angol
kivétel tehát ilyenkor minden más nyelv
kimarad a feldolgozásból.
Például:</para>
<screen>&prompt.root; <userinput>make WEB_LANG="el es hu nl" all install</userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>NOPORTSCVS</makevar></term>
<listitem>
<para>Ennek megadásakor a <filename>Makefile</filename>
állományok nem kérnek ki
állományokat a portokhoz tartozó
repositoryból. Ehelyett a szükséges
állományokat közvetlenül a <filename
class="directory">/usr/ports</filename>
könyvtárból (vagy ahova a
<envar>PORTSBASE</envar> változó
értéke mutat) fogják
átmásolni.</para>
</listitem>
</varlistentry>
</variablelist>
<para>A <makevar>WEB_ONLY</makevar>, <makevar>WEB_LANG</makevar>,
<makevar>ENGLISH_ONLY</makevar> és
<makevar>NOPORTSCVS</makevar> változók a
<command>make</command> programhoz tartoznak. Ezek
értékét az
<filename>/etc/make.conf</filename> állományban,
vagy környezeti változókhoz hasonlóan
parancssorból, illetve a parancsértelmezõ
konfigurációs állományaiban
állíthatjuk be.</para>
</sect1>
</chapter>
|