[Top][All Lists]

[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
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


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.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
 @include version.texi
@@ -343,13 +343,14 @@
 Let's create the new root:
+$ 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:
-$ 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:
-$ 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:
-$ wget
-$ tar xzf mod_security-1.7.6.tar.gz
-$ cd mod_security-1.7.6/apache1
+$ apt-get install apache-dev # (apxs)
+$ wget
+$ 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
 Generate SSL keys (cheap solution):
@@ -389,7 +394,9 @@
 [TODO: add here how to create custom SSL keys]
-Last, grab @file{/etc/apache/httpd.conf} from
+Last, grab @file{/etc/apache/httpd.conf} from as well
+as included @file{} and @file{}, 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:
-/usr/bin/mysqladmin -u root password 'rootpass'
+$ mysqladmin -u root password 'rootpass'
 @end example
 Add an account for Savane:
 $ mysql -u root -p mysql
 Enter password: <type your root password>
-mysql> add user values  localhost, savannahscripts,
-       PASSWORD('scriptspass');
        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:
@@ -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:
 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 unlike in my Debian stable]
+[Another way to create the database is to get the one from Savannah:
+$ 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 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 the answer is /
+ex: for 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)
+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
+Where should we install i18n files?
+ex: /usr/share/locale
+ex: /usr/local/share/locale
+What is the database name?
+ex: 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]
-$ cd /savannah
-$ mkdir -m 755 etc
-$ cd etc
+$ cd /savannah/etc
 $ cvs \
   co -d savane administration/subversions
 $ ln -s savane/gnu-content
@@ -477,8 +534,9 @@
 $ 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 @@
 $ 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, you update savannah.conf.php:
+$ 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:
 $ chmod 600
-$ chmod 644 savannah.conf.php
+$ chmod 640 savannah.conf.php
+$ chgrp www-data savannah.conf.php
 @end example
 Also update the skills list:
-$ /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]
+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
@@ -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]