I would like to help make the spec files to build RPMs so RHEL/CentOS will become first class platforms to run aegir and provide a simple yum install aegir entry level for those operating systems.

The goal is to find/create the required drush rpm/work with the drush project so we can have all of the dependencies covered. Then create the aegir spec/rpm and use createrepo to make a repo that can be upgraded. I will need to be using aegir on CentOS for several projects so I have some investment in this packaging.

Once packages are available it might be benifical to change the issue component to be more generic s/Debian package/packaging/ or adding RHEL Package as an option. (Can be forked into separate issue)

Comments

btopro’s picture

i run a lot of RHEL in house. happy to test and help any way i can though i'll need to get up to speed on how aegir works on the backend. we need this for work too so will try to be responsive / get others to join in.

Jon Pugh’s picture

We are tasked with making this happen, and I'd love to rally everyone with relevant experience to help make this happen.

The first thing everyone who is new to aegir should get familiar with is the Manual Installation Process.

Learning what makes Aegir tick is enlightening. It's not magic.

To summarize the Manual Installation Process:

  • Aegir user, in the www-data group, who can restart apache without a password. (home: /var/aegir)
  • Drush with provision.
  • A few packages: apache2 php5 php5-cli php5-gd php5-mysql php-pear postfix sudo rsync git-core unzip.
  • A link from apache's config to an aegir-writable folder (/var/aegir/config/) This is so the aegir user can write new apache site config files.
  • A properly configured database and users.
  • Hosting Queue Daemon, keeps the tasks queue running.
  • The "Hostmaster" front-end. The drupal site that is your command & control.

With RHEL experts help, I'm confident we can work together to make this happen for all platforms.

Meet us in #aegir in freenode to chat!

btopro’s picture

General suggestion to help w/ this process -- use https://puphpet.com/to create a standard baseline development image to mess with getting it installed against. Super easy to configure and then people can keep destroying things over and over again in their vagrant image til we get it functional.

toddejohnson’s picture

Below is an idea of the specification for the RPM and some of the known issues I can think of as I go through this.

RPM Information

  • require php httpd php php-cli php-gd php-mysql php-pear postfix sudo rsync git unzip php-drush-drush
  • Create system user aegir in apache group with home /var/aegir
  • source: http://ftp.drupal.org/files/projects/provision-6.x-2.1.tar.gz
  • Place source in /var/aegir
  • Link or wildcard include /var/aegir/config/*.conf in a /etc/httpd/conf.d/aegir.conf file
  • Fix ownership and executable bits.
  • Drop init script based on hosting/queued/init.d.example to /etc/init.d/hosting-queued

Known Issues:

selinux policy in /var/aegir for httpd conf and www root.

Database will need to be setup by the user. Probally through running:

# su - aegir
$ drush hostmaster-install
$ exit

This is can be scripted into a aegir-hostmaster-install script the RPM could
provide. This is needed as there are configuration options here the RPM can't
assume. RPMs must be self contained so a download like in aegir2-hostmaster
won't be best practice.

Might be a chicken and egg problem for the queue daemon init.d script. We might
need to think about a way to package these and still have a DB install/generic setup script
to run after the downloads with hosting and eldir already provided in RPMs. Or
drop a placeholder init script that will work once drush hostmaster-install is run.

helmo’s picture

Would it be an idea to use the https://build.opensuse.org/ service? I guess we still need a spec file for that though.

Nice thing being that they build for Debian, Fedora and other distro's.

helmo’s picture

The openSuSe service does require a spec file ... has anyone tried to use alien?

It should be something like:
alien --to-rpm --generate --verbose aegir3-provision_3.0.deb

colan’s picture

As we've now got an Ansible role, I'd encourage folks who use non-Debian-based systems to open merge requests so that support can be added.

Currently, you can change the default installation method (Debian package) to Git by setting aegir_install_method to git (default is deb), but dependencies are still installed with apt. You could disable the installation of these, and install manually beforehand, but that's not optimal long-term.