Sunday, November 19, 2006

Step by Step Installation of the Subversion 1.x Server for Linux and Solaris 8/9/10 (English)






















Author Johannes Fahrenkrug
Reviewer Joerg Kaminski
Contact jfahrenkrug<N0 5PAM>.dot.gmail.dot.com
Version 1.7
Last Update 10/27/2005


Contents























I Introduction/Notes
II Step by Step Installation
III Appendices
IV Acknowledgments



I Introduction/Notes


So you decided (or you have been told) to install Subversion. Then all you have to do now is lean back and enjoy the ride, because we did all the work for you already. This document will save you a hack of a lot of time (and it might even make you the employee of the month).


We didn’t feel like typing two different download URLs for all the Solaris 8 and 9 packages. Hence we only used the Solaris 8 paths. In most cases you only have to replace the 8 with a 9 in the FTP paths and package names.


Please note that this guide is about compiling and installing Subversion and all the programs that it depends on from source. In case your hand moves in the direction of your head and makes a scratching motion when you hear the word “compile”, this guide might not be for you. You can get pre-compiled packages for just about any OS by now. That is definitely the easier way to go.


The section about configuring and setting up the Subversion server might be interesting for you even if you don’t compile everything from source, though.


In case this document actually helps you, we’d be very grateful if you would nag your employer about some t-shirts, mugs and other free stuff for us. (Whoever is reading this and actually is considering sending us something: You’re the first one, man! More power to you!)


Anyway, have fun (and success) installing Subversion!


PS: I guess I have to say this: I am not responsible for any damage that might be caused by following this guide!





II Step by Step Installation


1. Create a directory for all the source files that you’ll have to download and compile in the next steps. I’ll call this directory /basedir


2. Go to http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260 and download the newest Subversion source tarball (save it in /basedir).


3. Open a shell and become the superuser:

su -


4. Go to the basedir and unpack the Subversion source files:

gunzip subversion-1.2.3.tar.gz

tar -xvf subversion-1.2.3.tar


5. Change into the subversion-1.2.3 subdirectory and run the autogen.sh script:

cd subversion-1.2.3

./autogen.sh


6. The script checks if all of Subversion’s dependencies are installed. When the script coughs up this error message:

“Can’t locate object method “path” via package “Request” at

/usr/local/share/autoconf/Autom4te/C4che.pm line 69, <GEN1> chunk 111.”

the directory “autom4te.cache” in the subdirectory “expat” of Subversion has to be deleted:

rm -r /basedir/subversion-1.1.1/apr-util/xml/expat/autom4te.cache


When the script says that one of the following things is not installed or not recent enough, then please follow the next steps and run autogen.sh again to check if everything’s OK now. Of course you can also download and install the newest versions of these tools and libraries, even if the installed versions are sufficient.


In case the script says that everything’s fine (autoheader warnings can be ignored) continue with step 7. If the script complains:

a. autoconf/autoheader: Continue with Appendix A.

b. libtool: Continue with Appendix B.

c. m4: Continue with Appendix C.

d. Python: For Linux continue with Appendix D. For Solaris continue with Appendix E.

e. Libxml2: Continue with Appendix F.

f. neon lib: Doesn’t have to be downloaded because it comes with the Subversion source files.


7. Go to http://www.sleepycat.com/download/index.shtml

and download the newest source tarball of Berkeley DB (either with or without strong cryptography, it doesn’t matter). Save it in /basedir.







Note: Starting at version 1.1.0 Subversion doesn’t depend on Berkeley DB anymore because it comes with its own database backend called FSFS. I don’t have any experience with FSFS yet. Hence I describe the installation using Berkeley DB. As soon as I install Subversion again, I will use FSFS and add the description here.






8. Don’t forget to download available patches (I don’t think there are any for the current version).


9. Extract the Berkeley DB source files in the basedir:

gunzip db-4.3.29.tar.gz

tar -xvf db-4.3.29.tar


10. Copy patches - if there are any - that you have downloaded into the db-4.3.29 directory:

(This is just an example, there are not patches for version 4.3.29 of BerkeleyDB, as far as I know):

cp patch.4.3.29.1 db-4.3.29

cp patch.4.3.29.2 db-4.3.29


11. Change into the db-4.3.29 directory.


12. Patch the source files (if patches are available):

patch -p0 < patch.4.3.29.1

patch -p0 < patch.4.3.29.2


13. Change into the build_unix directory


14. Run the configure script:

../dist/configure

Under Solaris you may have to run the script like this:

env CC=gcc ../dist/configure


15. Run make:

make


16. Pass the time with an activity of your choice (flossing, maybe).


17. Run make install:

make install


18. Clean up…:

make clean


19. Make the Berkeley DB libraries known:











a. Under Linux:

1. Change into the /etc directory


2. Add the following line to your ld.co.conf file:

/usr/local/BerkeleyDB.4.3/lib


3. Run ldconfig:

ldconfig


b. Under Solaris:

1. Set the LD_RUN_PATH:

LD_RUN_PATH=/usr/local/BerkeleyDB.4.3/lib


2. Export the LD_RUN_PATH:

export LD_RUN_PATH


3. Set the LD_LIBRARY_PATH:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/BerkeleyDB.4.3/lib


4. Export the LD_LIBRARY_PATH:

export LD_LIBRARY_PATH



As an alternative to point b you can also add a symbolic link to a directory that already is in the LD_LIBRARY_PATH, for example:

cd /usr/local/lib

ln -s /usr/local/BerkeleyDB.4.3/lib/libdb-4.3.so libdb-4.3.so



20. Go to http://httpd.apache.org/download.cgi

and download the newest source tarball of the Apache2 httpd server. Save it in /basedir. Sometimes

the download fails if you use http. In that case, do this:

ftp ftp.uni-erlangen.de

cd /pub/mirrors/apache/httpd/

ls


Then find the newest tarball and download it, i.e.:

binary

mget httpd-2.0.55.tar.gz

y

bye


21. Extract the Apache source files in basedir:

gunzip httpd-2.0.55.tar.gz

tar -xvf httpd-2.0.55.tar


22. Change into the httpd-2.0.55 directory


23. Run buildconf:

./buildconf

autoheader warnings can be ignored.


24. Run configure:

./configure --enable-dav=shared --with-gdbm=no --enable-deflate=shared --enable-so --with-berkeley-db=/usr/local/BerkeleyDB.4.3 --with-dbm=db4









Hint: In certain cases it might be necessary to use --enable-dav and

