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: Mon, 20 Sep 2004 12:41:07 -0400

CVSROOT:        /cvsroot/administration
Module name:    administration
Branch:         
Changes by:     Sylvain Beucler <address@hidden>        04/09/20 16:35:00

Modified files:
        docs/hacking_savannah: hacking_savannah.texi 

Log message:
        Various updates and fixes during my Nth test install

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

Patches:
Index: administration/docs/hacking_savannah/hacking_savannah.texi
diff -u administration/docs/hacking_savannah/hacking_savannah.texi:1.39 
administration/docs/hacking_savannah/hacking_savannah.texi:1.40
--- administration/docs/hacking_savannah/hacking_savannah.texi:1.39     Sat Sep 
11 17:25:30 2004
+++ administration/docs/hacking_savannah/hacking_savannah.texi  Mon Sep 20 
16:35:00 2004
@@ -1,5 +1,5 @@
 \input texinfo   @c -*-texinfo-*-
address@hidden $Id: hacking_savannah.texi,v 1.39 2004/09/11 17:25:30 Beuc Exp $
address@hidden $Id: hacking_savannah.texi,v 1.40 2004/09/20 16:35:00 Beuc Exp $
 @comment %**start of header
 @setfilename hacking_savannah.info
 @include version.texi
@@ -343,13 +343,14 @@
 
 Let's create the new root:
 @example
+$ mkdir -m 755 /savannah
 $ cd /savannah
-$ mkdir dev && mknod dev/null c 1 3 && chmod 666 dev/null
+$ mkdir -m 755 dev && mknod -m 666 dev/null c 1 3
 @end example
 
 and configure the network:
 @example
-$ mkdir etc
+$ mkdir -m 755 etc
 $ cp /etc/resolv.conf etc
 $ cp /etc/services etc # ?
 @end example
@@ -362,20 +363,24 @@
 
  Install some Apache 1 and PHP modules:
 @example
-$ apt-get install mod_ssl # (not apache-ssl)
-$ apt-get install apache-dev # (apxs)
+$ apt-get install libapache-mod-ssl # (not apache-ssl)
 $ apt-get install php4-mysql
 @end example
 
 Also install mod_security:
 @example
-$ 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
+$ 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
+
+# mod_security wants to create a lock file in <ServerRoot>/logs:
+$ mkdir /etc/apache/logs
 @end example
 
-[TODO: add how to get it from debian unstable (libapache-mod-security)]
+[TODO: add how to get it from debian testing or unstable
+(libapache-mod-security)]
 
 Generate SSL keys (cheap solution):
 @example
@@ -389,7 +394,9 @@
 
 [TODO: add here how to create custom SSL keys]
 
-Last, grab @file{/etc/apache/httpd.conf} from savannah.gnu.org.
+Last, grab @file{/etc/apache/httpd.conf} from savannah.gnu.org as well
+as included @file{vhosts-gnu.org} and @file{vhosts-nongnu.org}, and
+copy them in @file{/etc/apache}.
 
 [TODO: explain how to reproduce this configuration file instead. Well,
 at least explain it]
@@ -408,22 +415,22 @@
 
 Add a root password:
 @example
-/usr/bin/mysqladmin -u root password 'rootpass'
+$ mysqladmin -u root password 'rootpass'
 @end example
 
 Add an account for Savane:
 @example
 $ 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
+mysql> GRANT SELECT,INSERT,UPDATE,DELETE
        ON savannah.* TO 'savannahscripts'@@'localhost'
+       IDENTIFIED BY '@var{scriptpass}';
 @end example
 
 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}.
+directory. In @file{/etc/mysql/my.cnf} replace
address@hidden/var/run/mysqld/mysqld.sock} by
address@hidden/savannah/mysqld/mysqld.sock} (there are 2 occurrences).
 
 And in @file{/etc/php4/apache/php.ini}, set:
 @example
@@ -431,7 +438,7 @@
 @end example
 
 While you are in @file{php.ini}, check
-that MySQL persistent connections are activated, via
+that MySQL persistent connections are activated, via:
 @example
 mysql.allow_persistent = On
 @end example
@@ -442,6 +449,16 @@
 $ chown mysql /savannah/mysqld
 @end example
 
