Posts or Comments 30 July 2010
cialis contrassegno prezzo viagra italia commander viagra generique cialis 10 prix zithromax generique acheter viagra belgique levitra generico forum acquisto viagra on line comprare cialis in svizzera viagra belgique sans ordonnance farmaco levitra viagra farmaco plavix prescription achat propecia cialis 10 mg funziona levitra acquisto on line acheter cialis original viagra alle donne viagra a vendre quebec vendita viagra on line compra viagra acheter lioresal acquista cialis generico cialis 20 prezzo acheter accutane acheter amoxicillin levitra france flagyl 500 mg cialis super active viagra rapide vendita cialis generico viagra reseller femme viagra propecia pharmacie propecia moins cher paris acheter priligy dapoxétine viagra sans ordonnance viagra prezzo in farmacia costo cialis prescrizione cialis viagra france comprare viagra in internet comprare viagra senza carta di credito svizzera viagra cialis farmaco dysfonction erectile acquistare cialis generico cialis costo kamagra 100 médicaments cipralex acheter viagra pas chere clomid ordonnance priligy canada viagra svizzera ricetta cialis 20 mg farmacie viagra acquistare viagra su internet viagra a vendre acheter lioresal baclofen acquistare viagra in contrassegno acheter clomid en france prix plavix france acheter cialis 20mg viagra x donne farmaco cialis pfizer viagra prix kamagra inde acheter viagra cialis acheter viagra quebec cialis 5 mg quanto costa acheter cialis viagra levitra 10 mg generico viagra pour femme en france viagra prix officiel sildenafil prezzo viagra prix france cialis 5 mg prezzo aquisto levitra viagra dove comprarlo cialis le prix acheter zovirax comprare viagra a roma viagra generique en pharmacie strattera prix tadalafil naturale cialis costo farmacia forum cialis generico viagra femme forum cialis naturale tadalafil generico italia achat de viagra levitra prezzo in farmacia levitra medicinale comprare viagra in farmacia pharmacie propecia viagra farmacie viagra a vendre montreal kamagra pas cher cialis su internet viagra generico funziona prix propecia pharmacie viagra des femmes viagra acquisto in contrassegno flagyl sans ordonnance achat clomid en france azithromycin 250 mg forum achat viagra prezzo levitra 10 mg cialis generico online cialis farmacia svizzera prix cialis 5 achat nolvadex acheter cialis forum viagra medicinale compro levitra viagra da 50 acquisto viagra italia viagra ricetta levitra 20 mg viagra cialis levitra differenze acheter flagyl metronidazole viagra sublinguale viagra vendita in italia cialis a roma kamagra prezzo medicinale cialis comprare cialis online viagra cialis differenza levitra confezioni e prezzi propecia ordonnance costo viagra farmacia flagyl ordonnance acquisto cialis generico acheter cialis sans ordonnance cialis 20 mg effetti collaterali strattera 80 mg acheter accutane en ligne prix zovirax prix plavix plavix 75mg proscar sans ordonnance acheter azithromycin acquistare viagra generico italia farmacia cialis compra viagra in italia viagra 25 mg prix paxil 10 mg viagra generico in italia cialis vendita farmacia prezzo cialis 20 mg sildenafil donne achat cialis cialis vendita on line viagra generico contrassegno nolvadex achat vendita cialis online cialis generico senza ricetta acheter kamagra france propecia prix paris generique du viagra cialis senza prescrizione medica viagra generico senza ricetta prezzo cialis farmacia viagra generico forum cialis achat france prix cialis en france cialis o simili clomid 200mg prezzo viagra achat cialis en france viagra cialis acheter sildenafil moins cher viagra farmacia cialis per donne cialis generico esiste finasteride 1mg prix cialis 5 prix prix finasteride acheter viagra femme costo levitra acheter clomid ciprofloxacin 250 mg aciclovir prix compra viagra generico viagra pasti viagra generique acheter finasteride prix viagra senza prescrizione vendo cialis originale sildenafil 50 mg zovirax sans ordonnance vendita cialis originale cialis 20 mg compra costo levitra 10 mg cialis naturale forum prezzo cialis in farmacia acheter clomid sans ordonnance le viagra viagra compresse avis priligy viagra authentique baclofen médicament prix cialis generique acheter viagra en ligne costo cialis generico cialis acquisto cialis vendita in italia cialis senza ricetta viagra 50 mg viagra quanto costa in farmacia acheter plavix vendita viagra generico compresse cialis acheter viagra comprare viagra internet cialis generico contrassegno acquistare viagra farmacia viagra achat achat cialis 5mg prescrizione viagra achat propecia en ligne nolvadex sans ordonnance acquisto cialis net clomid achat acheter viagra doctissimo paxil 30mg generique plavix france viagra offerte levitra in farmacia médicament cipro kamagra suisse acheter viagra en suisse viagra simili viagra per donne cialis aus indien levitra compresse clomid deux comprimés zovirax prix achat de levitra achat cialis original vendita levitra acheter cialis 5mg viagra senza ricetta in italia kamagra en belgique cialis acquisto on line ciprofloxacin 500mg viagra miglior prezzo cialis sito sicuro propecia vente acquistare viagra prezzo cialis italia prezzo levitra pharmacie en ligne propecia prescription achat viagra generique cialis 20 mg compresse achat viagra pour femme achete levitra prix viagra pharmacie viagra donne super viagra propecia pas chere priligy achat acheter viagra generic prix du viagra acquisto levitra online viagra pour femme compro viagra amoxicilline médicament cialis generico italia proscar 5mg acquisto cialis senza ricetta impuissance erection acquistare viagra online forum viagra pour femme prezzo farmacia cialis viagra le prix viagra acquisto farmacia priligy dapoxetine levitra effet secondaire costo cialis 20 mg levitra acquisto comprare cialis sicuro cialis comprare online viagra india viagra meilleur prix viagra sostituto viagra 100 mg viagra e cialis differenze acquisto viagra svizzera cialis generico prezzo commander kamagra cialis 20 mg in farmacia plavix ou generique vendo cialis levitra serve ricetta cialis naturale alle erbe tadalafil generico viagra in svizzera acquistare cialis a san marino cialis 10mg prix propecia suisse viagra en belgique nolvadex 10mg aciclovir comprimé prix propecia paris prezzo viagra in farmacia viagra ou similaire cialis farmacia on line viagra senza ricetta kamagra pharmacie cialis acquista viagra generico vendita viagra super active viagra milano propecia en ligne levitra 10 mg costo acheter du levitra accutane sans ordonnance vendita libera viagra viagra pfizer achat ricetta levitra cialis 5 mg viagra à vendre strattera 10 mg forum viagra en ligne cialis vendita italia pilule levitra acquistare viagra sicuro tadalafil 20mg alternativa viagra acheter kamagra aquisto cialis acheter clomid en ligne acquisto cialis vendita cialis in contrassegno prix viagra suisse vardenafil generico kamagra controindicazioni viagra in vendita tadalafil acquisto prix viagra 100mg lasix 20 mg cialis originale online zovirax ordonnance simili viagra cialis prezzo in farmacia viagra inde ordonnance cialis viagra prix en pharmacie lasix 40 mg