--enable-deflate without "=shared". Or it can help to use --enable-mod_deflate=shared instead of --enable-deflate=shared.






25. When configure finished without errors, run make:

make


26. Make coffee…


27. Run make install:

make install


28. Clean up…:

make clean


29. Change into the /basedir/subversion-1.2.3 directory



30. Run configure:

./configure --with-berkeley-db=/usr/local/BerkeleyDB.4.3 --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2

In case BerkeleyDB.4.3 has been installed in it’s default directory, the configure script of Subversion version 1.0.2 and higher finds the BerkeleyDB libraries automatically. In that case, you can run configure without "--with-berkeley-db".

Watch out for any messages that say that only a Subversion client can be built. In that case, something went wrong.







Hint: If you encounter any problems under Solaris 8/9/10 (which might only occur as late as at the “make install” step),

it can be helpful to use config.nice instead of the configure script. Sometimes it also helps to reinstall Apache2.

31. Run make:







ATTENTION: In case an earlier version of Subversion is already installed, you have to delete those Subversion and Neon libraries before you run make. This is what you have to do:

rm -f /usr/local/lib/libsvn*

rm -f /usr/local/lib/libneon*

Now you can run make:

make


32. Maybe the coffee you made in step 26 causes a certain pressure inside of you….

Now would be the perfect opportunity to get some relief!


33. Run make install:

make install


34. Clean up:

make clean


35. Change into the directory /basedir/subversion-1.2.3/tools/xslt


36. Copy the contents of the directory into the Apache2 htdocs directory:

cp * /usr/local/apache2/htdocs


37. Create the group “svn”:









a. Under Linux: groupadd -r svn
b. Under Solaris: groupadd svn

38. Create the user “svn”:









a. Under Linux: useradd -r -g svn svn
b. Under Solaris: useradd -g svn svn

39. Set the password for the user “svn”:

passwd svn


40. Create the repository (you can change the path below to anything you like, but I will keep using it as an example path in this document). Execute this as root:

cd /usr/local

mkdir svnrepos

chown svn:svn svnrepos


ATTENTION: THE REPOSITORY MAY NOT RESIDE ON AN NFS DRIVE!


41. Create the repository as the user “svn”:

su svn

svnadmin create /usr/local/svnrepos


(If you get an error at this point saying thay some libs could not be found, set the LD_LIBRARY_PATH as described in section 19b and try again)

exit


42. Set up Apache. Change into the Apache2 conf directory:

cd /usr/local/apache2/conf


43. Fire up your favorite editor and open the httpd.conf file.


44. Make sure the file contains the following lines:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so


There lines have to appear before any other statements that have to do with Subversion!


45. Find the line that starts with “Listen” and set its value to the port that Apache should listen on, i.e.:

Listen 7770


46. Finde the line that starts with “#ServerName” an set it to the name of your server:

ServerName subversion.yourdomain.com


47. Find the area that contains the <Location> directives and add the following text to it (”/rep” being a virtual path of your choice under which the repository will be served and “/usr/local/svnrepos” being the absolute path of the repository):

<Location /rep>

  DAV svn

  SVNPath /usr/local/svnrepos

  SVNIndexXSLT “/svnindex.xsl” # (optional, to make it pretty)

  AuthType Basic

  AuthName “Subversion repository”

  AuthUserFile /etc/.svn-auth-file

  Require valid-user

</Location>


Your repository can be found at http://subversion.yourdomain.com:7770/rep later.







If you plan to host more than one repository under one directory, you can use SVNParentPath instead of SVNPath. SVNParentPath is a normal directory, under which you can create as many repositories as your heart desires. That means that you would have to create repositories as described in section 41 INSIDE the SVNParentPath directory. That has the advantage that you don’t have to add another <Location> directive to the httpd.conf file for each new repository. Hence, you also wouldn’t have to restart Apache to make the new repository accessible. You could - for example - reach different repositories at http://subversion.yourdomain.com:7770/rep/repos1 and at http://subversion.yourdomain.com:7770/rep/repos under the SVNParentPath directory. If you use SVNParentPath and try to open http://subversion.yourdomain.com:7770/rep you’ll get an error message. That means that you always have to specify a repository.








ATTENTION: You have to make sure that the virtual path (in this case /rep) doesn’t interfere with other virtual paths of Apache. If - for example - your DocumentRoot is /www and you set /www/rep as the virtual Subversion path in the Location tag, you’ll have a problem: Apache wouldn’t be able to tell which directive to execute when /www/rep in requested: the directive of DocumentRoot or the one of Subversion?

The Auth directives are important for access control. You can choose the path and filename for the AuthUserFile directive. You have to remember that path and the filename though because we have to create that file later, for the usernames and passwords.


48. Save and close the httpd.conf file.


49. Create the access control file for the users that should be allowed to use Subversion:

htpasswd -cm /etc/.svn-auth-file johannes

Repeat this with the option -m instead of -cm until all the users are created (replace “johannes” with the appropriate usernames, of course)







ATTENTION: It is important to use -m instead of -cm for all following users. Otherwise you’d overwrite the file each time.

50. Change into the /usr/local/ directory


51. Make the user “svn” the owner of all Apache files and directories:

chown -R svn:svn apache2


52. Become the user svn:

su svn


53. Change into the /usr/local/apache2/bin directory


54. Fire up the Apache2 server:

./apachectl start


55. Open a web browser and go to

http://subversion.yourdomain.com:7770/rep

The page should display something like this:

Revision 0

/


Powered by Subversion 1.2.3


56. The Subversion server is now set up and ready to be used (congratulations)!


57. If you encountered any problems or if you know how to do it better, drop me a line at moremagic<N0 5PAM>.dot.gmail.dot.com Thanks.





III Appendices




APPENDIX A: autoconf Installation


A1. Go to http://ftp.gnu.org/gnu/autoconf/ and download the newest source tarball of GNU autoconf (save it in /basedir).


A2. Extract the autoconf source files in the basedir:

gunzip autoconf-2.59.tar.gz

tar -xvf autoconf-2.59.tar


A3. Change into the autoconf-2.59 directory


A4. Run the configure script:

./configure


A5. Run make:

make


A6. Run make install:

make install


A7. Clean up…:

make clean


A8. Done.




APPENDIX B libtool Installation


B1. Go to http://ftp.gnu.org/gnu/libtool/ and download the newest source tarball of GNU libtool (save it in /basedir).


B2. Extract the libtool source files in the basedir:

gunzip libtool-1.5.8.tar.gz

tar -xvf libtool-1.5.8.tar


B3. Change into the libtool-1.5.8 directory


B4. Run the configure script:

./configure


B5. Run make:

make


B6. Run make install:

make install


B7. Clean up…:

make clean


B8. Done.




APPENDIX C m4 Installation


C1. Go to http://ftp.gnu.org/gnu/m4/and download the newest source tarball of GNU m4 (save it in /basedir)…


C2. Extract the m4 source files in the basedir:

gunzip m4-1.4.4.tar.gz

tar -xvf m4-1.4.4.tar


C3. Change into the m4-1.4.4 directory


C4. Run the configure script:

./configure


C5. Run make:

make


C6. Run make install:

make install


C7. Clean up…:

make clean


C8. Done.




APPENDIX D Python Installation under Linux


D1. Gehe zu http://python.org/ftp/python/2.4.2/ and download the newest source tarball of Python (save it in /basedir)


D2. Extract the Python source files in the basedir:

bzip2 -d Python-2.4.2.tar.bz2

tar -xvf Python-2.4.2.tar


D3. Change into the Python-2.4.2 directory


D4. Run the configure script:

./configure


D5. Run make:

make


D6. Run make install:

make install


D7. Clean up…:

make clean


D8. Done.




APPENDIX E Python Installation under Solaris


E1. Download this file: ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/ftp.sunfreeware.com/sparc/8/python-2.4.2-sol8-sparc-local.gz (save it in /basedir)


E2. Extract the Python binaries for Solaris:

gunzip python-2.4.2-sol8-sparc-local.gz


E3. Install the package:

pkgadd -d python-2.4.2-sol8-sparc-local

Confirm the question with <ENTER> (When an M appears, press <CTRL>+<ENTER>)


E4. Test Python:

python

If you get an error message at this point that libstdc++.so.5 can’t be found, continue with APPENDIX G


E5. Done.




APPENDIX F Libxml2 Installation


F1. Go to ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/ and download the newest source tarball of libxml2 (save it in /basedir)


F2. Extract the libxml2 source files in the basedir:

gunzip libxml2-2.6.22.tar.gz

tar -xvf libxml2-2.6.22.tar


F3. Change into the libxml2-2.6.22 directory


F4. Run the configure script:

./configure


F5. Run make:

make


F6. Run make install:

make install


F7. Clean up…:

make clean


F8. Done.




APPENDIX G libgcc Installation (Solaris)


G1. Download this file: ftp://sunfreeware.nl.uu.net/pub/freeware/sparc/8/libgcc-3.4.1-sol8-sparc-local.gz (save it in /basedir)


G2. Extract the package in the basedir:

gunzip libgcc-3.4.1-sol8-sparc-local.gz


G3. Install the package:

pkgadd -d libgcc-3.4.1-sol8-sparc-local

Confirm the question with <ENTER> (When an M appears, press <CTRL>+<ENTER>)


G4. Done.




IV Acknowledgments


Thanks to Vasudeva Martin for the helpful additions to step 47.


Thanks to Ingo Brenckmann for the BerkeleyDB note at step 7.


Thanks to Dominik Fijalkowski for the configure note at step 24.


Thanks to Sebastian for the mod_deflate note at step 24.


Thanks to Joschka Reuss for the correction of the tar command at step 9.

Labels: , ,

Schritt-fuer-Schritt-Installation von Subversion 1.x Server fuer Linux und Solaris 8/9/10 (Deutsch)






















Autor Johannes Fahrenkrug
Reviewer Joerg Kaminski
Kontakt jfahrenkrug<N0 5PAM>.dot.gmail.dot.com
Version 1.6.5
Letzte Aenderung  08/10/2005


Inhalt























I Vorwort/Anmerkungen
II Schritt-fuer-Schritt Installation
III  Anhaenge
IV Danksagungen



I Vorwort/Anmerkungen


Du hast dich also entschieden (oder dir ist aufgetragen worden), Subversion zu installieren. Dann lehn dich zurueck, denn wir haben im Grunde die ganze Arbeit schon fuer dich gemacht. Mit der folgenden Anleitung wirst du viel Zeit sparen (und ggf. vor deinem Auftraggeber als Held der Arbeit glaenzen).


Um nicht alle Download-Pfade von Paketen/Installationsdateien bezueglich Solaris doppelt anfuehren zu muessen, haben wir uns dafuer entschieden, exemplarisch die Pfad-Bezeichnungen fuer Solaris 8 anzugeben. In den meisten Faellen muss in den angegebenen FTP-Pfaden und Package-Namen lediglich die 8 durch eine 9 ersetzt werden (besuche unsere Homepage unter www.dokus-in-hochgestochenem-deutsch.de).


Noch eine Anmerkung: In dieser Anleitung geht es darum, Subversion und alle Programme, die es benoetigt, selbst zu kompilieren und zu installieren. Wenn sich deine Hand bei dem Wort “kompilieren” in Richtung Kopf bewegt und eine kratzende Bewegung ausfuehrt, ist diese Anleitung vielleicht nicht unbedingt etwas fuer dich. Es gibt mittlerweile fuer fast jedes Betriebssystem und jede Linux-Distribution ein vorkompiliertes Paket, was dann wahrscheinlich einfacher zu installieren ist.


Die Punkte zur Konfiguration koennten jedoch trotzdem fuer dich interessant sein.


Wenn diese Anleitung dich weiterbringt, waeren wir dir sehr dankbar, wenn du deinem Arbeitgeber T-Shirts, Tassen und alles was man sonst noch so umsonst kriegen kann aus den Rippen leiern und uns eine Freude machen wuerdest.


So, jetzt aber viel Spass und Erfolg bei der Installation!





II Schritt-fuer-Schritt Installation


1. Lege dir irgendwo ein Verzeichnis an, in das du die ganzen zu kompilierenden Sourcen ablegen moechtest. Im Folgenden nenne ich dieses Verzeichnis /basedir


2. Gehe zu http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260 und lade den neusten Source-Tarball von Subversion runter (im /basedir speichern).


3. Oeffne eine Konsole und werde zum Superuser:

su -


4. Gehe ins basedir und entpacke die Subversion Sourcen:

gunzip subversion-1.1.1.tar.gz

tar -xvf subversion-1.1.1.tar


5. Wechsle in das subversion-1.1.1 Unterverzeichnis und fuehre das autogen.sh Skript aus:

cd subversion-1.1.1

