Skip to content

Chris' Laboratory

chrislee.kr – Personal blog as bookshelves

Menu
  • Home
  • Github
  • Contact Me
Menu

Subversion on OS X Leopard Server by Nayan Hajratwala

Posted on 27/08/201009/04/2011 by Chris Lee
Read Time:2 Minute, 15 Second

I’ve found various links to Subversion setup on OS X Server, but most of them leverage a lot of manual file editing rather than using the built-in features of OS X Server. Additionally, they didn’t discuss integrating OS X OpenDirectory.

(This article is from http://agileshrugged.com/blog/?p=14)

That said, here is how I got my subversion repository up and running with the built in Apache 2 and OpenDirectory.

Step 1 – Create a Subversion repository

Since Leopard already has Subversion (1.4.4 as of this post), no software installation is required.

svnadmin create /usr/local/svn_repository

We also need to ensure that the repository is editable by the webserver user.

chown -R www /usr/local/svn_repository

You can create additional directories based on your preferred strategy, but you don’t need to in order to complete this setup.

Step 2 – Configure the server via Server Admin

Enable Apache modules

  1. Click Web in the Sidebar
  2. Click Settings in the top bar
  3. Select the Modules tab
  4. Check the following modules:
    • authz_svn_module
    • dav_module
    • dav_fs_module
    • dav_svn_module

Enable WebDAV on your site

Upon reflection, you may be able to skip this step, but I haven’t gone back and undone my changes to try it again. In any case, it can’t hurt.

  1. Click Sites in the top bar
  2. Select your site
  3. Click the WebDAV checkbox

Create a Realm

This will set up the OpenDirectory based security. There are options for Kerberos and Digest as well, but I haven’t tried setting those up.

  1. Select the Realms tab
  2. Click “+” under the Realms box and enter the following:
    • Realm Name: svn_realm
    • Authentication: Basic
    • Location: /svn (Note: You have to change the dropdown)
  3. Click “+” under the Users & Groups box, and drag/drop the users/groups that you want to give access to. Also be sure to give them read/write privileges.

Click the Save button.

Step 3 – Tweak the config file

Note — I’m using virtual sites. I suppose it would be similar if you’re not.

I couldn’t find any “Apple-ish” way to do this, so this is the only bit you have to manually edit.

Edit the file under /etc/apache2/sites that corresponds to your site. This should be a file starting with 000x. In the <Location "/svn"> section, add the following two lines:

DAV svn
SVNPath /usr/local/svn_repository

Step 4 – Restart the web server

You can do this from Server Admin.

That’s  it.  You should be able to access your repository at http://yourserver.com/svn – Please let me know if I’ve made any errors or omissions.

Enjoy!

Share

Facebook
Twitter
LinkedIn
Email

Related

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Categories

  • Databases (11)
    • MongoDB (4)
    • MS-SQL (1)
    • MySQL (6)
  • E-Commerce (8)
    • Magento (8)
  • Finance (2)
  • Frameworks (84)
    • Adobe Flex (1)
    • Angular (ngx) (3)
    • Codeigniter (6)
    • CSS (5)
    • Django (2)
    • Javascript (13)
    • Node.js (6)
    • PHP (17)
    • React Native (4)
    • React.js (1)
    • Sencha Touch (4)
    • Terraform (1)
    • Vue.js (1)
    • WordPress (4)
    • Yii2 (3)
  • General Documents (15)
  • Marketing (3)
  • Mobile Development (33)
    • Android (20)
    • iPhone (13)
  • Platforms (21)
    • Arduino (2)
    • Docker (5)
    • Google App Engine (5)
    • Raspberry Pi (5)
    • Samsung Smart TV (4)
  • Security (17)
  • Server (31)
    • Linux (13)
  • Tools (14)
    • SVN (7)
  • Uncategorized (3)

Search

Recent Posts

  • helm list error stream ID 3; INTERNAL_ERROR
  • Bootstrapping Kubernetes cluster with kubeadm
  • Taint all resources in the one module
  • Alpine – Plugin caching_sha2_password could not be loaded
  • npm link with peerDependencies

Recent Comments

  • Obayed on Binance Auto Trading Bot – Buy low/Sell high with stop loss limit/Trade multiple coins
  • Ari on How to install memcache.so/memcached.so for MAMP Pro (Mac)
  • Mida ali on Binance Auto Trading Bot – Buy low/Sell high with stop loss limit/Trade multiple coins
  • Chris Lee on How to install memcache.so/memcached.so for MAMP Pro (Mac)
  • Chris Lee on Setting Up A VPN Server On OSX 10.6

Tags

1 ajax amazon android android-addpart browser chrislee-kr codeigniter codeigniter-tcpdf com-apple-net-racoon CSS CSS history hack delpaigmail-com entity-addpart-double exception-printing-is-disabled-by-default-for-security-reasons ext-plugins-listpagingplugin ext-plugins-listpagingplugin-example f iphone javascript jquery-defaultchecked jquery-samsung-smart-tv listpagingplugin mac magento-exception-printing-is-disabled-by-default-for-security-reasons magento-sample-data-exception-printing-is-disabled-by-default-for-security-reasons nu-vot null-core-errors-confignotfound-config-mk9engine-ini php samsung-smart-tv-jquery samsung-smart-tv-sdk-ajax samsung-smart-tv-sdk-jquery samsung-tv-sdk samsung-tv-sdk-jquery samsung tv sencha-smart-tv sencha-touch-list-paging smart-tv-jquery sqlite subversion svn tcedook tcpdf-codeigniter uilinebreakmodecharacterwrap-is-deprecated unknown-column-link-area

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2023 Chris' Laboratory | Powered by Minimalist Blog WordPress Theme