Setting up a Subversion repository By: Matt Krass Last Updated: 4/11/07.

Slides:



Advertisements
Similar presentations
MFA for Business Banking – Security Code Multifactor Authentication: Quick Tip Sheets Note to Financial Institutions: We are providing these QT sheets.
Advertisements

1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Getting Set-up with Hosting and WordPress Gregory Young Alternative Hosting
1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 13: Administering Web Resources.
NetAcumen ActiveX Download Instructions
Dedi Rahmawan Putra  Shared Document  Conventional Ways  Common Problems  What is TortoiseSVN  Advantages over another tools  Basic Concepts.
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 13: Administering Web Resources.
1 Configuring Web services (Week 15, Monday 4/17/2006) © Abdou Illia, Spring 2006.
Using subversion COMP 2400 Prof. Chris GauthierDickey.
CVS Selim Çıracı Ahmet Kara Metin Tekkalmaz. CVS – Open Source Version Control System Outline What are Version Control Systems? And why do we need them?
Chapter Apache Installation in Linux- Mandrake. Acknowledgment The following information has been obtained directly from
Access control and user management in Apache 1WUCM1.
Hands-On Microsoft Windows Server 2003 Networking Chapter 6 Domain Name System.
Hands-On Microsoft Windows Server 2003 Administration Chapter 7 Administering Web Resources in Windows Server 2003.
Hands-On Microsoft Windows Server 2003 Administration Chapter 3 Administering Active Directory.
Apache : Installation, Configuration, Basic Security Presented by, Sandeep K Thopucherela, ECE Department.
1 Chapter Overview Creating User and Computer Objects Maintaining User Accounts Creating User Profiles.
SubVersioN – the new Central Service at DESY by Marian Gawron.
© Polarion Software ® Subtrain – SVN User training – IntroductionWhat is Subversion? 1 backupcollaboration documentationversioning.
Linux Operations and Administration
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Hosted Exchange The purpose of this Startup Guide is to familiarize you with ExchangeDefender's Exchange and SharePoint Hosting. ExchangeDefender.
Microsoft Windows 2003 Server. Client/Server Environment Many client computers connect to a server.
One to One instructions Installing and configuring samba on Ubuntu Linux to enable Linux to share files and documents with Windows XP.
Back to content Final Presentation Mr. Phay Sok Thea, class “2B”, group 3, Networking Topic: Mail Client “Outlook Express” *At the end of the presentation.
An introduction to Apache. Different Types of Web Servers Apache is the default web server for may Unix servers. IIS is Microsoft’s default web server.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 4 Manage Software for SUSE Linux Enterprise Server.
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 7: Domain Name System.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 13: Administering Web Resources.
0Gold 11 0Gold 11 LapLink Gold 11 Firewall Service How Connections are Created A Detailed Overview for the IT Manager.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Set 13: Web Servers (configuration and security) (Chapter 21) IT452 Advanced Web and Internet Systems.
The In’s and Out’s of the IIS 6.0 Migration Tool The In’s and Out’s of the IIS 6.0 Migration Tool Chris Adams Web Platform Supportability Lead Microsoft.
Apache and... Virtual Hosts ---- aliases mod_rewrite ---- htaccess AFNOG 11 Kigali, Rwanda May 2010 Dorcas Muthoni Courtesy: Hervey Allen.
Microsoft FrontPage 2003 Illustrated Complete Finalizing a Web Site.
Subversion (SVN) Tutorial Source:
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Hands On Networking Network Applications Ram P Rustagi, ISE Dept Kundan Kumar, MCA Dept Manini Sahoor, MCA Dept Ravi Teja, MCA Dept Sourav.
Web Site Access Control with Apache Fort Collins, CO Copyright © XTR Systems, LLC Web Site Access Control Using the Apache Web Server Instructor: Joseph.
Version Control Menggunakan TortoiseSVN
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
DireXions – Your Tool Box just got Bigger PxPlus Version Control System Using TortoiseSVN Presented by: Jane Raymond.
Apache Security Travis Jeffries. Introduction Authentication and Authorization Strict Access Methods Defending against Attacks Bad CGI Programs Apache.
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 13 FTP and Telnet.
1 Apache and... Virtual Hosts ---- aliases mod_rewrite ---- htaccess AFNOG X Cairo, Egypt May 2009 Hervey Allen.
Permissions Lesson 13. Skills Matrix Security Modes Maintaining data integrity involves creating users, controlling their access and limiting their ability.
Implementing and Using the SIRWEB Interface Setup of the CGI script and web procfile Connecting to your database using HTML Retrieving data using the CGI.
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
Apache, MySQL and PHP Installation and Configuration Chapter 2 MySQL Installation and Configuration.
L.T.E :: Learning Through Experimenting Using google-svn for MtM Docs Development Denis Thibault Version 3.2 Mar 12 th, 2009.
Web Technology – Web Server Setup : Chris Uriarte Meeting 4: Advanced Topics, Continued: Securing the Apache Server and Apache Performance Tuning Rutgers.
Introduction to Linux Server Setup Jonathan Hood CSE 4000 Practical Issues in Software Engineering.
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
Integrity Check As You Well Know, It Is A Violation Of Academic Integrity To Fake The Results On Any.
Maryknoll Wireless Network Access Steps for Windows 7 As of Aug 20, 2012.
Installing and Configuring Moodle. Download Download latest Windows Install package from Moodle.orgMoodle.org.
Building Your Own Website Using:. Install & configure LAMP. Download WordPress and run it as a local website on your Raspberry Pi. Configure WordPress.
© CGI Group Inc. User Guide Subversion client TortoiseSVN.
Apache web server Quick overview.
Apache and... Virtual Hosts ---- aliases mod_rewrite ---- htaccess
Authentication & .htaccess
Lecture 13 RPM and its advantages.
Microsoft FrontPage 2003 Illustrated Complete
CompTIA Server+ Certification (Exam SK0-004)
INSTALLING AND SETTING UP APACHE2 IN A LINUX ENVIRONMENT
Configuring Internet-related services
Presentation transcript:

