Tag Archives: Linux

More performance for Roundcube/SquirrelMail webmailer with imapproxy

There is an easy way out there to improve performance on webmail clients like SquirrelMail and Rouncube.
Roundcube and similar clients opens a new IMAP connection on each request, e.g. opening the next e-Mail.
A caching proxy like imapproxy is reported to increase performance from 0.5 seconds up to 3 seconds per Action.

Installation on debian is very simple.
Just install the imapproxy package via aptitude install imapproxy.
In our setup the webmail client and imap server is running on different servers.

in /etc/imapproxy.conf we just change the configuration of our IMAP Server
server_hostname mail.myhostname.com

the following important options could stay default but are worth mentioning:

listen_port 1143 - Port imapproxy is listening on
server_port 143 - Port of the imap server host)

After starting imapproxy we only have to change roundcube configuration in config/main.inc.php:

$rcmail_config['default_host'] = 'localhost';
$rcmail_config['default_port'] = 1143;

and that’s it.
Happy proxying :)

Sources:
http://trac.roundcube.net/wiki/Howto_Performance
https://maze.io/2011/03/25/speed-up-roundcube-webmail/

Related Posts:

Harddisk SMART Status auslesen bei 3ware RAID

Bei einem unserer Hetzner Server ist eine Platte defekt. Der Hetzner Support möchte nun vor dem Tausch einen S.M.A.R.T. Status Output der Festplatte haben.
Normalerweise geht das einfach mit smartctl -l error -d ata /dev/sda.

Da das Device aber ein Hardware RAID ist, verstecken sich hinter /dev/sda eben zwei oder mehr physikalische Disks.

Über einen Umweg kann man aber trotzdem mit smartctl die S.M.A.R.T. Daten der Disk auslesen:

smartctl -a /dev/twa0 -d 3ware,1

/dev/twa0 steht hier für den Controller selbst
-d 3ware,1 gibt die Infos der Disk ID 1 aus (siehe auch tw_cli /c0 show)

Ein Output sieht im Fehlerfall dann beispielsweise so aus:

smartctl 5.41 2011-06-09 r3365 [x86_64-linux-2.6.32-5-xen-amd64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.11
Device Model: ST31500341AS
Serial Number: 9VS256GQ
LU WWN Device Id: 5 000c50 0150484fb
Firmware Version: CC1H
User Capacity: 1,500,301,910,016 bytes [1.50 TB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Tue Jan 8 19:34:32 2013 CET
SMART support is: Available – device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
See vendor-specific Attribute list for failed Attributes.

General SMART Values:
Offline data collection status: (0×82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 617) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0×0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0×01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 255) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x103f) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 119 099 006 Pre-fail Always – 209614914
3 Spin_Up_Time 0×0003 100 100 000 Pre-fail Always – 0
4 Start_Stop_Count 0×0032 100 100 020 Old_age Always – 9
5 Reallocated_Sector_Ct 0×0033 001 001 036 Pre-fail Always FAILING_NOW 4095
7 Seek_Error_Rate 0x000f 091 060 030 Pre-fail Always – 1398653228
9 Power_On_Hours 0×0032 068 068 000 Old_age Always – 28546
10 Spin_Retry_Count 0×0013 100 100 097 Pre-fail Always – 0
12 Power_Cycle_Count 0×0032 100 100 020 Old_age Always – 9
184 End-to-End_Error 0×0032 100 100 099 Old_age Always – 0
187 Reported_Uncorrect 0×0032 042 042 000 Old_age Always – 58
188 Command_Timeout 0×0032 100 099 000 Old_age Always – 12885098499
189 High_Fly_Writes 0x003a 001 001 000 Old_age Always – 274
190 Airflow_Temperature_Cel 0×0022 048 033 045 Old_age Always In_the_past 52 (0 188 54 47)
194 Temperature_Celsius 0×0022 052 067 000 Old_age Always – 52 (0 20 0 0)
195 Hardware_ECC_Recovered 0x001a 042 025 000 Old_age Always – 209614914
197 Current_Pending_Sector 0×0012 100 100 000 Old_age Always – 0
198 Offline_Uncorrectable 0×0010 100 100 000 Old_age Offline – 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always – 0
240 Head_Flying_Hours 0×0000 100 253 000 Old_age Offline – 12652973682562
241 Total_LBAs_Written 0×0000 100 253 000 Old_age Offline – 1787571001
242 Total_LBAs_Read 0×0000 100 253 000 Old_age Offline – 2802815673