Archive for "Subversion"



Server Architecture & Subversion Matt | 11 May 2007

Using Subversion Part 2 – Auto Publish a Subversion commit

Subversion comes prebuilt with a system of “hooks”. Basically for most actions you would perform with a subversion repository you can also hook another program up to that action. For example you can tell subversion to also update a site locally on each commit.

The first step in this process is to make sure that your website as it exists on your dev server has been checked out from subversion and that permissions and ownership is set as you want it (that part’s up to you and outside the scope of this post). Let’s say I was working on the google site that was held in my repository in the “site” directory, I’d do something like:

svn checkout file:///home/google/repository/site/trunk/ webroot/

Now that a fresh checkout exists in the webroot, we’ll set things up to do an automatic subversion “update” on each commit.

From the subversion FAQ’s I found this handy chunk of C code.

#include
#include
#include
int main(void)
{
  execl("/usr/bin/svn", "svn", "update", "/path/to/site/webroot/",
        (const char *) NULL);
  return(EXIT_FAILURE);
}

The FAQ basically says that you take this chunk of code, add your own webroot path and compile it. If you’re like me and you compile C code once every year, or perhaps never, here’s the specifics on a Linux box. I use the gcc compiler and save the file as “update_site.c”

gcc update_site.c -o update_site

Not too complicated.

