Hi,
I have just tried to deploy Aegir onto my existing web server.. Once of the most amazing features of Aegir is that it can be installed in place because it is itself for the most part an add on to Drush and a Drupal installation..
The Apache configuration that is implemented doesn't work well with anything else on the server.. Even standard packages installed from the repository like phpmyadmin..
I know its been discussed previously but I don't believe its been resolved.. Linking the .conf file back to the pre.d directory but this seems counter productive having to do this when it would have been working beforehand..
My suggestion is that since in essence what its doing is creating and provisioning sites, that the link be placed into /etc/apache2/sites-enabled (for debian and ubuntu) or whatever the corresponding location would be for other distros..
I also suggest that the directives set in the configs that are generated be those that are needed to run the sites, not try and take over the whole server.. This will provide far more flexibility for other systems and applications to be able to work with an Aegir system on the same server..
The changes required for this I believe would be minimal and would make the system for more deployable into existing environments..
Comments
Comment #1
steven jones commentedHi, could you outline the directives that are causing you issues? I've got both Aegir and PHPMyAdmin installed from a package without issue.
Comment #2
wipeout_dude commentedHi Steven,
The first issue is that the setup instructions on http://community.aegirproject.org/node/389 in point 3.2.1 state that the symlink to the aegir configuration must be put in /etc/apache2/conf.d/. By putting it there is it processed first and ,on my system anyway, broke the phpmyadmin setup and other "alias" configurations that had been set on the "default" server which is defined by default in /etc/apache2/sites-enabled/000-default.
I believe a better installation guidance would be to put the symlink into /etc/apache2/sites-enabled where all vhosts are typically defined..
As far as directives go.. On my fresh install of aegir 1.6 I had to edit the /var/aegir/config/apache.conf file to get a clean startup of apache..
Firstly there is the..
which I don't believe is nessesary because the /etc/apache2/ports.conf and the /etc/apache2/sites-enabled/000-default already handle these things..
Then when I enabled ssl it added the line
NameVirtualHost x.x.x.x:443to my aegir.conf file, with the primary server IP address.. While I haven't got my head around the way Aegir manages IP addresses for sites with SSL enabled I would think that this directive would be better placed in the vhost configuration of the site setup to use SSL on the specified IP addess.. Rather than putting in a directive at server level.. Also in my particular setup I have other SSL sites, one that is using the primary server IP address so this could cause issues.. The SSL site should be associated with an IP and the vhost config should be constructed around that IP for that vhost..If there are reasons why things are done the way they are I would be happy to hear them and am open to discussing them.. I know I am new to Aegir but if I can bring in suggestions that ultimately improve the system and make it integrate better with existing servers then thats a good thing because it will make adoption easier for people already running servers that don't want to change the entire server or get another one just for Aegir..
Comment #3
wipeout_dude commentedComment #4
anarcat commentedThe
NameVirtualHost *:80bit was added because *some* apache default configurations do not feature it. In fact, even the Apache sample config file doesn't have that directive. We need to make this config work on different environments, so it's the reason it's there.The reason for
ServerName defaultvirtual host is to make sure there is a default vhost that answers *before* the other vhosts, otherwise if someone visits the aegir server with a non-existentHost:header, they will get an apparently random site (in fact it's the first in alphabetical order, which *may* be the aegir site, if you're lucky). Instead of returning a wrong page, we dutifully answer with the proper error code, a 404. (Maybe that is not the right error code, I'm not sure that was thoroughly researched, feel free to pull an rfc here :).The reason why we do not install the aegir hook into
/etc/apache2/sites-enabledis that we are not a "site" per se. A site, in the "a2ensite" manpage, is defined as such:Since the aegir config contain *multiple* sites, I do not think this is appropriate, but maybe this is something the Debian maintainer of this package can enlighten us about. But anyways, to be able to hook in the apache config and become the default vhost, we *need* to be in conf.d...
I think I have answered most concerns you had about the configuration location, if you believe there are still changes to operate on the default config, please do reopen the issue with the specific changes to perform.