PyBlosxom |
/SW/business/Redmine:
Installing Redmine on Debian Linux
I have found Redmine to be extremely sensitive to the Ruby environment, often requiring that librairies be of exactly a certain version (not older, not newer). Configuration documentation is not sufficiently detailed. And error and diagnostic information is extremely difficult to obtain in a typical hosting account.
So if you are trying to install Redmine in a hosting account that supports Ruby on Rails, you would be well-advised to get the application running first in a controlled environment where you have root. In my case, that was my Debian Linux desktop. After flailing around for hours in the hosting account, everything simply fell into place when I went back to basics and installed the Redmine application locally.
These[1][2] were the main references for getting this working on Debian.
apt-get install ruby rake rubygems libmysql-rubyCheckout a fresh copy of the latest Redmine stable, currently:
gem install rails -v=2.3.5 (takes quite a while!)
gem install rake -v=0.8.3
gem install hoe -v=1.3.0
svn co svn://rubyforge.org/var/svn/redmine/branches/0.9-stable redmine-0.9Start the native Ruby web server and see what happens:
cd [...]/redmine-0.9At this point I got a complaint about a missing database.yml. In my case, I was actually migrating Redmine from one hosting account where it suddenly broke, to another hosting account. So I installed the MySQL database from the old account to a database called mentage_redmine, then created a config/database.yml as follows:
ruby script/server production
Restart the server: this time an "Internal Server Error" that gave very specific instructions about adding a line pertaining to cookies to the config/environment.rb file. After adding this line, it basically worked.production: adapter: mysql database: mentage_redmine host: localhost username: mentage_redmine password: *********** encoding: utf8 development: adapter: mysql database: mentage_redmine host: localhost username: mentage_redmine password: *********** encoding: utf8
In my particular case, again because I was migrating an existing application, in the new site I replaced the public/images, javascripts, stylesheets, and themes directories with those from the old site's public directory. After that, everything looked right as well.
[1] http://www.redmine.org/wiki/1/RedmineInstall
[2] http://www.redmine.org/wiki/1/HowTo_Install_Redmine_in_a_home_directory_on_Debian
posted at: 07:30 | path: /SW/business/Redmine | permanent link to this entry
/SW/business/Redmine:
Installing Redmine in a Hostgator Hosting Account
To their credit, Hostgator[1] actually provides some documentation[2] about getting Ruby applications working in their hosting account. I, however, found them to be inadequate, and debugging information availability was little to none, so for me the magic key was getting Redmine working first on my desktop, then migrating to the Hostgator hosting account.
One of the first things one notices when looking at the rather sparse Redmine installation manual[3] is the need for specific versions of a number of Ruby librairies. This is what I found:
My Debian Desktop | Hostgator Account |
rails (2.3.5) | rails (2.3.8) |
rack (1.0.1) | rack (1.1.0) |
rake (0.8.3) | rake (0.8.7) |
hoe (1.3.0) | hoe (2.6.0) |
In the Hostgator account, I got the above librairy versions using "gem list --local". I then installed in the account the correct versions as follows:
gem install rails -v=2.3.5
gem install hoe -v=1.3.0
Now transfer Redmine from desktop to Hostgator, placing it in /home/mentage/redmine-0.9.
In /home/mentage/public_html, create the following symlink: redmine -> /home/mentage/redmine-0.9/public/
Hostgator is using Apache to server up Ruby applications. Create a public/.htaccess[2] file with the following contents:
AddHandler fcgid-script .fcgi AddHandler cgi-script .cgi Options +FollowSymLinks +ExecCGI RewriteEngine On RewriteCond %{REQUEST_URI} ^/notrails.* RewriteRule .* - [L] RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
After that, it worked for me by pointing a browser at the redmine directory.
[1] http://www.hostgator.com/
[2] http://forums.hostgator.com/ruby-rails-support-t13038p8.html
[3] http://www.redmine.org/wiki/1/RedmineInstall
posted at: 09:08 | path: /SW/business/Redmine | permanent link to this entry
/Admin/backups/backuppc:
Using rysnc-over-SSH and BackupPC
The goal here, of course, is to protect your login credentials and the data transferred for backup with encryption. The downside, however, is that you must give your backup server the right to SSH into the client being backed up without a password (configured thusly[1]). One must carefully consider the actual security of the backup server, and whether the degraded security of the client being backed-up is acceptable.
Assuming passwordless authentication has been configured, test that everything is setup on both ends to do rysnc-over-SSH by running this command on the backup server:
rsync -avz -e ssh username@client-domain.com:/path/to/testdirectory testing/The contents of testdirectory on the client should be copied to testing on the server. Note that one of the advantages of rysnc-over-SSH is that there *is* no other client-side configuration, other then making sure that SSH and rsync are working on that end, and installing the public key of the backup server to enable passwordless authentication.
If that worked, go ahead and configure BackupPC. First create your /etc/backuppc/client.pl file (borrowed from [2]):
Assuming your client has been added to /etc/hosts as "clienthost", one now just needs to add clienthost to /etc/backuppc/hosts thusly:$Conf{XferMethod} = 'rsync'; $Conf{RsyncClientPath} = '/usr/bin/rsync'; $Conf{RsyncClientCmd} = '$sshPath -q -x -l root $hostIP $rsyncPath $argList+'; $Conf{RsyncClientRestoreCmd} = '$sshPath -q -x -l root $hostIP $rsyncPath $argList+'; $Conf{RsyncShareName} = ['/etc', '/home', '/var/www'];
clienthost 0 backuppcand restart backuppc. Now "client" should show up in BackupPC's list, and you can start the first backup.
Should the client be using a non-standard SSH port, the easiest solution is to use an SSH alias. I have this working with the following:
$ cat .ssh/config
Host olmserver
Hostname olmserver
Port 123
$ cat /etc/hosts | grep olmserver
102.111.120.117 olmserver
$ cat /etc/backuppc/hosts | grep olmserverNote that there is no need to change the backuppc configuration for this to work, or in fact even to change the port of the client SSH server. All of the SSH port configuration is handled by the SSH configuration.
olmserver 0 backuppc
[1] http://blog.langex.net/index.cgi/Admin/SSH-SSL/passwordless-ssh-authentication.html
[2] http://www.howtoforge.com/linux_backuppc_p3
posted at: 06:37 | path: /Admin/backups/backuppc | permanent link to this entry
/xHW/Lenovo:
Debian Linux on Mystery (Olympic?) Lenovo Notebook
$ lspci 00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 04) 00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port (rev 04) 00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 04) 00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 04) 00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 04) 00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 04) 00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 04) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4) 00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 04) 00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 04) 00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 04) 00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 04) 00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 04) 01:00.0 VGA compatible controller: ATI Technologies Inc M24 1P [Radeon Mobility X600] 02:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev 80) 02:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) 02:03.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1) 02:04.0 CardBus bridge: ENE Technology Inc CB-710/2/4 Cardbus Controller 02:04.1 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller 02:04.2 SD Host controller: ENE Technology Inc ENE PCI Secure Digital Card Reader Controller
I just bought this lovely big used single core 1.73GHz (Pentium IVish?) desktop replacement machine (15.4" widescreen) notebook, and I am absolutely baffled by the lack of any indication of what it's model number might be. There is only the 5-ring Olympic symbol on the top of the case, suggesting that it came out in the run-up to the Beijing 2008 Olympics. In fact, it is in such flawless physical condition for its age of several years that I am thinking it might have been used for just a few weeks during the Olympics.
So far everything I have tried works great with Debian testing, including suspend to RAM right from the KDE desktop menu. After installing the firmware-ipw2x00 package the internal wireless card became visible via ifconfig -a, but iwconfig was reporting "radio off". After some hunting around in a room without enough light, I discovered that the large round LED on the front edge to the right of the CD controls is actually also a pushbutton that controls the state of the wireless card radio.
------------------
Grub. Grrrrr. During my first install there was one glitch when upgrading from grub to grub2 (I started with a base install of Lenny) leaving me with an unbootable machine (first lesson learned: never just ignore grub errors while upgrading....)
This blog post[1] got my grub2 booting again quickly. I will not repeat the post's verbiage, but this is the sequence of commands that got me back on track (I thought....) after booting from an old Ubuntu live CD:
sudo fdisk -l sudo mount /dev/sda5 /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt (optional, only if you're on Ubuntu/Debian) apt-get install grub-pc grub-mkconfig -o /boot/grub/grub.cfg grub-install /dev/sda (try grub-install --recheck /dev/sda if it fails) Ctrl+D (to exit out of chroot) sudo umount /mnt/dev sudo umount /mnt/sys sudo umount /mnt/proc sudo umount /mnt
And then I discovered that somehow, although I was able to boot, as far as fdisk and parted were concerned, my partition table was hosed. Strike two against grub2. Second lesson learned: grub2 is not stable, and after wasting hours of my time it will be a while before I allow it onto a new install again. Now for install, take two, this time no upgrade from grub to grub2.....
That worked, sort of. No matter what I try, I cannot get the swap partition to work. With 2 Gig of RAM, perhaps not a huge deal, but I would at least like to try suspend to disk and see if it works. When I was in the shop getting more RAM, the technician also pointed out that there is a password on the BIOS, and that there is no easy way to remove it (not yet verified). One more thing to check next time I buy a new notebook....
A couple gotchas along the way, but I am not in the mood for complaining in light of how little I paid (about US$300, in the end) for a machine in like-new condition that works very well for me. Hopefully the swap partition thing will sort itself out in a future OS upgrade.
[1] http://grub.enbug.org/Grub2LiveCdInstallGuide
posted at: 10:56 | path: /xHW/Lenovo | permanent link to this entry