./autogen.sh


6. Das Skript ueberprueft, ob alle Abhaengigkeiten, die Subversion benoetigt, installiert sind. Wenn das Skript folgende Fehlermeldung ausspuckt:

“Can’t locate object method “path” via package “Request” at

/usr/local/share/autoconf/Autom4te/C4che.pm line 69, chunk 111.”

dann muss das Verzeichnis “autom4te.cache” im Unterverzeichnis “expat” von Subversion geloescht werden:

rm -r /basedir/subversion-1.1.1/apr-util/xml/expat/autom4te.cache


Wenn das Skript sagt, dass eins der folgenden Dinge nicht (oder nicht in der benoetigten Version) installiert ist, dann folge bitte den naechsten Schritten und fuehre danach autogen.sh nochmal aus, um zu ueberpruefen, ob jetzt alles OK ist. Du kannst natuerlich auch die neuesten Sourcen runterladen und installieren, selbst wenn die Tools in der benoetigten Version vorliegen.


Wenn das Skript sagt, dass alles OK ist(autoheader Warnungen koennen ignoriert werden), dann mache mit Schritt 7 weiter, sonst:

a. autoconf/autoheader: Weiter im Anhang A.

b. libtool: Weiter im Anhang B.

c. m4: Weiter im Anhang C.

d. Python: Fuer Linux weiter im Anhang D. Fuer Solaris weiter im Anhang E.

e. Libxml2: Weiter im Anhang F.

f. neon lib: Muss nicht runtergeladen werden, da es Teil der Subversion Sourcen ist.


7. Gehe zu http://www.sleepycat.com/download/index.shtml und lade den neusten Source-Tarball der Berkeley-DB runter (egal, ob WITH oder WITHOUT strong cryptography, im /basedir speichern)











Achtung: In Subversion 1.1.1 wird BerkleyDB 4.3.x noch nicht unterstuetzt, also lieber die Version 4.2.52 verwenden. Wenn man Subversion 1.1.2 oder neuer verwendet, sollte man auch die neueste BerkeleyDB Version benutzen koennen.
Hinweis: Ab der Version 1.1.0 ist Subversion nicht mehr auf die BerkeleyDB angewiesen, da es sein eigenes Datenbank-Backend (FSFS genannt) mitbringt. Damit habe ich aber noch keine Erfahrung, darum beschreibe ich im Folgenden nur die Installation mit BerkeleyDB. Sobald ich Subversion nochmal neu installiere, werde ich an dieser Stelle auf die Alternative mit FSFS beschreiben.






8. Vergiss nicht, auch eventuelle Patches runterzuladen.


9. Entpacke die Berkeley DB Sourcen im basedir:

gunzip db-4.2.52.tar.gz

tar -xvf db-4.2.52.tar


10. Kopiere die heruntergeladenen Patches in das db-4.2.52 Verzeichnis:

cp patch.4.2.52.1 db-4.2.52

cp patch.4.2.52.2 db-4.2.52


11. Wechsle in das db-4.2.52 Verzeichnis.


12. Patche die Sourcen:

patch -p0 < patch.4.2.52.1

patch -p0 < patch.4.2.52.2


13. Wechsle in das build_unix Verzeichnis


14. Fuehre das configure Skript aus:

../dist/configure

Unter Solaris kann es noetig sein, das configure Skript wie folgt auszufuehren:

env CC=gcc ../dist/configure


15. Fuehre make aus:

make


16. Fuehre einen Zeitvertreib deiner Wahl durch.


17. Fuehre make install aus:

make install


18. Aufraeumen…:

make clean


19. BerkeleyDB Libraries bekannt machen:











a. Unter Linux:

1. Wechsle ins /etc Verzeichnis


2. Fuege folgende Zeile in die Datei ld.co.conf ein:

/usr/local/BerkeleyDB.4.2/lib


3. Fuehre ldconfig aus:

ldconfig


b. Unter Solaris:

1. Setze den LD_RUN_PATH:

LD_RUN_PATH=/usr/local/BerkeleyDB.4.2/lib


2. Exportiere den LD_RUN_PATH:

export LD_RUN_PATH


3. Setze den LD_LIBRARY_PATH:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/BerkeleyDB.4.2/lib


4. Exportiere den LD_LIBRARY_PATH:

export LD_LIBRARY_PATH



Alternativ zu Punkt b kann man auch unter einem Verzeichnis, dass sich bereits im LD_LIBRARY_PATH befindet, einen symbolischen Link auf die BerkeleyDB Library setzen, z.B.:

cd /usr/local/lib

ln -s /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.so libdb-4.2.so



20. Gehe zu http://httpd.apache.org/download.cgi und lade den neusten Source-Tarball vom Apache2 httpd Server runter (im /basedir speichern). Manchmal bricht der Download ueber http ab, dann folgendes machen:

ftp ftp.uni-erlangen.de

cd /pub/mirrors/apache/httpd/

ls


Dann gucken, was der aktuellste Tarball ist und den dann runterladen, z.B.:

binary

mget httpd-2.0.52.tar.gz

y

bye


21. Entpacke die Apache Sourcen im basedir:

gunzip httpd-2.0.52.tar.gz

tar -xvf httpd-2.0.52.tar


22. Wechsle in das httpd-2.0.52 Verzeichnis


23. Fuehre buildconf aus:

./buildconf

autoheader Warnungen koennen ignoriert werden.


24. Fuehre configure aus:

./configure --enable-dav=shared --with-gdbm=no --enable-deflate=shared --enable-so --with-berkeley-db=/usr/local/BerkeleyDB.4.2 --with-dbm=db4









Hinweis: In bestimmten Faellen kann es noetig sein, bei --enable-dav und bei --enable-deflate das "=shared" wegzulassen. Oder es kann helfen, --enable-mod_deflate=shared statt --enable-deflate=shared zu benutzen.







25. Wenn alles sauber durchgelaufen ist, make ausfuehren:

make


26. Kaffee kochen…


27. Fuehre make install aus:

make install


28. Aufraeumen…:

make clean


29. Wechsle in das /basedir/subversion-1.1.1 Verzeichnis



30. Fuehre configure aus:

./configure --with-berkeley-db=/usr/local/BerkeleyDB.4.2 --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2

Wenn BerkeleyDB.4.2 in dessen Standard-Verzeichnis installiert worden ist, findet das configure Skript von Subversion ab der Version 1.0.2 die BerkeleyDB Libraries selbststaendig. Der Parameter “–with-berkeley-db” kann in diesem Fall weggelassen werden.

