[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
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
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa..., Sylvain Beucler, 2004/09/11
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa...,
Sylvain Beucler <=
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa..., Sylvain Beucler, 2004/09/20
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa..., Sylvain Beucler, 2004/09/20
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa..., Sylvain Beucler, 2004/09/21
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa..., Sylvain Beucler, 2004/09/21
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa..., Sylvain Beucler, 2004/09/28
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa..., Sylvain Beucler, 2004/09/28
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa..., Sylvain Beucler, 2004/09/29
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa..., Sylvain Beucler, 2004/09/29
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa..., Sylvain Beucler, 2004/09/29
- [Savannah-cvs] administration/docs/hacking_savannah hacking_sa..., Sylvain Beucler, 2004/09/30