savannah-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-cvs] administration/docs/hacking_savannah hacking_sa...


From: Sylvain Beucler
Subject: [Savannah-cvs] administration/docs/hacking_savannah hacking_sa...
Date: Sat, 16 Jul 2005 13:31:07 -0400

CVSROOT:        /cvsroot/administration
Module name:    administration
Branch:         
Changes by:     Sylvain Beucler <address@hidden>        05/07/16 17:31:07

Modified files:
        docs/hacking_savannah: hacking_savannah.texi 

Log message:
        Some revisions, mainly in the test install instructions

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/administration/administration/docs/hacking_savannah/hacking_savannah.texi.diff?tr1=1.109&tr2=1.110&r1=text&r2=text

Patches:
Index: administration/docs/hacking_savannah/hacking_savannah.texi
diff -u administration/docs/hacking_savannah/hacking_savannah.texi:1.109 
administration/docs/hacking_savannah/hacking_savannah.texi:1.110
--- administration/docs/hacking_savannah/hacking_savannah.texi:1.109    Thu Jun 
 9 18:12:41 2005
+++ administration/docs/hacking_savannah/hacking_savannah.texi  Sat Jul 16 
17:31:06 2005
@@ -1,5 +1,5 @@
 \input texinfo   @c -*-texinfo-*-
address@hidden $Id: hacking_savannah.texi,v 1.109 2005/06/09 18:12:41 Beuc Exp $
address@hidden $Id: hacking_savannah.texi,v 1.110 2005/07/16 17:31:06 Beuc Exp $
 @comment %**start of header
 @setfilename hacking_savannah.info
 @include version.texi
@@ -59,6 +59,7 @@
 * Introduction::                About this manual.
 * Team work::                   
 * Savannah configuration::      Savannah configuration in-depth description.
+* Alternate Savannah Installation::  
 * Using MySQL::                 
 * Mailing lists administration::  
 * Some Savannah tasks::         Frequent administration tasks.
@@ -352,20 +353,19 @@
 Savannah works inside, and troubleshot some support requests.
 
 
address@hidden Savannah configuration, Using MySQL, Team work, Top
address@hidden Savannah configuration, Alternate Savannah Installation, Team 
work, Top
 @chapter Savannah configuration
 
 This chapter will present how Savannah is set up. Informations on how
-to reproduce this configuration on a local computer will be provided.
+to reproduce this configuration on a local computer will be
+provided. Savannah hackers should setup a test install following these
+steps.
 
 It is still incomplete.
 
