The meta installer seems to override my custom .barracuda.cnf settings since BOA 2.0.8 (?).
_PHP_MODERN_ONLY=YES
_PHP_FPM_VERSION=5.3
_PHP_CLI_VERSION=5.3

I set these to:
_PHP_MODERN_ONLY=NO
_PHP_FPM_VERSION=5.2
_PHP_CLI_VERSION=5.2

How do I install php 5.2x for legacy D5 sites and D6 modules with the latest BOA 2.0.8 on a newly provisioned server? Do I need to use BOA 2.0.5 and what's the best way to install an older version of BOA, if yes.

The custom config worked fine in previous versions of BOA where I have D5 sites running on php 5.2x and I've read each of the following:
http://omega8.cc/boa-208-edition-255
http://omega8.cc/boa-207-edition-254
http://omega8.cc/boa-206-edition-253

Comments

Mojah’s picture

I edited o1.octopus.cnf after running the installer and set the php variables to 5.2 then ran octopus up-stable o1 which appeared to work, but I'm still unable to verify the D5P platform due to php syntax errors. Then I checked the o1.octopus.cnf file after the upgrade and _PHP_FPM_VERSION and _PHP_CLI_VERSION was back to 5.3.

Can you point me out to a doc/commit comment which hints on how to resolve php 5.2 installation with the latest BOA?

cat /var/aegir/config/includes/barracuda_log.txt

Mon May  6 14:58:05 UTC 2013 / Debian.squeeze i686 XEN / Aegir BOA-2.0.8 / Barracuda BOA-2.0.8 / Nginx 1.3.15 / PHP 5.2.17 and 5.3.23 / MODERN-YES / FPM 5.3 / CLI 5.3 / MariaDB-5.5.30 localhost / Wildcard YES
Mon May  6 15:07:23 UTC 2013 / Debian.squeeze i686 XEN / Aegir BOA-2.0.8 / Barracuda BOA-2.0.8 / Nginx 1.3.15 / PHP 5.2.17 and 5.3.23 / MODERN-YES / FPM 5.3 / CLI 5.3 / MariaDB-5.5.30 localhost / Wildcard YES
Mon May  6 15:18:12 UTC 2013 / Debian.squeeze i686 XEN / Aegir BOA-2.0.8 / Barracuda BOA-2.0.8 / Nginx 1.3.15 / PHP 5.2.17 and 5.3.23 / MODERN-YES / FPM 5.3 / CLI 5.3 / MariaDB-5.5.30 localhost / Wildcard YES
Mon May  6 17:05:20 UTC 2013 / Debian.squeeze i686 XEN / Aegir BOA-2.0.8 / Barracuda BOA-2.0.8 / Nginx 1.3.15 / PHP 5.2.17 and 5.3.23 / MODERN-YES / FPM 5.3 / CLI 5.3 / MariaDB-5.5.30 localhost / Wildcard YES

cat /var/aegir/install.log

==> MySQL is listening on XXXXX.
==> This script makes the following assumptions: 
 * you have read INSTALL.txt and prepared the platform accordingly
 * you are running as your "aegir" user
==> Aegir will now generate a mysql super user password for you: 
  Username : aegir_root
  Password : XXXXX
  Hostname : XX.XXX.XX (XX.XX.XX.XX)
==> Installing drush in /var/aegir
==> Drush seems to be functioning properly
==> Installing provision backend in /var/aegir/.drush
==> INFO: Downloading Drush and Provision extensions, please wait...
==> Installing the frontend
Aegir BOA-2.0.8 automated install script
==============================================================================
Some settings have not been provided and will now be prompted.
Don't worry: you will get to review those settings after the final install

This script will operate the following changes in your system:

1. Create server-level configuration directories
2. Download drush_make
3. Create the Hostmaster frontend platform
4. Install the frontend site
5. Setup the dispatcher (a user cron job)

We are making the following assumptions:
 * you have read and are following the install instructions at:
    http://community.aegirproject.org/installing
 * the FQDN of this machine is valid and resolves
 * you are executing this script as your "aegir" user

