HINTS_Solaris.txt
.. -- mode: rst; fill-column: 78; -- .. This document is formatted using the ReST syntax.
================================================
Aegir -- Solaris installation instructions hints
This is a helper file to the canonical INSTALL.txt. It is aimed at helping you install Aegir on Solaris. 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:
- Install requirements
- Configure system requirements, which include:
- create a Aegir user
- configure Apache, MySQL, DNS, etc
- Run the install script
1. Install software requirements
TODO: Show how to install:
- Apache2
- git
- sudo
- mysql
- PHP 5.2
- wget
unzip and sendmail should be part of the base Solaris install. Other applications should be available on the companion CDs or:
In particular, git can be compiled easily by exporting the following environment:: export CFLAGS="-I/usr/sfw/include -I/opt/sfw/include" export LD_LIBRARY_PATH="/usr/sfw/lib:/opt/sfw/lib:$LD_LIBRARY_PATH"
Then the compile instructions bundled with git should just be followed plainly.
XXX: I had trouble installing the binaries, as git expects ginstall to be available in the path. I ended up adding the source directory in the path, which works fine for most uses.
2. Configure system requirements
Shell commands:: groupadd aegir useradd -g aegir -G webservd -d /var/aegir -s /bin/bash -c "Aegir sandbox" aegir chown aegir:aegir /var/aegir echo "Include /var/aegir/config/apache.conf" >> /etc/apache2/httpd.conf
MySQL commands::
# Replace 'aegir_password' with the chosen password for 'aegir' mysql account
CREATE DATABASE aegir;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, \
CREATE TEMPORARY TABLES, LOCK TABLES ON aegir.* TO \
'aegir'@'localhost' IDENTIFIED BY 'aegir_password';
# Create a mysql super user (with GRANT OPTION)
# Replace 'aegir_root_password' with a new password
GRANT USAGE,CREATE USER ON . TO 'aegir_root'@'localhost' \
IDENTIFIED BY 'aegir_root_password' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON site\_%
.* TO 'aegir_root'@'localhost';
3. Run the install script
Download the install.sh script per the instructions in Step 3 of the canonical INSTALL.txt file, with modifications below.
Shell commands:: su - aegir bash install.sh.txt aegir.example.com
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
Drush issue
Solaris suffers from the dreaded execution issues of drush:
http://drupal.org/node/637574 http://drupal.org/node/586466
Those can be worked around by hardcoding the --php executable on the commandline path. Adding the proper shebang header and using a proper PATH that includes the PHP executable also helps.
Cron issues
I had numerous problems setting up a proper cron job, as Solaris' crond seems pretty anal about what it accepts. The only way I could get it to work was to create a wrapper shell script that would be called using the simplest cron tab.
Crontab entry::
-
-
-
-
- /var/aegir/dispatch.sh
-
-
-
Content of dispatch.sh:: #!/usr/bin/bash
HOME=/var/aegir LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/lib/sparcv9:/opt/mysql/mysql/lib:/usr/sfw/lib:/usr/sfw/lib/gcc:/opt/sfw/lib PATH=/usr/bin:/opt/mysql/mysql/bin:/usr/sfw/bin:/opt/sfw/bin:/opt/SUNWspro/bin:/usr/local/bin:/opt/csw/bin
export HOME export LD_LIBRARY_PATH export PATH
php '/var/aegir/drush/drush.php' --php=/usr/local/bin/php '@hostmaster' hosting-dispatch