<?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>blog.khax.net &#187; ubuntu-8.10</title>
	<atom:link href="http://blog.khax.net/tag/ubuntu-810/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.khax.net</link>
	<description>Webdev &#38; Devops Blog</description>
	<lastBuildDate>Wed, 16 Nov 2011 23:18:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>OpenLDAP TLS with wildcard domain certs</title>
		<link>http://blog.khax.net/2009/04/03/openldap-tls-with-wildcard-domain-certs/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=openldap-tls-with-wildcard-domain-certs</link>
		<comments>http://blog.khax.net/2009/04/03/openldap-tls-with-wildcard-domain-certs/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 12:10:16 +0000</pubDate>
		<dc:creator>Karl Bowden</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[certificates]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[openldap]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[ubuntu-8.10]]></category>

		<guid isPermaLink="false">http://blog.khax.net/?p=130</guid>
		<description><![CDATA[After the last post on the OpenLDAP trouble I had, I&#8217;ve continued trying new things with it and can confirm that wildcard domain certificates do succeed with OpenLDAP. When creating the certificate request enter for eg *.example.com in the common name field and you can then use the one certificate on all servers that fall [...]]]></description>
			<content:encoded><![CDATA[<p>After the last post on the OpenLDAP trouble I had, I&#8217;ve continued trying new things with it and can confirm that wildcard domain certificates do succeed with OpenLDAP.</p>
<p>When creating the certificate request enter for eg <em>*.example.com</em> in the <em>common name</em> field and you can then use the one certificate on all servers that fall in that domain.</p>
<p><strong>BIG WARNING!</strong> This is very dangerous if the keys are not secured properly. As if somebody compromises one key, they have compromised all of the services on all the machines that use the same key! So make sure you really want to do this, have the file permissions set correctly and are prepared for the consequences.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.khax.net/2009/04/03/openldap-tls-with-wildcard-domain-certs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Notes on ubuntu-8.10-serverguide-openldap</title>
		<link>http://blog.khax.net/2009/04/03/notes-on-ubuntu-810-serverguide-openldap/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=notes-on-ubuntu-810-serverguide-openldap</link>
		<comments>http://blog.khax.net/2009/04/03/notes-on-ubuntu-810-serverguide-openldap/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 04:38:27 +0000</pubDate>
		<dc:creator>Karl Bowden</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[openldap]]></category>
		<category><![CDATA[pam]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[serverguide]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[tls]]></category>
		<category><![CDATA[ubuntu-8.10]]></category>

		<guid isPermaLink="false">http://blog.khax.net/?p=123</guid>
		<description><![CDATA[After deciding to learn to setup OpenLDAP yesterday I realised it was more than a days work, and that the documentation that I thought was going to be the most suited for my platform left a lot of holes for the beginner. I also had a firefox window with all the sites I used as [...]]]></description>
			<content:encoded><![CDATA[<p>After deciding to learn to setup OpenLDAP yesterday I realised it was more than a days work, and that the documentation that I thought was going to be the most suited for my platform left a lot of holes for the beginner. I also had a firefox window with all the sites I used as a reference open in tabs, but then decided to print out some colouring pictures for the kids and one site kept crashing firefox (and ruined my day). So no citing references sorry, most of this information was only grepped from google eventually anyway.</p>
<p>The <a href="https://help.ubuntu.com/8.10/serverguide/C/openldap-server.html" target="_blank">openldap-server guide</a> does try to take you from wo to go fairly well and the following notes are just extra things that would have been handy to know or were needed to continue.<span id="more-123"></span></p>
<h2>Configuration</h2>
<p>The first ldapmodify commands are add extra DbIndex&#8217;s. These are handy to know when you receive errors in syslog such as:</p>
<ul>
<li>
<pre>Apr  3 11:01:18 virt01 slapd[11465]: &lt;= bdb_equality_candidates: (objectClass) not indexed</pre>
</li>
</ul>
<p>You can view the current DbIndex values:</p>
<ul>
<li>
<pre>~$ <strong>ldapsearch -xLLL -b cn=config -D cn=admin,cn=config -W olcDatabase={1}hdb olcDbIndex</strong>
Enter LDAP Password:
<strong>dn: olcDatabase={1}hdb,cn=config
olcDbIndex: objectClass eq
olcDbIndex: cn eq,pres,sub
olcDbIndex: uid eq,pres,sub
olcDbIndex: entryUUID eq
olcDbIndex: memberUid eq
olcDbIndex: uniqueMember eq</strong></pre>
</li>
</ul>
<p>And index&#8217;s can be added using the ldapmodify examples. If you need to delete the entire list and start again these ldapmodify commands will help you:</p>
<ul>
<li>
<pre><strong>dn: olcDatabase={1}hdb,cn=config
delete: olcDbIndex</strong></pre>
</li>
</ul>
<p>The sample of output from my ldap setup above will make an okay base to work with.</p>
<p>I followed the schemas section ok with the exception of a correction of the ldapadd command missing a &#8216;-W&#8217; arg (prompt for password).</p>
<ul>
<li>
<pre><span class="command"><strong>ldapadd -x -D cn=admin,cn=config -W -f /tmp/ldif_output/cn=config/cn=schema/cn={8}misc.ldif</strong></span></pre>
</li>
</ul>
<h2>Populating LDAP</h2>
<p>You will now notice with the ldapadd command the reference a second admin principal (cn=admin,dc=example,dc=com). This principal is created with the same password as the first admin (cn=admin,cn=config).</p>
<h2 class="title">LDAP replication</h2>
<p>LDAP replication without TLS was setup within minutes following the guide.</p>
<p>Just be very careful to make sure all modifications are complete and correct before adding the ldif files.</p>
<p>The cn=config replication needs to be applied on both servers, but the dc=example,dc=com replication ldif only needs to be applied on one as once cn=config replication is setup it will replicate the dc=example,dc=com settings to the other server.</p>
<p>The second server also does not need to be setup with all the same changes as the first. Just setup the same domain and password when installing slapd then apply the replication ldif. The additional changes made on ldap01 will be replicated to ldap02 automatically. Once both servers have the ldif applied, then restart slapd on each.</p>
<p>It took a fair while to get replication working again using TLS. Most of my problems were certificate related and couple of missed changes in the TLS replication ldif that would not change back.</p>
<h2>TLS and SSL</h2>
<p>I created my certificates with CA.pl from an existing CA I have setup for other servers. When creating the certificates make sure that the commonName matches the host name of the server as it will be addressed. Ie:</p>
<ul>
<li>Server name: ldap01.example.com</li>
<li>commonName: ldap01.example.com</li>
</ul>
<p>TLS verification will fail if you do a ldap search against ldap://ldap01/ (as opposed to ldap://ldap01.example.com/).</p>
<p>I have not yet tested wildcard certificates either. Also the ca-certificate can be referred to either by file (olcTLSCACertificateFile) or the dir containing the cert (olcTLSCACertificatePath). But only referring to the cert by file name worked in my testing even though I added to cert to Ubuntu&#8217;s ca-certificate management scheme. Ie:</p>
<ul>
<li>
<pre><strong>sudo cp cacert.pem /usr/share/ca-certificates/Example.Com-CA.crt</strong></pre>
</li>
<li>
<pre><strong>echo 'Example.Com-CA.crt' | sudo tee -a /etc/ca-certificates.conf</strong></pre>
</li>
<li>
<pre><strong>sudo update-ca-certificates</strong></pre>
</li>
</ul>
<p>I had to set the SLAPD_SERVICES line to: SLAPD_SERVICES=&#8221;ldap:/// ldaps:/// ldapi:///&#8221; To allow TLS ldap:// connections from other hosts.</p>
<p>The TLS connections are over ldap:// and SSL is over ldaps://. TLS is the newer and preferred standard, but the ldap:// protocol also allows cleartext communication as a fallback.</p>
<p>To test a TLS connection use:</p>
<ul>
<li>
<pre><strong>ldapsearch -xLLL -b cn=config -D cn=admin,cn=config -W -H ldap://ldap01.example.com/ -ZZ</strong></pre>
</li>
</ul>
<ul>
<li><strong>-H ldap://ldap01.example.com/</strong> &#8211; specifies the hostname. Make sure it is the same as commonName in the certificate used.</li>
<li><strong>-ZZ</strong> &#8211; Issues a StartTLS command and requires it succed. Using just <strong>-Z</strong> issues StartTLS but still allows a cleartext connection if the StartTLS directive fails.</li>
</ul>
<p>To debug a connection append <strong>-d5</strong> to the command. It will spew a lot of output, but in there will most likely be the reason for the cause of the error.</p>
<p>The notes at the end of the TLS replication section are also handy for getting a TLS client connection working. I needed the following line in /etc/ldap/ldap.conf on all hosts:</p>
<ul>
<li>
<pre>TLS_CACERT /etc/ssl/certs/Example.Com-CA.crt</pre>
</li>
</ul>
<p>Or if you do not wish to check the validity of certificates then you could use:</p>
<ul>
<li>
<pre>TLS_REQCERT allow</pre>
</li>
</ul>
<h2>TLS Replication</h2>
<p>This should only be attempted once both hosts are confirmed working over TLS. Also make sure you test establishing a TLS connection from one host to the other (ie, running the ldapsearch from ldap01 using <strong>-ZZ -H ldap://ldap02.example.com/</strong>).</p>
<p>After adding the <em>cn=config</em> TLS change to one host (remember it will be replicated to the other host automatically), then restart both slapd backends (sudo /etc/init.d/slapd restart).</p>
<p>If that is working without any errors in syslog then proceed to the <em>dc=example,dc=com</em> tls replication and restart both backends again.</p>
<h2>LDAP Authentication</h2>
<p>My next headache was with the auth-client-config command. The correct command to use is:</p>
<ul>
<li>
<pre><strong>sudo auth-client-config -t nss -p lac_ldap</strong></pre>
</li>
</ul>
<p>Some sites also note another command that is actually unnecessary:</p>
<ul>
<li>
<pre><strong>sudo pam-auth-update ldap</strong></pre>
</li>
</ul>
<p>pam-auth-update allows you to pick which auth methods will be used in your system, but ldap is automatically added when you install libnss-ldap.</p>
<p>Other changes I made to /etc/ldap.conf was uncommenting two lines:</p>
<ul>
<li>
<pre>pam_filter objectclass=account</pre>
</li>
<li>
<pre>ssl start_tls</pre>
</li>
</ul>
<p>This requires a user have the objectclass=account attribute to be able to login. And the second requires a TLS connection to the ldap server.</p>
<p>To use TLS for pam auth you will need to make sure the cert is specified in /etc/ldap/ldap.conf just as on the server. This can be tested by running the same ldapsearch command on the client as on the server.</p>
<p>After managing to get that working on one client the rest were managed easily using puppet.</p>
<h2>User and Group Management</h2>
<p>The command to put the &#8216;secret&#8217; in /etc/ldapscripts/ldapscripts.passwd will not work as expected if you have a dollar symbol in the password. Ie:</p>
<ul>
<li>
<pre><strong>sudo sh -c "echo -n '$ecret' &gt; /etc/ldapscripts/ldapscripts.passwd"</strong></pre>
</li>
</ul>
<p>Will result in an empty passwd file. The correct way to echo the password is to escape the $. Ie: <strong>&#8216;$ecret&#8217;</strong>. This is not a problem with the server guide, just an oversight that caught me out. It can be seen in the log file as:</p>
<ul>
<li>
<pre>&gt;&gt; 04/01/09 - 17:23 : Command : /usr/sbin/ldapadduser george example
ldap_bind: Server is unwilling to perform (53)
        additional info: unauthenticated bind (DN with no password) disallowed
ldap_bind: Server is unwilling to perform (53)
        additional info: unauthenticated bind (DN with no password) disallowed
Error adding user george to LDAP</pre>
</li>
</ul>
<p>The ldapscripts will also often fail if replication is not working either. Check the output of /var/log/ldapscripts.log.</p>
<ul>
<li>
<pre>&gt;&gt; 04/02/09 - 13:49 : Command : /usr/sbin/ldapadduser george example
Additional information: value does not conform to assertion syntax
ldap_modify: Server is unwilling to perform (53)
        additional info: shadow context; no update referral
Error adding user george to LDAP</pre>
</li>
</ul>
<p>That is the ldapscripts log output I get when replication was not working.</p>
<h2>Finale</h2>
<p>After that was all sorted out I was happy as Larry. Next thing to try is SASL authentication i guess. If anybody wants to point me in the right direction to assist with the Jaunty server guide it would be much appreciated. As well as any more notes and corrections to my post.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.khax.net/2009/04/03/notes-on-ubuntu-810-serverguide-openldap/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Dlink DWA-110 + Ubuntu 8.10 = Happy Customer</title>
		<link>http://blog.khax.net/2009/03/20/dlink-dwa-110-ubuntu-810-happy-customer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dlink-dwa-110-ubuntu-810-happy-customer</link>
		<comments>http://blog.khax.net/2009/03/20/dlink-dwa-110-ubuntu-810-happy-customer/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 22:17:15 +0000</pubDate>
		<dc:creator>Karl Bowden</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[dick smiths]]></category>
		<category><![CDATA[dlink]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[dse]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu-8.10]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://blog.khax.net/?p=119</guid>
		<description><![CDATA[Just a quick note for anybody looking to see if this Wireless (802.11b/g) USB adaptor works with linux before purchasing. I purchased one from Dick Smiths last night plugged it into my (Ubuntu-8.10 powered) laptop and was up and running within seconds. Signal strength and speed are fairly industry standard. Cost AU$50. I probably could [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick note for anybody looking to see if this Wireless (802.11b/g) USB adaptor works with linux before purchasing.</p>
<p>I purchased one from Dick Smiths last night plugged it into my (Ubuntu-8.10 powered) laptop and was up and running within seconds.</p>
<p>Signal strength and speed are fairly industry standard. Cost AU$50. I probably could have found it cheaper elseware but DSE was conveniently on my way home last night.</p>
<div id="attachment_120" class="wp-caption aligncenter" style="width: 180px"><a href="http://blog.khax.net/files/2009/03/dwa-110.jpg"><img class="size-full wp-image-120" src="http://blog.khax.net/files/2009/03/dwa-110.jpg" alt="D-Link DWA-110" width="170" height="136" /></a><p class="wp-caption-text">D-Link DWA-110</p></div>
<p>Now just to find an access point with decent signal strength.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.khax.net/2009/03/20/dlink-dwa-110-ubuntu-810-happy-customer/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Alfresco setup in Ubuntu 8.10 with git</title>
		<link>http://blog.khax.net/2009/02/26/alfresco-setup-in-ubuntu-810-with-git/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=alfresco-setup-in-ubuntu-810-with-git</link>
		<comments>http://blog.khax.net/2009/02/26/alfresco-setup-in-ubuntu-810-with-git/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 07:56:28 +0000</pubDate>
		<dc:creator>Karl Bowden</dc:creator>
				<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[puppet]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[ubuntu-8.10]]></category>

		<guid isPermaLink="false">http://blog.khax.net/?p=11</guid>
		<description><![CDATA[Alfresco My goal was to install Alfresco in Ubuntu-8.10 and store the Alfresco install and config in git excluding the application data in such a way that I am able to checkout my Alfresco git repo on a new Ubuntu install and have Alfresco running immediately. This turned out to be fairly easy and makes [...]]]></description>
			<content:encoded><![CDATA[<h3>Alfresco</h3>
<p>My goal was to install Alfresco in Ubuntu-8.10 and store the Alfresco install and config in git excluding the application data in such a way that I am able to checkout my Alfresco git repo on a new Ubuntu install and have Alfresco running immediately.</p>
<p>This turned out to be fairly easy and makes testing new configuration changes very simple.</p>
<p>There is plenty of information on configuring Alfresco on the Alfresco wiki, and most of my setup is based on the <a href="http://wiki.alfresco.com/wiki/Installing_Alfresco_Lab_3b_on_Ubuntu_8.04" target="_blank">install tutorial for Ubuntu-8.04</a>. So I will only cover the differences in the way I setup Alfresco.</p>
<h3>Alfresco dependencies in Ubuntu</h3>
<p>I chose to use puppet for taking care of dependencies as it is already in deployment for all the servers I use. The other common way of taking way of taking care of dependencies is to create a script that installs the dependencies and store it in the root Alfresco dir managed by git. If you do not want to setup puppet then see the initialize.sh file below. My puppet rule as follows also installs lighttpd and phpmyadmin.</p>
<pre>class alfresco_base {
        package { [
                imagemagick,
                lighttpd,
                mysql-server,
                'openoffice.org-headless',
                php5-cgi,
                swftools]:
                        ensure =&gt; installed;

                phpmyadmin:
                        ensure =&gt; installed,
                        require =&gt; [Package['php5-cgi'], Package['lighttpd']],
                        notify =&gt; File['50-phpmyadmin.conf'];

                sun-java6-jre:
                        ensure =&gt; installed,
                        require =&gt; Exec[preseed-licence-dlj];
        }

        file {
                '50-phpmyadmin.conf':
                        name =&gt; "/etc/lighttpd/conf-available/50-phpmyadmin.conf",
                        ensure =&gt; "/etc/phpmyadmin/lighttpd.conf",
                        notify =&gt; Exec[lighttpd-enable-phpmyadmin]
        }

        exec {
                "lighttpd-enable-phpmyadmin":
                        command =&gt; "lighty-enable-mod fastcgi phpmyadmin",
                        refreshonly =&gt; true,
                        notify =&gt; Exec[lighttpd-restart];

                "lighttpd-restart":
                        command =&gt; "/etc/init.d/lighttpd restart",
                        refreshonly =&gt; true;

                "preseed-licence-dlj":
                        command =&gt; "echo sun-java5-jdk shared/accepted-sun-dlj-v1-1 boolean true | debconf-set-selections";
        }
}</pre>
<h3>Initially installing Alfresco</h3>
<p>To have something to put into the git repo we first must install Alfresco the usual way for your platform. If you are installing on a 64bit install you will need to install ia32libs first too.</p>
<ul>
<li>
<pre>./Alfresco-Labs-3Stable-Linux-x86-Install --mode console</pre>
</li>
</ul>
<p>Once installed turn your install into a git repo.</p>
<ul>
<li>
<pre>cd Alfresco</pre>
</li>
<li>
<pre>git init</pre>
</li>
<li>
<pre>git add .</pre>
</li>
<li>
<pre>git commit -m "Initial install of Alfresco Labs 3 Stable"</pre>
</li>
</ul>
<p>Now we need to define some exclusions for files that are changed or defined after install such as log folders and user data.</p>
<ul>
<li>
<pre>echo "alf-backstop-*
alf_data/
alfresco.log
tomcat/logs/
tomcat/temp/
tomcat/conf/tomcat-users.xml
tomcat/webapps/alfresco/
tomcat/webapps/share/
tomcat/webapps/studio/
tomcat/work/
virtual-tomcat/logs/
virtual-tomcat/work/
alfresco.log.*
tomcat/webapps/alfresco.war-*" &gt;&gt; .git/info/exclude</pre>
</li>
</ul>
<p>Your git repo is now ready to be uploaded to you preferred place of storing git repos such as a file server or gitosis. I&#8217;m using a file server via ssh.</p>
<ul>
<li>
<pre>ssh git@fileserver "mkdir Alfresco; cd Alfresco; git init"</pre>
</li>
<li>
<pre>git remote add origin git@fileserver:Alfresco</pre>
</li>
<li>
<pre>git push origin master</pre>
</li>
<li>
<pre>scp .git/info/exclude git@fileserver:Alfresco/.git/info/exclude</pre>
</li>
</ul>
<p>Congratulations! You now have a fresh install of Alfresco stored in git on your fileserver.</p>
<h3>Initial configuration</h3>
<p>Before checking out on a new server there are a few changes we needed to commit.</p>
<h4>File: initialize.sh:</h4>
<pre>#!/bin/sh
ALF_HOME=/opt/Alfresco
# Uncomment the following line if not using puppet
#apt-get install imagemagick mysql-server openoffice.org-headless php5-cgi swftools sun-java6-jre
echo "Creating init.d links"
ln -s $ALF_HOME/alfresco.sh /etc/init.d/alfresco
ln -s $ALF_HOME/virtual_alf.sh /etc/init.d/virtual_alf
update-rc.d alfresco defaults
ln -s $ALF_HOME/alfresco.sh /etc/init.d/alfresco
ln -s $ALF_HOME/virtual_alf.sh /etc/init.d/virtual_alf
update-rc.d alfresco defaults
update-rc.d virtual_alf defaults
echo "Creating MySQL database tables - Password for MySQL root user:"
mysql -u root -p &lt; $ALF_HOME/extras/databases/mysql/db_setup.sql
[ ! -d $ALF_HOME/tomcat/logs ] || mkdir $ALF_HOME/tomcat/logs
[ ! -d $ALF_HOME/virtual-tomcat/logs ] || mkdir $ALF_HOME/virtual-tomcat/logs</pre>
<p>initialize.sh links alfresco into /etc/init.d, sets it to start at boot time and creates the alfresco mysql user. If you are using the puppet recipe above then the default mysql root password is blank and should be changed either at the command line or from phpmyadmin (http://localhost/phpmyadmin/). If you are not using puppet then uncomment the apt-get line at the top of the file and customise the dependencies for your needs.</p>
<h4>File: alfresco.sh and virtual_alf.sh</h4>
<p>Change <em>@@ALFRESCO_DIR@@</em> to your install dir, eg: /opt/Alfresco<br />
Change <em>@@JAVA_HOME@@</em> to your jvm dir, eg: /usr/lib/jvm/java-6-sun/</p>
<h4>File: tomcat/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties</h4>
<p>There is a conflict with the port used by the virtual server that needs to be changed else the virtual server will not start a second time and complain that the port is already in use (and it is).</p>
<p>Change <em>avm.rmi.service.port=50501</em> to <em>avm.rmi.service.port=50509</em></p>
<h4>Commit</h4>
<p>First get a list of files you have changed:</p>
<ul>
<li>
<pre>git status</pre>
</li>
</ul>
<p>If you want to commit all those changed files then commit like:</p>
<ul>
<li>
<pre>git commit -a -m "You commit message"</pre>
</li>
</ul>
<p>Or if you only want to commit a couple of the changes, eg:</p>
<ul>
<li>
<pre>git add initialize.sh alfresco.sh virtual_alf.sh</pre>
</li>
<li>
<pre>git commit -m "Your commit message"</pre>
</li>
</ul>
<p>Now push the changes:</p>
<ul>
<li>
<pre>git push origin master</pre>
</li>
</ul>
<p>And you will find you use that process fairly often to start with. I also found myself using branching to test larger changes or changes I wanted to keep separate for now. But documenting all of those commands is beyond this post. Other changes I made were changing the database backend to mysql and authentication to active directory.</p>
<h3>Checkout Initialize Run</h3>
<p>Now lets test it. Lets assume your using a clean install of Ubuntu again (with a puppet client setup already).</p>
<ul>
<li>
<pre>sudo git clone git@fileserver:Alfresco /opt/Alfresco</pre>
</li>
<li>
<pre>sudo scp git@fileserver:Alfresco/.git/info/exclude /opt/Alfresco/.git/info/exclude</pre>
</li>
<li>
<pre>sudo /opt/Alfresco/initialize.sh</pre>
</li>
<li>
<pre>sudo /etc/init.d/alfresco start</pre>
</li>
</ul>
<p>Your Alfresco server should start after a few minutes and be ready for testing. You can commit and push changes from any checkout too.</p>
<p>There may be other files or directories you need to add to the exclude file too. You will see most of these after starting Alfresco the running git status.</p>
<h4>Stay tuned for: Active Directory integration</h4>
]]></content:encoded>
			<wfw:commentRss>http://blog.khax.net/2009/02/26/alfresco-setup-in-ubuntu-810-with-git/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Retheaming Ubuntu &#8211; Part 3</title>
		<link>http://blog.khax.net/2009/02/23/retheaming-ubuntu-part-3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=retheaming-ubuntu-part-3</link>
		<comments>http://blog.khax.net/2009/02/23/retheaming-ubuntu-part-3/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 05:34:06 +0000</pubDate>
		<dc:creator>Karl Bowden</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[gnome-do]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[applets]]></category>
		<category><![CDATA[daemons]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gnome-applets]]></category>
		<category><![CDATA[gnome-panel]]></category>
		<category><![CDATA[ubuntu-8.10]]></category>

		<guid isPermaLink="false">http://blog.khax.net/?p=31</guid>
		<description><![CDATA[Last in the series of retheaming Ubuntu is application customisation. While the desktop themes you use change the way you see your desktop and can make or break the your desktop experience, the applications you choose to use also play just as large a part. The applications determine the way you interact with your PC. [...]]]></description>
			<content:encoded><![CDATA[<p>Last in the series of retheaming Ubuntu is application customisation. While the desktop themes you use change the way you see your desktop and can make or break the your desktop experience, the applications you choose to use also play just as large a part. The applications determine the way you interact with your PC. The number of times you have to click to open a favorite folders, where you place your application shortcuts, the way your windows get stacked or tiled, and also to what extent accessories work automatically.<span id="more-31"></span></p>
<p>When using the default Ubuntu desktop (<a href="http://www.gnome-org/" target="_blank">Gnome</a>) the main interface applications see after bootup are:</p>
<ul>
<li>gnome-panel &#8211; The top and bottom panels</li>
<li>gnome-applets &#8211; The items on the top and bottom panels</li>
<li>nautilus &#8211; The file manager and desktop icons</li>
<li>metacity or compiz &#8211; The window decorator / manager</li>
</ul>
<h3>Userspace Daemons</h3>
<p>Underlying those applications are others that run in the background, which can be found via System-&gt;Preferences-&gt;Sessions. In the following list only the applications which are not self explanatory have descriptions. Applications that are referred to as daemons are just applications that run invisibly in the background, either at a system level which affect everybody using the machine (such as mail server daemons), or at a userspace level which only affect you. Most of the applications in this list fall into the category of userspace daemons.</p>
<ul>
<li>AT SPI &#8211; Assitive technology (For keyboard and mouse assistance and screen reading)</li>
<li>Bluetooth Manager</li>
<li>jockey-gtk &#8211; Checks for new hardware drivers</li>
<li>gnome-keyring-daemon &#8211; Keeps stored passwords safely in a keyring and keep them in memory</li>
<li>gnome-settings-daemon</li>
<li>network-manager</li>
<li>OpenOffice Quickstart Applet</li>
<li>Power Manager &#8211; For managing laptop battery&#8217;s and CPU speed for conserving power</li>
<li>Print Queue Applet</li>
<li>PulseAudio Session Manager &#8211; The sound server</li>
<li>Remote Desktop</li>
<li>Tracker &#8211; For keeping a database of your files for fast searching of names and contents</li>
<li>Update Notifier &#8211; When system updates are available</li>
<li>User folders updater</li>
<li>Visual Assistance</li>
</ul>
<p>To slim down system usage and increase startup times unused items above can be disabled. And on the flip side, common applications that you want to start every time you login can also be added here too. On slower systems I disable tracker, and on my personal machine I also start pidgin, skype and tomboy.</p>
<h3>Gnome Panel</h3>
<p>The gnome-panels are initially located at the top and bottom of the screen. On their own they are not very use full. Their contents though are made up of gnome-applets. The default applets are:</p>
<ul>
<li>Top Left:
<ul>
<li>Menu Bar</li>
<li>Firefox Launcher</li>
<li>Evolution Email Launcher</li>
<li>Help Launcher</li>
</ul>
</li>
<li>Top Right:
<ul>
<li>Notification Area</li>
<li>Volume Control</li>
<li>Clock</li>
<li>User Switcher</li>
</ul>
</li>
<li>Bottom Left:
<ul>
<li>Show Desktop</li>
<li>Window List</li>
</ul>
</li>
<li>Bottom Right:
<ul>
<li>Workspace Switcher</li>
<li>Garbage Bin</li>
</ul>
</li>
</ul>
<p>New applets can be added to the gnome-panel by right clicking the panel where a new applet is desired, selecting Add to panel then selecting the desired applet and clicking Add.</p>
<p>Some applets can also be customised by right clicking on them and selecting Preferences.</p>
<p>New panels can also be added or removed by right clicking on an existing panel. The minimum number of panels is also 1 so dont worry about deleting all the panels and not being able to create a new one.</p>
<p>My preference is for a single panel at the top of the screen with my only additional applets being a Menu shortcut, and System Monitor displaying CPU, memory, and disk activity.</p>
<h3>GNOME Do</h3>
<p>GNOME Do is also fast becoming a favorite application for me. Especially with the addition of the Docky theme. A precise description of GNOME Do is best found on it&#8217;s <a href="http://do.davebsd.com/index.shtml" target="_blank">homepage</a>.</p>
<p>GNOME Do serves me in many ways as a global shortcut key. The shortcut key is by default &lt;Win&gt;-Space and after activating gnome-do the basic procedure is select and item and preform an action on it. Maybe some examples I use often will make this clearer. I will skip the shortcut key and dive straight into what I type and what I type I show in bold and the completions GNOME Do makes is non bold. And GNOME Do is not case sensitive. Some examples may have upper case characters, but I just type everything in lower case.</p>
<p><strong>GIMP</strong> Image Editor <strong>&lt;Enter&gt;</strong> &#8211; Just typing gimp and pressing enter executes the default action for that item. In this case launching The Gimp. I also use this example for launching most applications I use. It does help to know the name of the application first though as there is no automatic list. Also from the screen shot you can see the whole name of the application as GIMP Image Editor. You can enter as much or as little of that name until you see the result you want. You can even just press g then the up and down arrows to move through the list of items that GNOME Do has found with that letter starting from the most commonly used.</p>
<p style="text-align:center"><a href="http://blog.khax.net/files/2009/02/gnome-do-example1.png"><img class="size-full wp-image-101 aligncenter" src="http://blog.khax.net/files/2009/02/gnome-do-example1.png" alt="gnome-do-example1" width="600" height="55" /></a></p>
<p><strong>Mum &lt;Tab&gt; C</strong>hat<strong> &lt;Enter&gt;</strong> &#8211; Pidgin plugin required. This opens a Pidgin conversation window with my Mum. Simple. No reason not to keep in touch now.</p>
<p><strong>Down</strong>loads <strong>&lt;Enter&gt;</strong> &#8211; Opens my Downloads folder</p>
<p><strong>Tem</strong>p <strong>&lt;Tab&gt;</strong> Open <strong>T</strong>erminal Here <strong>&lt;Enter&gt;</strong> &#8211; Opens a new terminal in my Temp folder.</p>
<p><strong>Ins</strong>tall<strong> &lt;Tab&gt; banshee &lt;Enter&gt;</strong> &#8211; Install a package using apt. Banshee here is only an example. I use this command a far bit more than I should sometimes.</p>
<p>Search <strong>Go</strong>ogle <strong>&lt;Tab&gt; Search Term &lt;Enter&gt;</strong> &#8211; Search Google for your search term and either display the results in GNOME Do or in a new browser tab.</p>
<h4>Installing GNOME Do</h4>
<p>The latest Ubuntu releases for gnome-do can be found at the <a href="https://launchpad.net/~do-core/+archive/ppa" target="_blank">GNOME Do PPA</a>. Once you have followed the instructions for <a href="https://help.launchpad.net/Packaging/PPA#Adding%20a%20PPA%20to%20your%20Ubuntu%20repositories" target="_blank">adding the PPA</a> to your Ubuntu repositories, install gnome-do and gnome-do-plugins. 64bit builds of GNOME Do are also broken on launchpad at the moment, but there is a <a href="https://launchpad.net/do/+download" target="_blank">link</a> at the top of the launchpad page to download the working package (as I had to do).</p>
<h4>Configuring GNOME Do</h4>
<p>After installing gnome-do it can be started from Applications-&gt;Accessories-&gt;GNOME Do.</p>
<p>The initial window looked a bit useless when I first saw GNOME Do, but you quickly learn that it&#8217;s simplicity is it&#8217;s strength.</p>
<p><a href="http://blog.khax.net/files/2009/02/gnome-do-example2.png"><img class="alignnone size-full wp-image-102" src="http://blog.khax.net/files/2009/02/gnome-do-example2.png" alt="gnome-do-example2" width="431" height="247" /></a></p>
<p>If you do not see the GNOME Do window after launching try pressing &lt;Win&gt;-Space.</p>
<p>Click the triangle then Preferences in the top right corner to start configuring GNOME Do. I first change the Theme to Docky on the Appearance tab, then tick any plugins that look like they would be use full to me. To see how to use a plugin, click on it then click the About button below which will open that plugins wiki page on the GNOME Do website if available.</p>
<p>Applications can be added by dragging application launchers from the Application menus, gnome-panel or nautilus. They can also be removed from GNOME Do by right clicking and selecting Remove from Dock.</p>
<p>The length of Docky can be changed by dragging either end of the panel, and the height can be adjusted by placing the mouse the separator.</p>
<p>Zoom effects, window overlap, and the trash icon can all be configured by right clicking the GNOME Do icon.</p>
<h4>Elements of GNOME Do</h4>
<p>The default Docky theme will display from left to right: GNOME Do icon, application launchers, a separator, running applications and the trash icon.</p>
<p style="text-align:center"><a href="http://blog.khax.net/files/2009/02/gnome-do-example3.png"><img class="size-full wp-image-103 aligncenter" src="http://blog.khax.net/files/2009/02/gnome-do-example3.png" alt="gnome-do-example3" width="600" height="48" /></a></p>
<p>The glowing dots below some icons indicate that the application is already open. If the application is not visible clicking it&#8217;s icon will bring it back to the fore, or if it is already visible, will minimise the window. If it is not open clicking the icon will launch it. Other actions can also be found by right clicking the icons, such as when the banshee plugin is enabled, right clicking banshee will give you Next, Play and Previous actions in addition to the defaults.</p>
<h4 style="text-align:center"><a href="http://blog.khax.net/files/2009/02/gnome-do-example4.png"><img class="alignnone size-full wp-image-104" src="http://blog.khax.net/files/2009/02/gnome-do-example4.png" alt="gnome-do-example4" width="600" height="70" /></a></h4>
<p>GNOME Do is activated by pressing &lt;Win&gt;-Space or clicking the GNOME Do icon and the panel then looks like the above. I have typed <strong>down</strong>, and it displays the Downloads folder as it&#8217;s first result. The plus in the circle on the left can be used to add this result permanently to Docky. The large folder icon display the icon of the currently found match. The smaller icon next to it is the icon of the default action if you just press enter. In this case Open Folder. Pressing &lt;Tab&gt; will then make the next icon the largest, from which you can choose your desired action.</p>
<p>The more you practice with GNOME Do the more shortcuts you will find.</p>
<h3>Conclusion</h3>
<p>I know this turned out to be a fairly large post about GNOME Do but using GNOME Do really has had that much affect on my desktop and the way I interact with it. And this is also the last beginner post I had to complete. As a linux sysadmin most of the rest of my posts will be more of a technical nature. But lets finish off with a final screenshot for good times sake in all of it&#8217;s minimalistic glory.</p>
<p style="text-align:center"><a href="http://blog.khax.net/files/2009/02/desktop.png"><img class="size-medium wp-image-106 aligncenter" src="http://blog.khax.net/files/2009/02/desktop.png?w=300" alt="desktop" width="300" height="187" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.khax.net/2009/02/23/retheaming-ubuntu-part-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

