Svn.wikimedia.org
From Wikitech
(Difference between revisions)
(→Viewvc: patch) |
m (Subversion moved to Svn.wikimedia.org) |
Revision as of 23:05, 5 February 2008
Moving to mayflower .....
Will add setup docs in a sec
Contents |
Server setup
Packages
apt-get install some packages:
subversion # SVN core bits libsvn-notify-perl # For commit notification mails python-subversion # Needed for viewvc php5-cli # Used by viewvc to do syntax highlighting doxygen # For doc generation apache2 # Web server! libapache2-svn # HTTP SVN module for apache libapache2-mod-php5 # For user.php
Custom software
/usr/local/bin/sillyshell # restricted shell; in tools/sillyshell in SVN /usr/local/bin/ciabot_svn.py # IRC notifications for SVN, available at cia.cx /usr/local/viewvc/* # ViewVC - viewvc.org
Viewvc
Using 1.0.x branch from their SVN; install it and set up the .conf file.
TODO: clean up the conf file and put it in SVN or this wiki.
# Install viewvc! svn co http://viewvc.tigris.org/svn/viewvc/branches/1.0.x/ viewvc-1.0 ./viewvc-install # Installation path [/usr/local/viewvc]: # update viewvc path in apache config file
Patch for PHP view
To get view links instead of download links for PHP files in the repo:
Index: lib/viewvc.py
===================================================================
--- lib/viewvc.py (revision 1698)
+++ lib/viewvc.py (working copy)
@@ -904,7 +904,7 @@
return mime_type and mime_type in ('image/gif', 'image/jpeg', 'image/png')
def is_text(mime_type):
- return not mime_type or mime_type[:5] == 'text/'
+ return not mime_type or mime_type[:5] == 'text/' or mime_type in ('application/x-httpd-php')
def is_plain_text(mime_type):
return not mime_type or mime_type == 'text/plain'
Apache
Stick conf file in /etc/apache2/sites-available and link it into sites-enabled, replacing the default config.
TODO: clean up the conf file and put it in SVN or this wiki.
Doc generation
# Set up an account to run the docs under adduser --system mwdocs su -s /bin/bash mwdocs cd && svn co file:///svnroot/mediawiki/trunk/phase3
# make a log file for the cronjob cd /var/log touch mwdocs.log chown mwdocs mwdocs.log
# fix path in apache config # add a cron job: crontab -e 30 0 * * * (cd /home/mwdocs/phase3 && svn up && php maintenance/mwdocgen.php --all) >> /var/log/mwdocs.log 2>&1
SVN users setup
# Setup... addgroup svn
# When adding users, put in restricted setup: /usr/sbin/useradd -G svn -s /usr/local/bin/sillyshell "$name"
# Make cache directory for users.php mkdir /var/cache/svnusers chown www-data /var/cache/svnusers
# Change path in users.php from /usr/local/bin/svn to /usr/bin/svn # Check out thingy su www-data svn co file:///svnroot/mediawiki/USERINFO /var/cache/svnusers