<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sheepdog IT &#187; Apache</title>
	<atom:link href="http://www.sheepdogit.com/category/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sheepdogit.com</link>
	<description>Herding Penguins for over 5 years</description>
	<lastBuildDate>Tue, 15 Jun 2010 20:35:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&quot;No input file specified&quot; mod_rewrite Problem</title>
		<link>http://www.sheepdogit.com/2008/07/29/no-input-file-specified-mod_rewrite-problem/</link>
		<comments>http://www.sheepdogit.com/2008/07/29/no-input-file-specified-mod_rewrite-problem/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 05:14:52 +0000</pubDate>
		<dc:creator>Bozzie</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://bozziesfw.wordpress.com/?p=68</guid>
		<description><![CDATA[I made several changes to some mod_rewrite rules which were working fine on my local Apache server.  I then published to a staging site hosted on GoDaddy for further testing.  The rules which directed permalinks to a PHP program stopped working; &#8220;no input file specified&#8221; appeared on my browser instead.  No access to [...]]]></description>
			<content:encoded><![CDATA[<p>I made several changes to some <em>mod_rewrite</em> rules which were working fine on my local Apache server.  I then published to a staging site hosted on GoDaddy for further testing.  The rules which directed permalinks to a PHP program stopped working; &#8220;no input file specified&#8221; appeared on my browser instead.  No access to the error logs on this bargain basement hosting plan makes debugging all but impossible.</p>
<p>I finally found <a title="No input file specified." href="http://forums.pligg.com/installation-upgrade-help/9711-solution-no-input-file-specified.html">this post</a> which presented a solution:</p>
<blockquote><p>&#8220;Turn off MultiViews. It seems when MultiViews is enabled there is confusion between MultiViews and the RewriteRules. So if you go to /user there will be no problem, MultiViews will translate it to /user.php. However when you go to /user/blah/login/blah or one of the other more complex clean URLs it gets confused.&#8221;</p></blockquote>
<p>Adding <em>&#8220;Options -Multiviews&#8221;</em> to my .htaccess file fixed the problem.  Not sure why this only happens on my GoDaddy account and not locally or at our other hosting accounts.  Is this the one and only error that results from Multiviews and ModRewrite colliding, or are there others?  If so, maybe I&#8217;ll shut off Multiviews on all my web sites until I need to add multiple language support.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sheepdogit.com/2008/07/29/no-input-file-specified-mod_rewrite-problem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Canonical Web URLs using the Apache Rewrite Engine</title>
		<link>http://www.sheepdogit.com/2007/06/11/canonical-web-urls-apache-rewrite-engine-2/</link>
		<comments>http://www.sheepdogit.com/2007/06/11/canonical-web-urls-apache-rewrite-engine-2/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 01:47:49 +0000</pubDate>
		<dc:creator>Bozzie</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://bozziesfw.wordpress.com/2007/06/11/new/</guid>
		<description><![CDATA[With current browsers and typical ISP web hosting account http server setups, surfers can view a web site by typing either www.example.com or example.com into their browser&#8217;s URL field. Prevailing wisdom in the SEO community is that web administors should convert all visits to one or the other. They suggest that if your site&#8217;s visitors [...]]]></description>
			<content:encoded><![CDATA[<p>With current browsers and typical ISP web hosting account <em>http </em>server setups, surfers can view a web site by typing either <em>www.example.com</em> or <em>example.com</em> into their browser&#8217;s URL field. <a href="http://www.sitepoint.com/blogs/2005/06/14/examplecom-vs-wwwexamplecom-trouble/" title="example.com vs. www.example.com">Prevailing wisdom</a> in the SEO community is that web administors should convert all visits to one or the other. They suggest that if your site&#8217;s visitors split half &amp; half in their choice of URL<em>,</em> Google and other page rankers may see the two variants as separate sites and divide your page visits accordingly (or even drop one set of pages as duplicates). <a href="http://www.mattcutts.com/blog/seo-advice-url-canonicalization/" title="SEO Advice">Matt Cutts from Google</a> suggests canonicalization as a good idea, but doesn&#8217;t comment on any problems if you don&#8217;t. It seems to me that converting all visitors to a canonical URL has no downside and many benefits, so I decided to do it.</p>
<h3>Using Apache&#8217;s Rewrite Engine to Force the use of one Server Name</h3>
<p>We can consolidate all visitors to a single, canonical  form of the server name portion of our<em> </em>URL using the Apache rewrite engine.  The Apache documentation&#8217;s <a href="http://httpd.apache.org/docs/2.0/misc/rewriteguide.html" title="Apache HTTP Server Version 2.0, URL Rewriting Guide">Rewriting Guide</a> presents example code related to this case:</p>
<pre>   RewriteCond %{HTTP_HOST}   !^www\\.domain\\.name [NC]
   RewriteCond %{HTTP_HOST}   !^$
   RewriteRule ^<strong><font color="#ff0000">/</font></strong>(.*)         http://www.domain.name/$1 [L,R]</pre>
<p>I tried this code on two different ISP accounts and could not get it to work. After checking all sorts of blind alleys, I realized that none of my other rewriting rules started with a slash, so I took it (shown in red) out and the rule started working. Either the example in the Apache manual is wrong, or some server installations pass the opening slash to the engine and others (like my two ISPs) do not.</p>
<p>Although the example now worked, it required hand-editing for each new site. So I wrote the following rule set which can be inserted into any root <em>.htaccess</em> file:</p>
<pre>   # Force top-level "domain.com" requests to "www.domain.com":
   RewriteCond %{HTTP_HOST}   !^www\\. [NC]
   RewriteCond %{HTTP_HOST}   ^[^.]+\\.(com|edu|net|org)$ [NC]
   RewriteRule (.*)           http://www.%{HTTP_HOST}/$1 [R=permanent,L]
   # NOTE: Other rules must follow the www rule:
   RewriteRule ^sitemap.xml   sitemap.php [NC]</pre>
<p>The second rewrite condition restricts the rule to primary domain requests, preventing intranet, subdomain, and/or <em>localhost</em> accesses from being rewritten.  I also set the <em>force redirect</em> (R) flag code to permanent (301).  The <em>last rule</em> (L) flag instructs the engine to stop rewriting and return the redirect at this point. The browser receives the 301 message and re-requests the page using the canonical form. Canonical page requests are scanned by any other rewriting rules, which should always follow the renaming rules.</p>
<h3>To Prefix or Not to Prefix, That is the Question</h3>
<p>My final rule set above chooses the &#8220;www&#8221; variant as the canonical form. However, the <a href="http://no-www.org/" title="WWW is Deprecated"><em>WWW is Deprecated</em></a> folks advocate choosing the non-prefixed form &#8212; &#8220;use of the www subdomain is redundant and time consuming to communicate. The internet, media, and society are all better off without it.&#8221;</p>
<p>Excellent point, but small sites must follow the real-world trendsetters in matters like this.  A quick survey shows that <a href="http://yahoo.com" title="yahoo sans WWW">yahoo.com</a>, <a href="http://google.com" title="Google sans WWW">google.com</a>, and <a href="http://msn.com" title="MSN sans WWW">msn.com</a> all choose &#8220;www&#8221; as their canonical URL format.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sheepdogit.com/2007/06/11/canonical-web-urls-apache-rewrite-engine-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web Hosting Notes, Requirements, Comparison</title>
		<link>http://www.sheepdogit.com/2007/06/03/web-hosting-notes-requirements-comparison/</link>
		<comments>http://www.sheepdogit.com/2007/06/03/web-hosting-notes-requirements-comparison/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 11:12:04 +0000</pubDate>
		<dc:creator>Bozzie</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[WebHosting]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://bozziesfw.wordpress.com/2007/06/03/linux-isp-notes-requirements-comparison/</guid>
		<description><![CDATA[I now have 3 different Apache hosting environments: my openSUSE 10.2 workstation, GoDaddy, and A2Hosting. Signing up for a month is the only way to determine if a web application will work on an ISP&#8217;s service.  Their hosting environments are all slightly different.  Here are the issues I&#8217;ve encountered getting a PHP web [...]]]></description>
			<content:encoded><![CDATA[<p>I now have 3 different Apache hosting environments: my openSUSE 10.2 workstation, GoDaddy, and A2Hosting. Signing up for a month is the only way to determine if a web application will work on an ISP&#8217;s service.  Their hosting environments are all slightly different.  Here are the issues I&#8217;ve encountered getting a PHP web application running on each system.</p>
<h3>openSUSE 10.2</h3>
<ul>
<li>Apache2, PHP 5.2, mod_php, mod_rewrite.</li>
<li>PHP <i>magic_quotes_gpc</i> is set to <i>off</i> in openSUSE (the proper choice, but <i>not</i> the PHP default as I painfully learned when installing at the ISPs).</li>
<li>PEAR supported in the Apache PHP include path.</li>
<li>Subdirectories written into by the application (e.g. Smarty template compilation area) need world-write privilege.</li>
</ul>
<h3>GoDaddy Hosting</h3>
<ul>
<li>Apache1.3, PHP4 (5.1.4 optional), CGI/fastCGI, mod_rewrite.</li>
<li> Cannot use <i>php_flag</i> because using CGI, must use <i>php5.ini</i> instead.</li>
<li>Switch from PHP 4 to 5 in <i>.htaccess</i>:<br />
<i>AddHandler x-httpd-php5 .php<br />
AddHandler x-httpd-php  .php4</i></li>
<li>PHP <i>magic_quotes_gpc</i> on by default, turn off with local <i>php5.ini</i> file.</li>
<li>AllowOverride Options disabled, can&#8217;t use in <i>.htaccess</i>.</li>
<li>Files created by web site users (i.e. by the <i>httpd</i> user) have the same uid/gid as my ftp login user.  An excellent configuration approach, as I don&#8217;t need to give world write privileges to local data subdirectories.</li>
<li>ini_set(&#8217;session.cache_limiter&#8217;, &#8216;private&#8217;) causes server 500 error.</li>
</ul>
<h3>A2 Hosting</h3>
<ul>
<li>Apache 1.x (server_signature empty), PHP 5.2, mod_php, mod_rewrite.</li>
<li>PHP <i>magic_quotes_gpc</i> is on by default, turn off using <i>php_flag</i> (here is the <a href="http://us.php.net/manual/en/configuration.changes.php#configuration.changes.apache" title="PHP Manual"><i>Running PHP as an Apache Module</i></a> PHP man page describing how to use <i>php.ini </i>directives within <i>.htaccess</i>).</li>
<li>Subdirectories written to by the application need world-write privilege.  My ftp area is a <i>public_html</i> directory, so A2 uses <i>mod_userdir.</i> The home directory looks similar to my local workstation.</li>
<li>ini_set(&#8217;session.cache_limiter&#8217;, &#8216;private&#8217;) works fine. Moved this parameter to a <i>php_flag</i> directive.</li>
<li>A2 mentions PEAR support on their web page, but they don&#8217;t add the directory to the PHP include path and only offer a handful of modules.  Will add modules per customer request, but what will happen if they move my account to a different server?</li>
</ul>
<h3>Web Hosting Requirements</h3>
<ul>
<li>PHP Extensions: CURL, XMLWriter.</li>
<li>Apache Modules: rewrite.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.sheepdogit.com/2007/06/03/web-hosting-notes-requirements-comparison/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring Apache using YaST, openSUSE 10.2</title>
		<link>http://www.sheepdogit.com/2007/02/24/configuring-apache-using-yast-opensuse-102/</link>
		<comments>http://www.sheepdogit.com/2007/02/24/configuring-apache-using-yast-opensuse-102/#comments</comments>
		<pubDate>Sat, 24 Feb 2007 11:36:38 +0000</pubDate>
		<dc:creator>Bozzie</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[SUSE]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[YaST]]></category>
		<category><![CDATA[opensuse]]></category>

		<guid isPermaLink="false">http://bozziesfw.wordpress.com/2007/02/24/configure-apache-with-yast/</guid>
		<description><![CDATA[Configure Apache2 on openSUSE 10.2 with YaST instead of editing conf files. YaST is very efficient for initial Apache installation and for adding, enabling, and disabling server modules.]]></description>
			<content:encoded><![CDATA[<p>I configure Apache2 on openSUSE with YaST rather than editing the configuration files directly. If this is your first time installing Apache on openSUSE, I highly recommend it. YaST is a big time-saver for two aspects of Apache configuration: the initial installation and adding, enabling, and disabling server modules. A default server configuration supporting Perl and PHP can be up and running in less than an hour using YaST.</p>
<p>YaST isn&#8217;t good at all facets of Apache configuration so some editing of <em>conf</em> files may eventually be needed. If manual editing is required, why not use it exclusively?  Because once you go manual, you can&#8217;t switch back to YaST when major changes are needed.  I like the fact that if I install a new web application that needs several additional Apache modules, I can use YaST to enable them in a couple of minutes, often without having to learn anything about them.</p>
<p>I also like the fact that using YaST to configure Apache will give me a configuration closely matched to thousands of other openSUSE Apache servers.  This makes it likely that I will get a functional, robust <em>httpd</em> set up at the start.  Then I can incrementally add modules and customizations as needed, testing as I go.</p>
<p>Following is a YaST-based recipe to install a straightforward <em>httpd</em> configuration with Perl, PHP, and <em>mod_userdir</em> enabled. Subversion, WebDAV, and virtual host support are also added (using some conf file editing). Finally, the added bookkeeping steps that allow YaST and hand-edited <em>conf</em> files to co-exist are presented.</p>
<h4>Part I: Content-Independent Configuration</h4>
<p>Part 1 installs a functional (but empty) <em>httpd </em>server with all modules and parameters properly configured.  Connections to the site-specific content are discussed in Part 2.</p>
<ol>
<li><em>OpenSUSE</em> scatters Apache <em>conf</em> files among <em>/etc/apache2</em> and  its <em>conf.d</em>, <em>sysconfig.d</em> and <em>vhosts.d</em> sub-directories. Keep a copy of the original conf files to determine what YaST has done and add source code control repositories to manage manually edited files:
<ul>
<li><code>cd /etc/apache2</code></li>
<li><code>mkdir ORIG; cp -p *.conf ORIG</code></li>
<li><code>mkdir RCS</code></li>
<li>Repeat for the three &#8220;.d&#8221; subdirectories.</li>
</ul>
</li>
<li>Start YaST/ Network Services/ HTTP Server:
<ul>
<li>Turn on <em>php, perl, python </em>and/or <em>ruby </em>in a special configuration page that only appears once (one can still turn these on/off later, but it&#8217;s easier to do here).</li>
<li>Accept defaults in the Server Wizard (5 pages), except choose <em>Start When Booting</em> on page 5.</li>
<li>Click Advanced Configuration.</li>
<li> In the Server Modules tab, enable <em>dav, dav_fs, info, rewrite </em>and <em>status</em>.</li>
<li>Needed to <em>Add Module</em> for <em>dav_svn</em> but the YaST screen would not accept input, so I hit <em>Finish </em>(will add in Step 3).<em><br />
</em></li>
<li>The server starts.  <em>http://localhost</em> just says &#8220;It works!&#8221; instead of the normal Apache welcome page.  Didn&#8217;t like this so I copied <em>index.html</em> from an old SUSE 10.0 installation.</li>
<li>Read the comments in all of the <em>/etc/apache2/conf.d/*.conf</em> files, some of which are controlled by <em>IfDefine</em> blocks.  For my installation, I learned I needed to add the <em>SVN_DOC </em>and<em> SVN_VIEWCVS </em>flags (next step)<em>.</em></li>
</ul>
</li>
<li>Start YaST/ System/ sysconfig Editor:
<ul>
<li>Select Network, WWW, Apache2.</li>
<li>Highlight <em>APACHE_MODULES.</em> Add<em> dav_svn</em> into the Modules line.<strong> Note: </strong>Don&#8217;t hand-edit <em>dav_svn</em> into <em>/etc/apache2/sysconfig.d/loadmodule.conf</em>, as YaST will just remove it next time it runs.</li>
<li>Highlight <em>APACHE_SERVER_FLAGS.</em> Type <em>&#8220;SVN_DOC </em><em>SVN_VIEWCVS&#8221; </em>into the text field.</li>
<li>Finish.</li>
</ul>
</li>
<li>A diff of <em>ORIG/default-server.conf</em> with the one YaST created shows that YaST removed the <em>mod_userdir</em> section, changed indents, and added ServerName and ServerAdmin.  Thus I chose the original distribution <em>.conf </em>as my starting point:
<ul>
<li><code>mv default-server.conf{,.YAST}</code></li>
<li><code>cp ORIG/default-server.conf <strong>.</strong><br />
</code></li>
<li><code>ci -l default-server.conf</code></li>
<li>Edit with a text editor and copy the ServerName and ServerAdmin directives from the YaST version into <em>default-server.conf.</em></li>
<li><code>ci -l default-server.conf</code></li>
</ul>
</li>
<li>Restart YaST/ Network Services/ HTTP Server:
<ul>
<li>Select the Server Modules tab and verify that the <em>dav_svn </em>module appears.</li>
<li>Exit or Abort.</li>
<li><strong>Note:</strong> from this point forward, if YaST/HTTP Server is re-run and Finish is clicked, <em>default-server.con</em>f and <em>/etc/sysconfig/apache2 </em>will be overwritten.  Capture a snapshot before running or retrieve original from RCS archive afterward.</li>
</ul>
</li>
<li>Check the syntax of all configuration files and reload <em>httpd</em>:<br />
<code>rcapache2 restart-hup</code></li>
<li>Browse <em>http://localhost/server-info</em> and <em>server-status. </em>Verify all desired modules are present and running.</li>
<li>Browse <em>//localhost/manual</em> and<em> localhost/svn-manual</em> to see documentation.</li>
</ol>
<p>The content-independent phase of installation is complete.</p>
<h4>Part II: Serving Local Site Content</h4>
<p>To prepare for Part 2, load all content files that are outside of the server document root (e.g. Subversion repositories, WebDAV directories, and user <em>public_html </em>areas). I keep my Subversion repositories under <em>/home/wwwrun/svn</em>, giving them the same owner and group as the <em>httpd </em>process.</p>
<ol>
<li>Verify that browsing a <em>http://localhost/~&lt;username&gt;</em> directory works.</li>
<li>Subversion repository configuration goes in the <em>/etc/apache2/conf.d/subversion.conf</em> file.   I piggybacked the WebDAV configuration into this file rather than creating a separate file: <a href="http://www.sheepdogit.com/wp-content/uploads/subversion_conf.txt">subversion.conf</a>. Also, I add Basic Auth to ViewVC in <em>subversion.viewvc.conf</em> (see earlier blog entry for an explanation).</li>
<li>Use <em>htpasswd2</em> to create the basic authentication password file.</li>
<li>Create a <em>/var/lock/apache2</em> directory (user <em>wwwrun,</em> group<em> www</em>).</li>
<li><code>rcapache2 configtest</code></li>
<li><code>rcapache2 restart-hup</code></li>
<li>Browse <em>http://localhost/svn/&lt;reponame&gt;.</em> Username and password are requested and the repository appears.  Run <em>RapidSVN </em>from a Windows machine to verify connectivity.</li>
<li>Edit <em>/srv/viewvc/viewvc.conf</em> to add root or root_parents, default root, and <em>mailto.</em></li>
<li>Browse <em>http://localhost/viewvc</em> , username and password are requested, then the ViewVC page appears.  Click on the &#8220;ViewVC Help&#8221; hyperlink and the documentation appears.</li>
<li>Using <strong><em>Konqueror,</em></strong> browse <em>webdav://localhost/fs</em> and a folder view of the WebDAV folder appears.</li>
<li>See this <a title="WebDAV Web Folders for WindowsXP, FrontPage" href="http://bozziesfw.wordpress.com/2007/01/10/webdav-windows-xp-frontpage/">blog entry</a> for details of connecting to WebDAV via WindowsXP.</li>
</ol>
<p>All of my local Subversion, WebDAV, and web page content is now available via Apache.</p>
<h4>Part III: Virtual Hosts</h4>
<p>Finally I&#8217;ll add virtual hosts for my various development, prototype, and staging areas.  The YaST HTTP Server GUI offers a screen to do this, but I chose to start with the as-delivered file just as with <em>default-server.conf.</em></p>
<ol>
<li>Create a<em> </em>new<em> conf</em> file in <em>/etc/apache2/vhosts.d </em>(e.g.<em> LLvhost.conf</em> in my case).  I copied the <em>vhost.template</em> as the starting point.</li>
<li>I defined four virtual servers:
<ul>
<li><em>localhost</em> &#8211; contains only a ServerName statement to serve as the default server.</li>
<li><em>llxxx</em> &#8211; three name-based servers that have document roots in various code development sub-directories.  Each of these gets a separate set of error and access log files.</li>
</ul>
</li>
<li>Uncomment the <em>NameVirtualHost *:80</em> line in <em>/etc/apache2/listen.conf</em>.</li>
<li>Add the three name-based server names to <em>/etc/hosts</em> as synonyms for localhost.</li>
<li><code>rcapache2 configtest</code></li>
<li><code>rcapache2 restart-hup</code></li>
<li>Browse <em>http://llxxx</em> and the virtual host content appears.  Verify that log information appears in the correct file pair in <em>/var/log/apache2.</em></li>
</ol>
<h4>Part IV: Configuration Control and Maintenance</h4>
<p>The Apache server installation is now complete.  But adding source code control is necessary to safely re-run YaST/ Network Services/ HTTP Server Configuration in the future.  Whenever <em>HTTP Server Configuration</em> is  ended with Save or Finish, any of the <em>conf</em> files may be overwritten, obliterating prior manual edits. Source code control allows us to manage and resolve this conflict.</p>
<p>Using the unaltered <em>conf</em> files in the ORIG directories as references, perform a <em>diff</em> of all of the conf files to learn which have been  customized. Any altered <em>conf</em> files that were hand-edited should be placed under configuration control (e.g. CVS, Subversion, RCS).  Consider controlling the YaST-altered files as well.</p>
<p>I maintain five files in RCS: <em>default-server.conf,  mod_userdir.conf, subversion.conf,  subversion.viewvc.conf, LLvhost.conf.</em> After saving any new <em>HTTP Server Configuration </em>session, I use <em>rcsdiff</em> to learn what changes have been made to these files. Review the changes and either restore the last version from RCS or check in a new revision as appropriate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sheepdogit.com/2007/02/24/configuring-apache-using-yast-opensuse-102/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Apache Configuration for SVN, WebDAV</title>
		<link>http://www.sheepdogit.com/2007/01/24/apache-configuration-for-svn-webdav/</link>
		<comments>http://www.sheepdogit.com/2007/01/24/apache-configuration-for-svn-webdav/#comments</comments>
		<pubDate>Wed, 24 Jan 2007 10:57:39 +0000</pubDate>
		<dc:creator>Bozzie</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[webdav]]></category>

		<guid isPermaLink="false">http://bozziesfw.wordpress.com/2007/01/24/apache-configuration-for-svn-webdav/</guid>
		<description><![CDATA[Here is my current Apache2 config file&#8217;s subsection  for serving Subversion and WebDAV folders: default-server.conf (webdav fragment).
Comments:

I&#8217;m using  AuthType Basic for svn, viewcvs, and filesystem DAV access.  It provides some security, and is also necessary for WindowsXP, which apparently will not connect to a Web Folder with no authentication.
The viewCVS location needs its [...]]]></description>
			<content:encoded><![CDATA[<p>Here is my current Apache2 config file&#8217;s subsection  for serving Subversion and WebDAV folders: <a href="http://www.sheepdogit.com/wp-content/uploads/default-server-webdav_conf.txt">default-server.conf (webdav fragment)</a>.</p>
<p>Comments:</p>
<ul>
<li>I&#8217;m using  <code>AuthType Basic</code> for <em>svn, viewcvs, </em>and <em>filesystem</em> DAV access.  It provides some security, and is also necessary for WindowsXP, which apparently will not connect to a Web Folder with no authentication.</li>
<li>The <em>viewCVS</em> location needs its own authentication, since this tool accesses the SVN repository directly using the <code>file:</code><code> </code>protocol. In doing so, it bypasses the http server <em>/svn</em> location and its associated authentication.</li>
<li>The<code> SVNParentPath</code> is convenient because new SVN repositories can be added without editing the <em>conf</em> file.  The downside is that different users can&#8217;t be restricted to particular repositories or given different access privileges.</li>
<li>ViewCVS has an additional configuration file <code>/srv/viewcvs/viewcvs.conf </code>that must contain the roots of all repositories, plus a few other items.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.sheepdogit.com/2007/01/24/apache-configuration-for-svn-webdav/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows XP and WebDAV</title>
		<link>http://www.sheepdogit.com/2006/11/15/windows-xp-and-webdav/</link>
		<comments>http://www.sheepdogit.com/2006/11/15/windows-xp-and-webdav/#comments</comments>
		<pubDate>Wed, 15 Nov 2006 10:09:37 +0000</pubDate>
		<dc:creator>Bozzie</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[webdav]]></category>

		<guid isPermaLink="false">http://bozziesfw.wordpress.com/2006/11/15/windows-xp-and-webdav/</guid>
		<description><![CDATA[Tried to connect to my SVN WebDAV folder from Windows XP, both from Add Network Place and using FrontPage.  FrontPage worked first try and was able to download the repository.  To upload, I need a dav_fs filesystem, not dav_svn.
Add Network Place failed as described in a Caltech web page found with Google(Windows XP [...]]]></description>
			<content:encoded><![CDATA[<p>Tried to connect to my SVN WebDAV folder from Windows XP, both from Add Network Place and using FrontPage.  FrontPage worked first try and was able to download the repository.  To upload, I need a dav_fs filesystem, not dav_svn.</p>
<p>Add Network Place failed as described in a Caltech web page found with Google(Windows XP WebDAV folder apache).  I will leave this until a WinXP process actually needs to connect.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sheepdogit.com/2006/11/15/windows-xp-and-webdav/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVN &#8211; Apache Authentication, ViewCVS</title>
		<link>http://www.sheepdogit.com/2006/11/14/svn-apache-authentication-viewcvs/</link>
		<comments>http://www.sheepdogit.com/2006/11/14/svn-apache-authentication-viewcvs/#comments</comments>
		<pubDate>Wed, 15 Nov 2006 06:52:56 +0000</pubDate>
		<dc:creator>Bozzie</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://bozziesfw.wordpress.com/2006/11/14/svn-apache-authentication-viewcvs/</guid>
		<description><![CDATA[Adding Basic Authentication
As detailed on 14 Nov, the lack of httpd authentication prevents svn updates from getting an author assigned.  So now I&#8217;m installing authentication per the Subversion instructions:

htpasswd2 -cm /etc/apache2/basicHTTPpasswd bozzie
Cut &#38; pasted the Auth{Type,Name,User} directives from the instructions into the &#60;Location&#62; /svn section of my default-server.conf file.  Cut &#38; pasted the [...]]]></description>
			<content:encoded><![CDATA[<h3>Adding Basic Authentication</h3>
<p>As detailed on 14 Nov, the lack of <em>httpd</em> authentication prevents <em>svn </em>updates from getting an author assigned.  So now I&#8217;m installing authentication per the Subversion instructions:</p>
<ul>
<li><code>htpasswd2 -cm /etc/apache2/basicHTTPpasswd bozzie</code></li>
<li>Cut &amp; pasted the Auth{Type,Name,User} directives from the instructions into the <code>&lt;Location&gt; /svn</code> section of my <code>default-server.conf</code> file.  Cut &amp; pasted the <code>Require valid-user</code> only for  write actions, also from the instructions.</li>
</ul>
<p>Re-created the repository and imported.  The import challenged for a password and the newly checked-in revision finally has an author.</p>
<p>SVN is ready for use, I think.</p>
<h3>ViewCVS (ViewVC)</h3>
<p>SuSE installs this package in <code>/srv/viewcvs</code>.  Finally found some installation instructions by downloading the current version from the Tigris web site and ad-libbing from the viewVC instructions.</p>
<p>Summary of mods to default-server.conf:</p>
<ul>
<li><code>Alias /viewcvs-docroot /srv/viewcvs/templates/docroot</code></li>
<li><code>ScriptAlias /viewcvs /srv/viewcvs/www/cgi/viewcvs.cgi</code></li>
<li>Plus <code>viewcvs.conf</code> must be edited.</li>
</ul>
<p>ViewCVS presents a serviceable graphic interface to SVN, which I imagine is even better in the current viewVC version.  There is also a graphing interface of some sort that I haven&#8217;t looked into yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sheepdogit.com/2006/11/14/svn-apache-authentication-viewcvs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CVS to Subversion Conversion</title>
		<link>http://www.sheepdogit.com/2006/11/14/cvs-to-subversion-conversion/</link>
		<comments>http://www.sheepdogit.com/2006/11/14/cvs-to-subversion-conversion/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 11:09:32 +0000</pubDate>
		<dc:creator>Bozzie</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://bozziesfw.wordpress.com/2006/11/14/cvs-to-subversion-conversion/</guid>
		<description><![CDATA[One of the main advantages of Subversion (SVN) over CVS is provision for network access via WebDAV vs. the custom CVS server.  That being the case, I decided to set up SVN with httpd access right from the start.
Apache Modifications:

 Added mod_dav &#38; mod_dav_syn using the SuSE Yast, Network Services, HTTPD screen.  This [...]]]></description>
			<content:encoded><![CDATA[<p>One of the main advantages of Subversion (SVN) over CVS is provision for network access via WebDAV vs. the custom CVS server.  That being the case, I decided to set up SVN with httpd access right from the start.</p>
<p>Apache Modifications:</p>
<ul>
<li> Added mod_dav &amp; mod_dav_syn using the SuSE Yast, Network Services, HTTPD screen.  This GUI stores data in /etc/sysconfig/apache2, which is then transferred into /etc/apache2/sysconfig.d/loadmodule.conf, where we are warned not to edit this file.  SuSE states that the purpose of this is to allow easy updating of Apache without having to re-edit all of the conf files.  I&#8217;m not convinced.</li>
</ul>
<ul>
<li>Added &lt;Location /svn&gt; directive to Apache default-server.conf</li>
</ul>
<p>Subversion Setup:</p>
<ul>
<li>Create Subversion repository (as user that runs httpd):<br />
<code>svnadmin create --fs-type fsfs ~/webdav/svn/llacct</code></li>
<li>Import trunk/branches/tags into ll as a one-project repository: <code>svn import ~/tmp/IMPORT http://localhost/svn/ll -m "Leads Lander Client Account"</code></li>
<li>View project: <code>svn checkout http://localhost/svn/ll/trunk</code></li>
<li>Am struggling with my config file and $Id$ keywords.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.sheepdogit.com/2006/11/14/cvs-to-subversion-conversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
