<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
>
  <channel>
    <title>QA Site</title>
    <link>http://spikef2163i5.cabbycentral.com/</link>
    <description>A blog by spikef2163i5</description>
    <language>de</language>    <item>
      <title>updating (and downgrading) Ruby on QA Site</title>
      <link>http://spikef2163i5.cabbycentral.com/2008/08/10/updating-and-downgrading-ruby-on-qa-site.html</link>
      <description>I&#8217;m updating to Ruby 1.8.6 on the Fluffy QA Site.
It&#8217;s operational CentOS 5 final.  (cat /etc/redhat-release)
I added the following yum repository:
[ruby]
name=ruby
baseurl=http://repo.premiumhelp.eu/ruby/
gpgcheck=0
enabled=0

Then I ran:
 yum &#8211;enablerepo=ruby install ruby ruby-devel rubygems ruby-docs ruby-ri ruby-irb ruby-rdoc
I don&#8217;t know the quality of this repository, so don&#8217;t take it as my endorsement.  I found it on the internet via google which turned up this suggestion on a mailing list.
Most likely the Ruby version supplied by doing an rpm update on the official Centos 5 repository would&#8217;ve been fine, Ruby 1.8.5-5.el5_2.3
&#8211; note, I&#8217;m actually going back to to the official Ruby installation because of the fact that there's a security vulnerability here:
http://www.securitytracker.com/alerts/2008/Jul/1020476.html
Rather than rip it out by the roots as well as installing the correct RPMs by force, I found a cool package:  yum-allowdowngrade:
yum list available ruby*
Loading &#8220;allowdowngrade&#8221; plugin
Loading &#8220;installonlyn&#8221; plugin
Setting up repositories
Reading repository metadata in from local files
Available Packages
ruby.i386                                1.8.5-5.el5_2.3        updates
ruby-devel.i386                          1.8.5-5.el5_2.3        updates
ruby-docs.i386                           1.8.5-5.el5_2.3        updates
ruby-irb.i386                            1.8.5-5.el5_2.3        updates
ruby-libs.i386                           1.8.5-5.el5_2.3        updates
ruby-mode.i386                           1.8.5-5.el5_2.3        updates
ruby-rdoc.i386                           1.8.5-5.el5_2.3        updates
ruby-ri.i386                             1.8.5-5.el5_2.3        updates
ruby-tcltk.i386                          1.8.5-5.el5_2.3        updates
yum grouplist
yum groupremove &#8220;Ruby&#8221;
yum &#8220;groupinstall &#8220;Ruby&#8221;
yum remove ruby-libs ruby-docs
yum install ruby-libs ruby-docs
yum install ruby-irb ruby-rdoc ruby-ri
so now my ruby installation looks like:
Installed Packages
ruby.i386                                1.8.5-5.el5_2.3        installed
ruby-devel.i386                          1.8.5-5.el5_2.3        installed
ruby-docs.i386                           1.8.5-5.el5_2.3        installed
ruby-irb.i386                            1.8.5-5.el5_2.3        installed
ruby-libs.i386                           1.8.5-5.el5_2.3        installed
ruby-mode.i386                           1.8.5-5.el5_2.3        installed
ruby-rdoc.i386                           1.8.5-5.el5_2.3        installed
ruby-ri.i386                             1.8.5-5.el5_2.3        installed
The reason I wanted to upgrade to 1.8.6 was to get the 1.9 warnings, as well as to retain consistent with windows.  I&#8217;ll still utilize 1.86 on Linux VMs not facing the internet, but not on QA Sites.
rubygems 1.1.1 was installed by hand.
</description>
      <guid>http://spikef2163i5.cabbycentral.com/2008/08/10/updating-and-downgrading-ruby-on-qa-site.html</guid>
      <pubDate>Sun, 10 Aug 2008 16:33:27 -0400</pubDate>
      <dc:creator>spikef2163i5</dc:creator>
    </item>
    <item>
      <title>Ruby environment on behalf of QA Site</title>
      <link>http://spikef2163i5.cabbycentral.com/2008/08/10/ruby-environment-for-qa-site.html</link>
      <description>As noted on the previous post, I&#8217;m sticking with Ruby 1.8.5 fo QA Sites until I get a convincing argument to upgrade manually &#8212; meaning a custom compile.  I should really learn how to build RPMs.
Ruby 1.8.5-5.el5_2.3

official CentOS 5 rpm:
yum install ruby ruby-devel ruby-irb ruby-ri ruby-libs ruby-docs ruby-rdoc