+[TODO: there is a Perl trick to do as well, regarding the location of
+the MySQL socket. Document it and determine why it is necessary at
+sv.gnu.org unlike in my Debian stable]
+
+[Another way to create the database is to get the one from Savannah:
address@hidden
+$ mysqldump -C --add-locks -F -l savannah >out.sql
address@hidden example
+
+But you need to install Savane first, don't you?]
 
 @node Savane, Remaining, MySQL, Savannah configuration
 @section Savane
@@ -451,19 +468,59 @@
 $ cd /usr/src
 $ cvs -d:pserver:anonymous@@cvs.gna.org:/cvs/savane co savane
 $ cd savane
-$ ./configure # say no to interactive configuration
+$ ./configure
+Do you want the configuration file configuration process to be interactive?
+ex: yes
+ex: no
+[yes] no
+
+What is the URL directory of Savannah on your http server?
+ex: for sv.gnu.org/ the answer is /
+ex: for bla.org/savannah/ the answer is /savannah
+[/]: 
+
+Where should we store configuration files?
+Choose one of the following.
+ex: /etc/savannah
+(Note that the bakend currently looks always in /etc/savannah)
+[/etc/savannah]: 
+
+Where should we install binaries and scripts?
+ex: /usr/bin
+ex: /usr/local/bin
+[/usr/local/bin]: /usr/local/savane/bin
+
+Where should we install perl modules?
+ex: /usr/local/lib/site_perl
+[/usr/local/lib/site_perl]: 
+
+Where should we install i18n files?
+ex: /usr/share/locale
+ex: /usr/local/share/locale
+[/usr/share/locale]: 
+
+What is the database name?
+ex: savannah
+[savannah]: 
+
+Any options to use for ?
+ex: you may add for mysql, if you do not have a ~/.my.cnf
+something like -u user -p
+options: -p # TOD: or nothing + create a .my.conf
+
+# [TODO: Mailman]
 $ make
 $ make database
 $ make conf
+$ mkdir -pm 755 /usr/local/bin/savane
+$ make install
 @end example
 
 Now is the time to install Savane's Savannah.[non]gnu.org
 configuration:
 
 @example
-$ cd /savannah
-$ mkdir -m 755 etc
-$ cd etc
+$ cd /savannah/etc
 $ cvs -d:ext:anoncvs@@savannah.gnu.org:/cvsroot/administration \
   co -d savane administration/subversions
 $ ln -s savane/gnu-content
@@ -477,8 +534,9 @@
 
 @example
 $ cd /savanah/etc
-$ ln -s savane/gnu-conf
-$ ln -s savane/nongnu-conf
+# $ ln -s savane/gnu-conf
+# $ ln -s savane/nongnu-conf
+# TODO: move the conf to a private repository
 @end example
 
 @file{gnu-conf} and @file{nongnu-conf} contain sensitive information
@@ -488,26 +546,31 @@
 @example
 $ cd /etc
 $ rm -rf savannah
-$ ln -s /savannah/etc/savane/gnu-conf savannah
+$ ln -s /savannah/etc/gnu-conf savannah
 @end example
 
 You can infer from this that gnu-conf is the configuration file for
 the backend.
 
-You then can propagate the changes:
+
+If you make changes to savannah.conf.pl, you update savannah.conf.php:
 @example
+$ cd /usr/src/savane
 $ make update-conf
 @end example
 
+[TODO: how to do that for nongnu-conf]
+
 Be sure that the @file{savannah.conf*} files have proper permissions:
 @example
 $ chmod 600 savannah.conf.pl
-$ chmod 644 savannah.conf.php
+$ chmod 640 savannah.conf.php
+$ chgrp www-data savannah.conf.php
 @end example
 
 Also update the skills list:
 @example
-$ /usr/local/savannah/bin/sv_skill
+$ /usr/local/savane/bin/sv_skill
 @end example
 
 You then can install the frontend in the WWW root directory:
@@ -517,17 +580,18 @@
 $ ln -s frontend/php www
 @end example
 
-The symbolic links are created this way so as to avoid to configure
-Apache to follow symlinks.
-
-At this point, you should be able to see Savane's default homepage
-when pointing your browser at your test machine.
+The symbolic links are created this way so as to avoid following
+symlinks outside the WWW root.
 
 Now, you need to tune the Savannah configuration files to your installation.
 our $sys_default_domain="dott";
 
 Plus change apache's references to sv.[non]gnu.org.
 
+At this point, you should be able to see Savane's default homepage
+when pointing your browser at your test machine.
+
+
 Plus install the backport of Setuid fron Perl 5.8 to Perl 5.6 that
 sysadmins apparently used (/usr/src/Setuid), or update your Perl (I
 guess).
@@ -539,6 +603,7 @@
 Plus modify the source (/php/include/account.php) to permit group
 'www' creation, and create that group.
 
+
 @node Remaining,  , Savane, Savannah configuration
 @section Remaining
 




reply via email to

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