Svn.wikimedia.org

From Wikitech
(Difference between revisions)
Jump to: navigation, search
Line 97: Line 97:
 
  su www-data
 
  su www-data
 
  svn co file:///svnroot/mediawiki/USERINFO /var/cache/svnusers
 
  svn co file:///svnroot/mediawiki/USERINFO /var/cache/svnusers
 +
 +
[[Category:Services]]

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
Personal tools
Namespaces

Variants
Actions
Navigation
Ops documentation
Wiki
Toolbox