The following settings will be used:
 Aegir frontend URL: XXXX
 Master server FQDN: XXXX
 Aegir root: /var/aegir
 Aegir user: aegir
 Web group: www-data
 Web server: nginx
 Aegir DB host: localhost
 Aegir DB user: aegir_root
 Aegir DB password: <previously set>
 Drush make version: 6.x-2.3
 Aegir version: BOA-2.0.8
 Aegir platform path: /var/aegir/hostmaster-BOA-2.0.8
 Aegir makefile: /var/aegir/.drush/provision/aegir.make
 Admin email: XXXX

Do you really want to proceed with the install (y/n): y
Project drush_make (6.x-2.3) downloaded to /var/aegir/.drush/drush_make.                                          [success]
Project drush_make contains 0 modules: .
pressflow downloaded from http://files.aegir.cc/dev/pressflow-6.28.1.tar.gz.                                      [ok]
hostmaster downloaded from http://files.aegir.cc/versions/hostmaster-BOA-2.0.8.tar.gz.                            [ok]
Found makefile: hostmaster.make                                                                                   [ok]
Project information for admin_menu retrieved.                                                                     [ok]
Project information for openidadmin retrieved.                                                                    [ok]
Project information for install_profile_api retrieved.                                                            [ok]
Project information for jquery_ui retrieved.                                                                      [ok]
Project information for modalframe retrieved.                                                                     [ok]
Project information for hosting_platform_pathauto retrieved.                                                      [ok]
Project information for hosting_task_gc retrieved.                                                                [ok]
Project information for revision_deletion retrieved.                                                              [ok]
Project information for strongarm retrieved.                                                                      [ok]
Project information for features retrieved.                                                                       [ok]
Project information for features_extra retrieved.                                                                 [ok]
Project information for ctools retrieved.                                                                         [ok]
Project information for hosting_backup_queue retrieved.                                                           [ok]
Project information for protect_critical_users retrieved.                                                         [ok]
Project information for userprotect retrieved.                                                                    [ok]
admin_menu downloaded from http://ftp.drupal.org/files/projects/admin_menu-6.x-1.8.tar.gz.                        [ok]
openidadmin downloaded from http://ftp.drupal.org/files/projects/openidadmin-6.x-1.2.tar.gz.                      [ok]
install_profile_api downloaded from http://ftp.drupal.org/files/projects/install_profile_api-6.x-2.1.tar.gz.      [ok]
jquery_ui downloaded from http://ftp.drupal.org/files/projects/jquery_ui-6.x-1.4.tar.gz.                          [ok]
modalframe downloaded from http://ftp.drupal.org/files/projects/modalframe-6.x-1.6.tar.gz.                        [ok]
hosting_platform_pathauto downloaded from                                                                         [ok]
http://ftp.drupal.org/files/projects/hosting_platform_pathauto-6.x-2.0-beta1.tar.gz.
hosting_task_gc downloaded from http://ftp.drupal.org/files/projects/hosting_task_gc-6.x-1.0-alpha1.tar.gz.       [ok]
revision_deletion downloaded from http://ftp.drupal.org/files/projects/revision_deletion-6.x-1.x-dev.tar.gz.      [ok]
strongarm downloaded from http://ftp.drupal.org/files/projects/strongarm-6.x-2.2.tar.gz.                          [ok]
features downloaded from http://ftp.drupal.org/files/projects/features-6.x-1.2.tar.gz.                            [ok]
features_extra downloaded from http://ftp.drupal.org/files/projects/features_extra-6.x-1.x-dev.tar.gz.            [ok]
ctools downloaded from http://ftp.drupal.org/files/projects/ctools-6.x-1.10.tar.gz.                               [ok]
hosting_backup_queue downloaded from http://ftp.drupal.org/files/projects/hosting_backup_queue-6.x-1.x-dev.tar.gz.[ok]
protect_critical_users downloaded from http://ftp.drupal.org/files/projects/protect_critical_users-6.x-1.1.tar.gz.[ok]
userprotect downloaded from http://ftp.drupal.org/files/projects/userprotect-6.x-1.5.tar.gz.                      [ok]
jquery_ui downloaded from http://files.aegir.cc/dev/jquery.ui-1.6.zip.                                            [ok]
Created xxxx database                                                                                  [success]
Creating master server node                                                                                       [status]
Task verify was added to the queue. Next queue run is 13:28:00+0000, server time is 13:27:35+0000.                [status]
Creating db server node                                                                                           [status]
Task verify was added to the queue. Next queue run is 13:28:00+0000, server time is 13:27:35+0000.                [status]
Task verify was added to the queue. Next queue run is 13:28:00+0000, server time is 13:27:35+0000.                [status]
Task import was added to the queue. Next queue run is 13:28:00+0000, server time is 13:27:35+0000.                [status]
Configuring menu items                                                                                            [status]
Configuring Eldir theme                                                                                           [status]
Configuring default blocks                                                                                        [status]
Configuring roles                                                                                                 [status]
Content permissions have been rebuilt.                                                                            [status]
Initializing the hosting system
Dispatch command was run successfully                                                                             [success]
Installed hosting-dispatch cron entry to run every minute                                                         [success]
This command will replace your crontab for this user. continue? (y/n): y
/var/aegir/drush/drush.php '@hostmaster' hosting-dispatch 

