<?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>Wazi &#187; Glen Bettridge</title>
	<atom:link href="http://olex.openlogic.com/wazi/author/glenbettridge/feed/" rel="self" type="application/rss+xml" />
	<link>http://olex.openlogic.com/wazi</link>
	<description>Open Source Articles, Tutorials and Licensing Information</description>
	<lastBuildDate>Mon, 30 Aug 2010 20:40:13 +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>Installing an SSH/SFTP Server on Windows</title>
		<link>http://olex.openlogic.com/wazi/2009/installing-an-ssh-sftp-server-on-windows/</link>
		<comments>http://olex.openlogic.com/wazi/2009/installing-an-ssh-sftp-server-on-windows/#comments</comments>
		<pubDate>Thu, 14 May 2009 21:53:55 +0000</pubDate>
		<dc:creator>Glen Bettridge</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[FileZilla]]></category>
		<category><![CDATA[OpenSSH]]></category>
		<category><![CDATA[WinSCP]]></category>

		<guid isPermaLink="false">http://olex.openlogic.com/wazi/?p=2942</guid>
		<description><![CDATA[Need to get an OpenSSH Secure Shell and SFTP server running on Windows?  You've come to the right place.  This tutorial will guide you through the basic steps necessary to install and configure OpenSSH, with Cygwin as a compatibility layer on top of Windows.]]></description>
			<content:encoded><![CDATA[<div style='padding:10px;border:1px solid;margin-bottom:20px;'>This article, <a href='http://olex.openlogic.com/wazi/2009/installing-an-ssh-sftp-server-on-windows/'>Installing an SSH/SFTP Server on Windows</a>, originally appeared on <a
      href='http://olex.openlogic.com/wazi'>Wazi</a>, a free source for news, information, and articles on open source software.</div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Folex.openlogic.com%2Fwazi%2F2009%2Finstalling-an-ssh-sftp-server-on-windows%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Folex.openlogic.com%2Fwazi%2F2009%2Finstalling-an-ssh-sftp-server-on-windows%2F&amp;source=OpenLogic&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Here&#8217;s the scenario: you&#8217;ve just started a meeting with your IT security chief and, as you&#8217;re describing how the big client wants you to set up an FTP server so they can upload a bunch of confidential files for your project, you notice that the chief&#8217;s face is turning an interesting shade of red. In the calm, measured voice that lets you know you&#8217;ve just stepped into a minefield, she suggests that you might want to find a file transfer mechanism that is ever-so-slightly more secure than FTP. Or else.</p>
<p>Since you are, of course, a strong advocate of open source solutions, you do some research and discover <a href="https://olex.openlogic.com/packages/openssh" target="_blank">OpenSSH</a> and the SSH File Transfer Protocol (also know as SFTP).  SFTP looks like it&#8217;s just the ticket <em>and</em> puts a smile on the security chief&#8217;s face. The only problem is that your server room runs on Windows and OpenSSH doesn&#8217;t. After a little more research, you find that OpenSSH does run on Windows — it just needs a little help from the <a href="https://olex.openlogic.com/packages/cygwin" target="_blank">Cygwin</a> project. Now if you could just find some instructions on how to get started. This is where we come in.</p>
<h2>Before You Start</h2>
<p>This is a bare bones guide to getting an OpenSSH Secure Shell (SSH) and SFTP (Secure File Transfer Protocol) server running under Windows. You will need a copy of the Cygwin installer, Internet access, and an Administrator account on your Windows server. You can download the Cygwin installer (setup.exe) from <a href="http://cygwin.com">cygwin.com</a>. At the time this tutorial was published, the Cygwin installer was at version 1.5.25-15.</p>
<p>Please note that the basic instructions covered in this tutorial should work on most versions of Windows and have been thoroughly tested on Windows XP and Vista. We have included version-specific notes where the instructions diverged.</p>
<h2>Meat &amp; Potatoes</h2>
<h3>Installation</h3>
<p>Because OpenSSH is available as an optional component of Cygwin, the easiest way to get OpenSSH running under Windows is to employ a custom Cygwin install.</p>
<ol>
<li><span>Login to Windows using an administrator account.</span></li>
<li><span>Copy the Cygwin installer somewhere convenient (like c:\, for example).</span></li>
<li><span>Run setup.exe.
<p><a href="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-installation_type.png" target="_blank"><img class="size-medium wp-image-16048" src="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-installation_type.png" border="0" alt="Cygwin installation type" width="385" height="300" /></a><br />
<em>Cygwin installation type</em></p>
<p></span></li>
<li><span>Choose “Install from Internet&#8221;.</span></li>
<li><span>Select a directory for the installed Cygwin files (the “Root Directory”). The default c:\cygwin will work fine. Make sure &#8220;Install For&#8221; is set to &#8220;All Users&#8221; and &#8220;Default Text File Type&#8221; is set to &#8220;Unix/binary&#8221;.
<p><a href="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-location.png" target="_blank"><img class="size-medium wp-image-16049" src="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-location.png" border="0" alt="Cygwin install location" width="385" height="300" /></a><br />
<em>Cygwin install location</em></p>
<p></span></li>
<li><span>Select a directory for the downloaded installation files (the “Local Package Directory”). It&#8217;s better if this is not the same as the Root Directory. Something like c:\cygwin_packages works well.
<p><a href="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-package-location.png" target="_blank"><img class="size-medium wp-image-16050" src="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-package-location.png" border="0" alt="Cygwin packages location" width="385" height="300" /></a><br />
<em>Cygwin packages location</em></p>
<p></span></li>
<li><span>For the Internet connection, &#8220;Direct Connection&#8221; will probably work. If not, check with your network administrator to see what’s most appropriate.
<p><a href="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-connection-type.png" target="_blank"><img class="size-medium wp-image-16047" src="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-connection-type.png" border="0" alt="Cygwin connection type" width="385" height="300" /></a><br />
<em>Cygwin connection type</em></p>
<p></span></li>
<li><span>The download sites are mirrors of the central Cygwin package repository and should have essentially identical content. Choosing a site in your region will likely result in speedier downloads.
<p><a href="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-choose-dl-site.png" target="_blank"><img class="size-medium wp-image-16046" src="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-choose-dl-site.png" border="0" alt="Cygwin download site" width="385" height="300" /></a><br />
<em>Cygwin download site</em></p>
<p></span></li>
<li><span>Once the installer has downloaded and displayed the list of packages available on the repository, click on the &#8220;View&#8221; button until the text to the right of the button says &#8220;Full&#8221;. In the list of packages, scroll down until you see a package called &#8220;openssh: The OpenSSH server and client programs&#8221; in the Package column. Under the New column, click on the word &#8220;Skip&#8221;. This should display a version number for the installable OpenSSH package. Note that this may change the status on other packages, from &#8220;Skip&#8221; to a version. Don&#8217;t change those entries! They&#8217;re packages upon which OpenSSH depends.
<p><a href="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-package-selection.png" target="_blank"><img class="size-medium wp-image-16051" src="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/cygwin-package-selection.png" border="0" alt="Cygwin OpenSSH package selection" width="385" height="245" /></a><br />
<em>Cygwin OpenSSH package selection</em></p>
<p></span></li>
<li><span>The next screen will begin the installation process. Installation will take some time and may be a good opportunity to take a coffee break (or two).</span></li>
<li><span>Once the installation is complete, you can choose whether or not to add Cygwin shortcuts to the Start menu or Desktop.</span></li>
<li><span>Now launch the Cygwin shell (this is similar to a DOS/command window) by clicking on a shortcut (if you created one during the installation), or by running c:\cygwin\Cygwin.bat.</span></li>
<p><span><strong>Vista vs. XP Note:</strong></span><span> on Windows XP you can simply run the Cygwin.bat. On Vista, you’ll need to run Cygwin.bat as an administrator.</span></p>
<li><span><strong>On XP:</strong></span><span> At the prompt, run the following commands:</span><br />
<code>export CYGWIN='ntsec tty'<br />
chmod +rw /etc/group<br />
chmod +rw /etc/passwd<br />
chmod 0755 /var<br />
ssh-host-config -y<br />
net start sshd</code></p>
<p><span><strong>On Vista: </strong></span><span>At the prompt, run the following commands:</span><br />
<code>export CYGWIN='ntsec tty'<br />
chmod +rw /etc/group<br />
chmod +rw /etc/passwd<br />
chmod 0755 /var<br />
ssh-host-config</code><br />
<em>Answer yes to each question except &#8220;Do you want to use a different name?&#8221; and &#8220;Create new privileged user account &#8216;cyg_server&#8217;?&#8221; The answer to both of these is no.</em><br />
<code>net start sshd</code></p>
<p><span>This will configure, install and start the SSH/SFTP server as a Windows service.</span></li>
<li><span>Synchronize Cygwin user information with your Windows users by running:</span><br />
<code>mkpasswd -cl &gt; /etc/password<br />
mkgroup --local &gt; /etc/group</code></li>
<li><span>You can test the server by connecting from another system using an SFTP client such as FileZilla or an SSH client such as PuTTY.</span></li>
</ol>
<p><strong>Note</strong><span>: The default configuration we&#8217;ve gone through uses port 22 for SSH connections. You will need to open this port in your firewall in order for the SSH server to work.</span></p>
<a class="wazi-ad-link" href="http://www.openlogic.com/open-source-support.php "><img width="590" height="75" src="http://olex.openlogic.com/wazi/wp-content/uploads/2010/05/open-source-support-main.png" class="attachment-maincontent_ad" alt="Get open source software support" title="Get open source software support" /></a>
<h3>Configuring A User&#8217;s Home Directory</h3>
<p>For most Windows users and administrators, a user&#8217;s home directory is c:\Documents and Settings\[user name]. However, under Cygwin and OpenSSH, when remote users log in they may be surprised to find their (Cygwin) home is under c:\cygwin\home\[user name]. Fortunately, changing the Cygwin/OpenSSH behavior to match Windows standard behavior more closely is pretty straightforward, provided you understand the differences in the path conventions for Windows and Cygwin.</p>
<h4>Translating Paths From Cygwin to Windows and Back</h4>
<p><span>Since Cygwin is a Linux/Unix emulation that runs on top of Windows, the Cygwin shell does some things quite differently from Windows or a DOS command shell. Most notably, the paths in Cygwin follow a different, Linux-like convention.</span></p>
<p><span>Under Linux (and Cygwin), the file system has a single top level called the root and written &#8220;/&#8221;. The path delimiters are slashes, so, for example, the path to a directory called <em>user</em> inside a directory called <em>home</em> would be &#8220;/home/user&#8221;.</span></p>
<p><span>Windows, of course, supports multiple top levels on the file system: c:\, d:\, e:\ etc. The path delimiters are back-slashes and a similar path on the c drive would be &#8220;c:\home\user&#8221;.</span></p>
<p><span>In order for Cygwin to let Linux applications understand path information, Cygwin paths follow the Linux convention. However, the root directory in Cygwin points to the Windows directory in which Cygwin was installed.</span></p>
<p><span>To shoehorn the Windows path information in under the Linux convention, Cygwin puts the drive letters under a &#8220;cygdrive&#8221; directory. So, the path to the file &#8220;c:\home\user\myfile.txt&#8221; (Windows-speak) in Cygwin is &#8220;/cygdrive/c/home/user/myfile.txt&#8221;. The Cygwin path for something on, say, the g:\ drive, would be &#8220;/cygdrive/g/&#8230;&#8221;</span></p>
<p><span>Some general path examples for Windows:</span></p>
<table class="help_table" border="0">
<tbody>
<tr>
<th><span><strong>Windows Path</strong></span></th>
<th><span><strong>Cygwin Path</strong></span></th>
</tr>
<tr>
<td valign="top"><span>c:\cygwin</span></td>
<td valign="top"><span>/</span></td>
</tr>
<tr>
<td valign="top"><span>c:\</span></td>
<td valign="top"><span>/cygdrive/c</span></td>
</tr>
<tr>
<td valign="top"><span>e:\</span></td>
<td valign="top"><span>/cygdrive/e</span></td>
</tr>
<tr>
<td valign="top"><span>c:\Program Files\MyApp</span></td>
<td valign="top"><span>/cygdrive/c/Program\ Files/MyApp</span></td>
</tr>
<tr>
<td valign="top"><span>c:\cygwin\home\username</span></td>
<td valign="top"><span>/home/username</span></td>
</tr>
</tbody>
</table>
<p><span>Note the escaped space in the Cygwin path for the fourth example.</span></p>
<h4>Default Directory for Users</h4>
<p><span>Here&#8217;s why we need all this path information: when using the mkpasswd command to create Cygwin user accounts from local Windows user accounts, the user’s (Cygwin) home directory will default to “/home/[username]” (Cygwin path). </span></p>
<p><span>When that user logs in remotely through SFTP, he or she will start in that home directory; so in order to change the starting point for an SFTP session, the home directory setting for the user will need to be updated.</span></p>
<p><span>To change this, open the file /etc/passwd in a text editor that understands how to read Unix line endings. </span></p>
<p><span><strong>Warning</strong>: Notepad doesn’t read Unix files correctly. Wordpad does, but if you use Wordpad, be <em>very</em> careful to save the passwd file in a text format. Saving in any non-text format will break the file which will have unfortunate effects on Cygwin.</span></p>
<p><span>Each line in the file corresponds to the Cygwin settings for a particular user. The entries are separated by colons, “:”. There are seven entries for each user:</span></p>
<ol>
<li><em>Username.</em></li>
<li><em>Password</em>: actually a placeholder.</li>
<li><em>User ID (UID)</em>: a unique number assigned to each users.</li>
<li><em>Group ID (GID)</em>: the unique number assigned to the user’s primary group.</li>
<li><em>User ID Information</em>: A comment field, normally used for human readable information about a user.</li>
<li><em>Home Directory</em>: the path of the user’s home directory.</li>
<li><em>User’s Default Shell</em>: the path to the shell executable. In Cygwin, this is almost always /bin/bash.</li>
</ol>
<p><span>Change the 6th field to the path you’d like as the SFTP entry point for each user. Note that this must be a Cygwin-style path, for example: /cygdrive/c/Documents\ and\ Settings/[user name].</span></p>
<p><span>Once the service has been restarted, the new home directories will take effect.</span></p>
<h2>Finishing Up</h2>
<p>Now that the server is set for secure transfers, the users have the right home directories, and all is right with the world, it might be a good time to mention that your big client is going to need some way of connecting with the new SFTP server. Since FTP and SFTP are entirely different under the hood, the client will need a new client. Fortunately, the open source community can help once again. <a href="https://olex.openlogic.com/packages/winscp" target="_blank">WinSCP</a> is an excellent, streamlined Windows SFTP client which also supports FTP and SCP file transfers. If you need a cross-platform client, you might also consider <a href="https://olex.openlogic.com/packages/filezilla" target="_blank">FileZilla</a>, an SFTP, FTP, and FTPS client that runs on Windows, Linux, Mac OS X, the BSDs, and other platforms.</p>
]]></content:encoded>
			<wfw:commentRss>http://olex.openlogic.com/wazi/2009/installing-an-ssh-sftp-server-on-windows/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to Customize the Firefox 3 Installer</title>
		<link>http://olex.openlogic.com/wazi/2008/how-to-customize-the-firefox-3-installer-for-the-enterprise/</link>
		<comments>http://olex.openlogic.com/wazi/2008/how-to-customize-the-firefox-3-installer-for-the-enterprise/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 18:45:00 +0000</pubDate>
		<dc:creator>Glen Bettridge</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://olex.openlogic.com/wazi/?p=1219</guid>
		<description><![CDATA[With the increasing adoption of Firefox, enterprise IT shops face a challenge: providing Firefox to their users while maintaining security. One approach to this challenge is to create a customized Firefox installer pre-configured with IT-approved extensions and settings.]]></description>
			<content:encoded><![CDATA[<div style='padding:10px;border:1px solid;margin-bottom:20px;'>This article, <a href='http://olex.openlogic.com/wazi/2008/how-to-customize-the-firefox-3-installer-for-the-enterprise/'>How to Customize the Firefox 3 Installer</a>, originally appeared on <a
      href='http://olex.openlogic.com/wazi'>Wazi</a>, a free source for news, information, and articles on open source software.</div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Folex.openlogic.com%2Fwazi%2F2008%2Fhow-to-customize-the-firefox-3-installer-for-the-enterprise%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Folex.openlogic.com%2Fwazi%2F2008%2Fhow-to-customize-the-firefox-3-installer-for-the-enterprise%2F&amp;source=OpenLogic&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>With adoption of Firefox on the increase, enterprise IT shops face a challenge: how to provide Firefox to their users while keeping a handle on security. To address this, we suggest creating a customized Firefox installer preconfigured with the extensions and settings approved by your IT department. This tutorial takes you through that process.</p>
<h2>Before You Start</h2>
<p>Before customizing Firefox, avoid headaches by looking carefully at which extensions best suit your needs. You, or your IT team, should also thoroughly research the Firefox settings and create a list of those you wish to include.</p>
<h3>Extensions</h3>
<p>One of Firefox&#8217;s greatest strengths is its diverse collection of extensions. Extensions such as NoScript or CookieSafe can be used to secure Firefox, while AdBlock or one of its variants could help reduce unwanted traffic to ad servers. Before building a customized installer, you will need to decide which extensions best meet your needs and the needs of your users. With an eye toward security policies and customer requests, browse the <a href="https://addons.mozilla.org/en-US/firefox/" target="_blank">Firefox Add-on Repository</a> and download the (Firefox 3-compatible) add-ons that best meet your needs.</p>
<h3>Settings</h3>
<p>Firefox offers a large number of settings, many of which aren&#8217;t accessible through the standard preferences/options dialog window. To see the available options, enter &#8220;about:config&#8221; in Firefox&#8217;s location bar. This will display a list of all settings. While the list is intimidating, Mozilla publishes <a href="http://kb.mozillazine.org/About:config_entries" target="_blank">a reference to all of the settings</a>. Review the  options and collect a list of settings for which you&#8217;d either like to set a custom default value or completely lock down to a specific value.</p>
<h3>What You Will Need</h3>
<p>Once you&#8217;ve decided what extensions and settings you&#8217;d like in your spiffy custom installer, there are a few components you&#8217;ll need.</p>
<p>For a custom Windows installer, grab</p>
<ol>
<li>A current, standard <a href="http://www.mozilla.com/products/download.html?product=firefox-3.0.3&amp;os=win&amp;lang=en-US" target="_blank">Firefox 3 installer for Windows.</a></li>
<li>A current app.tag file from Mozilla&#8217;s site (copy the appropriate text from <a href="http://lxr.mozilla.org/mozilla/source/browser/installer/windows/app.tag" target="_blank">http://lxr.mozilla.org/mozilla/source/browser/installer/windows/app.tag</a> into a text file called app.tag).</li>
<li>A 7zSD.sfx file from Mozilla&#8217;s site (download this from <a href="http://lxr.mozilla.org/mozilla/source/other-licenses/7zstub/firefox/7zSD.sfx?raw=1" target="_blank">http://lxr.mozilla.org/mozilla/source/other-licenses/7zstub/firefox/7zSD.sfx?raw=1</a>).</li>
<li>The 7zip command line utility (currently at <a href="http://downloads.sourceforge.net/sevenzip/7za457.zip" target="_blank">http://downloads.sourceforge.net/sevenzip/7za457.zip</a>).</li>
</ol>
<p>For a custom Linux installer,you&#8217;ll need to</p>
<ol>
<li>Grab a current standard <a href="http://www.mozilla.com/products/download.html?product=firefox-3.0.3&amp;os=linux&amp;lang=en-US" target="_blank">Firefox 3 binary for Linux.</a></li>
<li>Have familiarity with tar and gzip.</li>
</ol>
<p>You&#8217;ll also need copies of each extension you wish to include in the installer (the xpi files), and the list of settings and values.</p>
<p><em>Note for Mac users:</em> I&#8217;m working on a version of this article for Firefox 3 on the Mac, but I&#8217;m still sorting out the details of repackaging a dmg file.</p>
<h2>Meat &amp; Potatoes</h2>
<h3>Creating Your Settings File</h3>
<p>The settings file I&#8217;m going to describe is basically just a Javascript file with a set of calls to two Firefox-defined JS functions, <code>defaultPref</code> and <code>lockPref</code>. Unsurprisingly, the <code>defaultPref</code> function can be used to specify a default value for a setting and lockPref sets the value for the setting so that it cannot be changed by the user. Each has similar arguments:</p>
<p style="padding-left: 30px; "><code>function defaultPref(prefName, value)<br />
function lockPref(prefName, value)</code></p>
<p>so, for example, you could set the default home page using</p>
<p style="padding-left: 30px; "><code>defaultPref("browser.startup.homepage","http://www.mycompany.com/portal");</code></p>
<p>or, you could require that the browser always check for updates</p>
<p style="padding-left: 30px; "><code>lockPref("app.update.enabled",true);</code></p>
<p>You can find additional information about these and other preference Javascript functions for Firefox in &#8220;<a href="http://developer.mozilla.org/en/MCD,_Mission_Control_Desktop_AKA_AutoConfig" target="_blank">MCD, Mission Control Desktop AKA AutoConfig</a>&#8221; at the Mozilla Developer Center.</p>
<p>Use the list of settings you prepared to build a settings file. For the rest of the article, I&#8217;ll refer to this file as &#8220;firefox.cfg&#8221;, although you can use any name you prefer.</p>
<p><em>Note:</em> Since the settings file is a Javascript file, there are many sophisticated and clever javascript tricks you can include, but I&#8217;m not going to cover any of them.</p>
<h3>Making Your Extensions Manually Installable</h3>
<p>The next step is to prepare your chosen extensions to be manually installed. For each extension,</p>
<ol>
<li>Unzip the xpi file (using 7zip, WinZip, Zip-Info or your preferred tool). You&#8217;ll end up with a folder probably with the same name as the extension (for example, NoScript)</li>
<li>In the folder, find the file called install.rdf, open it in a text editor and find the &lt;em:id&gt; tag under the &lt;Description&gt; tag. This is the unique ID of the extension ({73a6fe31-595d-460b-a920-fcc0f8843232} for NoScript)</li>
<li>Change the name of the extension folder to the extension&#8217;s ID (e.g. Change the &#8220;NoScript&#8221; folder to &#8220;{73a6fe31-595d-460b-a920-fcc0f8843232}&#8221;)</li>
</ol>
<a class="wazi-ad-link" href="http://www.openlogic.com/open-source-support.php "><img width="590" height="75" src="http://olex.openlogic.com/wazi/wp-content/uploads/2010/05/open-source-support-main.png" class="attachment-maincontent_ad" alt="Get open source software support" title="Get open source software support" /></a>
<h3>On To the Installer</h3>
<p>Now we&#8217;re ready to rebuild the installer.</p>
<h4>Windows Installer</h4>
<p>Let&#8217;s walk through the process for the Windows installer and then I&#8217;ll describe the somewhat simpler process on Linux.</p>
<ol>
<li>The Firefox installer is basically a self-extracting 7zip archive. You can open the 3.0.3 installer into a directory called &#8220;firefox-win&#8221; using
<p style="padding-left: 30px; "><code>7za x -ofirefox-win "Firefox Setup 3.0.3.exe"</code></p>
</li>
<li>Copy each of the renamed extension folders into <code>firefox-win\nonlocalized\extensions\</code> (assuming Windows path style). That&#8217;s all that needs to be done for a generic extension installations. If the extensions add new settings, the installer will use the default values for those settings. Those settings could also be added to the firefox.cfg file, if you needed to change them, but I won&#8217;t go into details here.</li>
<li>Create a file called firefox.cfg in firefox-win\nonlocalized\ where the firefox.exe file is located. Here&#8217;s an example <a href="http://olex.openlogic.com/wazi/wp-content/uploads/2009/05/firefox.cfg">firefox.cfg</a> which provides some basic security settings (note that everything in the example config file is commented out so it can be tested without affecting any settings at all; uncomment the settings you&#8217;d like to try).</li>
<li>Open firefox-win\nonlocalized\greprefs\all.js in a text editor and add the following lines</li>
<p><code>pref('general.config.obscure_value', 0);<br />
pref('general.config.filename', 'firefox.cfg');</code></p>
<p>This causes Firefox 3 to load the settings in the firefox.cfg file.</p>
<li>Build a new exe installer from the firefox-win folder: cd into firefox-win and execute the following commands
<ol>
<li><code>7za a -t7z ..\custom.7z</code></li>
<li><code>cd ..</code></li>
<li><code>copy /b  7zSD.sfx+app.tag+custom.7z FirefoxCustomInstall.exe</code></li>
</ol>
</li>
</ol>
<h4>Linux Installer</h4>
<p>When you download Firefox for Linux, instead of an installer, you&#8217;ll just have a tarball. This means you can untar it, walk through steps 2-4 in the Windows process and re-archive the directory.</p>
<h2>Finishing Up</h2>
<p>Distribute your newly created .exe to users and you&#8217;re set!</p>
]]></content:encoded>
			<wfw:commentRss>http://olex.openlogic.com/wazi/2008/how-to-customize-the-firefox-3-installer-for-the-enterprise/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
