SourceForge Documentation Project
Maintained by SourceForge Volunteers

Current Document: SourceForge-2.0 Installation Guide

Go to: [SFDocs Home] [SourceForge Project Page] [SourceForge.net]


This is an installation guide for the SourceForge software as found on SourceForge. This is not yet complete but allows to experiment everything not involving DNS, CVS, cvsweb, ftp.

-------------------------------------------------------------------------------
Creating the MySQL database (assuming MySQL version >= 3.22.25)

1) Install MySQL from http://www.mysql.com/

2) Choose a database name (let's say 'sourceforge' for the rest of
   this document).

   mysql -e "create database sourceforge"

3) Create the tables.

   mysql sourceforge < db/SourceForge.sql 

-------------------------------------------------------------------------------
Configuring Apache with SSL (assuming Apache version >= 1.3.9 
                                      openssl version >= 0.9.4
                                      mod_ssl version >= 2.4.10-1.3.9)

The best starting point is http://www.modssl.org/. There is very
little chance that your installed Apache server contains SSL, you'll
have to recompile and reinstall. I highly recommend to install Apache
it in a non-standard place. It won't interfere with your working
Apache, if any. And, more important, the installation process will 
install sample configuration files instead of keeping them in the
source directory because you already have some installed. 

1) Install openssl

2) Configure mod_ssl

3) Install Apache

-------------------------------------------------------------------------------
Configuring Apache with PHP (assuming Apache version >= 1.3.9 and 
                                      php version >=  4.0) 

1) Create a file in the Apache document root named phpinfo.php

   echo '<? phpinfo(); ?>' > .../phpinfo.php 

   Try to load it with your browser using http://localhost/phpinfo.php. 
   If it shows an HTML page you already have php installed.
   If the page shown contains the word MySQL you have php compiled
   with MySQL support. 
   If you see the page and find MySQL in it, you're finished with this
   chapter. Otherwise proceed to the following steps.

2) Make sure php4 is compiled in (note - SourceForge no longer works with php3).
   Try to access http://localhost/server-info and search for php. If
   it's found somewhere in the page, the php module is available. 
   If http://localhost/server-info does not work add the following lines to 
   the access.conf file:

   #
   # Allow remote server configuration reports, with the URL of
   #  http://servername/server-info (requires that mod_info.c be loaded).
   # Change the ".your_domain.com" to match your domain to enable.
   #
   <Location /server-info>
       SetHandler server-info
       Order deny,allow
       Deny from all
       Allow from localhost
   </Location>

   If you did not find php you'll have to recompile it yourself. See
   http://www.php.net/ and remember that you must re-compile php with
   MySQL support.

3) Activate php.

   In order to activate php the following lines must be found in the
   httpd.conf file:

   LoadModule php_module        modules/libphp.so
   AddModule mod_php.c

4) Enable index.php as a directory index in srm.conf. 

   DirectoryIndex index.html index.shtml index.cgi index.php

5) Add .php extension to srm.conf.

   AddType application/x-httpd-php .php
   AddType application/x-httpd-php-source .phps 

6) Try loading http://localhost/phpinfo.php again.

-------------------------------------------------------------------------------
Configuring php and Apache for SourceForge

1) Change the DocumentRoot

   Since some scripts assume that the document root starts at the
   www directory, just say that the document root is this directory.

   In srm.conf

   DocumentRoot /home/loic/local/ports/alexandria/www

   In access.conf substitute/clone the <Directory> block for the
   new document root.

2) Type the URL http://localhost/ in your navigator.

   You should see an error message like this:

   Fatal error: Failed opening required 'pre.php' in /home/httpd/html/sf/index.php on line 9
   meaning that Apache is properly configured as far as php is concerned.

3) Specify the include path.

   You must tell php where the include files are. Add the full path to
   ../alexandria/www/include to the include_path variable of the
   php.ini file. Something like

   include_path = /home/php:/home/loic/local/ports/alexandria/www/include

   Alternatively you can add the following lines in httpd.conf:

   <Directory /> 
   php_value include_path "/usr/local/htdocs/alexandria/www/include:."
   </Directory>

4) Include magic in php.ini.

   magic_quotes_gpc = On ; magic quotes for incoming GET/POST/Cookie data 
   magic_quotes_runtime = Off ; magic quotes for runtime-generated data, e.g. data from SQL, 
   track_vars = On ; enable $HTTP_GET_VARS[], $HTTP_POST_VARS[] and $HTTP_COOKIE_VARS[] arrays 

5) Restart httpd

6) Type the URL http://localhost/ in your navigator. Two things
    may happen at that point:

    a) You're redirected to http://sourceforge.net/ since that's what the library does
       when you're not using localhost in the URL.

    b) You see an error message like this:

       Fatal error: Failed opening required '/etc/SourceForge/local.inc' in database.php on line 11

    In either cases it means that the pre.php file was found and that the include
    path is correct. 

-------------------------------------------------------------------------------
Configuring SourceForge

1) Create the /etc/SourceForge/local.inc depending on supplied
example file. All variable names should be self-explanatory.

2) Look at the home page http://localhost/
   It should display well.

3) Create a user named admin

   This user will automatically be assigned server wide administration permissions.



$Id: Install_Guide.html,v 1.2 2000/10/27 18:44:40 pfalcon Exp $