SMART Error Log Version: 1
ATA Error Count: 58 (device log contains only the most recent five errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It “wraps” after 49.710 days.

Error 58 occurred at disk power-on lifetime: 28298 hours (1179 days + 2 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
— – — – — – –
40 51 00 ff ff ff 0f Error: UNC at LBA = 0x0fffffff = 268435455

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
— – — – — – — – —————- ——————–
60 00 80 ff ff ff 4f 00 48d+22:29:37.025 READ FPDMA QUEUED
61 00 80 80 6e 0b 45 00 48d+22:29:36.732 WRITE FPDMA QUEUED
61 00 80 00 6e 0b 45 00 48d+22:29:36.731 WRITE FPDMA QUEUED
61 00 80 80 6d 0b 45 00 48d+22:29:36.731 WRITE FPDMA QUEUED
61 00 80 00 6d 0b 45 00 48d+22:29:36.730 WRITE FPDMA QUEUED

Error 57 occurred at disk power-on lifetime: 28298 hours (1179 days + 2 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
— – — – — – –
40 51 00 ff ff ff 0f Error: WP at LBA = 0x0fffffff = 268435455

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
— – — – — – — – —————- ——————–
61 00 80 80 7c fa 44 00 48d+22:29:14.883 WRITE FPDMA QUEUED
61 00 80 00 7c fa 44 00 48d+22:29:14.882 WRITE FPDMA QUEUED
61 00 80 80 7b fa 44 00 48d+22:29:14.882 WRITE FPDMA QUEUED
61 00 80 00 7b fa 44 00 48d+22:29:14.880 WRITE FPDMA QUEUED
61 00 80 80 7a fa 44 00 48d+22:29:14.879 WRITE FPDMA QUEUED

Error 56 occurred at disk power-on lifetime: 28298 hours (1179 days + 2 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
— – — – — – –
40 51 00 ff ff ff 0f Error: UNC at LBA = 0x0fffffff = 268435455

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
— – — – — – — – —————- ——————–
60 00 80 ff ff ff 4f 00 48d+22:28:52.552 READ FPDMA QUEUED
60 00 80 ff ff ff 4f 00 48d+22:28:52.552 READ FPDMA QUEUED
60 00 80 ff ff ff 4f 00 48d+22:28:52.541 READ FPDMA QUEUED
60 00 80 ff ff ff 4f 00 48d+22:28:52.539 READ FPDMA QUEUED
60 00 80 ff ff ff 4f 00 48d+22:28:52.538 READ FPDMA QUEUED

Error 55 occurred at disk power-on lifetime: 28298 hours (1179 days + 2 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
— – — – — – –
40 51 00 ff ff ff 0f Error: UNC at LBA = 0x0fffffff = 268435455

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
— – — – — – — – —————- ——————–
60 00 80 ff ff ff 4f 00 48d+22:28:20.253 READ FPDMA QUEUED
61 00 18 ff ff ff 4f 00 48d+22:28:20.252 WRITE FPDMA QUEUED
61 00 08 61 18 8c 44 00 48d+22:28:20.252 WRITE FPDMA QUEUED
61 00 10 11 36 48 44 00 48d+22:28:20.252 WRITE FPDMA QUEUED
61 00 01 80 35 48 44 00 48d+22:28:20.252 WRITE FPDMA QUEUED

Error 54 occurred at disk power-on lifetime: 28298 hours (1179 days + 2 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
— – — – — – –
40 51 00 ff ff ff 0f Error: UNC at LBA = 0x0fffffff = 268435455

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
— – — – — – — – —————- ——————–
60 00 01 ff ff ff 4f 00 48d+22:27:27.107 READ FPDMA QUEUED
60 00 01 ff ff ff 4f 00 48d+22:27:27.094 READ FPDMA QUEUED
e7 00 00 00 00 00 00 00 48d+22:27:26.248 FLUSH CACHE
61 00 08 f1 9b 7d 40 00 48d+22:27:26.237 WRITE FPDMA QUEUED
61 00 01 00 9a 7d 40 00 48d+22:27:26.236 WRITE FPDMA QUEUED

SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0×0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Nach dem Plattentausch kann man das Raid dann mittels tw_cli maint rebuild c0 u0 p1 neu aufbauen.
c0 steht für Controller 0, u0 für Unit 0 und p1 für das physical drive 1.

Related Posts:

Installing Icinga 1.6.1 on Debian Squeeze with icinga-web

This small how-to briefly describes the installation of icinga 1.6.1 on debian squeeze 6.0 and details the install and configuration of the newest icinga-web (1.6.0).

Unfortunately, the latest icinga package version in debian are:

Because of that we have two choices getting the latest 1.6.1 version of icinga:
Install from source or use the debian packages of icinga in unstable tree (icinga itself is very stable).

  1. simply add

    deb http://ftp.debian.org/debian sid main

    as new line in file /etc/apt/sources.list

  2. do an

    apt-get -t unstable install icinga icinga-idoutils icinga-phpapi

  3. configure icinga & idoutils according to your needs (there is plenty information on the web on this)
  4. Clone recent icinga from git repository (the icinga debian maintainer won’t include icinga-web)

    cd /usr/src && git clone git://git.icinga.org/icinga-web.git

  5. Build icinga-web

    cd icinga-web/ && ./configure –with-api-cmd-file=/var/lib/icinga/rw/icinga.cmd –with-conf-dir=/etc/icinga-web –with-log-dir=/var/log/icinga-web –with-cache-dir=/var/cache/icinga-web

  6. Install Icinga-web

    make install

  7. Install Apache2 config for Icinga-web

    make install-apache-config

  8. Create icinga-web database in mysql

    mysql -u root -p icinga_web < /usr/src/icinga-web/etc/schema/mysql.sql

  9. change database settings in configuration file for icinga itself and icinga-web

    vi /usr/local/icinga-web/app/config/databases.xml

    Line 28: mysql://icinga_web:password@localhost:3306/icinga_web
    Line 79: mysql://icinga-idoutils:password@localhost:3306/icinga

  10. Clear the cache
  11. You should now be able to login to icinga-web with username “root” and password “password” on http://localhost/icinga-web (change password afterwards)

have fun!

Next: Installation and integration of the new InGraph Grapher Addon into icinga-web

Source: Icinga Wiki

Related Posts:

Installing Apache Solr on Debian Squeeze 6.0 and tomcat7

Apache solr logoDue to the lack of an official Apache Solr Package in Debian Squeeze 6.0 this post will briefly describe the installation of tomcat7 together with Apache (Lucene) Solr from Source.

Install tomcat7 package:

apt-get install tomcat7

Download Apache Solr from here, for example:

cd /opt/ && wget http://apache.lehtivihrea.org//lucene/solr/3.4.0/apache-solr-3.4.0.tgz

unpack the package

tar xzfv apache-solr-3.4.0.tgz

copy the solr file to tomcat webapps directory

cp apache-solr-3.4.0/dist/apache-solr-3.4.0.war /var/lib/tomcat7/webapps/solr.war

copy example configs and files to tomcat solr directory

cp -fr example/solr/ /var/lib/tomcat7/

change owner to tomcat

chown -R tomcat7:tomcat7 /var/lib/tomcat7/solr/

restart tomcat

/etc/init.d/tomcat restart

If everything went well you should be able to see the Solr Admin page on http://yourhost.com:8080/solr/admin.
Have Fun!

Related Posts:

NGINX, WordPress and php-fpm on Debian Squeeze

A while ago i published a howto on running nginx+serendipiy+php-fpm with apache style rewriting as implemented in s9y. The described installation is obsolete now – php-fpm made the jump into the regular php versions beginning with php 5.3.3 (see here). In addition to that i made s9y obsolete on my blog and migrated it to wordpress.
The netcraft webserver survey from April 2011 shows that nginx is still increasing slightly and is currently providing access to 8,68% of all monitored domains:

Netcraft Webserver survey april 2011
Time for me to switch to nginx again :)

Manual compiling is cool, but also a bit old-school, that’s why we use packages from Dotdeb in this example:

  1. Add the following two lines into your /etc/apt/sources.list file (example for debian squeeze, see lenny instructions here:

  2. deb http://packages.dotdeb.org stable all
    deb-src http://packages.dotdeb.org stable all

  3. fetch and apply GnuPG key:

  4. wget http://www.dotdeb.org/dotdeb.gpg
    cat dotdeb.gpg | sudo apt-key add -

  5. refresh your sources

  6. apt-get update

  7. Install packages including php5-fpm and nginx:

  8. apt-get install php-apc php-auth php-net-smtp php-net-socket php-pear php5 php5-cgi php5-cli php5-common php5-curl php5-dev php5-gd php5-imagick php5-imap php5-mcrypt php5-mysql php5-pspell php5-sqlite php5-suhosin php5-xmlrpc php5-xsl php5-fpm nginx

  9. First of all i did some modifications (gzip compression and tcp tweaks) to the nginx.conf located in /etc/nginx/nginx.conf

  10. #/etc/nginx/nginx.conf
    worker_processes 2;
    tcp_nopush on;
    tcp_nodelay on;
    # Gzip Settings
    gzip on;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 1;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

  11. Thanks to the new try_files directive in nginx the vhost configuration (found in /etc/nginx/sites-available) for wordpress is fairly straight forward. (In addition Igor often mentioned that using the if directive in nginx equal to apache usage is evil.). Example vhost configuration code for my blog:

    #/etc/nginx/nginx.conf
    server {
    listen :80;
    server_name andreas-lehr.com;
    server_tokens off;
    root /var/www/virtual/andreas-lehr.com/htdocs;
    index index.php index.html index.htm;
    access_log /var/log/nginx/andreas-lehr.com/access_log;
    error_log /var/log/nginx/andreas-lehr.com/error_log;

    location / {
    index blog/index.php ;
    }

    location /blog/ {
    try_files $uri $uri/ /blog/index.php?q=$uri;
    }

    location ~ \.php$ {
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    #fastcgi_pass 127.0.0.1:9000;
    fastcgi_pass unix:/dev/shm/php-fastcgi.socket;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    expires max;
    log_not_found off;
    gzip on;
    }
    }

    please be aware that the blog in the example is running from the sublocation /blog.

  12. php-fpm configuration is located in /etc/php5/fpm. The file php-fpm.conf is the main configuration file which includes everything in the subdirectory pool.d, where i made some modifications to the default www.conf pool file:

  13. #/etc/php5/fpm/pool.d/www.conf
    ;listen = 127.0.0.1:9000
    listen = /dev/shm/php-fastcgi.socket
    php_flag[display_errors] = off
    php_admin_value[error_log] = /var/log/fpm-php.www.log
    php_admin_flag[log_errors] = on
    php_admin_value[error_reporting] = 0
    php_admin_value[memory_limit] = 128M
    php_admin_value[date.timezone] = Europe/Berlin

    As you see i configured only one pool which is running through the unix socket in /dev/shm/php-fastcgi.socket, which should be a bit faster than via local TCP socket. In addition i didn’t change any other performance values in first place (Blog is running with pm = dynamic, pm.max_children = 50, pm.start_servers = 20, pm.min_spare_servers = 5, pm.max_spare_servers = 35, pm.max_requests = 0 which is a lot more than ever needed).
    Finally i changed some php_admin_flags and values accordingly.

  14. Start php-fpm

  15. /etc/init.d/php5-fpm start

  16. Start nginx

  17. /etc/init.d/nginx start

Conclusion:
Now thats really a easy and fast way to install nginx with php-fpm on debian squeeze. This configuration is now running for several weeks on this domain and the pingdom monitoring shows an average response time improvement of about 300ms. In addition the machine now has a lot more reserves considering RAM and CPU.
Coming up next:
Adapting this changes to the piwik and gallery3 installations running here, integration of varnish-cache in this setup.

Related Posts:

Fixing Redmine “undefined local variable or method `version_requirements’” Error

redmine logoAfter a recent update on one of our service machines, redmine (version 1.1.2) crashed during startup with the following error:

Error message:
undefined local variable or method `version_requirements' for #
Exception class:
NameError

Application root:
/opt/redmine

Backtrace:
# File Line Location
0 /var/lib/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb 119 in `requirement'
1 /usr/lib/ruby/1.8/rubygems/source_index.rb 269 in `search'
2 /var/lib/gems/1.8/gems/rails-2.3.5/lib/rails/vendor_gem_source_index.rb 119 in `search'
3 /usr/lib/ruby/1.8/rubygems.rb 247 in `activate'
4 /usr/lib/ruby/1.8/rubygems.rb 1276 in `gem'
5 /var/lib/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb 73 in `add_load_paths'
6 /var/lib/gems/1.8/gems/rails-2.3.5/lib/initializer.rb 301 in `add_gem_load_paths'
7 /var/lib/gems/1.8/gems/rails-2.3.5/lib/initializer.rb 301 in `each'
8 /var/lib/gems/1.8/gems/rails-2.3.5/lib/initializer.rb 301 in `add_gem_load_paths'
9 /var/lib/gems/1.8/gems/rails-2.3.5/lib/initializer.rb 132 in `process'
10 /var/lib/gems/1.8/gems/rails-2.3.5/lib/initializer.rb 113 in `send'
11 /var/lib/gems/1.8/gems/rails-2.3.5/lib/initializer.rb 113 in `run'
12 /opt/redmine/config/environment.rb 20
13 /usr/lib/ruby/1.8/rubygems/custom_require.rb 36 in `gem_original_require'
14 /usr/lib/ruby/1.8/rubygems/custom_require.rb 36 in `require'
15 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb 318 in `preload_application'
16 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb 267 in `initialize_server'
17 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/utils.rb 323 in `report_app_init_status'
18 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb 246 in `initialize_server'
19 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb 194 in `start_synchronously'
20 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb 163 in `start'
21 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb 222 in `start'
22 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb 253 in `spawn_rails_application'
23 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb 126 in `lookup_or_add'
24 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb 247 in `spawn_rails_application'
25 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb 80 in `synchronize'
26 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb 79 in `synchronize'
27 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb 246 in `spawn_rails_application'
28 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb 145 in `spawn_application'
29 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb 278 in `handle_spawn_application'
30 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb 352 in `__send__'
31 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb 352 in `main_loop'
32 /var/lib/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb 196 in `start_synchronously'
33 /var/lib/gems/1.8/gems/passenger-2.2.15/bin/passenger-spawn-server 61

I believe the error came up with the recent version of the rubygems packe provided in debian testing, which is rubygems_1.6.2-1_all.deb in our case.
The error is described in the official redmine “redmine” right here. More information could also be found in the official redmine bulletin board.

We put the code provided in hint 3 of issue 7516 in line 19 of the file config/environment.rb. This hack fixed the error for us for now.
You could also switch over using the unstable trunk version of redmine, roll back your rubygems or wait for the 1.2.0 release of redmine.

Related Posts:

Open Source Data Center Conference 2011 – Speaker gesucht

osdc_logoDie in diesem Jahr bereits zum dritten Mal stattfindende Open Source Data Center Conference zum Thema Einsatz von Open Source Software in Rechenzentren und großen IT Umgebungen ist in diesem Jahr auf den 06. bis 07. April 2011 terminiert. Diesmal steht die in Nürnberg stattfindende Konferenz unter dem zur Zeit allgegenwärtigen Thema “Automatisiertes Systems Management“.
Zur Zeit läuft der Call for Papers für die Konferenz und interessierte Speaker mögen sich bitte unter diesem Formular als Referent bewerben. Wird ein Vorschlag akzeptiert, so ist die Teilnahme und Verpflegung an der kompletten Veranstaltung kostenlos. Zur Inspiration und Entscheidungsfindung ist das bis dato feststehende Vortragsprogramm hier einzusehen.

Ich selbst werde auch in diesem Jahr wieder versuchen, als Teilnehmer dabei zu sein. Die Konferenz bietet nebst interessanten Vorträgen und Workshops ein hervorragendes Ambiente und außerdem die Möglichkeit, sich mit anderen Kollegen auszutauschen.

Nähere Informationen zur Konferenz findet ihr auf der Eventseite zur OSDC bei Netways.

Related Posts: