This is what I get when I install a1 following http://git.aegirproject.org/?p=provision.git;a=blob_plain;f=docs/INSTALL...
Any guesses ?

root@twinlogix:/var/aegir# su -s /bin/sh aegir -c "sh aegir-instal aegir.xxxxxxxx.com"==> Aegir automated install script
==> MySQL is listening on xx.xx.xx.xx.
==> This script makes the following assumptions:
* you have read INSTALL.txt and prepared the platform accordingly
* you are running as your "aegir" user
Do you want to proceed with the install? [Y/n] y
==> Aegir will now generate a mysql super user password for you:
Username : aegir_root
Password : 3e06d4e0a8b7ca5968ddd2e9588a4340
Hostname : xxxxxxxxx (xx.xx.xx.xx)

You will be asked to enter your mysql root user password now :
Enter password:
/usr/bin/drush
==> Drush is in the path, good
==> Drush seems to be functionning properly
==> Provision already seems to be installed
==> Installing the frontend
Downloaded file drush_make-6.x-2.0-beta8.tar.gz couldn't be untarred to /var/aegir/.drush/drush_make correctly [error]
An error occurred at function : drush_pm_download [error]
The external command could not be executed due to an application error. [error]
SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'twinlogix' (111) [error]
Drush command could not be completed. [error]
Output from failed command : [error]

Fatal error: Call to a member function quote() on a non-object in /var/aegir/.drush/provision/db/db.drush.inc on
line 311

An error occurred at function : drush_provision_hostmaster_install [error]

Comments

adrian’s picture

Category: bug » support

support request.

the hostname shown here -

Hostname : xxxxxxxxx (xx.xx.xx.xx)

Is that 'twinlogix' ?
ie: from here (SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'twinlogix' (111) [error])

try doing :

mysql -uaegir_root -p3e06d4e0a8b7ca5968ddd2e9588a4340 -h\`uname -n`
pearcec’s picture

Priority: Major » Minor
Status: Active » Closed (works as designed)

My guess is you didn't comment out the default "bind-address = 127.0.0.1" in /etc/mysql/my.cnf. Which is what I just ran into.

John_Buehrer’s picture

I'm having the same problem myself, but note:
It looks like there are two errors here:
1. the wrong sort of mysql db connection parameters.
2. the script itself is not recovering from error #1.

It seems the script is support to show a diagnostic about the database problem, but that logic is wrong and gives the "object-oriented" error. Can that be fixed by someone familiar with it? Then the rest of us can fix our own database connections as we see fit.

Thanks!

phildefer’s picture

Category: support » bug
Priority: Minor » Normal
Status: Closed (works as designed) » Active

installing aegir in mandriva 2010.0 I found the same problem, but solved it by doing several actions :

1- uncomment bind-address = 127.0.0.1" in /etc/mysql/my.cnf to have the aegir user succeed to execute

mysql -u aegir -h mylaptop -pxxxx -Bse 'show databases'

2 - check pdo driver (from http://drupal.org/node/434430)

bash-4.0$ php -r 'phpinfo();'|grep pdo
/etc/php.d/70_pdo.ini,
...
bash-4.0$ php -r 'phpinfo();'|grep PDO
PDO
PDO support => enabled
PDO drivers =>

the trap is here! pdo is partially installed, this is why I have this message. In /var/aegir/.drush/provision/db/db.drush.inc, creation of new pdo object fail once, and generate an error message -fail to execute external program- ( without display it if drush executed without -d) then there is an other loop and this time drush continue to execute code on an empty object conn, and we have our error message. I think all error messages should be displayed, and not only the one generated by the last loop. Activate -d option for drush could solve that (is their a way to force drush to use debug/verbose by default behavior?).
when i installed pdo driver's for mysql i had :

bash-4.0$ php -r 'phpinfo();'|grep PDO
PDO
PDO support => enabled
PDO drivers => mysql
PDO Driver for MySQL => enabled

I think this kind of test should be implemented in install.sh

3- mandriva only : comment last line of install.sh and display normaly executed command

msg "$DRUSH -d hostmaster-install --aegir_host=$AEGIR_HOST --aegir_db_user=$AEGIR_DB_USER --aegir_db_pass=$AEGIR_DB_PASS --version=$AEGIR_VERSION $@"
# $DRUSH -d hostmaster-install --aegir_host=$AEGIR_HOST --aegir_db_user=$AEGIR_DB_USER --aegir_db_pass=$AEGIR_DB_PASS --version=$AEGIR_VERSION $@

by this way, you can continue or/and repeat install process with same parameters. Note the -d option i add to see debug messages.
4 - execute install.sh
5 - mandriva only : modify /var/aegir/.drush/provision/http/apache/apache_service.inc

public static function apache_restart_cmd() {
...
    $options[] = '/etc/init.d/httpd'; // mandriva
    $options[] = $command;
...
return "sudo $command restart";
}

yes, replace graceful by restart overwise you'll have WSOD in all pages served by your local server (not only drupal)! Is keyword 'restart' should be used only for mandriva?
6- mandriva only : execute install.sh again to generate the good /var/aegir/.drush/server_master.alias.drushrc.php
7- mandriva only : execute displayed drush command by copying it in your console.

At this time, i have to start a new install to validate this process for mandriva (i don't reach yet the step "start drupal"), until someone includes mandriva specific code in a good way.

Hope this help

adrian’s picture

Category: bug » support
Status: Active » Closed (works as designed)

thank you for the detailed error report, but it should have been a new issue relating to documentation.

We use the apachectl script , which may be in different places, or called different things depending on which operating system you are using. We do not make use of init scripts (ie : /etc/init.d/$X), because they also dont have the graceful keyword.

Graceful here means it wont stop serving pages while it loads new virtualhosts.

anarcat’s picture

Issue tags: +FAQ

typical request, faq material