<?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"
	>

<channel>
	<title>MarcAmos.com</title>
	<atom:link href="http://marcamos.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://marcamos.com</link>
	<description>&#60;love&#62;&#60;/love&#62;</description>
	<pubDate>Tue, 18 Nov 2008 15:52:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Password-protect a Subdomain with Plesk</title>
		<link>http://marcamos.com/password-protect-a-subdomain-with-plesk/</link>
		<comments>http://marcamos.com/password-protect-a-subdomain-with-plesk/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 15:48:48 +0000</pubDate>
		<dc:creator>Marc Amos</dc:creator>
		
		<category><![CDATA[Business]]></category>

		<category><![CDATA[Hosting &amp; Domain]]></category>

		<category><![CDATA[command-line]]></category>

		<category><![CDATA[Media Temple]]></category>

		<category><![CDATA[mediatemple]]></category>

		<category><![CDATA[password protect]]></category>

		<category><![CDATA[Plesk]]></category>

		<category><![CDATA[sub-domain]]></category>

		<category><![CDATA[subdomain]]></category>

		<category><![CDATA[subdomains]]></category>

		<guid isPermaLink="false">http://marcamos.com/?p=143</guid>
		<description><![CDATA[My design and development business, Boston Web Studio, uses the Plesk Control Panel to manage its web hosting account. While Plesk has served me well for years, it does have one shortcoming that baffles me and many other folks: it doesn&#8217;t make it easy to password-protect a subdomain. It does provide an easy way to [...]]]></description>
			<content:encoded><![CDATA[<p>My design and development business, <a href="http://bostonwebstudio.com/">Boston Web Studio</a>, uses the <a href="http://www.parallels.com/products/plesk/">Plesk Control Panel</a> to manage its web hosting account. While Plesk has served me well for years, it does have one shortcoming that baffles me and <a href="http://www.google.com/search?q=password+protect+subdomain+Plesk">many other folks</a>: it doesn&rsquo;t make it easy to password-protect a subdomain. It <em>does</em> provide an easy way to password-protect directories under the <em>root domain</em> and it also provides an easy way to <em>create</em> subdomains, yet it doesn&rsquo;t combine these two features; if I want to password-protect a subdomain, I have to do it manually, and that means poking around my web server using a <a href="http://en.wikipedia.org/wiki/Command_line_interface">command-line interface</a>.</p>
<p><span id="more-143"></span></p>
<p>As a designer/front-end developer, I don&rsquo;t have a lot of experience working directly with a web server in this manner, but as it&rsquo;s the only way to password-protect a subdomain in my particular environment/situation (see below), I have no choice. After some searching online and some assistance from the ever-brilliant <a href="http://twitter.com/michaelwitwicki">Michael Witwicki</a>, I learned how to password-protect two subdomains on my web server and here is how I did it:</p>
<h4>My Environment/Situation</h4>
<ul>
<li>I needed to create and password-protect two subdomains&mdash;we&rsquo;ll refer to them as <strong><em>test</em></strong>.bostonwebstudio.com and <strong><em>example</em></strong>.bostonwebstudio.com for the sake of this article</li>
<li>I have a <a href="http://mediatemple.net/webhosting/dv/">(dv) server from Media Temple</a> with access to the secure shell (this isn&rsquo;t provided by default, but can be obtained with a request to Media Temple&rsquo;s support)</li>
<li>I use a Mac, so I used <a href="http://www.apple.com/macosx/technology/unix.html">Terminal</a> to work in the secure shell. <em>If you use Windows, I highly recommend using <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a></em></li>
</ul>
<p>I&rsquo;m willing to bet that the steps below will work in a variety of environments and situations but, again, I&rsquo;m a bit weak in that area of knowledge so it&rsquo;s up to you to determine if these steps will work for you.</p>
<h4>Create the Subdomain(s) in Plesk</h4>
<p>There isn&rsquo;t much to write about, but this <em>should</em> be the first thing you do. If you need assistance with this and the Plesk Subdomain setup tool isn&rsquo;t clear, read the <a href="http://download1.swsoft.com/Plesk/Plesk8.6/Doc/en-US/plesk-8.6-unix-administrators-guide/index.htm?fileName=22903.htm">official Plesk documentation on setting up subdomains</a>.</p>
<p>It&rsquo;s helpful to know that after a subdomain is created in Plesk on a Media Temple (dv) server, its location in the directory structure is: /var/www/vhosts/<strong><em>rootdomain</em></strong>.com/subdomains/<strong><em>subdomain</em></strong>. Again, this may be common in other server environments, or, it may not be.</p>
<h4>Password-protect One of the Subdomains</h4>
<p>As I wrote earlier, I needed to protect <em>two</em> unique subdomains with different credentials, meaning that the <strong><em>test</em></strong>.bostonwebstudio.com subdomain required a different username and password than the <strong><em>example</em></strong>.bostonwebstudio.com subdomain.</p>
<p>First, I&rsquo;m going to explain how to set up the password-protection for one subdomain, then I&rsquo;ll explain how to step through the instructions again with just a few details changed in order to <a href="#anotherSubdomain">create password-protection for a second subdomain</a>.</p>
<ol>
<li><strong>Log into the server:</strong> Open your favorite command-line application and type: <kbd>ssh <em>username</em>@<em>domainname.com</em></kbd><br />
			Replace <em>username</em> and <em>domainname.com</em> with your username and domain. You&rsquo;ll be prompted for the password so enter it and press <kbd>enter/return</kbd>.</li>
<li><strong>Move into the subdomain directory that you want to protect:</strong> Type: <kbd>cd /var/www/vhosts/<em>domainname.com</em>/subdomains/<em>subdomainname</em></kbd><br />
			Replace <em>domainname.com</em> and <em>subdomainname</em> with your specific details and press <kbd>enter/return</kbd>.</li>
<li><strong>Create the first necessary file (.htaccess):</strong> Type: <kbd>vi .htaccess</kbd><br />
			&hellip;and press <kbd>enter/return</kbd>. Doing this will both create a new file named .htaccess <em>and</em> open that file.</li>
<li><strong>Add the necessary code to the .htaccess file:</strong>
<ol type="I">
<li>Press <kbd>i</kbd> to enter <em>insert</em> mode, which allows you to edit the .htaccess file, then copy and paste the code below into the window (or, type it exactly as it&rsquo;s written):<br />
					<code style="display:block; padding:1em 0 0;">AuthUserFile /var/www/.htpasswd<em>_test</em><br />
					AuthName &#8220;A Custom Message&#8221;<br />
					AuthType Basic<br />
					Require valid-user</code><br />
					The value of <code>AuthUserFile</code> is the location where we&rsquo;re going to put the second necessary file (.htpasswd<em>_test</em>) in step #6&mdash;I&rsquo;ll explain <a href="#whyVarWWW">why we&rsquo;re using that particular location below</a></li>
<li>Replace &ldquo;<code>A Custom Message</code>&rdquo; with anything you want and be sure to keep the double-quotes; it will be displayed to visitors in their log-in prompt.</li>
<li>Save <em>and</em> close the .htaccess file by pressing the <kbd>esc/escape</kbd> key to exit <em>insert</em> mode, then type <kbd>:wq</kbd> (which stands for <em>write</em> and <em>quit</em>) and press <kbd>enter/return</kbd>. Doing this will save <em>and</em> close the .htaccess file, then bring you back to the command prompt.</li>
</ol>
</li>
<li><strong>Move into the directory that will contain the second necessary file (.htpasswd<em>_test</em>):</strong> Type: <kbd>cd /var/www/</kbd><br />
			&hellip;and press <kbd>enter/return</kbd></li>
<li><strong>Create the second necessary file (.htpasswd<em>_test</em>):</strong> Type: <kbd>htpasswd -c .htpasswd<em>_test</em> <em>username</em></kbd><br />
			Replace <em>username</em> with the particular username you want visitors to use when they attempt to access your subdomain, then press <kbd>enter/return</kbd>. You will be asked to enter the password you want visitors to use; enter it and press <kbd>enter/return</kbd>. Finally, you will be asked to enter the password a second time, for security reasons, so enter it again and press <kbd>enter/return</kbd>.</li>
</ol>
<p id="whyVarWWW">In step #5 you moved into the directory /var/www/ and in step #6 you created a file in that directory which stores the username and password a visitor needs to enter in order to access the subdomain. There&rsquo;s a good reason why we created the file in <em>that</em> particular directory; the /var/www/ directory is not accessible via the Internet or FTP, rendering anything you put in there fairly safe and hidden from prying eyes.</p>
<h4 id="anotherSubdomain">One Subdomain Complete, Now the Other</h4>
<p><strong>First, a summary and an explanation:</strong> by following the steps above you created a subdomain in Plesk, called <em><strong>test</strong></em>, and password-protected it using a command-line interface. If you were following along closely, you might have noticed that the second necessary file you created in step #6 was called .htpasswd<em>_test</em>. The &lsquo;<em>_test</em>,&rsquo; tacked onto the end of &lsquo;.htpasswd,&rsquo; represented the particular subdomain we were protecting: <strong><em>test</em></strong>.bostonwebstudio.com. If you were only ever protecting one subdomain, that file name could have remained &lsquo;.htpasswd,&rsquo; but since we need two of these files, one for each subdomain, each file must have a unique name. My use of an underscore followed by the subdomain name is simply <em>my</em> personal preference; you may use any method/style you like, just be sure to use unique file names when protecting more than one subdomain.</p>
<p>Finally, in order to password-protect <em>another</em> subdomain, you simply repeat the steps above&mdash;starting with creating a subdomain in Plesk&mdash;while making sure that you move into the new subdirectory (step #2) and that you use a different filename for the second necessary file (referenced in step #4 and defined in step #6). If you were to follow the same conventions as above, the second subdomain&rsquo;s .htpasswd file would instead be called &lsquo;.htpasswd_example&rsquo;</p>
<h4>Disclaimer</h4>
<p>Please remember, I am <strong>not</strong> a &lsquo;web server pro&rsquo; by any means, I simply want to explain what worked for me in my particular environment/situation. I assume no responsibility if you wreak havoc on your web server by following these instructions; you do so at your own risk. In fact, I&rsquo;d recommend that you consult your doctor before applying this information&hellip;</p>
<p>Additionally, I welcome any and all advice from anybody who can further improve these instructions.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcamos.com/password-protect-a-subdomain-with-plesk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Translate Your Website&#8217;s Content Easily</title>
		<link>http://marcamos.com/translate-your-websites-content-easily/</link>
		<comments>http://marcamos.com/translate-your-websites-content-easily/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 11:10:08 +0000</pubDate>
		<dc:creator>Marc Amos</dc:creator>
		
		<category><![CDATA[Google]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Google Gadget]]></category>

		<category><![CDATA[Google Translate]]></category>

		<category><![CDATA[language]]></category>

		<category><![CDATA[translate]]></category>

		<category><![CDATA[translation]]></category>

		<guid isPermaLink="false">http://marcamos.com/?p=141</guid>
		<description><![CDATA[Want an easy way to offer your website&#8217;s content in thirty five (at the time of writing) languages? Add the Google Translate Gadget to your website with a simple &#60;script&#62; element.
]]></description>
			<content:encoded><![CDATA[<p>Want an easy way to offer your website&#8217;s content in thirty five (at the time of writing) languages? Add the <a title="Google Translate Gadget" href="http://translate.google.com/translate_tools">Google Translate Gadget</a> to your website with a simple &lt;script&gt; element.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcamos.com/translate-your-websites-content-easily/feed/</wfw:commentRss>
		</item>
		<item>
		<title>An Observation: The Paths We Choose</title>
		<link>http://marcamos.com/an-observation-the-paths-we-choose/</link>
		<comments>http://marcamos.com/an-observation-the-paths-we-choose/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 20:27:29 +0000</pubDate>
		<dc:creator>Marc Amos</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[behavior]]></category>

		<category><![CDATA[choice]]></category>

		<category><![CDATA[parking]]></category>

		<category><![CDATA[paths]]></category>

		<guid isPermaLink="false">http://marcamos.com/?p=125</guid>
		<description><![CDATA[An Observation: The Paths We Choose &#8230; Sounds deep doesn&#8217;t it? I&#8217;m not a very deep person, not unless I&#8217;m in the ocean and my buoyancy chose to stay on land. In fact, what I mean by The Paths We Choose is, quite literally, the paths we often choose when walking to and from a destination.
This [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_126" class="wp-caption alignright" style="width: 310px"><a href="http://marcamos.com/wp-content/lol-path.gif"><img class="size-full wp-image-126" title="Two Different Paths" src="http://marcamos.com/wp-content/lol-path.gif" alt="A diagram of two different paths people often take when walking to and from a destination" width="300" height="277" /></a><p class="wp-caption-text">A diagram of two different paths people often take when walking to and from a destination</p></div>
<p><em>An Observation: The Paths We Choose</em> &hellip; Sounds deep doesn&rsquo;t it? I&rsquo;m not a very deep person, not unless I&rsquo;m in the ocean and my buoyancy chose to stay on land. In fact, what I mean by <em>The Paths We Choose</em> is, quite literally, the paths we often choose when walking to and from a destination.</p>
<p>This rather pathetic diagram attempts to better describe what I mean: immediately after parking your car you set off on a particular path towards your destination, yet, on the way back to your car, you rarely follow the same path; in fact, you barely come close to it.</p>
<p>Granted, this is only the case when a straight line between the two points isn&rsquo;t possible.</p>
<p>After taking note of this pattern in my own daily routines, I realized that this was something I do all of the time so I figured it was probably a common, yet unconscious, choice that many people made.</p>
<p>Maybe I should just stick to thinking and writing about HTML mark-up and CSS.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcamos.com/an-observation-the-paths-we-choose/feed/</wfw:commentRss>
		</item>
		<item>
		<title>This Dog is Awesome</title>
		<link>http://marcamos.com/this-dog-is-awesome/</link>
		<comments>http://marcamos.com/this-dog-is-awesome/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 21:22:55 +0000</pubDate>
		<dc:creator>Marc Amos</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[dog]]></category>

		<category><![CDATA[funny]]></category>

		<category><![CDATA[This Dog is Awesome]]></category>

		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://marcamos.com/?p=121</guid>
		<description><![CDATA[
Too damned funny not to post.
]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/AeMhyv-95qA&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/AeMhyv-95qA&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Too damned funny not to post.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcamos.com/this-dog-is-awesome/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Build Your Own Guild</title>
		<link>http://marcamos.com/build-your-own-guild/</link>
		<comments>http://marcamos.com/build-your-own-guild/#comments</comments>
		<pubDate>Sat, 23 Aug 2008 16:50:36 +0000</pubDate>
		<dc:creator>Marc Amos</dc:creator>
		
		<category><![CDATA[Build Guild]]></category>

		<category><![CDATA[Angelo]]></category>

		<category><![CDATA[event]]></category>

		<category><![CDATA[geek]]></category>

		<category><![CDATA[group]]></category>

		<category><![CDATA[meet-up]]></category>

		<category><![CDATA[social]]></category>

		<guid isPermaLink="false">http://marcamos.com/blog/build-your-own-guild/</guid>
		<description><![CDATA[Back in June, when Angelo and I discussed starting a small social group for people in the web design &#38; development industry, we wanted to create an opportunity for local folks to get together each month and talk geek, drink adult elixirs, and network a little bit. A few hours each month spent among like-minded [...]]]></description>
			<content:encoded><![CDATA[<p>Back in June, when <a href="http://www.cssboy.com/">Angelo</a> and I discussed starting a small social group for people in the web design &amp; development industry, we wanted to create an opportunity for local folks to get together each month and talk geek, drink adult elixirs, and network a little bit. A few hours each month spent among like-minded people in an environment that had food, drinks, and very little structure or routine.</p>
<p><span id="more-22"></span></p>
<p>We threw together a <a href="http://www.buildguild.org/">small website</a> that, for the most part, relies on other websites to do most of the heavy lifting, we created a <a href="http://twitter.com/buildguild">twitter account</a> and wrote a few silly things in it, and we utilized Yahoo!&rsquo;s <a href="http://upcoming.yahoo.com/">Upcoming!</a> website to handle the event and attendee details. Throw in a few instant messages to friends in the industry, a <a href="http://www.new.facebook.com/group.php?gid=24734506284">Facebook group</a> (Thanks <a href="http://www.paulkelleydesign.com/">Paul</a>!), a <a href="http://flickr.com/groups/buildguild/">Flickr group</a> for photos, and we were done with the online part. I then spent a very small amount of time visiting a few local restaurants to ask if they would have us for an evening and, finally, we spent about $30 on a geeky gift to give away.</p>
<p>That&rsquo;s it. About 30 combined hours of work, $30 out of pocket, and we had created a simple social event for folks who do what we do. Once a few friends told a few of their friends we had our final and most important ingredient: people.</p>
<p>Since Angelo and I started the <a href="http://www.buildguild.org/">Build Guild</a> I&rsquo;ve had a few out-of-state friends say to me, &ldquo;I wish we had something like that where I live.&rdquo; I immediately think about how easy it was to start the Build Guild and I tell my friends that they should try to make a social event/group of their own; they might be surprised how many like-minded folks there are in their area. What&rsquo;s the worst that can happen? Better yet, what&rsquo;s the best that can happen?</p>
<p>My point here is that if you feel the same way&mdash;that there aren&rsquo;t any web design &amp; development social groups in your area&mdash;then try to start one. You might be surprised with what happens.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcamos.com/build-your-own-guild/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