==============================================================================


Congratulations, Aegir has now been installed.

cat /root/.barracuda.cnf

###
### Configuration created on 130506-1102
### with Barracuda version BOA-2.0.5
###
### NOTE: the group of settings displayed bellow will *not* be overriden
### on upgrade by the Barracuda script nor by this configuration file.
### They can be defined only on initial Barracuda install.
###
_HTTP_WILDCARD=YES
_MY_OWNIP="xxxx"
_MY_HOSTN="xxxx"
_MY_FRONT="xxxx"
_THIS_DB_HOST=localhost
_SMTP_RELAY_TEST=YES
_SMTP_RELAY_HOST=""
_LOCAL_NETWORK_IP=""
_LOCAL_NETWORK_HN=""
###
### NOTE: the group of settings displayed bellow
### will *override* all listed settings in the Barracuda script,
### both on initial install and upgrade.
###
_MY_EMAIL="xxxx"
_XTRAS_LIST="PDS CSF CHV FTP"
_AUTOPILOT=NO
_DEBUG_MODE=NO
_DB_SERVER=MariaDB
_SSH_PORT=2200
_LOCAL_DEBIAN_MIRROR="ftp.debian.org"
_LOCAL_UBUNTU_MIRROR="archive.ubuntu.com"
_FORCE_GIT_MIRROR=""
_DNS_SETUP_TEST=YES
_NGINX_EXTRA_CONF=""
_NGINX_WORKERS=AUTO
_PHP_FPM_WORKERS=AUTO
_BUILD_FROM_SRC=NO
_PHP_MODERN_ONLY=YES
_PHP_FPM_VERSION=5.3
_PHP_CLI_VERSION=5.3
_LOAD_LIMIT_ONE=1444
_LOAD_LIMIT_TWO=888
_CUSTOM_CONFIG_CSF=NO
_CUSTOM_CONFIG_SQL=NO
_CUSTOM_CONFIG_REDIS=NO
_CUSTOM_CONFIG_PHP_5_2=NO
_CUSTOM_CONFIG_PHP_5_3=NO
_SPEED_VALID_MAX=3600
_NGINX_DOS_LIMIT=300
_SYSTEM_UPGRADE_ONLY=NO
_USE_MEMCACHED=NO
_NEWRELIC_KEY=
_USE_STOCK=NO
###
### Configuration created on 130506-1102
### with Barracuda version BOA-2.0.5
###
_EXTRA_PACKAGES=
_PHP_EXTRA_CONF=""
_STRONG_PASSWORDS=NO
_DB_BINARY_LOG=NO
_DB_ENGINE=InnoDB
_NGINX_LDAP=NO
_PHP_GEOS=NO

cat /root/.o1.octopus.cnf

###
### Configuration created on 130506-1459 with
### Octopus version BOA-2.0.8
###
### NOTE: the group of settings displayed bellow
### will *override* all listed settings in the Octopus script.
###
_USER="o1"
_MY_EMAIL="xxx"
_PLATFORMS_LIST="D5P"
_ALLOW_UNSUPPORTED=YES
_AUTOPILOT=NO
_HM_ONLY=NO
_O_CONTRIB_UP=NO
_DEBUG_MODE=NO
_MY_OWNIP=
_FORCE_GIT_MIRROR=""
_THIS_DB_HOST=localhost
_DNS_SETUP_TEST=NO
_HOT_SAUCE=NO
_USE_CURRENT=YES
_REMOTE_CACHE_IP=127.0.0.1
_LOCAL_NETWORK_IP=
_PHP_FPM_VERSION=5.3
_PHP_CLI_VERSION=5.3
_USE_STOCK=NO
_STRONG_PASSWORDS=NO
###
### NOTE: the group of settings displayed bellow will be *overriden*
### by config files stored in the /data/disk/o1/log/ directory,
### but only on upgrade.
###
_DOMAIN="xx"
_CLIENT_EMAIL="xx"
_CLIENT_OPTION="SSD"
_CLIENT_SUBSCR="Y"
_CLIENT_CORES="8"
###
### Configuration created on 130506-1459 with
### Octopus version BOA-2.0.8

