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: Sun, 22 Aug 2004 06:22:37 -0400

CVSROOT:        /cvsroot/administration
Module name:    administration
Branch:         
Changes by:     Sylvain Beucler <address@hidden>        04/08/22 10:02:36

Modified files:
        docs/hacking_savannah: hacking_savannah.texi 

Log message:
        Clean-up the test install chapter (mostly Texinfo formatting for now)

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

Patches:
Index: administration/docs/hacking_savannah/hacking_savannah.texi
diff -u administration/docs/hacking_savannah/hacking_savannah.texi:1.31 
administration/docs/hacking_savannah/hacking_savannah.texi:1.32
--- administration/docs/hacking_savannah/hacking_savannah.texi:1.31     Mon Aug 
16 21:20:52 2004
+++ administration/docs/hacking_savannah/hacking_savannah.texi  Sun Aug 22 
10:02:35 2004
@@ -1,5 +1,5 @@
 \input texinfo   @c -*-texinfo-*-
address@hidden $Id: hacking_savannah.texi,v 1.31 2004/08/16 21:20:52 Beuc Exp $
address@hidden $Id: hacking_savannah.texi,v 1.32 2004/08/22 10:02:35 Beuc Exp $
 @comment %**start of header
 @setfilename hacking_savannah.info
 @include version.texi
@@ -9,7 +9,7 @@
 @copying
 This manual (version @value{VERSION}, edition @value{EDITION},
 @value{UPDATED}) is about Savannah.gnu.org, a place where GNU lives.
-
address@hidden by lexical order so as to avoid wars
 @indent Copyright @copyright{} 2004 Sylvain address@hidden
 @indent Copyright @copyright{} 2004 Michael address@hidden
 @indent Copyright @copyright{} 2004 Rudy address@hidden
@@ -39,11 +39,10 @@
 @titlepage
 @title Hacking Savannah.gnu.org
 @subtitle for version @value{VERSION}, @value{UPDATED}
address@hidden The Savannah Hackers (@email{savannah-hackers@@gnu.org}):
address@hidden by lexical order so as to avoid wars
address@hidden @bullet{} The Savannah Hackers 
(@email{savannah-hackers@@gnu.org})
address@hidden & The Gna! Staff (@email{project@@gna.org}):
 @author Sylvain Beucler           (@email{beuc@@gnu.org})
 @author Michael Flickinger (@email{mjflick@@gnu.org})
address@hidden Rudy    Gevaert    (@email{rudy@@gnu.org})
 @author Elfyn   McBratney  (@email{beu@@gnu.org})
 @author Mathieu Roy        (@email{yeupou@@gnu.org})
 @page
@@ -64,13 +63,14 @@
 * Introduction::                About this manual.
 * Communication::               Getting in sync with the Savannah Team.
 * Savannah configuration::      Savannah configuration in-depth description.
-* MySQL::                       Basic tips on using MySQL.
+* Using MySQL::                 
 * Mailman Administration::      Mailman command line tips.
 * Some Savannah tasks::         Frequent administration tasks.
 * Frequent support requests::   How to answer common support requests.
 * Some quirks::                 To clear up sooner or later.
 * Projects approval::           Savannah policies and HOWTO.
 * Terminology::                 Precise wording.
+* Acknowledgements::            
 * Copying This Manual::         The GNU Free Documentation License.
 * Indices::                     A menu covering many topics.
 @end menu
@@ -207,19 +207,17 @@
 
 This sends a message to Paul Fisher (@email{rao@@gnu.org}) and James
 E. Blair (@email{corvus@@gnu.org}), who are employees of the FSF
-working as Sysadmins. It is managed via RT (Request Tracker).
+working as system administrators. It is managed via RT (Request
+Tracker).
 
 Sysadmins are well known for not being consistent in e-mail exchanges,
-hence the following policy:
+hence the following suggestion from RMS:
 
 @quotation
 When you report a problem to the sysadmins, give them two days to
 respond to you.  If they don't answer escalate to bkuhn@@gnu.org.  If
 he doesn't respond (and makes sure they respond) escalate to RMS.
-
-RMS told me to take it this way.  I suggest you do it too.
 @end quotation
-says Rudy.
 
 Also, they often reply directly to you, ignoring any people in Cc:. If
 it is the case, do not forget to forward their reply to
@@ -242,7 +240,7 @@
 all important, policy-related and administrative decisions are made.
 
 
address@hidden Savannah configuration, MySQL, Communication, Top
address@hidden Savannah configuration, Using MySQL, Communication, Top
 @chapter Savannah configuration
 
 This chapter will present how Savannah is set up. Informations on how
@@ -250,178 +248,249 @@
 
 It is still incomplete.
 
address@hidden
-* Some technical information::  
-* Here is how I made [am making] a Savannah test install on my faithful 
PI-133::  
-* Old documentation::           
address@hidden menu
-
address@hidden Some technical information, Here is how I made [am making] a 
Savannah test install on my faithful PI-133, Savannah configuration, Savannah 
configuration
address@hidden Some technical information
-
-CVS repositories are located at /savannah/cvsroot.
-
-Apache's DocumentRoot is /savannah/frontend/php
-
-E-mails sent from Savannah are sent using exim.
-Log is /var/log/exim/main/log
-
-
address@hidden Here is how I made [am making] a Savannah test install on my 
faithful PI-133, Old documentation, Some technical information, Savannah 
configuration
address@hidden Here is how I made [am making] a Savannah test install on my 
faithful PI-133
+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.
 
-This section provides as much information as possible on the way
+This chapter provides as much information as possible on the way
 Savannah currently is. It does not document the way it @emph{should
 be}, so feel free to make suggestions.
 
+
 @menu
+* Some misc technical information::  
+* Old documentation::           
 * System base::                 
+* WWW root directory::          
+* Apache::                      
+* MySQL::                       
+* Savane::                      
+* Remaining::                   
 @end menu
 
address@hidden System base,  , Here is how I made [am making] a Savannah test 
install on my faithful PI-133, Here is how I made [am making] a Savannah test 
install on my faithful PI-133
address@hidden System base
 
address@hidden
-- Install Debian woody v3.0r1 (CD1 + security updates)
address@hidden Some misc technical information, Old documentation, Savannah 
configuration, Savannah configuration
address@hidden Some misc technical information
 
-- Add to /etc/apt/sources.list a debian mirrror:
-deb cdrom:[Debian GNU/Linux 3.0 r1 _Woody_ - Official i386 Binary-1 
(20021218)]/ unstable contrib main non-US/contrib non-US/main
-deb http://security.debian.org/ stable/updates main
-deb http://ftp.fr.debian.org/debian woody main
+CVS repositories are located at @file{/savannah/cvsroot}.
 
-- Update your system:
-$ apt-get update
-$ apt-get upgrade
+Apache's DocumentRoot is @file{/savannah/frontend/php}.
 
-- Install some additional basic software packages:
-$ apt-get install wget
-$ apt-get install rsync
-  ...
-
-MySQL:
-~~~~~~
-
-- Install MySQL
-$ apt-get install mysql-server
-
-- Add a root password:
-/usr/bin/mysqladmin -u root password 'yourpass'
+E-mails sent from Savannah are sent using @command{exim}.
+Log is @file{/var/log/exim/main/log}.
 
-- Add an account for savannah:
-shell> mysql -u root -p mysql
-mysql> add user values  localhost, savannahscripts, PASSWORD('yourpass');
-mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON savannah.* TO 
'savannahscripts'@'localhost'
 
-- Change /etc/mysql/my.conf: 
s(/var/run/mysqld/mysqld.sock)(/savannah/mysqld/mysqld.sock)
address@hidden Old documentation, System base, Some misc technical information, 
Savannah configuration
address@hidden Old documentation
 
-- mkdir -m 755 /savannah/mysqld
-$ chown mysql /savannah/mysqld
+I came across some documentation of a 2 years-old Savannah setup, which may 
+actually come in handy sometimes, and should be merged here:
 
-- in /etc/php4/apache/php.ini: check
-; Default socket name for local MySQL connects.  If empty, uses the built-in
-; MySQL defaults.
-mysql.default_socket =
address@hidden://www.gnu.org/server/standards/README.savannah.html}
 
-and replace it with 
-mysql.default_socket = /mysqld/mysqld.sock
 
address@hidden System base, WWW root directory, Old documentation, Savannah 
configuration
address@hidden System base
 
-Savannah/Savane:
-~~~~~~~~~~~~~~~~
+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.
+
+First, install Debian woody v3.0r1 CD1, as well as the security updates.
+Make sure your /etc/apt/sources.list contains a debian mirrror:
address@hidden
+deb cdrom:[Debian GNU/Linux 3.0 r1 _Woody_ - Official i386 Binary-1 
(20021218)]/ unstable contrib main non-US/contrib non-US/main
+deb http://security.debian.org/ stable/updates main
+deb http://ftp.fr.debian.org/debian woody main
address@hidden smallexample
 
-- Get Savane, using branch DEV_2003-09-05_CERN
-cvs -d:pserver:address@hidden:/cvs/savane co -r DEV_2003-09-05_CERN savane
+Then update your system:
address@hidden
+$ apt-get update
+$ apt-get upgrade
address@hidden smallexample
 
-- ./configure
-Say no to interactive configuration
+and install some additional basic software packages:
address@hidden
+$ apt-get install wget
+$ apt-get install rsync
address@hidden
address@hidden smallexample
 
-- make
 
-- make database
address@hidden WWW root directory, Apache, System base, Savannah configuration
address@hidden WWW root directory
 
-- make conf
+All services related to the WWW will be run into a different root
+directory (@pxref{chroot invocation, , , , coreutils}).
 
-- copy Savannah's configuration file
-# TODO: explain how to reproduce this configuration file instead
-# Well, at least explain it
+Let's create the new root:
address@hidden
+$ cd /savannah
+$ mkdir dev && mknod dev/null c 1 3 && chmod 666 dev/null
address@hidden smallexample
 
-- make update-conf
+and configure the network:
address@hidden
+$ mkdir etc
+$ cp /etc/resolv.conf etc
+$ cp /etc/services etc # ?
address@hidden smallexample
 
-- /usr/local/savannah/bin/sv_skill
+[TODO: this network configuration seems not to work, fix it]
 
 
-Apache:
-~~~~~~~
address@hidden Apache, MySQL, WWW root directory, Savannah configuration
address@hidden Apache
 
-- Install some Apache1 modules:
+ Install some Apache 1 and PHP modules:
address@hidden
 $ apt-get install mod_ssl # (not apache-ssl)
 $ apt-get install apache-dev # (apxs)
-
-- ... and php modules
 $ apt-get install php4-mysql
address@hidden smallexample
 
-- Install mod_security:
+Also install mod_security:
address@hidden
 $ wget http://www.modsecurity.org/download/mod_security-1.7.6.tar.gz
 $ tar xzf mod_security-1.7.6.tar.gz
 $ cd mod_security-1.7.6/apache1
 $ apxs -cia mod_security.c
-# TODO: add how to get it from debian unstable
-# (libapache-mod-security)
address@hidden smallexample
 
-- Setup the new root:
-$ cd /savannah
-$ mkdir dev && mknod dev/null c 1 3 && chmod 666 dev/null
-$ cp -a /usr/src/savannah/frontend .
-$ ln -s frontend/php www
-- Configure the network:
-$ mkdir etc
-$ cp /etc/resolv.conf etc
-$ cp /etc/services etc # ?
+[TODO: add how to get it from debian unstable (libapache-mod-security)]
 
-- Generate SSL keys (cheap solution):
+Generate SSL keys (cheap solution):
address@hidden
 $ 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
-# TODO: add here how to create custom SSL keys
address@hidden smallexample
 
-- Grab /etc/apache/httpd.conf from savannah.gnu.org
-# TODO: explain how to reproduce this configuration file instead
-# Well, at least explain it
address@hidden verbatim
+[TODO: add here how to create custom SSL keys]
 
address@hidden Savane's configuration
+Last, grab @file{/etc/apache/httpd.conf} from savannah.gnu.org.
 
address@hidden
+[TODO: explain how to reproduce this configuration file instead. Well,
+at least explain it]
+
+
address@hidden MySQL, Savane, Apache, Savannah configuration
address@hidden MySQL
+
+MySQL is the @acronym{RDBMS} (@dfn{Relational DataBase Management
+System}) used by Savane.
+
+Install MySQL:
address@hidden
+$ apt-get install mysql-server
address@hidden smallexample
+
+Add a root password:
address@hidden
+/usr/bin/mysqladmin -u root password 'rootpass'
address@hidden smallexample
+
+Add an account for Savane:
address@hidden
+$ mysql -u root -p mysql
+Enter password: <type your root password>
+mysql> add user values  localhost, savannahscripts, PASSWORD('scriptspass');
+mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON savannah.* TO 
'savannahscripts'@@'localhost'
address@hidden smallexample
+
+MySQL must then be configured so as to run in the Savane root
+directory. In @file{my.cnf} replace @code{/var/run/mysqld/mysqld.sock}
+by @code{/savannah/mysqld/mysqld.sock}.
+
+And in @file{/etc/php4/apache/php.ini}, set:
address@hidden
+mysql.default_socket = /mysqld/mysqld.sock
address@hidden smallexample
+
+While you are in @file{php.ini}, check
+that MySQL persistent connections are activated, via
address@hidden
+mysql.allow_persistent = On
address@hidden smallexample
+
+Last, create the MySQL directory in Savane's root directory:
address@hidden
+$ mkdir -m 755 /savannah/mysqld
+$ chown mysql /savannah/mysqld
address@hidden smallexample
+
+
address@hidden Savane, Remaining, MySQL, Savannah configuration
address@hidden Savane
 
+Get Savane and install it without configuration:
address@hidden
+$ cd /usr/src
+$ cvs -d:pserver:anonymous@@cvs.gna.org:/cvs/savane co savane
+$ ./configure # say no to interactive configuration
+$ make
+$ make database
+$ make conf
address@hidden smallexample
+
+Then copy Savannah's configuration file.
+
+[TODO: explain how to reproduce this configuration file instead. Well,
+at least explain it]
+
+You then can propagate the changes:
address@hidden
+$ make update-conf
address@hidden smallexample
+
+Also update the skills list:
address@hidden
+$ /usr/local/savannah/bin/sv_skill
address@hidden smallexample
+
+You then can install the frontend in the WWW root directory:
address@hidden
+$ cd /savannah
+$ mv /usr/src/savannah/frontend .
+$ ln -s frontend/php www
address@hidden smallexample
+
+Now is the time to install Savane's Savannah.[non]gnu.org
+configuration:
+
address@hidden
 $ cd /savannah
 $ mkdir -m 755 etc
 $ cd etc
-$ cvs -d:ext:address@hidden:/cvsroot/administration co -d subversions 
administration/subversions
+$ cvs -d:ext:anoncvs@@savannah.gnu.org:/cvsroot/administration co -d 
subversions administration/subversions
 $ ln -s subversions/gnu-content
 $ ln -s subversions/nongnu-content
address@hidden smallexample
 
 Copy directories @file{savannah} and @file{nongnu-conf} - contain
 sensitive information such as MySQL passwords.
 
address@hidden
 $ ln -s savannah gnu-conf
-
-
 $ chmod 600 savannah.conf.pl
 $ chmod 644 savannah.conf.php
address@hidden verbatim
address@hidden smallexample
+
 
 At this point, you should be able to see Savane's default homepage
 when pointing your browser at your test machine.
 
 
-Remaining:
address@hidden Remaining,  , Savane, Savannah configuration
address@hidden Remaining
+
 @itemize
 @item
 ViewCVS
@@ -439,18 +508,8 @@
 
 
 
address@hidden Old documentation,  , Here is how I made [am making] a Savannah 
test install on my faithful PI-133, Savannah configuration
address@hidden Old documentation
-
-I came across some documentation of a 2 years-old Savannah setup, which may 
-actually come in handy sometimes:
-
address@hidden://www.gnu.org/server/standards/README.savannah.html}
-
-
-
address@hidden MySQL, Mailman Administration, Savannah configuration, Top
address@hidden MySQL
address@hidden Using MySQL, Mailman Administration, Savannah configuration, Top
address@hidden Using MySQL
 
 This chapter is about MySQL: its configuration, and how to perform
 simple tasks.
@@ -459,7 +518,7 @@
 * User privileges::             
 @end menu
 
address@hidden User privileges,  , MySQL, MySQL
address@hidden User privileges,  , Using MySQL, Using MySQL
 @section User privileges
 
 There are three principal users in the Savannah MySQL database (the
@@ -509,7 +568,7 @@
 
 
 
address@hidden Mailman Administration, Some Savannah tasks, MySQL, Top
address@hidden Mailman Administration, Some Savannah tasks, Using MySQL, Top
 @chapter Mailman Administration
 
 This chapter details common Mailman administration tasks that need
@@ -1074,9 +1133,9 @@
 @item /usr/local/lib/site_perl/ (updated using make install)
 @end itemize
 
-subversions:
-Do not put /etc/savannah/* in the repository. Contain passwords...
-Not version controlled.
+Do not put /etc/savannah/* and /savannah/etc/ in the
+repository, as it contains passwords and other sensitive pieces of
+information... Not version controlled.
 
 @verbatim
 ? php/tmp
@@ -1823,7 +1882,7 @@
 
 
 
address@hidden Terminology, Copying This Manual, Projects approval, Top
address@hidden Terminology, Acknowledgements, Projects approval, Top
 @appendix Terminology
 
 @itemize @bullet
@@ -1861,7 +1920,23 @@
 
 @end itemize
 
address@hidden Copying This Manual, Indices, Terminology, Top
address@hidden Acknowledgements, Copying This Manual, Terminology, Top
address@hidden Acknowledgements
+
+Thanks to:
address@hidden @bullet
address@hidden Rudy Gevaert & Hugo Gayosso
+for insights and explanations when the new Savannah Hackers team
+needed it, while they lacked time to continue fulling working on
+Savannah
address@hidden Richard Stallman
+who helped defining various policies at Savannah
address@hidden Bradley Kuhn
+who initially defined the way to check and perform a manual user
+e-mail change
address@hidden table
+
address@hidden Copying This Manual, Indices, Acknowledgements, Top
 @appendix Copying This Manual
 
 @menu




reply via email to

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