| 1 |
.. This document is formatted using the ReST syntax.
|
| 2 |
|
| 3 |
===============================================
|
| 4 |
Aegir -- CentOS installation instructions hints
|
| 5 |
===============================================
|
| 6 |
|
| 7 |
This is a helper file to the canonical INSTALL.txt. It is aimed at
|
| 8 |
helping you install Aegir on CentOS. It simply lists commands that
|
| 9 |
diverge from the base INSTALL.txt in a concise document that will be
|
| 10 |
easy to maintain in the long term.
|
| 11 |
|
| 12 |
It is recommended that the INSTALL.txt document is consulted before
|
| 13 |
going ahead with this install.
|
| 14 |
|
| 15 |
We reuse the same process describe in that document:
|
| 16 |
|
| 17 |
1. Install requirements
|
| 18 |
2. Configure system requirements, which include:
|
| 19 |
* create a Aegir user
|
| 20 |
* configure Apache, MySQL, DNS, etc
|
| 21 |
3. Install the Aegir files
|
| 22 |
4. Follow the install wizard
|
| 23 |
|
| 24 |
|
| 25 |
1. Install software requirements
|
| 26 |
================================
|
| 27 |
|
| 28 |
You should use the repos "utter ramblings" repos (which feature PHP
|
| 29 |
5.2) at: http://www.jasonlitka.com/yum-repository/
|
| 30 |
|
| 31 |
Shell commands::
|
| 32 |
|
| 33 |
rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
|
| 34 |
cat >> /etc/yum.repos.d/utterramblings.repo <<EOF
|
| 35 |
[utterramblings]
|
| 36 |
name=Jason's Utter Ramblings Repo
|
| 37 |
baseurl=http://www.jasonlitka.com/media/EL\$releasever/\$basearch/
|
| 38 |
enabled=1
|
| 39 |
gpgcheck=1
|
| 40 |
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
|
| 41 |
EOF
|
| 42 |
yum install httpd postfix cvs sudo unzip mysql-server php php-mysql
|
| 43 |
|
| 44 |
2. Configure system requirements
|
| 45 |
================================
|
| 46 |
|
| 47 |
Shell commands::
|
| 48 |
useradd --home-dir /var/aegir aegir
|
| 49 |
usermod -g apache aegir
|
| 50 |
chmod -R 755 /var/aegir
|
| 51 |
# Include the Aegir config
|
| 52 |
echo "Include /var/aegir/config/vhost.d/" > /etc/httpd/conf.d/aegir.conf
|
| 53 |
service mysqld start
|
| 54 |
# Optional: set the mysql root password
|
| 55 |
mysqladmin password $password
|
| 56 |
mysql -uroot -p
|
| 57 |
|
| 58 |
The last two lines can also be (better) accomplished using the
|
| 59 |
mysql_secure_installation script.
|
| 60 |
|
| 61 |
MySQL commands::
|
| 62 |
# Replace 'aegir_password' with the chosen password for 'aegir' mysql account
|
| 63 |
CREATE DATABASE aegir;
|
| 64 |
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, \
|
| 65 |
CREATE TEMPORARY TABLES, LOCK TABLES ON aegir.* TO \
|
| 66 |
'aegir'@'localhost' IDENTIFIED BY 'aegir_password';
|
| 67 |
# Create a mysql super user (with GRANT OPTION)
|
| 68 |
# Replace 'aegir_root_password' with a new password
|
| 69 |
GRANT ALL PRIVILEGES ON *.* TO 'aegir_root'@'localhost' \
|
| 70 |
IDENTIFIED BY 'aegir_root_password' WITH GRANT OPTION;
|
| 71 |
|
| 72 |
You may need to edit your local hosts file to get the aegir domain to work if you
|
| 73 |
have not already added a DNS record for this. On OS X:
|
| 74 |
|
| 75 |
http://decoding.wordpress.com/2009/04/06/how-to-edit-the-hosts-file-in-mac-os-x-leopard/
|
| 76 |
|
| 77 |
|
| 78 |
3. Install the Aegir files
|
| 79 |
==========================
|
| 80 |
|
| 81 |
Shell commands::
|
| 82 |
su aegir -c "sh install.sh.txt -w apache"
|
| 83 |
service httpd restart
|
| 84 |
|
| 85 |
|
| 86 |
4. Follow the install wizard
|
| 87 |
============================
|
| 88 |
|
| 89 |
You should now be in the installation wizard. The wizard is usually
|
| 90 |
self-documenting so you should just be able to follow the instructions
|
| 91 |
in the wizard to configure Aegir to properly use the webserver and
|
| 92 |
database server.
|
| 93 |
|
| 94 |
5. Common issues
|
| 95 |
================
|
| 96 |
|
| 97 |
There are various caveats on running Aegir on CentOS.
|
| 98 |
|
| 99 |
You may need to adjust CentOS's firewall settings to allow HTTP
|
| 100 |
traffic on port 80. If you installed CentOS with a UI, enable
|
| 101 |
"Firewall settings -- WWW (HTTP)".
|
| 102 |
|
| 103 |
Also, in some configurations, it seems necessary to restart crond for
|
| 104 |
the user crontab changes to take effect (very bizarre). For that, use:
|
| 105 |
|
| 106 |
Shell commands::
|
| 107 |
service crond restart
|
| 108 |
|
| 109 |
See http://drupal.org/node/632308 if you have more information about
|
| 110 |
this issue.
|
| 111 |
|
| 112 |
The default sudo configuration in CentOS requires sudo to run in a real
|
| 113 |
TTY which will make verify and install tasks failed with the message:
|
| 114 |
|
| 115 |
"Web server could not be restarted. Changes might not be available
|
| 116 |
until this has been done"
|
| 117 |
|
| 118 |
For sudo to behave properly, you should comment out the following line
|
| 119 |
in your /etc/sudoers file:
|
| 120 |
|
| 121 |
Defaults requiretty
|