This site is a static archive of the Aegir community site. Documentation has moved to http://docs.aegirproject.org. Other community resources can be found on the Contacting the community page.
Skip navigation

Revision of HINTS_CentOS.txt from Sat, 02/26/2011 - 17:16

Help

HINTS_CentOS.txt

Tagged:

.. -- mode: rst; fill-column: 78; -- .. This document is formatted using the ReST syntax.

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

Aegir -- CentOS installation instructions hints

This is a helper file to the canonical INSTALL.txt. It is aimed at helping you install Aegir on CentOS. It simply lists commands that diverge from the base INSTALL.txt in a concise document that will be easy to maintain in the long term.

It is recommended that the INSTALL.txt document is consulted before going ahead with this install.

We reuse the same process describe in that document:

  1. Install requirements
  2. Configure system requirements, which include:
    • create a Aegir user
    • configure Apache, MySQL, DNS, etc
  3. Run the install script

1. Install software requirements

You should use the repos "utter ramblings" repos (which feature PHP 5.2) at: http://www.jasonlitka.com/yum-repository/

Shell commands::

rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka cat >> /etc/yum.repos.d/utterramblings.repo <<EOF [utterramblings] name=Jason's Utter Ramblings Repo baseurl=http://www.jasonlitka.com/media/EL\$releasever/\$basearch/ enabled=1 gpgcheck=1 gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka EOF yum install httpd postfix sudo unzip mysql-server php php-mysql

2. Configure system requirements

Shell commands:: useradd --home-dir /var/aegir aegir gpasswd -a aegir apache chmod -R 755 /var/aegir # Include the Aegir configs ln -s /var/aegir/config/apache.conf /etc/httpd/conf.d/aegir.conf service mysqld start # Optional: set the mysql root password mysqladmin password $password mysql -uroot -p

The last two lines can also be (better) accomplished using the mysql_secure_installation script.

The aegir user needs to have sudo access. The wizard will explain how to do this, but you can already just add the relevant line to your sudoers file.

/etc/sudoers configuration:: aegir ALL=NOPASSWD: /usr/sbin/apachectl

The default sudo configuration in CentOS requires sudo to run in a real TTY which will make verify and install tasks failed with the message:

"Web server could not be restarted. Changes might not be available until this has been done"

For sudo to behave properly, you should also comment out the following line in your /etc/sudoers file:

Defaults requiretty

3. Run the install script

This section deals with the actual installation of Aegir.

There is an install script that takes care of installing the right packages and preparing the backend and frontend install for you. That script needs to be run as the aegir user created above. This file is available in Provision or can be downloaded through the web at:

http://git.aegirproject.org/?p=provision.git;a=blob_plain;f=install.sh.t...

By default, the install script will install the "correct" version of Aegir (ie. if it was downloaded through git, it will install the version from the git master branch. If you downloaded an official release, it should install the official release.). You can modify which version to install by editing the AEGIR_VERSION variable in the script.

Shell commands::

su -s /bin/sh aegir -c "sh install.sh.txt aegir.example.com"

Note you must run this as root or prefix with sudo.

Be sure to change 'aegir.example.com' to match the URI of your site.

You can append '--client_email=you@example.com' if you wish to receive the traditional Drupal 'Welcome' e-mail upon completion of the installation. This e-mail address will also be used as the default e-mail address of the first user and client in Aegir, but can be changed later.

4. Common issues

There are various caveats on running Aegir on CentOS.

You may need to adjust CentOS's firewall settings to allow HTTP traffic on port 80. If you installed CentOS with a UI, enable "Firewall settings -- WWW (HTTP)".

Alternatively, another solution may be to edit /etc/sysconfig/iptables and add a rule accepting traffic on the relevant interface on port 80.

Afterwards, you can restart the firewall with this command:

Shell commands:: service iptables restart

Also, in some configurations, it seems necessary to restart crond for the user crontab changes to take effect (very bizarre). For that, use:

Shell commands:: service crond restart

See http://drupal.org/node/632308 if you have more information about this issue.

Need help?

Documentation

The notebook section provides a way for you to store and share information with your group members. With the book feature you can:

  • Add book pages and organize them hierarchically into different books.
  • Attach files to pages to share them with others.
  • Track changes that others have made and revert changes as necessary.
  • Archive books that are no longer of interest to the group. Archived books can be reactivated later if needed.

The revisions let you track differences between multiple versions of a post.