Darauf achten, dass keine Meldungen kommen, die besagen, dass nur ein Client gebaut werden kann. In dem Fall ist etwas schiefgelaufen.







Hinweis: Wenn es unter Solaris 8/9 Probleme gibt (die vielleicht auch erst beim make install auftreten), kann es helfen, config.nice statt des configure Skripts zu benutzen. Manchmal hilft auch das erneute Installieren von Apache2).

31. Fuehre make aus:







ACHTUNG: Wenn bereits eine fruehere Version von Subversion installiert ist, musst du zuerst die alten Subversion und Neon Bibliotheken loeschen, bevor du make ausfuehrst. Das geht so:

rm -f /usr/local/lib/libsvn*

rm -f /usr/local/lib/libneon*

Jetzt kann make ausgefuehrt werden:

make


32. Vielleicht drueckt der unter 26 gekochte - und inzwischen konsumierte - Kaffee jetzt schon ein wenig…

Nun ist die perfekte Gelegenheit, sich Erleichterung zu verschaffen!


33. Fuehre make install aus:

make install


34. Aufraeumen:

make clean


35. Wechsle in das Verzeichnis /basedir/subversion-1.1.1/tools/xslt


36. Kopiere den Inhalt des Verzeichnisses in das Apache2 htdocs Verzeichnis:

cp * /usr/local/apache2/htdocs


37. svn group anlegen:









a. Unter Linux: groupadd -r svn
b. Unter Solaris: groupadd svn

38. svn user anlegen:









a. Unter Linux: useradd -r -g svn svn
b. Unter Solaris: seradd -g svn svn

39. Passwort des Users svn setzen:

passwd svn


40. Repository anlegen (der unten verwendete Pfad kann durch einen beliebigen ersetzt werden. Ich werde diesen Pfad jedoch im weiteren Verlauf des Dokuments als Beispielpfad verwenden). Folgendes auch als root ausfuehren:

cd /usr/local

mkdir svnrepos

chown svn:svn svnrepos


ACHTUNG: DAS REPOSITORY DARF NICHT AUF EINEM NFS LAUFWERK LIEGEN!


41. Als User svn das Repository anlegen:

su svn

svnadmin create /usr/local/svnrepos


(Wenn er hier einige libs nicht findet, dann wie unter 19b beschrieben den LD_LIBRARY_PATH setzen und nochmal probieren)

exit


42. Apache einrichten. Wechsle in das Apache2 conf Verzeichnis:

cd /usr/local/apache2/conf


43. Oeffne die Datei httpd.conf in deinem Lieblings-Editor.


44. Stelle sicher, dass die Datei folgende Zeilen enthaelt:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so


Diese Anweisungen muessen in der conf Datei vor allen anderen Anweisungen, die mit Subversion zu tun haben, stehen!


45. Finde die Zeile, die mit Listen anfaengt und setzte den Wert auf den Port, auf dem Apache lauschen soll (z.B.):

Listen 7770


46. Finde die Zeile, die mit #ServerName anfaengt und setze den Wert auf den Namen des Servers:

ServerName subversion.deinedomain.de


47. Finde den Bereich, in dem die <Location> Direktiven definiert sind und fuege folgenden Text ein, wobei /rep ein frei waehlbarer, virtueller Pfad ist, unter dem man nachher das Repository erreichen kann und /usr/local/svnrepos wieder der absolute Pfad des Repository ist:

<Location /rep>

  DAV svn

  SVNPath /usr/local/svnrepos

  SVNIndexXSLT “/svnindex.xsl” # (optional, ums huebsch zu machen)

  AuthType Basic

  AuthName “Subversion repository”

  AuthUserFile /etc/.svn-auth-file

  Require valid-user

</Location>


Man kann damit spaeter ueber http://subversion.deinedomain.de:7770/rep das Repository erreichen.






Wenn man plant, unter einem Verzeichnis mehrere Repositories zu verwalten,

kann man statt SVNPath SVNParentPath angeben. SVNParentPath ist ein

normales Verzeichnis, _unter_ dem beliebig viele Repositories angelegt werden koennen.

Das heisst, dass man wie unter Punkt 41 beschrieben Repositories _innerhalb_ des

SVNParentPath-Verzeichnisses anlegen muesste. Das hat den Vorteil, dass man fuer

ein neues Repository nicht extra die httpd.conf Datei

um einen weiteren -Eintrag zu erweitern braucht und deshalb den

Apache-Server auch nicht beenden und neu starten muss. Man kann dann zum

Beispiel mit http://subversion.deinedomain.de:7770/rep/repos1 und

http://subversion.deinedomain.de:7770/rep/repos2 verschiedene Repositories

unter dem Parent-Verzeichnis ansprechen. Wenn man SVNParentPath verwendet

und nur http://subversion.deinedomain.de:7770/rep anzusprechen versucht,

bekommt man eine Fehlermeldung. Man muss also immer ein Repository angeben.








ACHTUNG: Man muss darauf achten, dass der virtuelle Pfad, den man in Location angibt (hier: /rep) sich nicht mit anderen virtuellen

Pfaden von Apache beisst. Wenn DocumentRoot z.B. /www ist und man hier im Location Tag /www/rep als virtuellen Subversion Pfad

angibt, wird es Probleme geben, da Apache dann nicht weiss, welche Direktive denn bei einer Anfrage auf /www/rep ausgefuehrt werden

soll: die von DocumentRoot oder die von Subversion?

Die Auth-Direktiven sind zur Zugriffskontrolle notwendig. Der Dateiname in

der AuthUserFile Direktive ist frei waehlbar, du musst ihn dir jedoch

merken, da wir diese Datei nachher erzeugen und Userdaten in ihr ablegen.


48. Speichere und schliesse die Datei httpd.conf


49. Lege die Zugriffskontroll-Datei fuer die User an, die Subversion benutzen duerfen sollen:

htpasswd -cm /etc/.svn-auth-file johannes

Wiederhole diesen Vorgang so oft, bis alle User angelegt sind (”johannes” natuerlich durch die entsprechenden Usernamen ersetzen)







ACHTUNG: Bei weiteren Benutzern nur -m und nicht mehr -cm als Option angeben, da sonst die Datei immer wieder ueberschrieben wird.

50. Wechsle in das /usr/local/ Verzeichnis


51. Mache den User svn zum Besitzer aller Apache Dateien und Verzeichnisse:

chown -R svn:svn apache2