-Basically, it describes how I made [am making] a Savannah test install
-on my faithful PI-133.
-
-The PI-133 reference, besides doing homage to my computer from fall
-1996, shows that you can use any old machine to make your test
-installation.
+Any old computer can be used for the test install. However, plan some
+RAM and some disk space when you start using the Savannah database
+(with the 30000 users and 2000 projects).
 
 This chapter provides as much information as possible on the way
 Savannah currently is; it does not document the way it @emph{should
@@ -373,7 +373,6 @@
 
 
 @menu
-* Some misc technical information::  
 * Old documentation::           
 * System base::                 
 * WWW root directory::          
@@ -391,18 +390,7 @@
 @end menu
 
 
address@hidden Some misc technical information, Old documentation, Savannah 
configuration, Savannah configuration
address@hidden Some misc technical information
-
-CVS repositories are located at @file{/savannah/cvsroot}.
-
-Apache's DocumentRoot is @file{/savannah/frontend/php}.
-
-E-mails sent from Savannah are sent using @command{exim}.
-Log is @file{/var/log/exim/main/log}.
-
-
address@hidden Old documentation, System base, Some misc technical information, 
Savannah configuration
address@hidden Old documentation, System base, Savannah configuration, Savannah 
configuration
 @section Old documentation
 
 I came across some documentation of a 2 years-old Savannah setup, which may 
@@ -415,14 +403,25 @@
 @section System base
 
 The current Savannah machine runs under Debian stable. Well, mostly;
-we use some non-stable pieces of software, such as Mailman, the Linux
-kernel, and of course, Savane.
+we use some non-stable pieces of software, such as Mailman (at
+lists.gnu.org though, a Fedora Core 2), the Linux kernel, and of
+course, Savane.
 
 First, install Debian woody v3.0r1 CD1, as well as the security updates.
+
+Alternatively you can consider placing the test install in an
+alternate root using debootstrap:
address@hidden
+mkdir /savannah-test-install/
+debootstrap woody /savannah-test-install/
+chroot /savannah-test-install bash --login
address@hidden example
+
+
 Make sure your /etc/apt/sources.list contains a debian mirrror:
 @example
 @dots{}
-deb http://security.debian.org/ stable/updates main
+deb http://security.debian.org/ woody/updates main
 deb http://ftp.fr.debian.org/debian woody main
 deb-src http://ftp.fr.debian.org/debian woody main
 @dots{}
@@ -430,37 +429,23 @@
 
 Then update your system:
 @example
-$ apt-get update
-$ apt-get upgrade
+aptitude update
+aptitude upgrade
 @end example
 
 and install some additional basic software packages:
 @example
-$ apt-get install wget
-$ apt-get install rsync
+aptitude install wget
+aptitude install rsync
 @dots{}
 @end example
 
 A savane user said he had to install these for Debian sarge:
address@hidden @bullet
address@hidden apache
address@hidden php4
address@hidden php4-mysql
address@hidden libapache-mod-php4
address@hidden mysql-server-4.1
address@hidden gettext
address@hidden coreutils
address@hidden shellutils
address@hidden texinfo
address@hidden make
address@hidden textutils
address@hidden automake
address@hidden autoconf
address@hidden perl
address@hidden libmailtools-perl
address@hidden libdbi-perl
address@hidden lidbdb-mysql-perl
address@hidden itemize
address@hidden
+aptitude install apache php4 php4-mysql libapache-mod-php4 \
+  mysql-server-4.1 gettext coreutils shellutils texinfo make textutils \
+  automake autoconf perl libmailtools-perl libdbi-perl lidbdb-mysql-perl
address@hidden example
 
 
 @node WWW root directory, Apache, System base, Savannah configuration
@@ -473,40 +458,42 @@
 
 Let's create the new root:
 @example
-$ mkdir -m 755 /savannah
-$ cd /savannah
-$ mkdir -m 755 dev && mknod -m 666 dev/null c 1 3
+mkdir -m 755 /savannah
+cd /savannah
+mkdir -m 755 dev && mknod -m 666 dev/null c 1 3
 @end example
 
 and configure the network:
 @example
-$ mkdir -m 755 etc
-$ cp /etc/resolv.conf etc
-$ cp /etc/services etc # ?
+mkdir -m 755 etc
+cp /etc/resolv.conf etc
+cp /etc/services etc # ?
 @end example
 
-[TODO: this network configuration seems not to work, fix it]
+[TODO: this network configuration seems not to work, fix it. But it
+seems it's due to our home-build PHP rather than the network
+configuration.]
 
 
 @node Apache, MySQL, WWW root directory, Savannah configuration
 @section Apache
 
- Install some Apache 1 and PHP modules:
+Install some Apache 1 and PHP modules:
 @example
-$ apt-get install libapache-mod-ssl # (not apache-ssl)
-$ apt-get install php4-mysql
+aptitude install libapache-mod-ssl # (not apache-ssl)
+aptitude install php4-mysql
 @end example
 
 Also install mod_security:
 @example
-$ apt-get install apache-dev # (apxs)
-$ wget http://www.modsecurity.org/download/mod_security-1.8.4.tar.gz
-$ tar xzf mod_security-1.8.4.tar.gz
-$ cd mod_security-1.8.4/apache1
-$ apxs -cia mod_security.c
+aptitude install apache-dev # (apxs)
+wget http://www.modsecurity.org/download/modsecurity-1.8.7.tar.gz
+tar xzf modsecurity-1.8.7.tar.gz
+cd modsecurity-1.8.7/apache1
+apxs -cia mod_security.c
 
 # mod_security wants to create a lock file in <ServerRoot>/logs:
-$ mkdir /etc/apache/logs
+mkdir /etc/apache/logs
 @end example
 
 The magic configure line in @file{httpd.conf} will be:
@@ -517,21 +504,21 @@
 [TODO: add how to get it from debian testing or unstable
 (libapache-mod-security)]
 
-Generate SSL keys (cheap solution):
+Generate SSL keys.
+
+Cheap solution:
 @example
-$ cd /etc/apache/ssl.crt
-$ ln -s snakeoil-dsa.crt savannah_gnu.crt
-$ ln -s snakeoil-dsa.crt savannah_nongnu.crt
-$ cd /etc/apache/ssl.key
-$ ln -s snakeoil-dsa.key savannah_nongnu.key
-$ ln -s snakeoil-dsa.key savannah_gnu.key
+cd /etc/apache/ssl.crt
+ln -s snakeoil-dsa.crt savannah_gnu.crt
+ln -s snakeoil-dsa.crt savannah_nongnu.crt
+cd /etc/apache/ssl.key
+ln -s snakeoil-dsa.key savannah_nongnu.key
+ln -s snakeoil-dsa.key savannah_gnu.key
 @end example
 
-[TODO: add here how to create custom SSL keys]
-
-Draft:
+Clean solution:
 
-Ok, let's first point you to two interesting HOWTOs on the subject:
+Let's first point you to two interesting HOWTOs on the subject:
 @itemize
 @item
 @url{http://tldp.org/HOWTO/SSL-Certificates-HOWTO/index.html}
@@ -694,12 +681,12 @@
 
 Install MySQL:
 @example
-$ apt-get install mysql-server
+aptitude install mysql-server
 @end example
 
 Add a root password:
 @example
-$ mysqladmin -u root password 'rootpass'
+mysqladmin -u root password 'rootpass'
 @end example
 
 Add an account for Savane:
@@ -735,8 +722,8 @@
 
 Last, create the MySQL directory in Savane's root directory:
 @example
-$ mkdir -m 755 /savannah/mysqld
-$ chown mysql /savannah/mysqld
+mkdir -m 755 /savannah/mysqld
+chown mysql /savannah/mysqld
 @end example
 
 For convenience, you can create a @file{~/.my.cnf} file where you can store
@@ -763,8 +750,8 @@
 
 @example
 cd ~
-apt-get build-dep ssmtp
-apt-get -b source ssmtp
+aptitude build-dep ssmtp
+aptitude -b source ssmtp
 cd ssmtp-*
 cc -static -o ssmtp main.o header.o rcpt.o from.o net.o log.o options.o \
    util.o arpadate.o base64.o -lnsl
@@ -806,16 +793,16 @@
 already. There is a new dependency in the backend, though:
 
 @example
-$ apt-get install libmailtools-perl
+aptitude install libmailtools-perl
 @end example
 
 
 Get Savane and install it without configuration:
 @example
-$ cd /usr/src
-$ cvs -d:pserver:anonymous@@cvs.gna.org:/cvs/savane co savane
-$ cd savane
-$ ./configure
address@hidden /usr/src}
address@hidden -d:pserver:anonymous@@cvs.gna.org:/cvs/savane co savane}
address@hidden savane}
address@hidden/configure}
 Do you want the configuration file configuration process to be interactive?
 ex: yes
 ex: no
