<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1298098418015603406</id><updated>2024-08-28T17:25:38.145-07:00</updated><category term="fc"/><category term="fedora core"/><category term="linux"/><category term="Apache 2.0"/><category term="RAID"/><category term="Redmine"/><category term="ambitz"/><category term="development infrastructure"/><category term="internet"/><category term="platform"/><category term="server"/><category term="team"/><category term="unix"/><title type='text'>ambitz&#39; blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ambitz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1298098418015603406/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://ambitz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>ambitz</name><uri>http://www.blogger.com/profile/07803839849220808622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1298098418015603406.post-995032797996080410</id><published>2010-01-25T12:03:00.000-08:00</published><updated>2010-01-25T12:09:20.163-08:00</updated><title type='text'>Setting-up the development infrastructure 2 - Subversion</title><content type='html'>Installing Subversion is straightforward. With Fedora-Core 11 (FC11), we could install the necessary packages via &lt;code&gt;yum&lt;/code&gt;:&lt;br /&gt;&lt;pre&gt;$ yum install subversion mod_dav_svn&lt;/pre&gt;&lt;br /&gt;The package &lt;code&gt;mod_dav_svn&lt;/code&gt; is needed for accessing Subversion repositories via Apache.&lt;br /&gt;&lt;br /&gt;After the installation, we decided to have the Subversion repositories under &lt;code&gt;/home/svn&lt;/code&gt;. We created one repository for our project:&lt;br /&gt;&lt;pre&gt;$ cd /home/svn&lt;br /&gt;$ svnadmin create our-project&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Making Subversion repositories accessible via Apache&lt;/h3&gt;&lt;br /&gt;To make the repository accessible via Apache, we first had to configure Apache accordingly. The repository, and all future ones respectively, should be accessible via &lt;code&gt;http://our-domain.org/svn/*&lt;/code&gt;. So, we had to configure a &lt;code&gt;location&lt;/code&gt; in the default virtual host (&lt;code&gt;/etc/http/conf.d/vhost.conf&lt;/code&gt;):&lt;br /&gt;&lt;pre&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;    ...&lt;br /&gt;    &amp;lt;Location /svn&amp;gt;&lt;br /&gt;        DAV svn&lt;br /&gt;        SVNParentPath /home/svn&lt;br /&gt;        AuthType Basic&lt;br /&gt;        AuthName &quot;Subversion Repositories&quot;&lt;br /&gt;        AuthUserFile /etc/subversion/svn-users&lt;br /&gt;        Require valid-user&lt;br /&gt;    &amp;lt;/Location&amp;gt;&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The user passwords in the file &lt;code&gt;/etc/subversion/svn-users&lt;/code&gt; are created with &lt;code&gt;htpasswd&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;To let Apache access the Subversion repository, we had to change the permissions of the corresponding directory:&lt;br /&gt;&lt;pre&gt;$ cd /home/svn&lt;br /&gt;$ chown -R apache:apache our-project&lt;/pre&gt;&lt;br /&gt;Since we did these steps, we can browse the repository via &lt;code&gt;http://our-domain.org/svn/our-project&lt;/code&gt;.</content><link rel='replies' type='application/atom+xml' href='http://ambitz.blogspot.com/feeds/995032797996080410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ambitz.blogspot.com/2010/01/setting-up-development-infrastructure-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1298098418015603406/posts/default/995032797996080410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1298098418015603406/posts/default/995032797996080410'/><link rel='alternate' type='text/html' href='http://ambitz.blogspot.com/2010/01/setting-up-development-infrastructure-2.html' title='Setting-up the development infrastructure 2 - Subversion'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1298098418015603406.post-816489848094081590</id><published>2010-01-17T11:52:00.000-08:00</published><updated>2010-01-18T04:46:23.254-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache 2.0"/><category scheme="http://www.blogger.com/atom/ns#" term="development infrastructure"/><category scheme="http://www.blogger.com/atom/ns#" term="fc"/><category scheme="http://www.blogger.com/atom/ns#" term="fedora core"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Redmine"/><title type='text'>Setting-up the development infrastructure 1 - Redmine</title><content type='html'>The sooner we write down all decisions the better. Thus, the Wiki is the most important tool and has to be installed first.&lt;br /&gt;&lt;br /&gt;Setting up Redmine is straightforward. We used &lt;a href=&quot;http://www.redmine.org/wiki/redmine/RedmineInstall&quot;&gt;Redmine&#39;s own installation guide&lt;/a&gt;. On Fedora-Core 11 (FC11), we had to install the following packages in advance:&lt;br /&gt;&lt;pre&gt;$ yum install mysql mysql-server ruby rubygem-rake&lt;/pre&gt;&lt;br /&gt;We also installed the &lt;code&gt;ruby-C-mysql-connector&lt;/code&gt;. Since the connector has to be built from scratch, we had to get additional FC11 packages:&lt;br /&gt;&lt;pre&gt;$ yum install ruby-devel mysql-devel gcc&lt;/pre&gt;&lt;br /&gt;Installing these packages is necessary; without we got the errors:&lt;br /&gt;&lt;pre&gt;ERROR: Error installing mysql:&lt;br /&gt;ERROR: Failed to build gem native extension.&lt;br /&gt;&lt;br /&gt;/usr/bin/ruby extconf.rb install mysql&lt;br /&gt;can&#39;t find header files for ruby.&lt;/pre&gt;&lt;br /&gt;and&lt;br /&gt;&lt;pre&gt;ERROR: Error installing mysql:&lt;br /&gt;ERROR: Failed to build gem native extension.&lt;br /&gt;&lt;br /&gt;/usr/bin/ruby extconf.rb install mysql&lt;br /&gt;checking for mysql_ssl_set()... no&lt;br /&gt;checking for rb_str_set_len()... no&lt;br /&gt;checking for rb_thread_start_timer()... no&lt;br /&gt;checking for mysql.h... no&lt;br /&gt;checking for mysql/mysql.h... no&lt;br /&gt;*** extconf.rb failed ***&lt;/pre&gt;&lt;br /&gt;Now, the &lt;code&gt;ruby-C-mysql-connector&lt;/code&gt; can be installed via &lt;code&gt;gem&lt;/code&gt;&lt;br /&gt;&lt;pre&gt;$ gem install mysql&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Making Redmine accessible via Apache&lt;/h3&gt;&lt;br /&gt;Since Redmine is written in &lt;a href=&quot;http://rubyonrails.org/&quot;&gt;Ruby on Rails&lt;/a&gt;, we use the Apache passenger module to pass client-request through Apache to Redmine. The passenger module is compiled from scratch, therefore, we installed the &lt;code&gt;httpd-devel&lt;/code&gt; and &lt;code&gt;gcc-c++&lt;/code&gt; packages via &lt;code&gt;yum&lt;/code&gt; and used &lt;code&gt;gem&lt;/code&gt; to install the module:&lt;br /&gt;&lt;pre&gt;$ yum install httpd-devel gcc-c++&lt;br /&gt;$ gem install passenger&lt;br /&gt;$ passenger-install-apache2-module&lt;/pre&gt;&lt;br /&gt;On FC11 and older Fedora-Core installations, the httpd configuration resides under &lt;code&gt;/etc/httpd&lt;/code&gt;. The main config file is &lt;code&gt;/etc/httpd/conf/httpd.conf&lt;/code&gt;. Since user configurations should go into the directory &lt;code&gt;/etc/httpd/conf.d&lt;/code&gt;, we enabled virtual hosting by making the file &lt;code&gt;/etc/httpd/conf.d/vhosts.conf&lt;/code&gt;:&lt;br /&gt;&lt;pre&gt;NameVirtualHost *:80&lt;br /&gt;&lt;br /&gt;LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so&lt;br /&gt;PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.5&lt;br /&gt;PassengerRuby /usr/bin/ruby&lt;br /&gt;LoadModule dav_svn_module     modules/mod_dav_svn.so&lt;br /&gt;&lt;br /&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;    ServerName our-domain.org&lt;br /&gt;    DocumentRoot /var/www/redmine-0.8.5/public&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;&lt;br /&gt;By entering the address &lt;code&gt;http://our-domain.org&lt;/code&gt; in a browser, we saw the Redmine start page.</content><link rel='replies' type='application/atom+xml' href='http://ambitz.blogspot.com/feeds/816489848094081590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ambitz.blogspot.com/2010/01/setting-up-development-infrastructure-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1298098418015603406/posts/default/816489848094081590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1298098418015603406/posts/default/816489848094081590'/><link rel='alternate' type='text/html' href='http://ambitz.blogspot.com/2010/01/setting-up-development-infrastructure-1.html' title='Setting-up the development infrastructure 1 - Redmine'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1298098418015603406.post-7548587868272966981</id><published>2009-12-07T11:48:00.000-08:00</published><updated>2009-12-08T11:23:25.386-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fc"/><category scheme="http://www.blogger.com/atom/ns#" term="fedora core"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="RAID"/><category scheme="http://www.blogger.com/atom/ns#" term="server"/><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><title type='text'>The Server Room</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSpHwf1HDFcDNRHp6Kd8WUuL_92Xn3TUjG3icFt-Ahyphenhyphenqqw5rcTEBwtA_vLFQ6egsiaTF3n1U9NvaUoUrTveAFE44aWXLy5SsNMlJvPIh7K8-U63-uOmtnxBLpWE7xAYNTshuxICxgYfIs/s1600-h/server-room.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSpHwf1HDFcDNRHp6Kd8WUuL_92Xn3TUjG3icFt-Ahyphenhyphenqqw5rcTEBwtA_vLFQ6egsiaTF3n1U9NvaUoUrTveAFE44aWXLy5SsNMlJvPIh7K8-U63-uOmtnxBLpWE7xAYNTshuxICxgYfIs/s400/server-room.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5412584505843451970&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;As we do not earn money for  the first couple of months, we have to be sparse with spending money for gadgets. That also means, we have only bought two old Dell PowerEdge 2650 servers with hardware RAID-5 and three SCSI harddisks each. The first step was to setup the two servers with Fedora Core 11 (FC11). We don&#39;t want to explain why we took FC11; we just did it. First problem: hardware RAID-5 is extremely slow. Let me make this clear: RAID-5 is extremely slow. After fiddling around with a lot of raid controller configurations; we gave software RAID-5 a try (you can setup software RAID-5 while installing FC11). Result: even slower. After a long discussion, we decided to try the following scenario:&lt;br /&gt;We use one server with four hard disks and software RAID-1 (also via FC11 installation). We connected two disks at a time to a RAID-1 composite. The first is occupied with the partitions &lt;code&gt;/boot&lt;/code&gt; and &lt;code&gt;/&lt;/code&gt;; the second &lt;code&gt;/home&lt;/code&gt; and &lt;code&gt;/opt&lt;/code&gt;. To setup the RAID-1 composites we used the &lt;a href=&quot;http://www.ping.co.il/node/1/&quot;&gt;&quot;Configuring Software RAID1 on Fedora Core using Disk Druid during system install&lt;/a&gt;&quot; tutorial of Adam Ben-Gur.&lt;br /&gt;&lt;br /&gt;The second server is used as spare in case we have to make a disaster recovery. How we prepare ourselves for a disaster recovery, we&#39;ll explain later.&lt;br /&gt;&lt;br /&gt;The server now runs relatively fast. So, we can begin with installing the necessary tools for our project. Must haves: Wiki, task management, version control, continuous integration, issue tracking.&lt;br /&gt;&lt;br /&gt;We decided to use:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Webserver: &lt;a href=&quot;http://httpd.apache.org/&quot;&gt;Apache httpd 2.2.x&lt;/a&gt; (latest version found via &lt;code&gt;yum&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;Wiki, task management, issue tracking: &lt;a href=&quot;http://www.redmine.org/&quot;&gt;Redmine 0.8.x&lt;/a&gt; (download online)&lt;/li&gt;&lt;li&gt;Version control: &lt;a href=&quot;http://subversion.tigris.org/&quot;&gt;Subversion 1.6.x&lt;/a&gt; (latest version found via &lt;code&gt;yum&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;Continuous integration server: &lt;a href=&quot;https://hudson.dev.java.net/&quot;&gt;Hudson 1.3xx&lt;/a&gt; (download online)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Don&#39;t worry, we didn&#39;t forget about the backup setup for disaster recovery. We&#39;ll write about them later; when we have a running system to test backup restore and disaster recovery scenarios.</content><link rel='replies' type='application/atom+xml' href='http://ambitz.blogspot.com/feeds/7548587868272966981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ambitz.blogspot.com/2009/12/server-room.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1298098418015603406/posts/default/7548587868272966981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1298098418015603406/posts/default/7548587868272966981'/><link rel='alternate' type='text/html' href='http://ambitz.blogspot.com/2009/12/server-room.html' title='The Server Room'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSpHwf1HDFcDNRHp6Kd8WUuL_92Xn3TUjG3icFt-Ahyphenhyphenqqw5rcTEBwtA_vLFQ6egsiaTF3n1U9NvaUoUrTveAFE44aWXLy5SsNMlJvPIh7K8-U63-uOmtnxBLpWE7xAYNTshuxICxgYfIs/s72-c/server-room.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1298098418015603406.post-990419824651321936</id><published>2009-11-24T02:55:00.000-08:00</published><updated>2009-11-24T03:09:57.938-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ambitz"/><category scheme="http://www.blogger.com/atom/ns#" term="internet"/><category scheme="http://www.blogger.com/atom/ns#" term="platform"/><category scheme="http://www.blogger.com/atom/ns#" term="team"/><title type='text'>After a few beers...</title><content type='html'>... we, a five-brain team, joined and founded the company &lt;span style=&quot;font-weight: bold;&quot;&gt;ambitz&lt;/span&gt;. Our primary goals are to realize a custom-made internet platform and to have a lot of fun. &lt;span style=&quot;font-weight: bold;&quot;&gt;ambitz&lt;/span&gt; stands for an ambitious team -- a team that is led by passion, a team that is dedicated to an idea.&lt;br /&gt;&lt;br /&gt;On a regularly basis we&#39;re going to write blogs about our work in progress. We will explain how we produce a valuable product with a low budget; provide insights into our infrastructure; describe what technical tool-set we use to accomplish our goal; illustrate how we solved the various technical problems we encounter (and already have encountered); let you take part in the joy of having an outstanding team; and show how we are spoiled by our personal chef.&lt;br /&gt;&lt;br /&gt;So stay tuned and watch out!</content><link rel='replies' type='application/atom+xml' href='http://ambitz.blogspot.com/feeds/990419824651321936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ambitz.blogspot.com/2009/11/after-few-beers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1298098418015603406/posts/default/990419824651321936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1298098418015603406/posts/default/990419824651321936'/><link rel='alternate' type='text/html' href='http://ambitz.blogspot.com/2009/11/after-few-beers.html' title='After a few beers...'/><author><name>ambitz</name><uri>http://www.blogger.com/profile/07803839849220808622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>