52. Werde zum User svn:

su svn


53. Wechsle in das /usr/local/apache2/bin Verzeichnis


54. Starte den Apache2 Server:

./apachectl start


55. Oeffne einen Browser und gehe zu:

http://subversion.deinedomain.de:7770/rep

Die Seite sollte folgendes anzeigen:

Revision 0

/


Powered by Subversion 1.1.1


56. Der Subversion Server ist jetzt einsatzbereit! (Herzlichen Glueckwunsch)


57. Wenn du waehrend der Installation auf irgendwelche Probleme gestossen bist, die hier nicht erwaehnt werden, oder wenn du weisst, wie mans besser machen kann, dann schick mir eine Email an moremagic<N0 5PAM>.dot.gmail.dot.com Danke.




III Anhaenge




ANHANG A: autoconf Installation


A1. Gehe zu http://ftp.gnu.org/gnu/autoconf/ und lade den neusten Source-Tarball von GNU autoconf runter (im /basedir speichern).


A2. Entpacke die autoconf Sourcen im basedir:

gunzip autoconf-2.59.tar.gz

tar -xvf autoconf-2.59.tar


A3. Wechsle in das autoconf-2.59 Verzeichnis


A4. Fuehre das configure Skript aus:

./configure


A5. Fuehre make aus:

make


A6. Fuehre make install aus:

make install


A7. Aufraeumen…:

make clean


A8. Fertig.




ANHANG B libtool Installation


B1. Gehe zu http://ftp.gnu.org/gnu/libtool/ und lade den neusten Source-Tarball von GNU libtool runter (im /basedir speichern).


B2. Entpacke die libtool Sourcen im basedir:

gunzip libtool-1.5.6.tar.gz

tar -xvf libtool-1.5.6.tar


B3. Wechsle in das libtool-1.5.6 Verzeichnis


B4. Fuehre das configure Skript aus:

./configure


B5. Fuehre make aus:

make


B6. Fuehre make install aus:

make install


B7. Aufraeumen…:

make clean


B8. Fertig.




ANHANG C m4 Installation


C1. Gehe zu http://ftp.gnu.org/gnu/m4/ und lade den neusten Source-Tarball von GNU m4 runter (im /basedir speichern)…


C2. Entpacke die m4 Sourcen im basedir:

gunzip m4-1.4.1.tar.gz

tar -xvf m4-1.4.1.tar


C3. Wechsle in das m4-1.4.1 Verzeichnis


C4. Fuehre das configure Skript aus:

./configure


C5. Fuehre make aus:

make


C6. Fuehre make install aus:

make install


C7. Aufraeumen…:

make clean


C8. Fertig.




ANHANG D Python Installation unter Linux


D1. Gehe zu http://python.org/ftp/python/2.3.3/ und lade den neusten Source-Tarball von Python runter (im /basedir speichern)


D2. Entpacke die Python Sourcen im basedir:

bzip2 -d Python-2.3.3.tar.bz2

tar -xvf Python-2.3.3.tar


D3. Wechsle in das Python-2.3.3 Verzeichnis


D4. Fuehre das configure Skript aus:

./configure


D5. Fuehre make aus:

make


D6. Fuehre make install aus:

make install


D7. Aufraeumen…:

make clean


D8. Fertig.




ANHANG E Python Installation unter Solaris


E1. Lade folgende Datei runter: ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/ftp.sunfreeware.com/sparc/8/python-2.3.3-sol8-sparc-local.gz (im /basedir speichern)


E2. Entpacke die Python Binaries fuer Solaris:

gunzip python-2.3.3-sol8-sparc-local.gz


E3. Installiere das Package:

pkgadd -d python-2.3.3-sol8-sparc-local

Bestaetige die Abfrage mit <ENTER> (Wenn dann ein M erscheint, druecke <STRG>+<ENTER>)


E4. Teste Python:

python

Wenn hier eine Fehlermeldung kommt, dass er die libstdc++.so.5 nicht finden kann, dann mache bei Anhang G weiter.


E5. Fertig.




ANHANG F Libxml2 Installation


F1. Gehe zu ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/ und lade den neusten Source-Tarball von libxml2 runter (im /basedir speichern)


F2. Entpacke die libxml2 Sourcen im basedir:

gunzip libxml2-2.6.7.tar.gz

tar -xvf libxml2-2.6.7.tar


F3. Wechsle in das libxml2-2.6.7 Verzeichnis


F4. Fuehre das configure Skript aus:

./configure


F5. Fuehre make aus:

make


F6. Fuehre make install aus:

make install


F7. Aufraeumen…:

make clean


F8. Fertig.




ANHANG G libgcc Installation (Solaris)


G1. Gehe zu ftp://sunfreeware.nl.uu.net/pub/freeware/sparc/8/libgcc-3.3-sol8-sparc-local.gz und lade die Datei runter (im /basedir speichern)


G2. Entpacke das Package im basedir:

gunzip libgcc-3.3-sol8-sparc-local.gz


G3. Installiere das Package:

pkgadd -d libgcc-3.3-sol8-sparc-local

Bestaetige die Abfrage mit <ENTER> (Wenn dann ein M erscheint, druecke <STRG>+<ENTER>)


G4. Fertig.




IV Danksagungen


Vielen Dank an Vasudeva Martin fuer die hilfreichen Ergaenzungen in Punkt 47, die wir gern hinzugefuegt haben!


Vielen Dank an Ingo Brenckmann fuer den BerkeleyDB-Hinweis in Punkt 7.


Vielen Dank an Dominik Fijalkowski fuer den Configure-Hinweis in Punkt 24.


Vielen Dank an Sebastian fuer den mod_deflate Hinweis in Punkt 24.


Vielen Dank an Joschka Reuss fuer die Korrektur des tar Befehls in Punkt 9.

Labels: , ,

DB2 Client Installation unter (Gentoo) Linux (Deutsch)


Autoren..........: Joerg Kaminski, Johannes Fahrenkrug
Kontakt..........: jfahrenkrug.dot.gmail.dot.com
Version……….: 1.2.5
Letzte Aenderung.: 1. November 2005

Inhalt
******
I Vorwort/Anmerkungen
II Schritt-fuer-Schritt Installation
III Anhaenge
IV Danksagungen

I Vorwort/Anmerkungen
———————