@@ -830,7 +817,7 @@
 Choose one of the following.
 ex: /etc/savannah
 (Note that the bakend currently looks always in /etc/savannah)
-[/etc/savannah]: @strong{savannah} # defaults to savane (bug)
+[/etc/savannah]: @kbd{savannah} # defaults to savane (bug)
 
 Where should we install binaries and scripts?
 ex: /usr/bin
@@ -856,9 +843,9 @@
 options: 
 
 # [TODO: Mailman]
-$ make
-$ make database
-$ make conf
+make
+make database
+make conf
         ***** /etc/savannah/savannah.conf.pl (re)creation ******
  
 If you want a value to be commented out, type "OUT"
@@ -870,7 +857,7 @@
 (It must be the naked form of the domain)
 Ex: savannah.gnu.org
  
-[dr]: @strong{savannah.gnu} # savannah.gnu.org at Savannah
+[dr]: @kbd{savannah.gnu} # savannah.gnu.org at Savannah
  
  
  
@@ -878,7 +865,7 @@
 (It must be the naked form of the domain. If you do not have https server, 
comment out)
 Ex: savannah.gnu.org, $sys_default_domain
  
-[OUT]: @strong{$sys_default_domain}
+[OUT]: @kbd{$sys_default_domain}
  
  
  