Now to preserve file permissions on your site properly, make sure that the owner of the website can execute this program from the svn hook but changing the mode of the compiled program to add the s switch.

chmod +s update_site

The last step is to tell subversion that it should run this update_site program after each commit. In your repository navigate to the hooks directory on the file system. Open up the file called post-commit.tmpl. There’s a couple example lines at the bottom of mine that execute python scripts for mailing and logging the commit, I just comment those out by putting a # in from of the lines and then on the last line of the file add the full path to the new update_site script. Like: /full/path/to/update_site

When you’re done, copy or move this post-commit.tmpl template to just post-commit and make sure that the webserver user can execute it.

With this process, you’re pretending that the webroot is the working directory for a subversion user. This means that the .svn directories normally in your working directory will now be present in the webroot as well. In case you have any passwords mixed in with you’re code, disable browsing of those directories in Apache. Thankfully this isn’t often an issue with ColdFusion datasources but it still doesn’t hurt to be safe.

Add the following to your apache httpd.conf file:

# Disallow browsing of Subversion working copy administrative dirs.

    Order deny,allow
    Deny from all

Server Architecture & Subversion Matt | 09 May 2007

Using Subversion Part 1 – Build Subversion Repository with Apache htaccess authentication

One of my responsibilities at Aslan is the Linux SysAdmin. I’ve decided to replace my job with several tiny robots and take on the title of Linux Architect instead. One of the main things to manage is a subversion repository for each project we work on. Rather than keep documentation around for me to manually follow a set of steps for each new repo, I’m using the Bourne shell to write a script that will backup the existing site, create a repository, and make a login and password to use when accessing the repository though a local svn client.

Part 2 will show how to have a site automatically publish itself to the dev server on each commit.

For now, here’s some code for Part 1:

#!/bin/sh
echo "creating svn repository and moving files ..."
tar zcvf htdocs.tgz htdocs &&
svnadmin create repository &&
mkdir site &&
mkdir site/trunk &&
mv htdocs/* site/trunk/ &&
rm -rf htdocs &&
ln -s site/trunk htdocs &&
svn import site file://$PWD/repository/site -m "initial import" &&


echo "Who owns this directory?"
read owner
echo using ... $owner
chown -R $owner:$owner * &&
chown -R apache repository &&


# make apache hook for subversion
APACHESVN=/etc/httpd/conf.d/subv-$owner.conf
touch $APACHESVN
echo "" >> $APACHESVN
echo "DAV svn" >> $APACHESVN
echo "SVNPathAuthz off" >> $APACHESVN
echo "SVNPath $PWD/repository" >> $APACHESVN
echo "SSLRequireSSL" >> $APACHESVN
echo "AuthType Basic" >> $APACHESVN
echo "AuthName \"$owner\"" >> $APACHESVN
echo "AuthUserFile $PWD/subv-auth" >> $APACHESVN
echo "Require valid-user" >> $APACHESVN
echo "" >> $APACHESVN


echo "Supply a username for accessing the svn repository"
read svnuser
echo "thanks, how about a password"
read svnpass
echo "I'm using $svnuser and $svnpass"


htpasswd -bc $PWD/svn-auth $svnuser $svnpass &&
/etc/init.d/httpd stop &&
/etc/init.d/httpd start &&
echo "all done"


google