Es ist ein Krampf, einen DB2 Client (IBM DB/2) unter Gentoo zu installieren,
wenn man nicht weiss, was man beachten muss. So ging es uns. WENN man aber
weiss, was man beachten muss, ist es eigentlich ganz einfach. Hier also unsere
DB2 Client Installations-Anleitung fuer Gentoo Linux von NULL bis zum ersten
SELECT.

Wir haben in dieser Anleitung die Pfadangaben verwendet, die sich auf unseren
DB2-Client v. 8.1 beziehen. Solltest du aktuellere Versionen installieren
wollen, koennen die Pfade moeglicherweise anders lauten, aber die Installation
sollte so oder so aehnlich laufen. ;)

Wenn diese Anleitung dich weiterbringt, waeren wir dir sehr dankbar, wenn du
deinem Arbeitgeber T-Shirts, Tassen und alles was man sonst noch so umsonst
kriegen kann aus den Rippen leiern und uns eine Freude machen wuerdest.

So, jetzt aber viel Spass und Erfolg bei der Installation!

II Schritt-fuer-Schritt Installation
————————————

1. Du benoetigst fuer DB2 den Paketmanager RPM (nein, du kommst nicht
drumherum). Solltest du RPM bereits installiert haben, kannst du direkt
zu Schritt 2 gehen. Ansonsten installiere RPM bitte laut den Anweisungen
in Anhang A.

Alle folgenden Schritte musst du als root ausfuehren.

2. Zunaechst musst du die DB2 Installations Dateien von der CD in ein
Verzeichnis auf deinem Rechner kopieren.
Alternativ kannst du auch den neueren Client von der Quelle aus Anhang B
herunterladen. Die folgenden Schritte sollten fuer beide Varianten
funktionieren.
Wir gehen also davon aus, dass du weisst, wie man eine CD mountet. Falls
nicht, kannst du die Installationsanleitung an dieser Stelle verlassen. ;)

3. Kopiere das Verzeichnis /db2/linux der CD nach /root/db2install

mkdir /root/db2install
cp -R /mnt/cdrom/db2/linux /root/db2install

4. Oeffne die Datei db2_install im Verzeichnis linux mit deinem
Lieblingseditor und finde folgende Zeile:

rpm -ivh ${INSTDEV?}/${pkg?}${RPMEXTN?} 2>&1 \

In diese musst du das flag –nodeps eintragen, damit RPM bei der
Installation von DB2 nicht wegen unerfuellten Abhaengigkeiten jammert (es
erwartet naemlich fuer DB2 eine glibc in der Version 2.2 und merkt nicht,
wenn bereits eine aktuellere installiert ist). Die Zeile sollte nun so
aussehen:

rpm –nodeps -ivh ${INSTDEV?}/${pkg?}${RPMEXTN?} 2>&1 \

5. Nun kannst du das Script ausfuehren:

/root/db2install/linux/db2_install

Sobald die Installation erfolgreich durchgelaufen ist, ist DB2 unter
/opt/IBM/db2/V8.1/ installiert.

Anmerkung: auf die Erfolgsmeldung am Ende des Installationsprozesses kann
man sich leider nicht verlassen. Du solltest in jedem Fall
pruefen, ob Fehlermeldungen ausgegeben wurden!

6. RPM hat die Message-Dateien NICHT automatisch mitinstalliert. Diese sind
jedoch zwingend erforderlich und muessen nun von dir zu Fuss
nachinstalliert werden. Verwende hierzu rpm2targz, um das RPM umzuwandeln:

rpm2targz IBM_db2msen81-8.1.0-0.i386.rpm

7. Entpacke nun die Message-Dateien:

gunzip IBM_db2msen81-8.1.0-0.i386.tar.gz
tar -xvf IBM_db2msen81-8.1.0-0.i386.tar /

Der Slash sollte nicht vergessen werden.–^

8. Jetzt sollte das bin-Verzeichnis von DB2 noch in die PATH Variable
aufgenommen werden. Haenge einfach folgende Zeile ans Ende der /etc/profile
an:

export PATH=”${PATH}:/opt/IBM/db2/V8.1/bin”

9. Fuehre anschliessend mal wieder

source /etc/profile

aus.

10. Wenn du jetzt mal

which db2

ausfuehrst, solltest du folgende Ausgabe sehen:

/opt/IBM/db2/V8.1/bin/db2

11. Als naechstes musst du eine Usergruppe und einen User anlegen:

groupadd db2iadm1
useradd -m db2inst1 -g db2iadm1

WICHTIG: Es MUSS eine Gruppe angelegt werden! Die primaere Gruppe des
Benutzers db2inst1 darf nicht users sein.

12. Bevor du die Instanz anlegen kannst, musst du noch ein paar Skripte in
/opt/IBM/db2/V8.1/instance anpassen. Und zwar kann die neuere tail Version
von Gentoo nicht mit der tail Syntax umgehen, die in den Skripten im
instance Verzeichnis benutzt wird.
Finde zunaechst heraus, in welchen Skripten tail verwendet wird. Begib
dich in das /opt/IBM/db2/V8.1/instance Verzeichnis und fuehre folgenden
Befehl aus:

find . | xargs grep -n tail

Editiere jetzt die gefundenen Dateien und fuege in jeden tail Aufruf ein
“-n” ein. Du aenderst also zum Beispiel ein

tail -1

in ein

tail -n -1

13. Nun musst du eine sogenannte DB2 Instanz einrichten. Was genau das ist?
Keine Ahnung, aber es haengt mit dem User zusammen, den du gerade angelegt
hast. Das Wort Instanz ist sehr klug und aussagekraeftig gewaehlt. ;)

Wechsle in das Verzeichnis /opt/IBM/db2/V8.1/instance und fuehre folgenden
Befehl aus:

./db2icrt -a CLIENT -s client db2inst1

14. Im Verzeichnis /opt/IBM/db2/V8.1/cfg findest du die Datei db2profile. Diese
muss nun angepasst werden, damit DB2 weiss, welche Instanz verwendet werden
soll. Finde die Umgebungsvariablen DB2INSTANCE und INSTHOME. Bearbeite sie,
so dass sie folgendermassen aussehen:

DB2INSTANCE=db2inst1
export DB2INSTANCE

INSTHOME=/home/db2inst1

15. Jetzt musst du der Maschine noch beibringen, unter welchem Port der DB2
Server laeuft, mit dem du dich verbinden willst. Das koennen natuerlich von
Fall zu Fall unterschiedliche Ports sein, aber bei uns ist es der Port
3700. Dazu musst du die Datei /etc/services bearbeiten und an passender
Stelle folgende Zeilen einfuegen (nur ein Beispiel, es haengt natuerlich
von deiner Server-Konfiguration ab):