@@ -894,7 +881,7 @@
 (You can run Savannah with two different domain names. You'll be able to write 
a different configuration for each one. The two brother/companion sites will 
share the same database. /etc/savannah/local.inc.pl is far more important since 
the default access to the database is done using this one. Here you can let 
your savannah installation aware of the existence of a brother/companion site, 
so while people login, it will be allowed to them to login on both site in one 
click. If you do not have brother/companion site, comment out. If you do not 
understand what is it about, you probably do not need that feature, comment 
out.)
 Ex: savannah.nongnu.org
  
-[OUT]: @strong{savannah.nongnu} # savannah.nongnu.org at Savannah
+[OUT]: @kbd{savannah.nongnu} # savannah.nongnu.org at Savannah
  
  
  
@@ -902,7 +889,7 @@
 (--)
 Ex: localhost
  
-[OUT]: @strong{localhost}
+[OUT]: @kbd{localhost}
  
  
  
@@ -910,7 +897,7 @@
 (--)
 Ex: savannah
  
-[OUT]: @strong{savannah}
+[OUT]: @kbd{savannah}
  
  
  
@@ -918,7 +905,7 @@
 (--)
 Ex: mysqluser
  
-[OUT]: @strong{savannahscripts}
+[OUT]: @kbd{savannahscripts}
  
  
  
@@ -926,7 +913,7 @@
 (--)
 Ex: mysqlpasswd
  
-[OUT]: @strong{yourpass}
+[OUT]: @kbd{yourpass}
  
  
  
@@ -934,7 +921,7 @@
 (IT MUST BE AN ABSOLUTE PATH NAME)
 Ex: /usr/local/sv/src/savannah
  
-[/usr/src/savane]: @strong{/} # in the Apache root
+[/usr/src/savane]: @kbd{/} # in the Apache root
  
  
  
@@ -950,7 +937,7 @@
 (--)
 Ex: /etc/savannah/savannah-content
  
-[$sys_topdir/etc/site-specific-content]: @strong{/etc/gnu-content}
+[$sys_topdir/etc/site-specific-content]: @kbd{/etc/gnu-content}
  
  
  
@@ -958,7 +945,7 @@
 (Local dir where dumps will be stored etc)
 Ex: /subversions/sv
  
-[OUT]: @strong{/var/run/savane}
+[OUT]: @kbd{/var/run/savane}
  
  
  
@@ -966,7 +953,7 @@
 (Name shown on public pages for the whole service)
 Ex: Savannah
  
-[OUT]: @strong{Savannah}
+[OUT]: @kbd{Savannah}
  
  
  
@@ -974,7 +961,7 @@
 (Unix group name of the meta-project used for administration. Take care to 
avoid conflicts with group name existing on your system, take care to select a 
valid unix group name: no checks will be done for this project unix group name.)
 Ex: savannah
  