RubyGems 1.1.1

manual install:
wget http://rubyforge.org/frs/download.php/35283/rubygems-1.1.1.tgz
tar -xvzf rubygems-1.1.1.tgz
cd rubygems-1.1.1
ruby setup.rb

Rails 2.0.2

gem install rails -v=2.0.2 

Rake 0.8.1

installed with Rails

Rspec 1.1.4

gem install rspec

ZenTest 3.10.0

gem install ZenTest

test-unit 2.0.2

gem install test-unit

Capistrano 2.4.3

gem install capistrano

MySQL 5.0

database version 5.0.45-7.el5*:
yum install mysql mysql-devel mysql-server


ruby mysql drivers version 2.7:
gem install mysql &#8212; &#8211;with-mysql-lib=/usr/lib/mysql/ &#8211;with-myse=/usr/include/mysql/

PostgreSQL 8.1

database version 8.1.11-1.el5_1.1:
yum install postgresql postgresql-devel postgresql-server postgresql-libs
ruby drivers 0.7.9.2008.03.18:
gem install pg
I had trouble installing databases drivers on Windows
using the older postgres drivers helped, but I think I had to specify the directory:
gem install postgres

SQLite 3.6.1

yum install sqlite sqlite-devel (3.3.6-2)
gem install sqlite3-ruby
Windows needs the SQLite dll as well as the exe.  They require to both be in the PATH environment variable.

# gem list &#8211;local
*** LOCAL GEMS ***
actionmailer (2.0.2)
actionpack (2.0.2)
activerecord (2.0.2)
activeresource (2.0.2)
activesupport (2.0.2)
hoe (1.7.0)
mysql (2.7)
pg (0.7.9.2008.03.18)
rails (2.0.2)
rake (0.8.1)
rspec (1.1.4)
rubyforge (1.0.0)
sqlite3-ruby (1.2.2)
test-unit (2.0.0)
ZenTest (3.10.0)
</description>
      <guid>http://spikef2163i5.cabbycentral.com/2008/08/10/ruby-environment-for-qa-site.html</guid>
      <pubDate>Sun, 10 Aug 2008 19:00:27 -0400</pubDate>
      <dc:creator>spikef2163i5</dc:creator>
    </item>
    <item>
      <title>Linode Installation</title>
      <link>http://spikef2163i5.cabbycentral.com/2008/09/09/linode-installation.html</link>
      <description>QA-Site.com is on a Linode with 360MB RAM as well as 15GM Disk using the Linode Xen-beta.  I pointed the qa-site.com domain registrar to user Linode&#8217;s nameservers:
NS1.LINODE.COM
NS2.LINODE.COM
The last couple of days have been spent installing software in order to set up.   I still have some CPAN work (for bugzilla) as well as Python work (for trac) but once that&#8217;s ready I&#8217;ll take a snapshot as a base OS.  I tried to utilize RPMs on behalf of everything (except MagickWand, as noted below)  but I might in the future desire to have a custom Apache + mod_perl + mod_ssl + mod_python + PHP as well as MySQL/PostgreSQL on behalf of each qa-site.  That way install is just a copy &amp; unzip.  I would prefer everything to be tidily installed in /usr/local instead of RPMs with config files, init scripts, etc. scattered all over.  But one of the advantages of the RPMs is the existing init scripts on behalf of things like service httpd start.
One thing I would require to do is remove the gcc dependencies, so I don&#8217;t have to add as well as remove it.
First, I removed the root login from /etc/ssh/sshd_config
Second, I did a complete &#8216;yum update&#8217; from the CentOS 5  base repository.
Then I installed the web as well as database RPMs (using yum mostly)
Here is a list of what I&#8217;ve installed via yum:

http-2.2.3-11-el5
mod_ssl-2.2.3-11.el5.centos
perl-5.8.8-10.el5_0.2
php-5.1.6-15.el5
Ruby-1.8.5-5
ruby-ri ruby-rdoc ruby-irb ruby-docs
a bunch of perl libraries (whatever I needed from default RPMs)
a bunch of php/pear/pecl libraries (whatever I needed from default RPMSs)
mysql-5.0.22-2.2.el5_1.1, mysql-server-5.0.22-2.2.el5_1.1
mod_auth_mysql
subversion-1.4.2-2.el5
subversion-perl, subversion-ruby, mod_dav_svn
OpenLDAP-2.3.27-8
php-LDAP, perl-LDAP, python-LDAP, mod_authz_ldap
FreeRADIUS-1.1.3-1.2.el5
ImageMagick-6.2.8
ImageMagick-perl-6.2.8
ImageMagick-devel-6.2.8
gd-devel-2.0.33-9.3.fc6