snlnz’s picture

Be much nicer if you use pastebin to post your logs in future. :)

In any event, php 5.2 is no longer supported in BOA 208 so yes you will need to use an older version of BOA as you suggested in order to get it installed.
On a side note, the only unsupported behaviour is the excessive error reporting that php produces no functionality is diminished that I'm aware of.
Correct me if I'm wrong?

Another note would be, why are you still using D5? shouldn't you be looking to update those sites over forcing older technology into place? Just a thought.

omega8cc’s picture

Category: support » feature
Priority: Minor » Normal
Status: Active » Needs work

It is not possible to install and use PHP 5.2 with BOA stable and also it is not possible to install older BOA version (at least not yet - there is a feature request).

I think that we shouldn't overwrite these settings to force PHP 5.3 only, if these options are still present and *could* be used, if not overwritten.

While running PHP 5.2, not to mention Drupal 5 is really bad idea, we should still allow to override BOA new defaults with old settings to get PHP 5.2 installed and available to use both in D5 and D6 sites - if you know what are you doing, of course, because we can't guarantee that PHP 5.2 will still work, once we stopped re-building it on upgrades.

Mojah’s picture

@snlzn thank you. I'll be sure to use paste bin next time. From what I can tell, the D5 platform won't verify on Aegir. Agreed, it's much better to upgrade, but some of the non-profits and NGOs we sponsor/support don't have the budget for that right now. Most of them are content with their D5 sites because they use it for basic purposes, so they don't have a good enough reason to upgrade.

@omega8cc thank you. Yup, the overrides allowed in previous versions of BOA would help, but better yet some way to run older versions of BOA so we would not have to be concerned about breaking the php-fpm server with upgrades. Do you guys still support clients with legacy sites?

omega8cc’s picture

@Mojah - we do support legacy systems, because removing previously available service is not an option, but we have prepared our clients during the last year that we will progressively switch everything to modern PHP, so they should upgrade as soon as possible. I feel it is OK to give at least few months for this, but these months already passed, and we will notify clients that their legacy sites will stop working after a deadline, once announced, because we can't keep outdated and insecure service running forever.

Mojah’s picture

Sorry for taking this off topic, but this may be of use for people in a the same situation as me.

We have D5 running under BOA 2.0.8 using this patch. See: http://drupal.org/node/1016008#comment-7137910

Make sure to use the dev version of D5

And then we need to run...
for i in `find . -name *.info`; do echo "$i";grep -v "Information added by drupal.org packaging script" $i>$i;echo "-----------------------";done

...inside the sites/all/modules folder and in the case of multi-sites, within each of the sites modules folder. The syntax/formatting in Drupal 5 .info results in php 5.3 errors and Aegir won't verify the site unless the above code is run.

@snlzn - once the patch and info files are fixed, yes D5 runs fine with php 5.3x.

@omega8cc - I appreciate so much the work you guys have done with BOA. It would take me hours to manually provision a server and now I get it done in a matter of 20mins. Besides all the cost savings, we also use less hardware and thereby have a smaller carbon footprint. Thank you.

Feedback about legacy support.

If I were a client and I loved the service you guys provided, I would be hurt if you "forced" me to upgrade by not supporting my outdated website. I'm running a wildlife rehabilitation center and our sponsored website does everything we need, as it is. I see no reason to upgrade. (I'm using one of the NPOs we support as an example)

This may not be the case with your clients and maybe they have already all upgraded, but if there is even one client who cannot upgrade for whatever reason, please go out of your way to keep her.

Mojah’s picture

Sorry, bash code above does not work as expected. All module .info files needs to be edited for two things.
- Remove all occurrences of lines like "; Information added by drupal.org packaging script...."
- add quotes "" around the description string which sometimes contains the word "on" regarded as a boolean in php 5.3x

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.