-[OUT]: @strong{administration}
+[OUT]: @kbd{administration}
  
  
  
@@ -998,7 +985,7 @@
 (--)
 Ex: savannah
  
-[OUT]: @strong{savannah}
+[OUT]: @kbd{savannah}
  
  
  
@@ -1006,7 +993,7 @@
 (The engine will search for a file like 
savannah/frontend/php/images/$theme.theme/$sys_logo_name. If you do not want 
any logo, comment out)
 Ex: floating.png
  
-[OUT]: @strong{floating.png}
+[OUT]: @kbd{floating.png}
  
  
  
@@ -1014,7 +1001,7 @@
 (--)
 Ex: gnu.org, $sys_default_domain
  
-[OUT]: @strong{localhost} # gnu.org at Savannah
+[OUT]: @kbd{localhost} # gnu.org at Savannah
  
  
  
@@ -1022,7 +1009,7 @@
 (The mail domain we'll be added to this username)
 Ex: savannah-hackers
  
-[OUT]: @strong{savannah-reports}
+[OUT]: @kbd{savannah-reports}
  
  
  
@@ -1030,7 +1017,7 @@
 (--)
 Ex: noreply
  
-[OUT]: @strong{savannah-hackers}
+[OUT]: @kbd{savannah-hackers}
  
  
  
@@ -1054,7 +1041,7 @@
 (AFS, Kerberos (...) authentication can be made via PAM)
 Ex: no
  
-[OUT]: @strong{no}
+[OUT]: @kbd{no}
  
  
  
@@ -1062,7 +1049,7 @@
 (If you do not know what it is about, you surely don't have to deal with a 
kerberos server, say no here.)
 Ex: no
  
-[OUT]: @strong{no}
+[OUT]: @kbd{no}
  
  
  
@@ -1070,7 +1057,7 @@
 (Usually /home. You can uncomment if you do not plan to provide accounts)
 Ex: /home
  
-[OUT]: @strong{/home}
+[OUT]: @kbd{/home}
  
  
  
@@ -1078,7 +1065,7 @@
 (Users home is by default /home/user. If you set this to 1, you'll get 
/home/u/user, and if you set it to 2, you'll get /home/u/us/user. It may be 
very convenient if you have plenty of users.)
 Ex: 2
  
-[OUT]: @strong{2}
+[OUT]: @kbd{2}
  
  
  
@@ -1086,7 +1073,7 @@
 (cvssh is a limited shell, choose /bin/bash if you want to provide full access 
to your users)
 Ex: /usr/local/bin/cvssh
  
-[OUT]: @strong{/usr/local/bin/cvssh}
+[OUT]: @kbd{/usr/local/bin/cvssh}
  
  
  
@@ -1102,7 +1089,7 @@
 (If you do not want your system to be synchronized with database automatically 
regarding to users infos (/home/, /etc/passwd)), comment out)
 Ex: yes
  
-[OUT]: @strong{yes}
+[OUT]: @kbd{yes}
  
  
  
@@ -1110,7 +1097,7 @@
 (If you do not want your system to be synchronized with database automatically 
regarding to groups infos (/etc/group), comment out)
 Ex: yes
  
-[OUT]: @strong{yes}
+[OUT]: @kbd{yes}
  
  
  
@@ -1118,7 +1105,7 @@
 (If you do not want your system to be synchronized with database automatically 
regarding to viewcvs forbidden list, comment out)
 Ex: yes
  
-[OUT]: @strong{yes}
+[OUT]: @kbd{yes}
  
  
  
@@ -1126,7 +1113,7 @@
 (If you do not want your system to be synchronized with database automatically 
regarding to mail infos (/etc/aliases...), comment out)
 Ex: yes
  
-[OUT]: @strong{yes}
+[OUT]: @kbd{yes}
  
  
  