Setting up a Subversion repository By: Matt Krass Last Updated: 4/11/07

What is Subversion? Version Control System Backup of files Ability to work from anywhere with an Internet connection Multiple Programmers can work on something without conflict.

How do I use Subversion? Most modern Linux systems come with the standard command line client, svn For Windows users there is TortoiseSVN, a GUI client that integrates straight in to Windows Explorer.

How do I use Subversion? For the command line client, the two most common options are to check out and commit changes. $ svn checkout This will prompt for your username/password combination to access the server. $ svn commit This will prompt for a log message, as well as your login details, then commit the differences between your local working copy and the server’s repository.

What do I need for a Subversion server? Subversion Apache 2 (with OpenSSL if you want secure SVN access, though we won't be going over this) The “svn” module-pack for Apache 2

Setting up Subversion First, we must install Subversion, this is easy to do on Ubuntu/Debian via the apt-get command. $ apt-get install subversion subversion-tools This installs Subversion, tools to help maintain Subversion, and dependencies. Now we need to create a place to store the repositories and configuration files. I will be using /svn for the base, then I store the repositories in /svn/repos/public and /svn/repos/private. There’s a few configuration files you’ll need: /svn/svnauth – a list of which users can do what to which repositories /svn/svnusers – a list of users and hashed passwords, similar to the systems /etc/passwd file To generate the svnusers file, use Apaches htpasswd2 utility. $ htpasswd2 –c /svn/svnusers This will create the file and prompt you for a password for your first user. Run without the –c flag to update an existing svnusers file with a new user.

Setting up Subversion Before we can create the svnauth file, we need a repository to set the permissions for, so we need to create one. The command for this is svnadmin with a create parameter. Inside the /svn/repos/public or /svn/repos/private subdirectory, use this to make a new repository: $ svnadmin create reponame Now we need to make your username authorized to read and write to it, lets create the svnauth file Now. Sample /svn/svnauth [reponame:/] username = rw guest = r This allows the user username to read/write to the repository, while the user guest can only read from it. Add users and repositories as needed. This can all be done with something simple like emacs or gedit.

Setting up Apache Subversion is now all set up, time for Apache. On most distributions you can set up Apache with either apt-get or yum, and installing the required packages. Ubuntu/Debian’s apt-get install also pulls in various other packages including the SSL support you need for a secure repository. $ apt-get install apache2 Once installed, it must be configured and set up, on a Ubuntu/Debian system the apache2 service should automatically be set to start with the computer. If you need to start it manually you can use this Command: $ /etc/init.d/apache2 start Apache maintains different “sites” to run, and they’re all stored as individual configuration files in /etc/apache2/sites-available/ and they’re enabled by symlinking to the file in /etc/apache2/sites-enabled/

Setting up Apache There are a few modules, addons to Apache that will be necessary for this to work, such as the dav, dav_fs and dav_svn modules. This are easy to install in a Ubuntu/Debian system through the apt-get command. $ apt-get install libapache2-svn Once installed the modules must be “enabled” for use by Apache, the easiest way to do this is with the a2enmod command. $ a2enmod Which module would you like to enable? Your choices are: actions asis auth_anon auth_dbm auth_digest auth_ldap cache cern_meta cgi cgid dav dav_fs dav_svn deflate disk_cache expires ext_filter file_cache headers imap include info ldap mem_cache mime_magic php5 proxy proxy_connect proxy_ftp proxy_http rewrite speling ssl suexec unique_id userdir usertrack vhost_alias Module name? Simply repeat this process three times, selecting dav, dav_fs and dav_svn.

Setting up Apache Now, you need a site file for SVN. You can either modify the /etc/apache2/sites-available/default site file or create a new one for SVN, I generally create a site file named svn, and either modify/delete default as per my need. The contents of the file look like this: NameVirtualHost :80 ServerAdmin DAV svn SVNParentPath /svn/repos/public AuthType Basic AuthName "COSI Subversion Repository" AuthUserFile /svn/svnusers AuthzSVNAccessFile /svn/svnauth Require valid-user

Setting up Apache Once you’ve created your site file in Apaches sites-available directory, you must link it to sites-enabled and restart Apache $ ln –s /etc/apache2/sites-available/svn /etc/apache2/sites-enabled/001-svn $ /etc/init.d/apache2 restart Once that’s done, your website should be up for SVN hosting, provided all the required modules are Installed and the configuration file completed properly. If there are any errors or Apache fails to restart, Check /var/log/apache2* for details regarding the problem. To disable SVN hosting all you need to do is use unlink to remove the symlink to the file, and restart Apache. $ unlink /etc/apache2/sites-enabled/001-svn $ /etc/init.d/apache2 restart And the repository is down, for maintenance, backups, irritating your peers, whatever reason.

Summary You should be all set, to summarize, you’ve installed and configured Subversion, created a repository and set up a user list and a permission list. You’ve then installed and configured Apache to use the Subversion module pack to access the repository, authenticating against the user/permission lists you’ve created. Let’s just end with some quick troubleshooting tips: If Apache won’t start, look in the logs for an explanation, it’s usually an unloaded module, or a typo in the config file, or you’ve forgotten to stop Apache (the restart directive is helpful here). Also make sure any addresses coded in to the config file are correct, and that all of your paths are correct. If the svn client throws a permission error, or an unable to commit or checkout error, check the permissions of the repository. Apache will need permission to read/write the files, whether through ownership or group permissions. Be careful you don’t ever run: chmod 777./ from the system root directory, or you’ll know what I feel like :-) Make sure any firewalls are configured to allow the traffic, and that you’ve set your svnauth permissions correctly for the repository

Contact Info If you need to reach me for any questions you can get me at AIM: MattKrass358 IRC: comm.sclab.clarkson.edu/#cosi