ibm-db2 523/tcp
ibm-db2 523/udp

und:

db2inst1c 3700/tcp
db2inst1i 3701/tcp

16. Als naechstes musst du zu dem User db2inst1 werden:

su - db2inst1

17. Einen neuen node kannst du zum Beispiel so hinzufuegen:

db2 catalog tcpip node NODENAME remote SERVERNAME server db2inst1c

Und eine neue Datenbank kannst du so katalogisieren:

db2 catalog db DATENBANKNAME at node NODENAME

Wenn alles geklappt hat und du

db2 connect to DATENBANKNAME user USERNAME

und zuguterletzt

db2 SELECT * FROM IRGENDEINETABELLE

ausfuehrst, solltest du den Tabelleninhalt sehen koennen.

18. Dein DB2 Client ist jetzt einsatzbereit. Herzlichen Glueckwunsch!

19. Es gibt noch einen praktischen Tipp:
Wenn du allen Usern auf der Maschine ermoeglichen moechtest, DB2 zu benutzen,
dann musst du folgendes tun:
Oeffne die /etc/profile und haenge folgendes ans Ende:

# The following three lines have been added by UDB DB2.
if [ -f /home/db2inst1/sqllib/db2profile ]; then
. /home/db2inst1/sqllib/db2profile
fi

Wenn die Verzeichnis-Struktur bei dir anders aussieht musst du das natuerlich
anpassen.
Anschliessend nochmal

source /etc/profile

ausfuehren. Dann sollten alle User DB2 nutzen koennen.

20. Wenn du waehrend der Installation auf irgendwelche Probleme gestossen bist,
die hier nicht erwaehnt werden, oder wenn du weisst, wie mans besser machen
kann, dann schick uns bitte eine Email. Danke.

III Anhaenge
————

ANHANG A
RPM Installation

A1. Um RPM auf deinem Gentoo installieren zu koennen, benoetigst du ein Java
SDK in einer Version KLEINER als 1.5.x (ab 1.5.x ist “enum” naemlich ein
Keyword)! Wir haben fuer die Installation das Blackdown JDK in der
Version 1.4.2 verwendet. Wenn du bereits ein SUN JDK 1.5.x installiert
haben solltest, musst du temporaer umschwenken. Wenn nicht, dann sind
fuer dich lediglich die Schritte A5, A6 und A9 in diesem Anhang
interessant.

A2. In der Datei /etc/profile musst du folgende Zeilen einfuegen:

export JDK_HOME=’/opt/blackdown-jdk-1.4.2.01′
export JAVAC=’/opt/blackdown-jdk-1.4.2.01/bin/javac’
export JAVA_HOME=’/opt/blackdown-jdk-1.4.2.01′
export PATH=”/opt/blackdown-jdk-1.4.2.01/bin:/opt/blackdown-jdk-1.4.2.01/jre/bin:${PATH}”

A3. Fuehre nun

source /etc/profile

als root aus.

A4. Diese Informationen reichen Gentoo aber leider noch nicht aus. An einigen
Stellen der RPM-Installation wird es trotzdem das SUN JDK verwenden, um
Codeteile zu uebersetzen. Aus diesem Grund musst du einen haesslichen
Hack einsetzen.

Sichere erst einmal deine original javac binary und lege dann einen
symbolischen Link auf den blackdown compiler an:

mv /opt/sun-jdk-1.5.0.01/bin/javac /opt/sun-jdk-1.5.0.01/bin/javac_ORIGINAL
ln -s /opt/blackdown-jdk-1.4.2.01/bin/javac /opt/sun-jdk-1.5.0.01/bin/javac

A5. Und nun darf es mit der RPM-Installation losgehen:

emerge rpm

A6. Du kannst jetzt wahlweise deine Lieblings-Ren&Stimpy-Folge schauen oder
auch Kaffee kochen gehen. Aber denk dran, ihn abzuholen, bevor du mit dem
Anhang durch bist, weil du spaeter nicht viel Wartezeit tot zu schlagen
hast.

A7. Wenn rpm sauber installiert wurde, musst du die Zeilen in /etc/profile
wieder entfernen (oder sie auskommentieren, was dir besser gefaellt)
und

source /etc/profile

erneut ausfuehren.

A8. Anschliessend musst du den zuvor erzeugten Link wieder entfernen:

rm /opt/sun-jdk-1.5.0.01/bin/javac

und das Original binary wieder herstellen:

mv /opt/sun-jdk-1.5.0.01/bin/javac_ORIGINAL /opt/sun-jdk-1.5.0.01/bin/javac

A9. Nun ist RPM vorhanden, (dein Java ggf. wieder auf dem gewohnten Stand)
und du bist bereit die Installation von DB2 (schnall dich an).

ANHANG B
Development Tools Installation

B1. Lade dir von
http://www-306.ibm.com/software/data/db2/udb/support/downloadv8.html#LINUX32
oder von
http://www-306.ibm.com/software/data/db2/udb/support/downloadv8.html#LINUX26Kernel32intel
den Fixpack-Client fuer Application Development (App. Dev.) runter.

B2. Entpacke das Paket mit
tar -xvf FP9_MI00117_ADCL.tar

B3. Wechsel in das erstellte Verzeichnis adcl/db2/linux26

B4. Lege dort ein neues Unterverzeichnis an, z.B. dev

B5. Kopiere alle Dateien, die fuers Application Development noetig sind in
das neue Verzeichnis:
cp *ad* dev

B6. Wandle die RPMs in TarGz-Dateien um:
rpm2targz *.rpm

B7. Packe die Archive aus:
find . -name ‘*.tar.gz’ -exec tar -xvzf {} \;

B8. Die Libraries und Include-Dateien kopieren:
cp -R opt /

B9. Das wars. Die Includes liegen in
/opt/IBM/db2/V8.1/include
und die Libraries liegen in
/opt/IBM/db2/V8.1/lib

IV Danksagungen
—————-

Vielen Dank an folgende Howtos:

http://forums.gentoo.org/viewtopic-t-241093-highlight-db2.html
von darktemplaaa.

http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0409cline2/readme_linux.txt
von IBM.

http://www.schau.com/pages/db2.html
von Brian.

Vielen Dank an folgende Personen fuer Verbesserungsvorschlaege:

Meinen Kollegen Dirk Oetken fuer die find Syntax unter Punkt B7

Labels: , ,