For packages from utterramblings, I created the following file:
etc/yum.repos.d/utterramblings.repo

 name=Jason&#8217;s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
And upgraded/installed the following from utterramblings.repo:

php- 5.2.5
php-xcache
mysql-5.0.54, , mysql-server-5.0.54

</description>
      <guid>http://spikef2163i5.cabbycentral.com/2008/09/09/linode-installation.html</guid>
      <pubDate>Tue, 09 Sep 2008 21:49:13 -0400</pubDate>
      <dc:creator>spikef2163i5</dc:creator>
    </item>
    <item>
      <title>More installation fun with ImageMagick</title>
      <link>http://spikef2163i5.cabbycentral.com/2008/09/09/more-installation-fun-with-imagemagick.html</link>
      <description>When I installed ImageMagick from source to install MagickWand, I broke the perl Image::Magick install.  So that the bugzilla checksetup.pl script broke on the check with the error message:
perl: symbol lookup error: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Image/Magick/Magick.so: undefined symbol: MagickCoreGenesis
So I needed to back out the manual ImageMagick build, or perl would be broken.  If that meant losing MagickWand, so be it.
A search on behalf of &#8220;how to uninstall perl modules&#8221; revealed some idiotic feedback on the perl.beginners newsgroups to the effect that you&#8217;d never desire to uninstall a perl module.  I originally attributed it to Randall Schwartz (author of Learning Perl), but in fact, though he was in the conversation, he only made technical clarification.
When an atrocious system like CPAN is your installer (or when you&#8217;re using anything that uses autoconf) you WILL desire to uninstall something at some point.
Eventually, I decided the only solution I had was to jog &#8216;make install&#8217; again on the ImageMagick source distribution as well as see what it installed.
After a lot of analysis, it turned out to not be as bad as I thought.  I only had to remove two files:
# rm -r /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Image/Magick*
# rm -r /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Image/Magick*
and  edit perllocal.pod
I found a lovely script to clean up perllocal at perlmonks:
http://www.perlmonks.org/?node_id=483020 
I then pruned the remaining Image::Magick sections from perllocal.pod as well as reinstalled the ImageMagick-perl-6.2.8 RPM.
I haven&#8217;t thoroughly tested it yet, but I trust both PerlMagick as well as MagickWand are still working, though I still have the two versions of ImageMagick.
I also removed the ImageMagick-devel-6.2.8 RPM.
</description>
      <guid>http://spikef2163i5.cabbycentral.com/2008/09/09/more-installation-fun-with-imagemagick.html</guid>
      <pubDate>Tue, 09 Sep 2008 23:04:33 -0400</pubDate>
      <dc:creator>spikef2163i5</dc:creator>
    </item>
    <item>
      <title>Bugzilla dependencies</title>
      <link>http://spikef2163i5.cabbycentral.com/2008/09/13/bugzilla-dependencies.html</link>
      <description>I installed bugzilla at the end of fixing the ImageMagick stuff this morning.   This wasn&#8217;t quite straightforward either, but I&#8217;d waded through this before with one-shore as well as a local install on windows as well as a CentOS VMWare image.
Here are my notes:
&#8211; download bugziila 3.0.3
# wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.0.3.tar.gz
&#8211; unzip bugzilla
# tar -xvzf bugzilla-3.0.3.tar.gz
&#8211; transfer bugzilla to site
# mv bugzilla-3.0.3 /var/www/bugzilla
&#8211; restart websever
# service httpd configtest
# service httpd restart
&#8211; check bugzilla dependencies
# cd /var/www/bugzilla
# perl checksetup.pl
&#8211; install dependencies via CPAN
cpan Bundle::CPAN
cpan Bundle::Bugzilla
&#8211; this failed on the DBD::mysql 4.0 plugin (3.0 should have workd on behalf of Bugzilla 3.0.3, though 4.0 is required on behalf of Bugzilla 3.1.x)
I fixed that with a manual install of the CPAN module as well as temporarily setting the root password to &#8220;&#8221; to match what was expected in the test script.  Alternately, you can specify the default username &amp; password to test with (somewhere).
After this, the basics were installed, but I got the extras with:
# cpan Email::Send
# cpan Email::MIME:Modifier
# cpan Template::Plugin::GD
# cpan SOAP::Lite
# cpan HTML::Scrubber
# cpan Email::MIME::Attachment::Stripper
# cpan Email::Reply
I had to manually install chart:
&#8211; manually install Chart
# wget http://search.cpan.org/CPAN/authors/id/C/CH/CHARTGRP/Chart-2.4.1.tar.gz
# tar -xvzf Chart-2.4.1.tar.gz
# cd Chart-2.4.1
# perl Makefile.PL
# manufacture &amp;&amp; manufacture test &amp;&amp; manufacture install
&#8211; create bugzilla account on mysql
#mysql -u root -p
mysql&gt;grant all on bugzilla.* to &#8216;bugzilla&#8217;@'localhost&#8217; identified by &#8216;********&#8217;;
&#8211; edit bugzilla localconfig
# vi ./localconfig
$db_driver = &#8216;mysql&#8217;;
$db_host = &#8216;localhost&#8217;;
$db_name = &#8216;bugzilla&#8217;;
$db_user = &#8216;bugzilla&#8217;;
$db_pass = &#8216;********&#8217;;
&#8211; install Bugzilla by operational checksetup.pl again
# perl checksetup.pl
After this, it was just some playing with Apache to eliminate the 404 Forbidden (I&#8217;ll probably forget what I did again) as well as then configure via the admin login.  I had a brief problem with cookies because of the fact that I tried to set the cookie domain &#8212; that shall take some more work with mulitple installs, but apart from the qa-site.com as well as demo.qa-site.com being hosted together, it won&#8217;t be a problem with VPSes.
</description>
      <guid>http://spikef2163i5.cabbycentral.com/2008/09/13/bugzilla-dependencies.html</guid>
      <pubDate>Sat, 13 Sep 2008 22:29:27 -0400</pubDate>
      <dc:creator>spikef2163i5</dc:creator>
    </item>
    <item>
      <title>Subversion</title>
      <link>http://spikef2163i5.cabbycentral.com/2008/09/14/subversion.html</link>
      <description>Apart from being used as a developer repository, subversion is used by Trac.
Subversion installation was pretty straightforward.  I installed the RPMs with yum:
# yum install subversion mod_dav_svn
&#8211;Optionally install bindings on behalf of languages
# yum install subversion-perl subversion-ruby  subversion-java
&#8211; create a repository
# svnadmin create /var/www/svn/repository-name
&#8211; edit httpd.conf (the RPM creates /etc/httpd/conf.d/subversion.conf)
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
&#8211; create a location
&lt;Location /svn&gt;
Options Indexes
Order allow,deny
Allow from all
DAV svn
SVNParentPath /var/www/svn
&lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt;
AuthType Basic
AuthName &#8220;Subversion Login&#8221;
AuthUserFile /var/www/access/.htpasswd
Require valid-user
&lt;/LimitExcept&gt;
&lt;/Location&gt;
&#8211; restart apache
Note on behalf of all you rocketscientists who utilize the SVNParentPath directive:
http://localhost/svn returns 404 Forbidded.  Navigate to http://localhost/svn/respository-name  works.
Set up svn to utilize HTTPS optionally.
</description>
      <guid>http://spikef2163i5.cabbycentral.com/2008/09/14/subversion.html</guid>
      <pubDate>Sun, 14 Sep 2008 22:50:42 -0400</pubDate>
      <dc:creator>spikef2163i5</dc:creator>
    </item>
    <item>
      <title>Trac setup</title>
      <link>http://spikef2163i5.cabbycentral.com/2008/09/14/trac-setup.html</link>
      <description>Make sure apache, python, mod_python, subversion, sqlite, clearsilver, &amp; clearsilver-python are installed as well as working first.
Trac uses the swig bindings installed with Subversion, not pysvn.
&#8211; install setuptools on behalf of genshi as well as pygments (needed on behalf of 0.11, not on behalf of 0.10)  
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
# easy_install genshi
#  easy_install pygments
# easy_install docutis
&#8211; optionally install silvercity on behalf of syntax highlighting
# wget http://ufpr.dl.sourceforge.net/sourceforge/silvercity/SilverCity-0.9.7.tar.gz
# tar -xvzf SilverCity-0.9.7.tar.gz
# python setup.py install
&#8211; Download, unzip, install trac:
# wget  ftp://ftp.edgewall.com/pub/trac/trac-0.10.4.tar.gz
# tar -xvzf trac-0.10.4.tar.gz
# python ./setup.py install
 &#8212; Create a project:
# trac-admin /var/www/trac-site initenv
&#8211; edit trac.ini (no changes yet)
&#8211; test with build in server
# tracd &#8211;port 8000 /var/www/trac-site
&#8211; configure apache to point to trac site
&lt;Location /trac&gt;
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/www//trac-site
PythonOption TracUriRoot /trac
&lt;/Location&gt;
The trac documentation is actually pretty good as well as this closely follows it.
http://trac.edgewall.org/wiki/0.10/TracInstall
http://trac.edgewall.org/wiki/TracModPython
I did have some trouble with getting python as well as subversion working combined on windows, however (that may have had to do with python-2.4, I don&#8217;t think I tried downgrading to 2.3, as well as It might have had trouble with newer Apache 2.2.4)
And fast-cgi isn&#8217;t an option on windows.
</description>
      <guid>http://spikef2163i5.cabbycentral.com/2008/09/14/trac-setup.html</guid>
      <pubDate>Sun, 14 Sep 2008 22:20:16 -0400</pubDate>
      <dc:creator>spikef2163i5</dc:creator>
    </item>
    <item>
      <title>New mailserver: exim + dovecot</title>
      <link>http://spikef2163i5.cabbycentral.com/2008/09/14/new-mailserver-exim-dovecot.html</link>
      <description>I set up exim + dovecot on behalf of qa-site.  I&#8217;m pretty happy with the results so far.  Installation was a snap, as well as configuration was practically pain free (thanks in part to google as well as this mini howto on behalf of SMTP auth.)
I created SSL keys on behalf of both exim as well as dovecot (that are practically identical) using this command:
openssl req -x509 -newkey rsa:1024 -keyout exim.key -out exim.crt -days 365 -nodes
openssl req -x509 -newkey rsa:1024 -keyout dovecot.key -out dovecot.crt -days 365 -nodes
and then edited the configuration files to point to them:
exim.conf:
tls_certificate = /usr/share/ssl/certs/exim.crt
tls_privatekey = /usr/share/ssl/private/exim.key
dovecot.conf:
ssl_cert_file = /usr/share/ssl/certs/dovecot.crt
ssl_key_file = /usr/share/ssl/private/dovecot.key
in exim.conf, I also made the following changes:
primary_hostname = qa-site.com #this would have used `uname -n` by default

uncommented:
auth_advertise_hosts = ${if eq {$tls_cipher}{}{}{*}}
and commented:
#auth_advertise_hosts = 
and then added:
plain:
driver = plaintext
public_name = PLAIN
server_prompts = :
server_set_id = $2
server_condition = &#8220;${if pam{$2:$3}{1}{0}}&#8221;
login:
driver = plaintext
public_name = LOGIN
server_prompts = &#8220;Username:: : Password::&#8221;
server_set_id = $1
server_condition = &#8220;${if pam{$1:$2}{1}{0}}&#8221;

in addition, to utilize maidir, I edited exim.conf to include:

 local_delivery:
driver = appendfile
# file = /var/mail/$local_part
delivery_date_add
envelope_to_add
return_path_add
group = mail
mode = 0660
maildir_format = true
directory = /home/${local_part}/Maildir
create_directory = true
check_string = &#8220;&#8221;
escape_string = &#8220;&#8221;
in dovecot, I just had to set:
mail_location = maildir:~/Maildir
I created a .muttrc file to read my Maildir:
set mbox_type=Maildir
set folder=&#8221;~/Maildir&#8221;
set mask=&#8221;!^\.[^.]&#8220;
set mbox=&#8221;~/Maildir&#8221;
set record=&#8221;+.Sent&#8221;
set postponed=&#8221;+.Drafts&#8221;
set spoolfile=&#8221;~/Maildir&#8221;
I now have working TLS with SMTP auth, POP3 as well as IMAP access through remote thundirbird/outlook as well as local mutt clients.  They both utilize PAM system-auth by default (exim needed read access to /etc/shadow.)
The next steps are to set up procmail to utilize spamassassin as well as clamav to filter incoming mail, as well as set up a webmail client.  I mentioned on my spikef2163i5 blog that I&#8217;m looking on behalf of webmail application recommendations.  I&#8217;m leaning towards v-webmail.
One last thing shall be to set up virtual domains, so that, on behalf of example, cuencatravel.qa-site.com can have it&#8217;s posses email setup.
</description>
      <guid>http://spikef2163i5.cabbycentral.com/2008/09/14/new-mailserver-exim-dovecot.html</guid>
      <pubDate>Sun, 14 Sep 2008 19:07:58 -0400</pubDate>
      <dc:creator>spikef2163i5</dc:creator>
    </item>
</channel></rss>