tag:blogger.com,1999:blog-16099265156591236302008-08-07T00:18:35.645-07:00I eat DEAD BEEFJohannes Fahrenkrughttp://www.blogger.com/profile/06650223978538123548noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-1609926515659123630.post-54522901216566852272008-04-02T23:28:00.001-07:002008-04-02T23:30:16.914-07:00I blog somewhere else nowJust a quick note: I don't use this blog anymore. I blog at <a href="http://blog.springenwerk.com">http://blog.springenwerk.com</a> now. Quite regularly even.<br /><br />-- JohannesJohannes Fahrenkrughttp://www.blogger.com/profile/06650223978538123548noreply@blogger.comtag:blogger.com,1999:blog-1609926515659123630.post-8090655679831394072006-11-19T04:10:00.000-08:002007-07-17T02:21:27.583-07:00Step by Step Installation of the Subversion 1.x Server for Linux and Solaris 8/9/10 (English)<table><br /> <tr><br /><td>Author</td><br /> <td>Johannes Fahrenkrug</td><br /></tr><br /> <tr><br /><td>Reviewer</td><br /> <td>Joerg Kaminski</td><br /></tr><br /> <tr><br /><td>Contact</td><br /> <td>jfahrenkrug&lt;N0 5PAM&gt;.dot.gmail.dot.com</td><br /></tr><br /> <tr><br /><td>Version</td><br /> <td>1.7</td><br /></tr><br /> <tr><br /><td>Last Update</td><br /> <td>10/27/2005</td><br /></tr><br /> </table><br /> <p></p><br /> <h2>Contents</h2><br /> <table><br /> <tr><br /><td>I </td><br /> <td><a href="#intro">Introduction/Notes</a></td><br /></tr><br /> <tr><br /><td>II </td><br /> <td><a href="#installation">Step by Step Installation</a></td><br /></tr><br /> <tr><br /><td>III</td><br /> <td><a href="#anhaenge">Appendices</a></td><br /></tr><br /> <tr><br /><td>IV </td><br /> <td><a href="#danksagungen">Acknowledgments</a></td><br /></tr><br /> <tr><br /><td></td><br /> <td></td><br /></tr><br /> </table><br /> <p><a name="intro"></a><br /><br /><h2>I Introduction/Notes</h2><br /> <p>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).</p><br /> <p>We didn&#8217;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.</p><br /> <p>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 &#8220;compile&#8221;, 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.</p><br /> <p>The section about configuring and setting up the Subversion server might be interesting for you even if you don&#8217;t compile everything from source, though.</p><br /> <p>In case this document actually helps you, we&#8217;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&#8217;re the first one, man! More power to you!)</p><br /> <p>Anyway, have fun (and success) installing Subversion!</p><br /> <p>PS: I guess I have to say this: I am not responsible for any damage that might be caused by following this guide!</p><br /> <p><br /><a name="installation"></a><br /><br /><h2>II Step by Step Installation</h2><br /> <p>1. Create a directory for all the source files that you&#8217;ll have to download and compile in the next steps. I&#8217;ll call this directory /basedir</p><br /> <p>2. Go to <a href="http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260">http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260</a> and download the newest Subversion source tarball (save it in /basedir).</p><br /> <p>3. Open a shell and become the superuser:<br /><br /><code>su -</code></p><br /> <p>4. Go to the basedir and unpack the Subversion source files:<br /><br /><code>gunzip subversion-1.2.3.tar.gz</code><br /><br /><code>tar -xvf subversion-1.2.3.tar</code></p><br /> <p>5. Change into the subversion-1.2.3 subdirectory and run the autogen.sh script:<br /><br /><code>cd subversion-1.2.3</code><br /><br /><code>./autogen.sh</code></p><br /> <p>6. The script checks if all of Subversion&#8217;s dependencies are installed. When the script coughs up this error message:<br /><br /><quote>&#8220;Can&#8217;t locate object method &#8220;path&#8221; via package &#8220;Request&#8221; at</quote><br /><br /><quote>/usr/local/share/autoconf/Autom4te/C4che.pm line 69, &lt;GEN1&gt; chunk 111.&#8221;</quote><br /><br />the directory &#8220;autom4te.cache&#8221; in the subdirectory &#8220;expat&#8221; of Subversion has to be deleted:<br /><br /><code>rm -r /basedir/subversion-1.1.1/apr-util/xml/expat/autom4te.cache</code></p><br /> <p>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&#8217;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.</p><br /> <p>In case the script says that everything&#8217;s fine (autoheader warnings can be ignored) continue with step 7. If the script complains:<br /><br />a. autoconf/autoheader: Continue with <a href="#anhangA">Appendix A</a>.<br /><br />b. libtool: Continue with <a href="#anhangB">Appendix B</a>.<br /><br />c. m4: Continue with <a href="#anhangC">Appendix C</a>.<br /><br />d. Python: For Linux continue with <a href="#anhangD">Appendix D</a>. For Solaris continue with <a href="#anhangE">Appendix E</a>.<br /><br />e. Libxml2: Continue with <a href="#anhangF">Appendix F</a>.<br /><br />f. neon lib: Doesn&#8217;t have to be downloaded because it comes with the Subversion source files.<br /></p><br /> <p>7. Go to <a href="http://www.sleepycat.com/download/index.shtml">http://www.sleepycat.com/download/index.shtml</a><br /><br />and download the newest source tarball of Berkeley DB (either with or without strong cryptography, it doesn&#8217;t matter). Save it in /basedir.</p><br /> <table><br /> <tr><br /><th valign="top">Note:</th><br /> <td style="border:solid lime">Starting at version 1.1.0 Subversion doesn&#8217;t depend on Berkeley DB anymore because it comes with its own database backend called FSFS. I don&#8217;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.<br /></td><br /></tr><br /> </table><br /> <table><br /> <tr><br /><td><br /> <p>8. Don&#8217;t forget to download available patches (I don&#8217;t think there are any for the current version).</p><br /> <p>9. Extract the Berkeley DB source files in the basedir:<br /><br /><code>gunzip db-4.3.29.tar.gz</code><br /><br /><code>tar -xvf db-4.3.29.tar</code></p><br /> <p>10. Copy patches - if there are any - that you have downloaded into the db-4.3.29 directory:<br /><br />(This is just an example, there are not patches for version 4.3.29 of BerkeleyDB, as far as I know):<br /><br /><code>cp patch.4.3.29.1 db-4.3.29</code><br /><br /><code>cp patch.4.3.29.2 db-4.3.29</code></p><br /> <p>11. Change into the db-4.3.29 directory.</p><br /> <p>12. Patch the source files (if patches are available):<br /><br /><code>patch -p0 &lt; patch.4.3.29.1</code><br /><br /><code>patch -p0 &lt; patch.4.3.29.2</code></p><br /> <p>13. Change into the build_unix directory</p><br /> <p>14. Run the configure script:<br /><br /><code>../dist/configure</code><br /><br />Under Solaris you may have to run the script like this:<br /><br /><code>env CC=gcc ../dist/configure</code></p><br /> <p>15. Run make:<br /><br /><code>make</code></p><br /> <p>16. Pass the time with an activity of your choice (flossing, maybe).</p><br /> <p>17. Run make install:<br /><br /><code>make install</code></p><br /> <p>18. Clean up&#8230;:<br /><br /><code>make clean</code></p><br /> <p>19. Make the Berkeley DB libraries known:</p><br /> <table><br /> <tr><br /> <th valign="top">a. Under Linux:</th><br /> <td><br /> <p>1. Change into the /etc directory</p><br /> <p>2. Add the following line to your ld.co.conf file:<br /><br /><code>/usr/local/BerkeleyDB.4.3/lib</code></p><br /> <p>3. Run ldconfig:<br /><br /><code>ldconfig</code></p><br /> </td><br /> </tr><br /> <tr><br /> <th valign="top">b. Under Solaris:</th><br /> <td><br /> <p>1. Set the LD_RUN_PATH:<br /><br /><code>LD_RUN_PATH=/usr/local/BerkeleyDB.4.3/lib</code></p><br /> <p>2. Export the LD_RUN_PATH:<br /><br /><code>export LD_RUN_PATH</code></p><br /> <p>3. Set the LD_LIBRARY_PATH:<br /><br /><code>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/BerkeleyDB.4.3/lib</code></p><br /> <p>4. Export the LD_LIBRARY_PATH:<br /><br /><code>export LD_LIBRARY_PATH</code></p><br /> </td><br /></tr><br /> </table><br /> <p>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:<br /><br /><code>cd /usr/local/lib</code><br /><br /><code>ln -s /usr/local/BerkeleyDB.4.3/lib/libdb-4.3.so libdb-4.3.so</code></p><br /> </td><br /> </tr><br /> </table><br /> <p>20. Go to <a href="http://httpd.apache.org/download.cgi">http://httpd.apache.org/download.cgi</a><br /><br />and download the newest source tarball of the Apache2 httpd server. Save it in /basedir. Sometimes<br /><br />the download fails if you use http. In that case, do this:<br /><br /><code>ftp ftp.uni-erlangen.de<br /><br />cd /pub/mirrors/apache/httpd/<br /><br />ls</code><br /><br />Then find the newest tarball and download it, i.e.:<br /><br /><code>binary<br /><br />mget httpd-2.0.55.tar.gz<br /><br />y<br /><br />bye</code></p><br /> <p>21. Extract the Apache source files in basedir:<br /><br /><code>gunzip httpd-2.0.55.tar.gz<br /><br />tar -xvf httpd-2.0.55.tar</code></p><br /> <p>22. Change into the httpd-2.0.55 directory</p><br /> <p>23. Run buildconf:<br /><br /><code>./buildconf</code><br /><br />autoheader warnings can be ignored.</p><br /> <p>24. Run configure:<br /><br /><code>./configure --enable-dav=shared --with-gdbm=no --enable-deflate=shared --enable-so --with-berkeley-db=/usr/local/BerkeleyDB.4.3 --with-dbm=db4</code></p><br /> <table><br /><tr><br /> <th valign="top">Hint:</th><br /> <td style="border:solid lime">In certain cases it might be necessary to use <code>--enable-dav</code> and<br /><br /><code>--enable-deflate</code> without <code>"=shared"</code>. Or it can help to use <code>--enable-mod_deflate=shared</code> instead of <code>--enable-deflate=shared</code>.</td><br /></tr><br /> <tr><br /></tr><br /></table><br /> <table><br /> <tr><br /><td><br /> <p>25. When configure finished without errors, run make:<br /><br /><code>make</code></p><br /> <p>26. Make coffee&#8230;</p><br /> <p>27. Run make install:<br /><br /><code>make install</code></p><br /> <p>28. Clean up&#8230;:<br /><br /><code>make clean</code></p><br /> <p>29. Change into the /basedir/subversion-1.2.3 directory</p><br /> </td><br /> </tr><br /> </table><br /> <p>30. Run configure:<br /><br /><code>./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</code><br /><br />In case BerkeleyDB.4.3 has been installed in it&#8217;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 <code>"--with-berkeley-db"</code>.<br /><br />Watch out for any messages that say that only a Subversion client can be built. In that case, something went wrong.</p><br /> <table><br /> <tr><br /><th valign="top">Hint:</th><br /> <td style="border:solid lime">If you encounter any problems under Solaris 8/9/10 (which might only occur as late as at the &#8220;make install&#8221; step),<br /><br />it can be helpful to use config.nice instead of the configure script. Sometimes it also helps to reinstall Apache2.</td><br /></tr><br /> </table><br /> <p>31. Run make:</p><br /> <table><br /> <tr><br /><th valign="top">ATTENTION:</th><br /> <td style="border:solid red"> 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:<br /><br /><code>rm -f /usr/local/lib/libsvn*<br /><br />rm -f /usr/local/lib/libneon*</code></td><br /></tr><br /> </table><br /> <p>Now you can run make:<br /><br /><code>make</code><br /></p><br /> <p>32. Maybe the coffee you made in step 26 causes a certain pressure inside of you&#8230;.<br /><br />Now would be the perfect opportunity to get some relief!</p><br /> <p>33. Run make install:<br /><br /><code>make install</code></p><br /> <p>34. Clean up:<br /><br /><code>make clean</code></p><br /> <p>35. Change into the directory /basedir/subversion-1.2.3/tools/xslt</p><br /> <p>36. Copy the contents of the directory into the Apache2 htdocs directory:<br /><br /><code>cp * /usr/local/apache2/htdocs</code></p><br /> <p>37. Create the group &#8220;svn&#8221;:</p><br /> <table><br /><tr><br /> <th valign="top">a. Under Linux:</th><br /> <td><code>groupadd -r svn</code></td><br /></tr><br /> <th valign="top">b. Under Solaris:</th><br /> <td><code>groupadd svn</code></td><br /> </table><br /> <p>38. Create the user &#8220;svn&#8221;:</p><br /> <table><br /><tr><br /> <th valign="top">a. Under Linux:</th><br /> <td><code>useradd -r -g svn svn</code></td><br /></tr><br /> <th valign="top">b. Under Solaris:</th><br /> <td><code>useradd -g svn svn</code></td><br /> </table><br /> <p>39. Set the password for the user &#8220;svn&#8221;:<br /><br /><code>passwd svn</code></p><br /> <p>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:<br /><br /><code>cd /usr/local<br /><br />mkdir svnrepos<br /><br />chown svn:svn svnrepos</code><br /><br /><b style="border:solid red">ATTENTION: THE REPOSITORY MAY NOT RESIDE ON AN NFS DRIVE!</b><br /></p><br /> <p>41. Create the repository as the user &#8220;svn&#8221;:<br /><br /><code>su svn<br /><br />svnadmin create /usr/local/svnrepos</code><br /><br />(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)<br /><br /><code>exit</code></p><br /> <p>42. Set up Apache. Change into the Apache2 conf directory:<br /><br /><code>cd /usr/local/apache2/conf</code></p><br /> <p>43. Fire up your favorite editor and open the httpd.conf file.</p><br /> <p>44. Make sure the file contains the following lines:<br /><br /><code>LoadModule dav_svn_module modules/mod_dav_svn.so<br /><br />LoadModule authz_svn_module modules/mod_authz_svn.so</code><br /><br />There lines have to appear before any other statements that have to do with Subversion!</p><br /> <p>45. Find the line that starts with &#8220;Listen&#8221; and set its value to the port that Apache should listen on, i.e.:<br /><br /><code>Listen 7770</code></p><br /> <p>46. Finde the line that starts with &#8220;#ServerName&#8221; an set it to the name of your server:<br /><br /><code>ServerName subversion.yourdomain.com</code></p><br /> <p>47. Find the area that contains the <code>&lt;Location&gt;</code> directives and add the following text to it (&#8221;/rep&#8221; being a virtual path of your choice under which the repository will be served and &#8220;/usr/local/svnrepos&#8221; being the absolute path of the repository):<br /><br /><code>&lt;Location /rep&gt;<br /><br />&nbsp;&nbsp;DAV svn<br /><br />&nbsp;&nbsp;SVNPath /usr/local/svnrepos<br /><br />&nbsp;&nbsp;SVNIndexXSLT &#8220;/svnindex.xsl&#8221; # (optional, to make it pretty)<br /><br />&nbsp;&nbsp;AuthType Basic<br /><br />&nbsp;&nbsp;AuthName &#8220;Subversion repository&#8221;<br /><br />&nbsp;&nbsp;AuthUserFile /etc/.svn-auth-file<br /><br />&nbsp;&nbsp;Require valid-user<br /><br />&lt;/Location&gt;</code><br /><br />Your repository can be found at http://subversion.yourdomain.com:7770/rep later.</p><br /> <table><br /> <tr><br /> <td><br /> <p>If you plan to host more than one repository under one directory, you can use <code>SVNParentPath</code> instead of <code>SVNPath</code>. SVNParentPath is a normal directory, <b><i>under</i></b> 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&#8217;t have to add another &lt;Location&gt; directive to the httpd.conf file for each new repository. Hence, you also wouldn&#8217;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&#8217;ll get an error message. That means that you always have to specify a repository.</p><br /> </td><br /></tr><br /> </table><br /> <table><br /><tr><br /><th valign="top">ATTENTION:</th><br /> <td style="border:solid red">You have to make sure that the virtual path (in this case /rep) doesn&#8217;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&#8217;ll have a problem: Apache wouldn&#8217;t be able to tell which directive to execute when /www/rep in requested: the directive of DocumentRoot or the one of Subversion?</td><br /></tr><br /> </table><br /> <p>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.</p><br /> <p>48. Save and close the httpd.conf file.</p><br /> <p>49. Create the access control file for the users that should be allowed to use Subversion:<br /><br /><code>htpasswd -cm /etc/.svn-auth-file johannes</code><br /><br />Repeat this with the option <code>-m</code> instead of <code>-cm</code> until all the users are created (replace &#8220;johannes&#8221; with the appropriate usernames, of course)</p><br /> <table><br /><tr><br /><th valign="top">ATTENTION:</th><br /> <td style="border:solid red">It is important to use <code>-m</code> instead of <code>-cm</code> for all following users. Otherwise you&#8217;d overwrite the file each time.</td><br /></tr><br /> </table><br /> <p>50. Change into the /usr/local/ directory</p><br /> <p>51. Make the user &#8220;svn&#8221; the owner of all Apache files and directories:<br /><br /><code>chown -R svn:svn apache2</code></p><br /> <p>52. Become the user svn:<br /><br /><code>su svn</code></p><br /> <p>53. Change into the /usr/local/apache2/bin directory</p><br /> <p>54. Fire up the Apache2 server:<br /><br /><code>./apachectl start</code></p><br /> <p>55. Open a web browser and go to<br /><br /><code>http://subversion.yourdomain.com:7770/rep</code><br /><br />The page should display something like this:<br /><br /><code>Revision 0<br /><br />/</p><br /> <p>Powered by Subversion 1.2.3</code></p><br /> <p>56. The Subversion server is now set up and ready to be used (congratulations)!</p><br /> <p>57. If you encountered any problems or if you know how to do it better, drop me a line at moremagic&lt;N0 5PAM&gt;.dot.gmail.dot.com Thanks.</p><br /><br /> <p><a name="anhaenge"></a><br /><br /><h2>III Appendices</h2><br /> <p><a name="anhangA"></a><br /><br /><h3>APPENDIX A: autoconf Installation</h3><br /> <p>A1. Go to <a href="http://ftp.gnu.org/gnu/autoconf/">http://ftp.gnu.org/gnu/autoconf/</a> and download the newest source tarball of GNU autoconf (save it in /basedir).</p><br /> <p>A2. Extract the autoconf source files in the basedir:<br /><br /><code>gunzip autoconf-2.59.tar.gz<br /><br />tar -xvf autoconf-2.59.tar</code></p><br /> <p>A3. Change into the autoconf-2.59 directory</p><br /> <p>A4. Run the configure script:<br /><br /><code>./configure</code></p><br /> <p>A5. Run make:<br /><br /><code>make</code></p><br /> <p>A6. Run make install:<br /><br /><code>make install</code></p><br /> <p>A7. Clean up&#8230;:<br /><br /><code>make clean</code></p><br /> <p>A8. Done.</p><br /> <p><a name="anhangB"></a><br /><br /><h3>APPENDIX B libtool Installation</h3><br /> <p>B1. Go to <a href="http://ftp.gnu.org/gnu/libtool/">http://ftp.gnu.org/gnu/libtool/</a> and download the newest source tarball of GNU libtool (save it in /basedir).</p><br /> <p>B2. Extract the libtool source files in the basedir:<br /><br /><code>gunzip libtool-1.5.8.tar.gz<br /><br />tar -xvf libtool-1.5.8.tar</code></p><br /> <p>B3. Change into the libtool-1.5.8 directory</p><br /> <p>B4. Run the configure script:<br /><br /><code>./configure</code></p><br /> <p>B5. Run make:<br /><br /><code>make</code></p><br /> <p>B6. Run make install:<br /><br /><code>make install</code></p><br /> <p>B7. Clean up&#8230;:<br /><br /><code>make clean</code></p><br /> <p>B8. Done.</p><br /> <p><a name="anhangC"></a><br /><br /><h3>APPENDIX C m4 Installation</h3><br /> <p>C1. Go to <a href="http://ftp.gnu.org/gnu/m4/">http://ftp.gnu.org/gnu/m4/</a>and download the newest source tarball of GNU m4 (save it in /basedir)&#8230;</p><br /> <p>C2. Extract the m4 source files in the basedir:<br /><br /><code>gunzip m4-1.4.4.tar.gz<br /><br />tar -xvf m4-1.4.4.tar</code></p><br /> <p>C3. Change into the m4-1.4.4 directory</p><br /> <p>C4. Run the configure script:<br /><br /><code>./configure</code></p><br /> <p>C5. Run make:<br /><br /><code>make</code></p><br /> <p>C6. Run make install:<br /><br /><code>make install</code></p><br /> <p>C7. Clean up&#8230;:<br /><br /><code>make clean</code></p><br /> <p>C8. Done.</p><br /> <p><a name="anhangD"></a><br /><br /><h3>APPENDIX D Python Installation under Linux</h3><br /> <p>D1. Gehe zu <a href="http://python.org/ftp/python/2.4.2/">http://python.org/ftp/python/2.4.2/</a> and download the newest source tarball of Python (save it in /basedir)</p><br /> <p>D2. Extract the Python source files in the basedir:<br /><br /><code>bzip2 -d Python-2.4.2.tar.bz2<br /><br />tar -xvf Python-2.4.2.tar</code></p><br /> <p>D3. Change into the Python-2.4.2 directory</p><br /> <p>D4. Run the configure script:<br /><br /><code>./configure</code></p><br /> <p>D5. Run make:<br /><br /><code>make</code></p><br /> <p>D6. Run make install:<br /><br /><code>make install</code></p><br /> <p>D7. Clean up&#8230;:<br /><br /><code>make clean</code></p><br /> <p>D8. Done.</p><br /> <p><a name="anhangE"></a><br /><br /><h3>APPENDIX E Python Installation under Solaris</h3><br /> <p>E1. Download this file: <a href="ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/ftp.sunfreeware.com/sparc/8/python-2.4.2-sol8-sparc-local.gz">ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/ftp.sunfreeware.com/sparc/8/python-2.4.2-sol8-sparc-local.gz</a> (save it in /basedir)</p><br /> <p>E2. Extract the Python binaries for Solaris:<br /><br /><code>gunzip python-2.4.2-sol8-sparc-local.gz</code></p><br /> <p>E3. Install the package:<br /><br /><code>pkgadd -d python-2.4.2-sol8-sparc-local</code><br /><br />Confirm the question with &lt;ENTER&gt; (When an M appears, press &lt;CTRL&gt;+&lt;ENTER&gt;)</p><br /> <p>E4. Test Python:<br /><br /><code>python</code><br /><br />If you get an error message at this point that libstdc++.so.5 can&#8217;t be found, continue with <a href="#anhangG">APPENDIX G</a></p><br /> <p>E5. Done.</p><br /> <p><a name="anhangF"></a><br /><br /><h3>APPENDIX F Libxml2 Installation</h3><br /> <p>F1. Go to <a href="ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/">ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/</a> and download the newest source tarball of libxml2 (save it in /basedir)</p><br /> <p>F2. Extract the libxml2 source files in the basedir:<br /><br /><code>gunzip libxml2-2.6.22.tar.gz<br /><br />tar -xvf libxml2-2.6.22.tar</code></p><br /> <p>F3. Change into the libxml2-2.6.22 directory</p><br /> <p>F4. Run the configure script:<br /><br /><code>./configure</code></p><br /> <p>F5. Run make:<br /><br /><code>make</code></p><br /> <p>F6. Run make install:<br /><br /><code>make install</code></p><br /> <p>F7. Clean up&#8230;:<br /><br /><code>make clean</code></p><br /> <p>F8. Done.</p><br /> <p><a name="anhaengG"></a><br /><br /><h3>APPENDIX G libgcc Installation (Solaris)</h3><br /> <p>G1. Download this file: <a href="ftp://sunfreeware.nl.uu.net/pub/freeware/sparc/8/libgcc-3.4.1-sol8-sparc-local.gz">ftp://sunfreeware.nl.uu.net/pub/freeware/sparc/8/libgcc-3.4.1-sol8-sparc-local.gz</a> (save it in /basedir)</p><br /> <p>G2. Extract the package in the basedir:<br /><br /><code>gunzip libgcc-3.4.1-sol8-sparc-local.gz</code></p><br /> <p>G3. Install the package:<br /><br /><code>pkgadd -d libgcc-3.4.1-sol8-sparc-local</code><br /><br />Confirm the question with &lt;ENTER&gt; (When an M appears, press &lt;CTRL&gt;+&lt;ENTER&gt;)</p><br /> <p>G4. Done.</p><br /> <p><a name="danksagungen"></a><br /><br /><h2>IV Acknowledgments</h2><br /> <p>Thanks to Vasudeva Martin for the helpful additions to step 47.</p><br /> <p>Thanks to Ingo Brenckmann for the BerkeleyDB note at step 7.</p><br /> <p>Thanks to Dominik Fijalkowski for the configure note at step 24.</p><br /> <p>Thanks to Sebastian for the mod_deflate note at step 24.</p><br /> <p>Thanks to Joschka Reuss for the correction of the tar command at step 9.</p>Johannes Fahrenkrughttp://www.blogger.com/profile/06650223978538123548noreply@blogger.comtag:blogger.com,1999:blog-1609926515659123630.post-4174125111398849922006-11-19T04:04:00.000-08:002007-07-17T02:22:04.344-07:00Schritt-fuer-Schritt-Installation von Subversion 1.x Server fuer Linux und Solaris 8/9/10 (Deutsch)<table><br /> <tr><br /><td>Autor</td><br /> <td>Johannes Fahrenkrug</td><br /></tr><br /> <tr><br /><td>Reviewer</td><br /> <td>Joerg Kaminski</td><br /></tr><br /> <tr><br /><td>Kontakt</td><br /> <td>jfahrenkrug&lt;N0 5PAM&gt;.dot.gmail.dot.com</td><br /></tr><br /> <tr><br /><td>Version</td><br /> <td>1.6.5</td><br /></tr><br /> <tr><br /><td>Letzte Aenderung&nbsp;</td><br /> <td>08/10/2005</td><br /></tr><br /> </table><br /> <p></p><br /> <h2>Inhalt</h2><br /> <table><br /> <tr><br /><td>I </td><br /> <td><a href="#vorwort">Vorwort/Anmerkungen</a></td><br /></tr><br /> <tr><br /><td>II </td><br /> <td><a href="#installation">Schritt-fuer-Schritt Installation</a></td><br /></tr><br /> <tr><br /><td>III&nbsp;</td><br /> <td><a href="#anhaenge">Anhaenge</a></td><br /></tr><br /> <tr><br /><td>IV </td><br /> <td><a href="#danksagungen">Danksagungen</a></td><br /></tr><br /> <tr><br /><td></td><br /> <td></td><br /></tr><br /> </table><br /> <p><a name="vorwort"></a><br /><br /><h2>I Vorwort/Anmerkungen</h2><br /> <p>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).</p><br /> <p>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).</p><br /> <p>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 &#8220;kompilieren&#8221; 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.</p><br /> <p>Die Punkte zur Konfiguration koennten jedoch trotzdem fuer dich interessant sein.</p><br /> <p>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.</p><br /> <p>So, jetzt aber viel Spass und Erfolg bei der Installation!</p><br /> <p></p><br /> <p><a name="installation"></a><br /><br /><h2>II Schritt-fuer-Schritt Installation</h2><br /> <p>1. Lege dir irgendwo ein Verzeichnis an, in das du die ganzen zu kompilierenden Sourcen ablegen moechtest. Im Folgenden nenne ich dieses Verzeichnis /basedir</p><br /> <p>2. Gehe zu <a href="http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260">http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260</a> und lade den neusten Source-Tarball von Subversion runter (im /basedir speichern).</p><br /> <p>3. Oeffne eine Konsole und werde zum Superuser:<br /><br /><code>su -</code></p><br /> <p>4. Gehe ins basedir und entpacke die Subversion Sourcen:<br /><br /><code>gunzip subversion-1.1.1.tar.gz</code><br /><br /><code>tar -xvf subversion-1.1.1.tar</code></p><br /> <p>5. Wechsle in das subversion-1.1.1 Unterverzeichnis und fuehre das autogen.sh Skript aus:<br /><br /><code>cd subversion-1.1.1</code><br /><br /><code>./autogen.sh</code></p><br /> <p>6. Das Skript ueberprueft, ob alle Abhaengigkeiten, die Subversion benoetigt, installiert sind. Wenn das Skript folgende Fehlermeldung ausspuckt:<br /><br /><quote>&#8220;Can&#8217;t locate object method &#8220;path&#8221; via package &#8220;Request&#8221; at</quote><br /><br /><quote>/usr/local/share/autoconf/Autom4te/C4che.pm line 69, <gen1> chunk 111.&#8221;</gen1></quote><br /><br />dann muss das Verzeichnis &#8220;autom4te.cache&#8221; im Unterverzeichnis &#8220;expat&#8221; von Subversion geloescht werden:<br /><br /><code>rm -r /basedir/subversion-1.1.1/apr-util/xml/expat/autom4te.cache</code></p><br /> <p>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.</p><br /> <p>Wenn das Skript sagt, dass alles OK ist(autoheader Warnungen koennen ignoriert werden), dann mache mit Schritt 7 weiter, sonst:<br /><br />a. autoconf/autoheader: Weiter im <a href="#anhangA">Anhang A</a>.<br /><br />b. libtool: Weiter im <a href="#anhangB">Anhang B</a>.<br /><br />c. m4: Weiter im <a href="#anhangC">Anhang C</a>.<br /><br />d. Python: Fuer Linux weiter im <a href="#anhangD">Anhang D</a>. Fuer Solaris weiter im <a href="#anhangE">Anhang E</a>.<br /><br />e. Libxml2: Weiter im <a href="#anhangF">Anhang F</a>.<br /><br />f. neon lib: Muss nicht runtergeladen werden, da es Teil der Subversion Sourcen ist.<br /></p><br /> <p>7. Gehe zu <a href="http://www.sleepycat.com/download/index.shtml">http://www.sleepycat.com/download/index.shtml</a> und lade den neusten Source-Tarball der Berkeley-DB runter (egal, ob WITH oder WITHOUT strong cryptography, im /basedir speichern)</p><br /> <table><br /> <tr><br /><th valign="top">Achtung:</th><br /> <td>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.</td><br /></tr><br /> <tr><br /><th valign="top">Hinweis:</th><br /> <td>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.</td><br /></tr><br /> </table><br /> <table><br /><tr><br /><td><br /> <p>8. Vergiss nicht, auch eventuelle Patches runterzuladen.</p><br /> <p>9. Entpacke die Berkeley DB Sourcen im basedir:<br /><br /><code>gunzip db-4.2.52.tar.gz</code><br /><br /><code>tar -xvf db-4.2.52.tar</code></p><br /> <p>10. Kopiere die heruntergeladenen Patches in das db-4.2.52 Verzeichnis:<br /><br /><code>cp patch.4.2.52.1 db-4.2.52</code><br /><br /><code>cp patch.4.2.52.2 db-4.2.52</code></p><br /> <p>11. Wechsle in das db-4.2.52 Verzeichnis.</p><br /> <p>12. Patche die Sourcen:<br /><br /><code>patch -p0 < patch.4.2.52.1</code><br /><br /></code><code>patch -p0 < patch.4.2.52.2</code><br /></code></p><br /> <p>13. Wechsle in das build_unix Verzeichnis</p><br /> <p>14. Fuehre das configure Skript aus:<br /><br /><code>../dist/configure</code><br /><br />Unter Solaris kann es noetig sein, das configure Skript wie folgt auszufuehren:<br /><br /><code>env CC=gcc ../dist/configure</code></p><br /> <p>15. Fuehre make aus:<br /><br /><code>make</code></p><br /> <p>16. Fuehre einen Zeitvertreib deiner Wahl durch.</p><br /> <p>17. Fuehre make install aus:<br /><br /><code>make install</code></p><br /> <p>18. Aufraeumen&#8230;:<br /><br /><code>make clean</code></p><br /> <p>19. BerkeleyDB Libraries bekannt machen:</p><br /> <table><br /> <tr><br /> <th valign="top">a. Unter Linux:</th><br /> <td><br /> <p>1. Wechsle ins /etc Verzeichnis</p><br /> <p>2. Fuege folgende Zeile in die Datei ld.co.conf ein:<br /><br /><code>/usr/local/BerkeleyDB.4.2/lib</code></p><br /> <p>3. Fuehre ldconfig aus:<br /><br /><code>ldconfig</code></p><br /> </td><br /> </tr><br /> <tr><br /> <th valign="top">b. Unter Solaris:</th><br /> <td><br /> <p>1. Setze den LD_RUN_PATH:<br /><br /><code>LD_RUN_PATH=/usr/local/BerkeleyDB.4.2/lib</code></p><br /> <p>2. Exportiere den LD_RUN_PATH:<br /><br /><code>export LD_RUN_PATH</code></p><br /> <p>3. Setze den LD_LIBRARY_PATH:<br /><br /><code>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/BerkeleyDB.4.2/lib</code></p><br /> <p>4. Exportiere den LD_LIBRARY_PATH:<br /><br /><code>export LD_LIBRARY_PATH</code></p><br /> </td><br /></tr><br /> </table><br /> <p>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.:<br /><br /><code>cd /usr/local/lib</code><br /><br /><code>ln -s /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.so libdb-4.2.so</code></p><br /> </td><br /> </tr><br /></table><br /> <p>20. Gehe zu <a href="http://httpd.apache.org/download.cgi">http://httpd.apache.org/download.cgi</a> und lade den neusten Source-Tarball vom Apache2 httpd Server runter (im /basedir speichern). Manchmal bricht der Download ueber http ab, dann folgendes machen:<br /><br /><code>ftp ftp.uni-erlangen.de<br /><br />cd /pub/mirrors/apache/httpd/<br /><br />ls</code><br /><br />Dann gucken, was der aktuellste Tarball ist und den dann runterladen, z.B.:<br /><br /><code>binary<br /><br />mget httpd-2.0.52.tar.gz<br /><br />y<br /><br />bye</code></p><br /> <p>21. Entpacke die Apache Sourcen im basedir:<br /><br /><code>gunzip httpd-2.0.52.tar.gz<br /><br />tar -xvf httpd-2.0.52.tar</code></p><br /> <p>22. Wechsle in das httpd-2.0.52 Verzeichnis</p><br /> <p>23. Fuehre buildconf aus:<br /><br /><code>./buildconf</code><br /><br />autoheader Warnungen koennen ignoriert werden.</p><br /> <p>24. Fuehre configure aus:<br /><br /><code>./configure --enable-dav=shared --with-gdbm=no --enable-deflate=shared --enable-so --with-berkeley-db=/usr/local/BerkeleyDB.4.2 --with-dbm=db4</code></p><br /> <table><br /><tr><br /> <th valign="top">Hinweis:</th><br /> <td>In bestimmten Faellen kann es noetig sein, bei <code>--enable-dav</code> und bei <code>--enable-deflate</code> das <code>"=shared"</code> wegzulassen. Oder es kann helfen, <code>--enable-mod_deflate=shared</code> statt <code>--enable-deflate=shared</code> zu benutzen.</td><br /></tr><br /> <tr><br /></tr><br /></table><br /> </p><br /> <table><br /><tr><br /><td><br /> <p>25. Wenn alles sauber durchgelaufen ist, make ausfuehren:<br /><br /><code>make</code></p><br /> <p>26. Kaffee kochen&#8230;</p><br /> <p>27. Fuehre make install aus:<br /><br /><code>make install</code></p><br /> <p>28. Aufraeumen&#8230;:<br /><br /><code>make clean</code></p><br /> <p>29. Wechsle in das /basedir/subversion-1.1.1 Verzeichnis</p><br /> </td><br /></tr><br /></table><br /> <p>30. Fuehre configure aus:<br /><br /><code>./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</code><br /><br />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 &#8220;&#8211;with-berkeley-db&#8221; kann in diesem Fall weggelassen werden.<br /><br />Darauf achten, dass keine Meldungen kommen, die besagen, dass nur ein Client gebaut werden kann. In dem Fall ist etwas schiefgelaufen.</p><br /> <table><br /> <tr><br /><th valign="top">Hinweis:</th><br /> <td>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).</td><br /></tr><br /> </table><br /> <p>31. Fuehre make aus:</p><br /> <table><br /> <tr><br /><th valign="top">ACHTUNG:</th><br /> <td> 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:<br /><br /><code>rm -f /usr/local/lib/libsvn*<br /><br />rm -f /usr/local/lib/libneon*</code></td><br /></tr><br /> </table><br /> <p>Jetzt kann make ausgefuehrt werden:<br /><br /><code>make</code><br /></p><br /> <p>32. Vielleicht drueckt der unter 26 gekochte - und inzwischen konsumierte - Kaffee jetzt schon ein wenig&#8230;<br /><br />Nun ist die perfekte Gelegenheit, sich Erleichterung zu verschaffen!</p><br /> <p>33. Fuehre make install aus:<br /><br /><code>make install</code></p><br /> <p>34. Aufraeumen:<br /><br /><code>make clean</code></p><br /> <p>35. Wechsle in das Verzeichnis /basedir/subversion-1.1.1/tools/xslt</p><br /> <p>36. Kopiere den Inhalt des Verzeichnisses in das Apache2 htdocs Verzeichnis:<br /><br /><code>cp * /usr/local/apache2/htdocs</code></p><br /> <p>37. svn group anlegen:</p><br /> <table><br /><tr><br /> <th valign="top">a. Unter Linux:</th><br /> <td><code>groupadd -r svn</code></td><br /></tr><br /> <th valign="top">b. Unter Solaris:</th><br /> <td><code>groupadd svn</code></td><br /> </table><br /> <p>38. svn user anlegen:</p><br /> <table><br /><tr><br /> <th valign="top">a. Unter Linux:</th><br /> <td><code>useradd -r -g svn svn</code></td><br /></tr><br /> <th valign="top">b. Unter Solaris:</th><br /> <td><code>seradd -g svn svn</code></td><br /> </table><br /> <p>39. Passwort des Users svn setzen:<br /><br /><code>passwd svn</code></p><br /> <p>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:<br /><br /><code>cd /usr/local<br /><br />mkdir svnrepos<br /><br />chown svn:svn svnrepos</code><br /><br /><b>ACHTUNG: DAS REPOSITORY DARF NICHT AUF EINEM NFS LAUFWERK LIEGEN!</b><br /></p><br /> <p>41. Als User svn das Repository anlegen:<br /><br /><code>su svn<br /><br />svnadmin create /usr/local/svnrepos</code><br /><br />(Wenn er hier einige libs nicht findet, dann wie unter 19b beschrieben den LD_LIBRARY_PATH setzen und nochmal probieren)<br /><br /><code>exit</code></p><br /> <p>42. Apache einrichten. Wechsle in das Apache2 conf Verzeichnis:<br /><br /><code>cd /usr/local/apache2/conf</code></p><br /> <p>43. Oeffne die Datei httpd.conf in deinem Lieblings-Editor.</p><br /> <p>44. Stelle sicher, dass die Datei folgende Zeilen enthaelt:<br /><br /><code>LoadModule dav_svn_module modules/mod_dav_svn.so<br /><br />LoadModule authz_svn_module modules/mod_authz_svn.so</code><br /><br />Diese Anweisungen muessen in der conf Datei vor allen anderen Anweisungen, die mit Subversion zu tun haben, stehen!</p><br /> <p>45. Finde die Zeile, die mit Listen anfaengt und setzte den Wert auf den Port, auf dem Apache lauschen soll (z.B.):<br /><br /><code>Listen 7770</code></p><br /> <p>46. Finde die Zeile, die mit #ServerName anfaengt und setze den Wert auf den Namen des Servers:<br /><br /><code>ServerName subversion.deinedomain.de</code></p><br /> <p>47. Finde den Bereich, in dem die <code>&lt;Location&gt;</code> 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:<br /><br /><code>&lt;Location /rep&gt;<br /><br />&nbsp;&nbsp;DAV svn<br /><br />&nbsp;&nbsp;SVNPath /usr/local/svnrepos<br /><br />&nbsp;&nbsp;SVNIndexXSLT &#8220;/svnindex.xsl&#8221; # (optional, ums huebsch zu machen)<br /><br />&nbsp;&nbsp;AuthType Basic<br /><br />&nbsp;&nbsp;AuthName &#8220;Subversion repository&#8221;<br /><br />&nbsp;&nbsp;AuthUserFile /etc/.svn-auth-file<br /><br />&nbsp;&nbsp;Require valid-user<br /><br />&lt;/Location&gt;</code><br /><br />Man kann damit spaeter ueber http://subversion.deinedomain.de:7770/rep das Repository erreichen.</p><br /> <table><br /> <td><br /> <p>Wenn man plant, unter einem Verzeichnis mehrere Repositories zu verwalten,<br /><br />kann man statt <code>SVNPath SVNParentPath</code> angeben. SVNParentPath ist ein<br /><br />normales Verzeichnis, _unter_ dem beliebig viele Repositories angelegt werden koennen.<br /><br />Das heisst, dass man wie unter Punkt 41 beschrieben Repositories _innerhalb_ des<br /><br />SVNParentPath-Verzeichnisses anlegen muesste. Das hat den Vorteil, dass man fuer<br /><br />ein neues Repository nicht extra die httpd.conf Datei<br /><br />um einen weiteren <location>-Eintrag zu erweitern braucht und deshalb den<br /><br />Apache-Server auch nicht beenden und neu starten muss. Man kann dann zum<br /><br />Beispiel mit http://subversion.deinedomain.de:7770/rep/repos1 und<br /><br />http://subversion.deinedomain.de:7770/rep/repos2 verschiedene Repositories<br /><br />unter dem Parent-Verzeichnis ansprechen. Wenn man SVNParentPath verwendet<br /><br />und nur http://subversion.deinedomain.de:7770/rep anzusprechen versucht,<br /><br />bekommt man eine Fehlermeldung. Man muss also immer ein Repository angeben.</location></p><br /> </td><br /></tr><br /></table><br /> <table><br /><tr><br /><th valign="top">ACHTUNG:</th><br /> <td>Man muss darauf achten, dass der virtuelle Pfad, den man in Location angibt (hier: /rep) sich nicht mit anderen virtuellen<br /><br />Pfaden von Apache beisst. Wenn DocumentRoot z.B. /www ist und man hier im Location Tag /www/rep als virtuellen Subversion Pfad<br /><br />angibt, wird es Probleme geben, da Apache dann nicht weiss, welche Direktive denn bei einer Anfrage auf /www/rep ausgefuehrt werden<br /><br />soll: die von DocumentRoot oder die von Subversion?</td><br /></tr><br /> </table><br /> <p>Die Auth-Direktiven sind zur Zugriffskontrolle notwendig. Der Dateiname in<br /><br />der AuthUserFile Direktive ist frei waehlbar, du musst ihn dir jedoch<br /><br />merken, da wir diese Datei nachher erzeugen und Userdaten in ihr ablegen.</p><br /> <p>48. Speichere und schliesse die Datei httpd.conf</p><br /> <p>49. Lege die Zugriffskontroll-Datei fuer die User an, die Subversion benutzen duerfen sollen:<br /><br /><code>htpasswd -cm /etc/.svn-auth-file johannes</code><br /><br />Wiederhole diesen Vorgang so oft, bis alle User angelegt sind (&#8221;johannes&#8221; natuerlich durch die entsprechenden Usernamen ersetzen)</p><br /> <table><br /><tr><br /><th valign="top">ACHTUNG:</th><br /> <td>Bei weiteren Benutzern nur <code>-m</code> und nicht mehr <code>-cm</code> als Option angeben, da sonst die Datei immer wieder ueberschrieben wird.</td><br /></tr><br /> </table><br /> <p>50. Wechsle in das /usr/local/ Verzeichnis</p><br /> <p>51. Mache den User svn zum Besitzer aller Apache Dateien und Verzeichnisse:<br /><br /><code>chown -R svn:svn apache2</code></p><br /> <p>52. Werde zum User svn:<br /><br /><code>su svn</code></p><br /> <p>53. Wechsle in das /usr/local/apache2/bin Verzeichnis</p><br /> <p>54. Starte den Apache2 Server:<br /><br /><code>./apachectl start</code></p><br /> <p>55. Oeffne einen Browser und gehe zu:<br /><br /><code>http://subversion.deinedomain.de:7770/rep</code><br /><br />Die Seite sollte folgendes anzeigen:<br /><br /><code>Revision 0<br /><br />/</p><br /> <p>Powered by Subversion 1.1.1</code></p><br /> <p>56. Der Subversion Server ist jetzt einsatzbereit! (Herzlichen Glueckwunsch)</p><br /> <p>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&lt;N0 5PAM&gt;.dot.gmail.dot.com Danke.</p><br /> <p><a name="anhaenge"></a><br /><br /><h2>III Anhaenge</h2><br /> <p><a name="anhangA"></a><br /><br /><h3>ANHANG A: autoconf Installation</h3><br /> <p>A1. Gehe zu <a href="http://ftp.gnu.org/gnu/autoconf/">http://ftp.gnu.org/gnu/autoconf/</a> und lade den neusten Source-Tarball von GNU autoconf runter (im /basedir speichern).</p><br /> <p>A2. Entpacke die autoconf Sourcen im basedir:<br /><br /><code>gunzip autoconf-2.59.tar.gz<br /><br />tar -xvf autoconf-2.59.tar</code></p><br /> <p>A3. Wechsle in das autoconf-2.59 Verzeichnis</p><br /> <p>A4. Fuehre das configure Skript aus:<br /><br /><code>./configure</code></p><br /> <p>A5. Fuehre make aus:<br /><br /><code>make</code></p><br /> <p>A6. Fuehre make install aus:<br /><br /><code>make install</code></p><br /> <p>A7. Aufraeumen&#8230;:<br /><br /><code>make clean</code></p><br /> <p>A8. Fertig.</p><br /> <p><a name="anhangB"></a><br /><br /><h3>ANHANG B libtool Installation</h3><br /> <p>B1. Gehe zu <a href="http://ftp.gnu.org/gnu/libtool/">http://ftp.gnu.org/gnu/libtool/</a> und lade den neusten Source-Tarball von GNU libtool runter (im /basedir speichern).</p><br /> <p>B2. Entpacke die libtool Sourcen im basedir:<br /><br /><code>gunzip libtool-1.5.6.tar.gz<br /><br />tar -xvf libtool-1.5.6.tar</code></p><br /> <p>B3. Wechsle in das libtool-1.5.6 Verzeichnis</p><br /> <p>B4. Fuehre das configure Skript aus:<br /><br /><code>./configure</code></p><br /> <p>B5. Fuehre make aus:<br /><br /><code>make</code></p><br /> <p>B6. Fuehre make install aus:<br /><br /><code>make install</code></p><br /> <p>B7. Aufraeumen&#8230;:<br /><br /><code>make clean</code></p><br /> <p>B8. Fertig.</p><br /> <p><a name="anhangC"></a><br /><br /><h3>ANHANG C m4 Installation</h3><br /> <p>C1. Gehe zu <a href="http://ftp.gnu.org/gnu/m4/">http://ftp.gnu.org/gnu/m4/</a> und lade den neusten Source-Tarball von GNU m4 runter (im /basedir speichern)&#8230;</p><br /> <p>C2. Entpacke die m4 Sourcen im basedir:<br /><br /><code>gunzip m4-1.4.1.tar.gz<br /><br />tar -xvf m4-1.4.1.tar</code></p><br /> <p>C3. Wechsle in das m4-1.4.1 Verzeichnis</p><br /> <p>C4. Fuehre das configure Skript aus:<br /><br /><code>./configure</code></p><br /> <p>C5. Fuehre make aus:<br /><br /><code>make</code></p><br /> <p>C6. Fuehre make install aus:<br /><br /><code>make install</code></p><br /> <p>C7. Aufraeumen&#8230;:<br /><br /><code>make clean</code></p><br /> <p>C8. Fertig.</p><br /> <p><a name="anhangD"></a><br /><br /><h3>ANHANG D Python Installation unter Linux</h3><br /> <p>D1. Gehe zu <a href="http://python.org/ftp/python/2.3.3/">http://python.org/ftp/python/2.3.3/</a> und lade den neusten Source-Tarball von Python runter (im /basedir speichern)</p><br /> <p>D2. Entpacke die Python Sourcen im basedir:<br /><br /><code>bzip2 -d Python-2.3.3.tar.bz2<br /><br />tar -xvf Python-2.3.3.tar</code></p><br /> <p>D3. Wechsle in das Python-2.3.3 Verzeichnis</p><br /> <p>D4. Fuehre das configure Skript aus:<br /><br /><code>./configure</code></p><br /> <p>D5. Fuehre make aus:<br /><br /><code>make</code></p><br /> <p>D6. Fuehre make install aus:<br /><br /><code>make install</code></p><br /> <p>D7. Aufraeumen&#8230;:<br /><br /><code>make clean</code></p><br /> <p>D8. Fertig.</p><br /> <p><a name="anhangE"></a><br /><br /><h3>ANHANG E Python Installation unter Solaris</h3><br /> <p>E1. Lade folgende Datei runter: <a href="ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/ftp.sunfreeware.com/sparc/8/python-2.3.3-sol8-sparc-local.gz">ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/ftp.sunfreeware.com/sparc/8/python-2.3.3-sol8-sparc-local.gz</a> (im /basedir speichern)</p><br /> <p>E2. Entpacke die Python Binaries fuer Solaris:<br /><br /><code>gunzip python-2.3.3-sol8-sparc-local.gz</code></p><br /> <p>E3. Installiere das Package:<br /><br /><code>pkgadd -d python-2.3.3-sol8-sparc-local</code><br /><br />Bestaetige die Abfrage mit &lt;ENTER&gt; (Wenn dann ein M erscheint, druecke &lt;STRG&gt;+&lt;ENTER&gt;)</p><br /> <p>E4. Teste Python:<br /><br /><code>python</code><br /><br />Wenn hier eine Fehlermeldung kommt, dass er die libstdc++.so.5 nicht finden kann, dann mache bei <a href="#anhangG">Anhang G</a> weiter.</p><br /> <p>E5. Fertig.</p><br /> <p><a name="anhangF"></a><br /><br /><h3>ANHANG F Libxml2 Installation</h3><br /> <p>F1. Gehe zu <a href="ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/">ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/</a> und lade den neusten Source-Tarball von libxml2 runter (im /basedir speichern)</p><br /> <p>F2. Entpacke die libxml2 Sourcen im basedir:<br /><br /><code>gunzip libxml2-2.6.7.tar.gz<br /><br />tar -xvf libxml2-2.6.7.tar</code></p><br /> <p>F3. Wechsle in das libxml2-2.6.7 Verzeichnis</p><br /> <p>F4. Fuehre das configure Skript aus:<br /><br /><code>./configure</code></p><br /> <p>F5. Fuehre make aus:<br /><br /><code>make</code></p><br /> <p>F6. Fuehre make install aus:<br /><br /><code>make install</code></p><br /> <p>F7. Aufraeumen&#8230;:<br /><br /><code>make clean</code></p><br /> <p>F8. Fertig.</p><br /> <p><a name="anhaengG"></a><br /><br /><h3>ANHANG G libgcc Installation (Solaris)</h3><br /> <p>G1. Gehe zu <a href="ftp://sunfreeware.nl.uu.net/pub/freeware/sparc/8/libgcc-3.3-sol8-sparc-local.gz">ftp://sunfreeware.nl.uu.net/pub/freeware/sparc/8/libgcc-3.3-sol8-sparc-local.gz</a> und lade die Datei runter (im /basedir speichern)</p><br /> <p>G2. Entpacke das Package im basedir:<br /><br /><code>gunzip libgcc-3.3-sol8-sparc-local.gz</code></p><br /> <p>G3. Installiere das Package:<br /><br /><code>pkgadd -d libgcc-3.3-sol8-sparc-local</code><br /><br />Bestaetige die Abfrage mit &lt;ENTER&gt; (Wenn dann ein M erscheint, druecke &lt;STRG&gt;+&lt;ENTER&gt;)</p><br /> <p>G4. Fertig.</p><br /> <p><a name="danksagungen"></a><br /><br /><h2>IV Danksagungen</h2><br /> <p>Vielen Dank an Vasudeva Martin fuer die hilfreichen Ergaenzungen in Punkt 47, die wir gern hinzugefuegt haben!</p><br /> <p>Vielen Dank an Ingo Brenckmann fuer den BerkeleyDB-Hinweis in Punkt 7.</p><br /> <p>Vielen Dank an Dominik Fijalkowski fuer den Configure-Hinweis in Punkt 24.</p><br /> <p>Vielen Dank an Sebastian fuer den mod_deflate Hinweis in Punkt 24.</p><br /> <p>Vielen Dank an Joschka Reuss fuer die Korrektur des tar Befehls in Punkt 9.</p>Johannes Fahrenkrughttp://www.blogger.com/profile/06650223978538123548noreply@blogger.comtag:blogger.com,1999:blog-1609926515659123630.post-69404913119812346422006-11-19T04:02:00.000-08:002007-07-17T02:22:53.803-07:00DB2 Client Installation unter (Gentoo) Linux (Deutsch)<pre><br />Autoren..........: Joerg Kaminski, Johannes Fahrenkrug<br />Kontakt..........: jfahrenkrug<n0 5PAM>.dot.gmail.dot.com<br />Version&#8230;&#8230;&#8230;.: 1.2.5<br />Letzte Aenderung.: 1. November 2005<br /> <br />Inhalt<br />******<br /> I Vorwort/Anmerkungen<br /> II Schritt-fuer-Schritt Installation<br /> III Anhaenge<br /> IV Danksagungen<br /> <br />I Vorwort/Anmerkungen<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br /> <br />Es ist ein Krampf, einen DB2 Client (IBM DB/2) unter Gentoo zu installieren,<br />wenn man nicht weiss, was man beachten muss. So ging es uns. WENN man aber<br />weiss, was man beachten muss, ist es eigentlich ganz einfach. Hier also unsere<br />DB2 Client Installations-Anleitung fuer Gentoo Linux von NULL bis zum ersten<br />SELECT.<br /> <br />Wir haben in dieser Anleitung die Pfadangaben verwendet, die sich auf unseren<br />DB2-Client v. 8.1 beziehen. Solltest du aktuellere Versionen installieren<br />wollen, koennen die Pfade moeglicherweise anders lauten, aber die Installation<br />sollte so oder so aehnlich laufen. <img src='http://iedb.org/blog/wp-images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <br /> <br />Wenn diese Anleitung dich weiterbringt, waeren wir dir sehr dankbar, wenn du<br />deinem Arbeitgeber T-Shirts, Tassen und alles was man sonst noch so umsonst<br />kriegen kann aus den Rippen leiern und uns eine Freude machen wuerdest.<br /> <br />So, jetzt aber viel Spass und Erfolg bei der Installation!<br /> <br />II Schritt-fuer-Schritt Installation<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br /> <br /> 1. Du benoetigst fuer DB2 den Paketmanager RPM (nein, du kommst nicht<br /> drumherum). Solltest du RPM bereits installiert haben, kannst du direkt<br /> zu Schritt 2 gehen. Ansonsten installiere RPM bitte laut den Anweisungen<br /> in Anhang A.<br /> <br /> Alle folgenden Schritte musst du als root ausfuehren.<br /> <br /> 2. Zunaechst musst du die DB2 Installations Dateien von der CD in ein<br /> Verzeichnis auf deinem Rechner kopieren.<br /> Alternativ kannst du auch den neueren Client von der Quelle aus Anhang B<br /> herunterladen. Die folgenden Schritte sollten fuer beide Varianten<br /> funktionieren.<br /> Wir gehen also davon aus, dass du weisst, wie man eine CD mountet. Falls<br /> nicht, kannst du die Installationsanleitung an dieser Stelle verlassen. <img src='http://iedb.org/blog/wp-images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <br /> <br /> 3. Kopiere das Verzeichnis /db2/linux der CD nach /root/db2install<br /> <br /> mkdir /root/db2install<br /> cp -R /mnt/cdrom/db2/linux /root/db2install<br /> <br /> 4. Oeffne die Datei db2_install im Verzeichnis linux mit deinem<br /> Lieblingseditor und finde folgende Zeile:<br /> <br /> rpm -ivh ${INSTDEV?}/${pkg?}${RPMEXTN?} 2>&#038;1 \<br /> <br /> In diese musst du das flag &#8211;nodeps eintragen, damit RPM bei der<br /> Installation von DB2 nicht wegen unerfuellten Abhaengigkeiten jammert (es<br /> erwartet naemlich fuer DB2 eine glibc in der Version 2.2 und merkt nicht,<br /> wenn bereits eine aktuellere installiert ist). Die Zeile sollte nun so<br /> aussehen:<br /> <br /> rpm &#8211;nodeps -ivh ${INSTDEV?}/${pkg?}${RPMEXTN?} 2>&#038;1 \<br /> <br /> 5. Nun kannst du das Script ausfuehren:<br /> <br /> /root/db2install/linux/db2_install<br /> <br /> Sobald die Installation erfolgreich durchgelaufen ist, ist DB2 unter<br /> /opt/IBM/db2/V8.1/ installiert.<br /> <br /> Anmerkung: auf die Erfolgsmeldung am Ende des Installationsprozesses kann<br /> man sich leider nicht verlassen. Du solltest in jedem Fall<br /> pruefen, ob Fehlermeldungen ausgegeben wurden!<br /> <br /> 6. RPM hat die Message-Dateien NICHT automatisch mitinstalliert. Diese sind<br /> jedoch zwingend erforderlich und muessen nun von dir zu Fuss<br /> nachinstalliert werden. Verwende hierzu rpm2targz, um das RPM umzuwandeln:<br /> <br /> rpm2targz IBM_db2msen81-8.1.0-0.i386.rpm<br /> <br /> 7. Entpacke nun die Message-Dateien:<br /> <br /> gunzip IBM_db2msen81-8.1.0-0.i386.tar.gz<br /> tar -xvf IBM_db2msen81-8.1.0-0.i386.tar /<br /> <br /> Der Slash sollte nicht vergessen werden.&#8211;^<br /> <br /> 8. Jetzt sollte das bin-Verzeichnis von DB2 noch in die PATH Variable<br /> aufgenommen werden. Haenge einfach folgende Zeile ans Ende der /etc/profile<br /> an:<br /> <br /> export PATH=&#8221;${PATH}:/opt/IBM/db2/V8.1/bin&#8221;<br /> <br /> 9. Fuehre anschliessend mal wieder<br /> <br /> source /etc/profile<br /> <br /> aus.<br /> <br />10. Wenn du jetzt mal<br /> <br /> which db2<br /> <br /> ausfuehrst, solltest du folgende Ausgabe sehen:<br /> <br /> /opt/IBM/db2/V8.1/bin/db2<br /> <br />11. Als naechstes musst du eine Usergruppe und einen User anlegen:<br /> <br /> groupadd db2iadm1<br /> useradd -m db2inst1 -g db2iadm1<br /> <br /> WICHTIG: Es MUSS eine Gruppe angelegt werden! Die primaere Gruppe des<br /> Benutzers db2inst1 darf nicht users sein.<br /> <br />12. Bevor du die Instanz anlegen kannst, musst du noch ein paar Skripte in<br /> /opt/IBM/db2/V8.1/instance anpassen. Und zwar kann die neuere tail Version<br /> von Gentoo nicht mit der tail Syntax umgehen, die in den Skripten im<br /> instance Verzeichnis benutzt wird.<br /> Finde zunaechst heraus, in welchen Skripten tail verwendet wird. Begib<br /> dich in das /opt/IBM/db2/V8.1/instance Verzeichnis und fuehre folgenden<br /> Befehl aus:<br /> <br /> find . | xargs grep -n tail<br /> <br /> Editiere jetzt die gefundenen Dateien und fuege in jeden tail Aufruf ein<br /> &#8220;-n&#8221; ein. Du aenderst also zum Beispiel ein<br /> <br /> tail -1<br /> <br /> in ein<br /> <br /> tail -n -1<br /> <br />13. Nun musst du eine sogenannte DB2 Instanz einrichten. Was genau das ist?<br /> Keine Ahnung, aber es haengt mit dem User zusammen, den du gerade angelegt<br /> hast. Das Wort Instanz ist sehr klug und aussagekraeftig gewaehlt. <img src='http://iedb.org/blog/wp-images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <br /> <br /> Wechsle in das Verzeichnis /opt/IBM/db2/V8.1/instance und fuehre folgenden<br /> Befehl aus:<br /> <br /> ./db2icrt -a CLIENT -s client db2inst1<br /> <br />14. Im Verzeichnis /opt/IBM/db2/V8.1/cfg findest du die Datei db2profile. Diese<br /> muss nun angepasst werden, damit DB2 weiss, welche Instanz verwendet werden<br /> soll. Finde die Umgebungsvariablen DB2INSTANCE und INSTHOME. Bearbeite sie,<br /> so dass sie folgendermassen aussehen:<br /> <br /> DB2INSTANCE=db2inst1<br /> export DB2INSTANCE<br /> <br /> INSTHOME=/home/db2inst1<br /> <br />15. Jetzt musst du der Maschine noch beibringen, unter welchem Port der DB2<br /> Server laeuft, mit dem du dich verbinden willst. Das koennen natuerlich von<br /> Fall zu Fall unterschiedliche Ports sein, aber bei uns ist es der Port<br /> 3700. Dazu musst du die Datei /etc/services bearbeiten und an passender<br /> Stelle folgende Zeilen einfuegen (nur ein Beispiel, es haengt natuerlich<br /> von deiner Server-Konfiguration ab):<br /> <br /> ibm-db2 523/tcp<br /> ibm-db2 523/udp<br /> <br /> und:<br /> <br /> db2inst1c 3700/tcp<br /> db2inst1i 3701/tcp<br /> <br />16. Als naechstes musst du zu dem User db2inst1 werden:<br /> <br /> su - db2inst1<br /> <br />17. Einen neuen node kannst du zum Beispiel so hinzufuegen:<br /> <br /> db2 catalog tcpip node NODENAME remote SERVERNAME server db2inst1c<br /> <br /> Und eine neue Datenbank kannst du so katalogisieren:<br /> <br /> db2 catalog db DATENBANKNAME at node NODENAME<br /> <br /> Wenn alles geklappt hat und du<br /> <br /> db2 connect to DATENBANKNAME user USERNAME<br /> <br /> und zuguterletzt<br /> <br /> db2 SELECT * FROM IRGENDEINETABELLE<br /> <br /> ausfuehrst, solltest du den Tabelleninhalt sehen koennen.<br /> <br />18. Dein DB2 Client ist jetzt einsatzbereit. Herzlichen Glueckwunsch!<br /> <br />19. Es gibt noch einen praktischen Tipp:<br /> Wenn du allen Usern auf der Maschine ermoeglichen moechtest, DB2 zu benutzen,<br /> dann musst du folgendes tun:<br /> Oeffne die /etc/profile und haenge folgendes ans Ende:<br /> <br /> # The following three lines have been added by UDB DB2.<br /> if [ -f /home/db2inst1/sqllib/db2profile ]; then<br /> . /home/db2inst1/sqllib/db2profile<br /> fi<br /> <br /> Wenn die Verzeichnis-Struktur bei dir anders aussieht musst du das natuerlich<br /> anpassen.<br /> Anschliessend nochmal <br /> <br /> source /etc/profile<br /> <br /> ausfuehren. Dann sollten alle User DB2 nutzen koennen.<br /> <br />20. Wenn du waehrend der Installation auf irgendwelche Probleme gestossen bist,<br /> die hier nicht erwaehnt werden, oder wenn du weisst, wie mans besser machen<br /> kann, dann schick uns bitte eine Email. Danke.<br /> <br />III Anhaenge<br />&#8212;&#8212;&#8212;&#8212;<br /> <br />ANHANG A<br /> RPM Installation<br /> <br /> A1. Um RPM auf deinem Gentoo installieren zu koennen, benoetigst du ein Java<br /> SDK in einer Version KLEINER als 1.5.x (ab 1.5.x ist &#8220;enum&#8221; naemlich ein<br /> Keyword)! Wir haben fuer die Installation das Blackdown JDK in der<br /> Version 1.4.2 verwendet. Wenn du bereits ein SUN JDK 1.5.x installiert<br /> haben solltest, musst du temporaer umschwenken. Wenn nicht, dann sind<br /> fuer dich lediglich die Schritte A5, A6 und A9 in diesem Anhang<br /> interessant.<br /> <br /> A2. In der Datei /etc/profile musst du folgende Zeilen einfuegen:<br /> <br /> export JDK_HOME=&#8217;/opt/blackdown-jdk-1.4.2.01&#8242;<br /> export JAVAC=&#8217;/opt/blackdown-jdk-1.4.2.01/bin/javac&#8217;<br /> export JAVA_HOME=&#8217;/opt/blackdown-jdk-1.4.2.01&#8242;<br /> export PATH=&#8221;/opt/blackdown-jdk-1.4.2.01/bin:/opt/blackdown-jdk-1.4.2.01/jre/bin:${PATH}&#8221;<br /> <br /> A3. Fuehre nun<br /> <br /> source /etc/profile<br /> <br /> als root aus.<br /> <br /> A4. Diese Informationen reichen Gentoo aber leider noch nicht aus. An einigen<br /> Stellen der RPM-Installation wird es trotzdem das SUN JDK verwenden, um<br /> Codeteile zu uebersetzen. Aus diesem Grund musst du einen haesslichen<br /> Hack einsetzen.<br /> <br /> Sichere erst einmal deine original javac binary und lege dann einen<br /> symbolischen Link auf den blackdown compiler an:<br /> <br /> mv /opt/sun-jdk-1.5.0.01/bin/javac /opt/sun-jdk-1.5.0.01/bin/javac_ORIGINAL<br /> ln -s /opt/blackdown-jdk-1.4.2.01/bin/javac /opt/sun-jdk-1.5.0.01/bin/javac<br /> <br /> A5. Und nun darf es mit der RPM-Installation losgehen:<br /> <br /> emerge rpm<br /> <br /> A6. Du kannst jetzt wahlweise deine Lieblings-Ren&#038;Stimpy-Folge schauen oder<br /> auch Kaffee kochen gehen. Aber denk dran, ihn abzuholen, bevor du mit dem<br /> Anhang durch bist, weil du spaeter nicht viel Wartezeit tot zu schlagen<br /> hast.<br /> <br /> A7. Wenn rpm sauber installiert wurde, musst du die Zeilen in /etc/profile<br /> wieder entfernen (oder sie auskommentieren, was dir besser gefaellt)<br /> und<br /> <br /> source /etc/profile<br /> <br /> erneut ausfuehren.<br /> <br /> A8. Anschliessend musst du den zuvor erzeugten Link wieder entfernen:<br /> <br /> rm /opt/sun-jdk-1.5.0.01/bin/javac<br /> <br /> und das Original binary wieder herstellen:<br /> <br /> mv /opt/sun-jdk-1.5.0.01/bin/javac_ORIGINAL /opt/sun-jdk-1.5.0.01/bin/javac<br /> <br /> A9. Nun ist RPM vorhanden, (dein Java ggf. wieder auf dem gewohnten Stand)<br /> und du bist bereit die Installation von DB2 (schnall dich an).<br /> <br />ANHANG B<br /> Development Tools Installation<br /> <br /> B1. Lade dir von<br /> http://www-306.ibm.com/software/data/db2/udb/support/downloadv8.html#LINUX32<br /> oder von<br /> http://www-306.ibm.com/software/data/db2/udb/support/downloadv8.html#LINUX26Kernel32intel<br /> den Fixpack-Client fuer Application Development (App. Dev.) runter.<br /> <br /> B2. Entpacke das Paket mit<br /> tar -xvf FP9_MI00117_ADCL.tar<br /> <br /> B3. Wechsel in das erstellte Verzeichnis adcl/db2/linux26<br /> <br /> B4. Lege dort ein neues Unterverzeichnis an, z.B. dev<br /> <br /> B5. Kopiere alle Dateien, die fuers Application Development noetig sind in<br /> das neue Verzeichnis:<br /> cp *ad* dev<br /> <br /> B6. Wandle die RPMs in TarGz-Dateien um:<br /> rpm2targz *.rpm<br /> <br /> B7. Packe die Archive aus:<br /> find . -name &#8216;*.tar.gz&#8217; -exec tar -xvzf {} \;<br /> <br /> B8. Die Libraries und Include-Dateien kopieren:<br /> cp -R opt /<br /> <br /> B9. Das wars. Die Includes liegen in<br /> /opt/IBM/db2/V8.1/include<br /> und die Libraries liegen in<br /> /opt/IBM/db2/V8.1/lib<br /> <br />IV Danksagungen<br />&#8212;&#8212;&#8212;&#8212;&#8212;-<br /> <br />Vielen Dank an folgende Howtos:<br /> <br /> http://forums.gentoo.org/viewtopic-t-241093-highlight-db2.html<br /> von darktemplaaa.<br /> <br /> http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0409cline2/readme_linux.txt<br /> von IBM.<br /> <br /> http://www.schau.com/pages/db2.html<br /> von Brian.<br /> <br />Vielen Dank an folgende Personen fuer Verbesserungsvorschlaege:<br /> <br /> Meinen Kollegen Dirk Oetken fuer die find Syntax unter Punkt B7<br /></n0></pre>Johannes Fahrenkrughttp://www.blogger.com/profile/06650223978538123548noreply@blogger.com