daily minutia on Twitter

  • via @BikeCrave: A tribute to cycling legend Laurent Fignon who lost his battle with cancer. http://bit.ly/apec9n. What a legend. 2 days ago
  • Classy. I just hand-poured washer fluid on my car with the wipers going because shit is broke. 2 days ago
  • RT @jvaleski: New Blog Post: "Exits; You're Doing it Right" - http://bit.ly/dmaSvK (Nice post, & I could not agree more with your examples.) 2 days ago
  • @CaroDonahue Happy Birthday! As a convenient gift, you should keep my Spiritual Gangster T-shirt. You are a much better wearer of it than I. 2 days ago
  • Could not have had a better morning. Why, you ask? Because @jmalan dropped off some lemon blueberry scones. Thanks love! They were great. 2 days ago
  • More updates...

I'm Ingrid Alongi, a developer in Boulder, Colorado. I'm a co-founder at Quick Left, a Web Engineering company. I used to be a software engineer at Gnip where API integration and social media data were my world. Prior to that, at OneRiot, I wrote web applications using Java/Wicket/CSS. I've got experience with CodeIgniter for PHP, but mostly use Zend with Doctrine when it comes to PHP. Got some JQuery too.

I've been in the web development/interactive agency world for almost 10 years, with most of my experience in building database-driven web applications (PHP, ColdFusion) for consumer facing clients (e-commerce, email marketing, advertising, cms, etc.). Lots of strategy, lots of driving traffic back the web site types of stuff. Oh, and managing an amazing team of developers.

I'm an electronic music snob, ex national level cyclist, I play violin and cello, and have an MA in Women's Studies. You can contact me at ialongi at yahoo . com. Or, mosey on over to the Quick Left blog to see what I'm up to.

SVN+SSH setup on MediaTemple DV Hosting

December 13, 2008, 2:46pm by electromute

A few months ago, I wrote a post about installing svnserve on DV hosting at Media Temple. It was a great quick solution to get started, but I really wanted to get to svn via ssh instead for the long term.

Rather than scour the Internet for how to do this (I’ve done it a few times in my career, but I’m no sysadmin), I sat down for lunch one day with Collin, who used to be a mighty fine sysadmin! Saved me hours of time, hopefully this will help some of you all too.

Keep in mind that you’ll have to check out your files from scratch, so you’ll want to make sure all of your current changes are checked in (or otherwise managed) before you get started on this project.

Log into your server. I have root access from ssh disabled, and you may want to consider doing this as well.

% su – root
% adduser joe
% passwd joe

I use the su – username notation to be sure the console session is refreshed. Now add a new group called svn that members will be a part of

% groupadd svn

Because we’re on CentOS, there are certain permissions that make the owner only having default permissions of the file, so we’ll have to deal with that here as well so that we can avoid permissions issues when users commit their changes to SVN.

% usermod -G svn joe

Take a look to verify, in the group file, that your user is added to the correct group:

% view /etc/group

You also want to verify that svn is the secondary group by doing this:

% su – joe
% id

You should see something like this:

uid=10004(joe) gid=10005(joe) groups=10004(svn),10005(joe)

Now you’ll set up the ssh keys. We’ll set up dummy keys for now because we’re going to copy the public key from our local computer, not the other way around. Make sure you are still acting as the new user.

% cd /home/joe
% mkdir .ssh
% cd .ssh
% ssh-keygen -t rsa

when it prompts you for a filename, enter id_rsa
when it prompts you for a password, hit enter, leave it blank, we won’t be using these keys.

Now, go back to you local computer and generate the keys again as described above, but this time use a password. If you already have keys, you’ll just need to copy them to the server.

From your local computer, do a secure copy. My keys happen to be named identity. Also note that I am renaming the keys to authorized_keys2 for this CentOS environment.

% scp identity.pub joe@servername.com:/home/joe/.ssh/authorized_keys2

Double check that the user can now log in properly without any trouble. Now to go back and change the permissions on the repository

% su – root
% cd /var/svn
% ls -la

You’ll want to make sure your repository has a group owner of svn and a user owner of someone in that group. Make sure you’re running as root here, and it never hurts to refresh the console using the dash notation.

% chgrp -R svn reponame/
% chown -R joe reponame/
% chmod -R 775 reponame/

Since the owner can read/write but the group can only read/view on the CentOS, we need to change the default umask for the user to avoid collisions:

% su – joe
% vi .profile

In the .profile file, add the following:

add umask 002

then reload the environment again by doing:

% su – joe

Now we need to make joe’s default group SVN:

% su – root
% usermod -g svn joe

Now refresh enviro

% su – joe
% id

You should see something similar to the following–notice the default group is svn now:

uid=10004(joe) gid=10004(svn) groups=10004(svn)

Now, if you’d previously been using svnserv, you’ll want to turn it off. Let’s start by viewing the running processes on the server:

% su – root
% ps aux

I had more than one instance running, so I ended up doing the following (do at your own risk)

% killall -9 svnserv

Double check that you can then check out, change and commit files. If you can’t, there is likely a permissions issue. Also double check that you can’t access the repository with plan svn://. If so, you may have not properly terminated svnserve. You will also want to clean up for yourself by making sure that you’ve removed any information from the passwd and svnserv.conf files in the /var/svn/reponame folder.

Cheers!

Tags: , , ,



«      »