@@ -1134,7 +1121,7 @@
 (If you do not want your system to be synchronized with database automatically 
regarding to mailman list (it assume you have mailman installed on this 
system), comment out)
 Ex: yes
  
-[OUT]: @strong{yes}
+[OUT]: @kbd{yes}
  
  
  
@@ -1142,7 +1129,7 @@
 (A special backend script will clean regularly the database. If you do not 
want that cleaning to be done, comment out. It is recommended to use it, even 
if your installation use no other backend tool)
 Ex: yes
  
-[OUT]: @strong{yes}
+[OUT]: @kbd{yes}
  
  
  
@@ -1150,7 +1137,7 @@
 (A special backend script will check regularly the database and send email to 
users in defined cases. An user can decide to receive regularly task assigned 
to him in a batch ; a project administrator can decide to make people that got 
item with high priority not closed receiving a batch. Also, when an item is 
supposed to start of to finish, a reminder should be sent to anybody supposed 
to get notification for the item)
 Ex: yes
  
-[OUT]: @strong{yes}
+[OUT]: @kbd{yes}
  
  
  
@@ -1158,7 +1145,7 @@
 (Path to the viewcvs conffile. If you do not use viewcvs or if you do not want 
the fordibben setting of this configuration file to be edit by Savannah, 
comment out)
 Ex: /etc/viewcvs/viewcvs.conf
  
-[OUT]: @strong{/savannah/etc/viewcvs/viewcvs.conf}
+[OUT]: @kbd{/savannah/etc/viewcvs/viewcvs.conf}
  
  
  
@@ -1604,8 +1591,8 @@
 So:
 @example
 cd /usr/src
-apt-get build-dep passwd
-apt-get source passwd
+aptitude build-dep passwd
+aptitude source passwd
 cd shadow-20000902
 tar xzf shadow-20000902.tar.gz
 patch -p0 < ~/shadow.patch1
@@ -1671,7 +1658,40 @@
 # edit sv_users and replace mkdir($home) by 'mkdir -p $home`
 
 
address@hidden Using MySQL, Mailing lists administration, Savannah 
configuration, Top
address@hidden Alternate Savannah Installation, Using MySQL, Savannah 
configuration, Top
address@hidden Alternate Savannah Installation
+
+In this chapter, we will describe a new way to setup Savannah. This
+should set the bases for the future setups.
+
address@hidden Frontend subsystem
+
+
address@hidden
+* CVS subsystem::               
address@hidden menu
+
address@hidden CVS subsystem,  , Alternate Savannah Installation, Alternate 
Savannah Installation
address@hidden CVS subsystem
+
address@hidden
address@hidden
+CVS
address@hidden
address@hidden
+pserver for anonymous, anonymous SSH for compatibility
address@hidden
+use debian /var/lib/cvs stuff
address@hidden itemize
address@hidden
+ViewCVS: debian package. We could serve it using mod_python, and add 
LDAP-based authentication for private projects.
address@hidden itemize
+
address@hidden download subsystem
address@hidden arch subsystem
+
+
address@hidden Using MySQL, Mailing lists administration, Alternate Savannah 
Installation, Top
 @chapter Using MySQL
 
 This chapter is about MySQL: its configuration, and how to perform
@@ -2238,10 +2258,10 @@
 not Debian stable's. It among other handles mail duplicates (eg
 To:listname+Cc:you while you are a list member - what a relief!).
 
-So we won't go through the usual @command{apt-get} way, but I'll
+So we won't go through the usual @command{aptitude} way, but I'll
 document it in a first step, so as to get acquainted with Mailman.
 
-So first, @code{apt-get install mailman}.
+So first, @code{aptitude install mailman}.
 
 The mailman Apache configuration is automatically done. Check
 @url{http://localhost/cgi-bin/mailman/listinfo}. We'll customize it a bit 
anyway:




reply via email to

[Prev in Thread] Current Thread [Next in Thread]