I've read in a couple places that the Barracuda-Octopus-Aegir scripts on Linode can be problematic due to DNS issues that I don't understand. Let me explain my setup and hopefully someone can help me see what I'm doing wrong here:

# Install Debian
Install new Debian 6.0 64bit on Linode

# Set up DNS
Set up foo.com zone in DNS
Set up wildcard *.foo.com A Record in DNS
Set up aegir.foo.com A Record in DNS
Set up octopus.foo.com A Record in DNS
Give time for DNS to propogate

# Update git and clone nginx-for-drupal
$ apt-get update
$ apt-get install git-core
$ git clone https://github.com/omega8cc/nginx-for-drupal.git

# configure Barracuda
$ cp nginx-for-drupal/BARRACUDA.sh.txt ./BARRACUDA.sh.txt
$ vim BARRACUDA.sh.txt
_MY_EMAIL="halp@domain.com"
_MY_OWNIP="xxx.xxx.xxx.xxx"
_MY_HOSTN="server.foo.com"
_MY_FRONT="aegir.foo.com"
_DNS_SETUP_TEST=NO # after a number of tests, YES won't work but if I set to NO then the Aegir Master Instance installs fine
_AEGIR_VERSION=1.0-boa-T-8.8 # this is for a production environment

# run Barracuda
$ bash BARRACUDA.sh.txt

# walk through prompts
install chive and mariadb
copy/paste the unique one-time login URL for Aegir Master Instance

# SUCCESS!
able to access aegir.foo.com and set new password

# configure Octopus
$ cp nginx-for-drupal/OCTOPUS.sh.txt ./OCTOPUS.sh.txt
$ vim OCTOPUS.sh.txt

# configure Octopus
_USER="halp"
_DOMAIN=octopus.foo.com
_MY_EMAIL="halp@domain.com"
_CLIENT_EMAIL="halp@domain.com" # what is this for?
_CLIENT_OPTION=CLASSIC # what is this for?
_CLIENT_SUBSCR=M # what is this for?
_CLIENT_CORES=4 # what is this for?
_AEGIR_VERSION=1.0-boa-T-8.8 # stable branch for production environment
_DNS_SETUP_TEST=NO # when set to YES the script won't work

# run Octopus
$ bash OCTOPUS.sh.txt

# walk through prompts
agree to install various distros as platforms

# script finishes
platforms successfully installed (I forget the path off the top of my head, something like /data/halp/001/)

# FAIL!
octopus.foo.com does not resolve; receive Error 105 ERR_NAME_NOT_RESOLVED

# Questions...
1. Did I set up my DNS Zone and A Records incorrectly?
2. Did I configure Barracuda incorrectly?
3. Did I configure Octopus incorrectly?

In my best guess, it must be a DNS issue because aegir.foo.com works fine and the Octopus successfully installed the platforms. NGINX is running fine and everything. Only problem is octopus.foo.com won't resolve.

Thank you for the support! I'm really excited to get this running.

Comments

wildfeed’s picture

Sounds like you have not given subdomains enough time to propagate. Wait, this could take a few hours. Also, it is a bad idea not to run the _DNS_SETUP_TEST. Once all your subdomains have propagated, it will stop failing.

halp’s picture

Someone in IRC suggested maybe it's because I do not have a Zone or A Record for: server.foo.com ?

halp’s picture

That was legendary support response time, thank you! :)

However, does the DNS setup and script configuration look correct? I want to ensure that this is correct in addition to giving time for DNS to propogate.

Thanks!

wildfeed’s picture

Yes they look fine. When I set up Aegir on Linode I was not happy until I walked away from it and let the domains propagate. Your wildcard should take care of all the subdomains. Patience, grasshopper.

halp’s picture

Thank you!

Here's my plan of action:

Set up Zones for: foo.com, server.foo.com, aegir.foo.com, octopus.foo.com
Set up wildcard A Records for each of those zones
Wait 24 hours
Start installation over from scratch, this time with _DNS_SETUP_TEST=YES

I'll let you all know how it goes.

omega8cc’s picture

@halp

Oh, you didn't follow docs/INSTALL.txt and you are trying to use HEAD version of the script to install stable - it is wrong. You are also trying to update the system before running Barracuda, and it is also wrong.

Please follow project README.txt and docs/INSTALL.txt as linked/listed on the project page.

As for DNS, you only need two A records there, *.foo.com and foo.com:

# Set up DNS
Set up foo.com zone in DNS
Set up wildcard *.foo.com A Record in DNS
Set up foo.com A Record in DNS
Give time for DNS to propagate

Note that you don't have correct A record for foo.com yet (probably).

Also, as wildfeed said, don't disable _DNS_SETUP_TEST. Problems will not get resolved just because you closed your sysadmin eyes ;)

Please start from scratch, re-image your linode etc.

halp’s picture

THANK YOU! Will follow your directions exactly.

I had been following some other online tutorial that was not official I guess.

wildfeed’s picture

Always take the advice of Omega8cc over mine!

halp’s picture

@omega8cc

I've deleted all extraneous Zones and A Records, leaving me with only foo.com Zone and foo.com and *.foo.com A Records.

Followed INSTALL.txt exactly:
$ wget -q -U iCab http://files.aegir.cc/versions/BARRACUDA.sh.txt
$ wget -q -U iCab http://files.aegir.cc/versions/OCTOPUS.sh.txt

$ vim BARRACUDA.sh.txt

# configure Barracuda
_MY_EMAIL="halp@domain.com"
_MY_OWNIP="xxx.xxx.xxx.xxx"
_MY_HOSTN="server.foo.com"
_MY_FRONT="aegir.foo.com"
_DNS_SETUP_TEST=YES
_AEGIR_VERSION=1.0-boa-T-8.8 # this is for a production environment

# run Barracuda
$ bash BARRACUDA.sh.txt

# walk through prompts
install chive and mariadb
copy/paste the unique one-time login URL for Aegir Master Instance

# SUCCESS!
able to access aegir.foo.com and set new password

$ vim OCTOPUS.sh.txt

# configure Octopus
_USER="halp"
_DOMAIN=octopus.foo.com
_MY_EMAIL="halp@domain.com"
_CLIENT_EMAIL="halp@domain.com" # what is this for?
_CLIENT_OPTION=CLASSIC # what is this for?
_CLIENT_SUBSCR=M # what is this for?
_CLIENT_CORES=4 # what is this for?
_AEGIR_VERSION=1.0-boa-T-8.8 # stable branch for production environment
_DNS_SETUP_TEST=YES

# run Octopus
$ bash OCTOPUS.sh.txt

# walk through prompts
agree to install various distros as platforms

# script finishes
platforms successfully installed (I forget the path off the top of my head, something like /data/halp/001/)

# FAIL!
octopus.foo.com shows the NGINX under construction # Note that this is different than the previous issue report where it didn't resolve

New questions:
1. Since my *.foo.com wildcard A Record has been live for over 48 hours, is it being corrupted because I previously had an A Record for octopus.foo.com that I deleted a couple hours ago?
2. In the Barracuda script, one of the settings is _HTTP_WILDCARD=NO ...should this be YES?

I'm just confused. I feel like my wildcard DNS has been up for sufficient time to propogate (and it must have because the wildcard is catching aegir.foo.com, just not octopus.foo.com), I followed the INSTALL.txt perfectly on a vanilla system, Octopus components seem to be installed... it just shows the NGINX under construction page.

Is this a Firewall issue when I opted to install that?

Thank you for helping a noob out.

smira’s picture

did you reboot your linode after installing?
to answer your questions
1) it's unlikely, i do that stuff all the time without doing too much damage
2) no you should leave it default. that's for a different use case

halp’s picture

@smiro2000

Thank you for the reply. I just rebooted my linode and still no luck.

1. I'm still learning Drush and Aegir, obviously. Is it possible I can use the Aegir Satellites that Octopus installed through Drush to test out if, in fact, Octopus correctly installed everything?

2. Also, I assume that Octopus utilizes a config file somehow to do matchers for wildcard DNS. When I declared in my Octopus script that octopus.foo.com would be the domain, where is that "written" within my server? Is that config applied to an NGINX sites-available? (it's currently empty in my server)

3. I personally don't believe this is a DNS issue because I have the wild card set up and it recognizes aegir.foo.com but not octopus.foo.com. The fact that it gets the aegir subdomain correct means it's working. This leaves only a few variables that I could have misconfigured in Barracuda or Octopus--for _MY_HOSTN should I have used "foo.com" instead of "server.foo.com"? That's the only thing I can think of....

Thank you everyone for your help. I hope to get this resolved and that this can help others in my situation. I'll keep trying with your suggestions.

halp’s picture

Another try with no success--still points to the NGINX Under Construction page.

I'll post the logs--anyone notice anything that's making this not work?

---

$ bash OCTOPUS.sh.txt
Octopus [Fri Jul 29 10:07:20 EDT 2011] ==> INFO: Testing Drupal, GitHub and Gitorious servers availability, please wait...
Octopus [Fri Jul 29 10:07:23 EDT 2011] ==> INFO: Drupal master repository will be used for this install
Octopus [Fri Jul 29 10:07:23 EDT 2011] ==> STATUS: This script is ran as a root user.
NEW AEGIR setup in progress..
_LAST_ALL is 001
_ALL_DISTRO is 001
_DISTRO is 001
RAW _DOMAIN is octopus.foo.com

Octopus [Fri Jul 29 10:07:25 EDT 2011] ==> START -> checkpoint:

* Your e-mail address appears to be foo@gmail.com - is that correct?
* Your client e-mail address appears to be foo@gmail.com - is that correct?
* This server options are listed as CLASSIC / M
* Your Aegir control panel for this instance will be available at https://octopus.foo.com.
* Your Aegir user for this instance will be halp.

Do you want to proceed with the setup? [Y/n] y
8s before we will continue...
Octopus [Fri Jul 29 10:07:39 EDT 2011] ==> INIT A: Welcome Linux server.foo.com 2.6.39.1-x86_64-linode19 #1 SMP Tue Jun 21 10:04:20 EDT 2011 x86_64 GNU/Linux
Octopus [Fri Jul 29 10:07:43 EDT 2011] ==> INIT A: Aegir automated install script part A
Octopus [Fri Jul 29 10:07:43 EDT 2011] ==> INFO: Checking OCTOPUS version, please wait...
Octopus [Fri Jul 29 10:07:43 EDT 2011] ==> INFO: Version test result: OK
Octopus [Fri Jul 29 10:07:43 EDT 2011] ==> INIT A: Checking status..
Octopus [Fri Jul 29 10:07:47 EDT 2011] ==> INIT A: _STATUS is INIT
Octopus [Fri Jul 29 10:07:47 EDT 2011] ==> INIT A: Hot Sauce check..
Octopus [Fri Jul 29 10:07:51 EDT 2011] ==> INIT A: Shared platforms code v.001 (hot new) will be created - forced Hot Sauce
Octopus [Fri Jul 29 10:07:51 EDT 2011] ==> INIT A: Create directories and/or set good permissions, please wait...
Octopus [Fri Jul 29 10:07:55 EDT 2011] ==> INIT A: Add user, please wait...
Octopus [Fri Jul 29 10:08:00 EDT 2011] ==> INIT A: Prepare scripts, please wait...
Octopus [Fri Jul 29 10:08:04 EDT 2011] ==> INIT A: pre-install start
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
Octopus [Fri Jul 29 10:08:12 EDT 2011] ==> INIT A: pre-install completed
Octopus [Fri Jul 29 10:08:16 EDT 2011] ==> INIT A: Switch user and run AegirSetupB, please wait...
Octopus [Fri Jul 29 10:08:20 EDT 2011] ==> INIT B: Aegir automated install script part B
Octopus [Fri Jul 29 10:08:20 EDT 2011] ==> INIT B: Checking status..
Octopus [Fri Jul 29 10:08:24 EDT 2011] ==> INIT B: Create dirs and/or set good permissions
Octopus [Fri Jul 29 10:08:28 EDT 2011] ==> INIT B: NEW AEGIR setup in progress..
Octopus [Fri Jul 29 10:08:28 EDT 2011] ==> INIT B: _DISTRO is 001
Octopus [Fri Jul 29 10:08:28 EDT 2011] ==> INIT B: RAW _DOMAIN is octopus.foo.com
Octopus [Fri Jul 29 10:08:28 EDT 2011] ==> INIT B: Run standard installer
Octopus [Fri Jul 29 10:08:34 EDT 2011] ==> INIT B: Drush seems to be functioning properly
Octopus [Fri Jul 29 10:08:34 EDT 2011] ==> INIT B: Installing provision backend in /data/disk/halp/.drush
Octopus [Fri Jul 29 10:08:35 EDT 2011] ==> INIT B: Build Aegir base
Octopus [Fri Jul 29 10:08:39 EDT 2011] ==> INIT B: INIT
Octopus [Fri Jul 29 10:08:43 EDT 2011] ==> INIT B: Deploying hostmaster application init, please wait...
AegirSetupB.sh.txt: line 364: cd: /data/disk/halp/aegir/distro/001: No such file or directory
Octopus [Fri Jul 29 10:08:47 EDT 2011] ==> INIT B: Deploying hostmaster application done
Octopus [Fri Jul 29 10:08:51 EDT 2011] ==> INIT B: Running hosting-dispatch (1/3), please wait...
Octopus [Fri Jul 29 10:08:56 EDT 2011] ==> INIT B: Running hosting-dispatch (2/3), please wait...
Octopus [Fri Jul 29 10:09:05 EDT 2011] ==> INIT B: Running hosting-dispatch (3/3), please wait...
Octopus [Fri Jul 29 10:09:14 EDT 2011] ==> INIT B: Simple check if Aegir install or upgrade is successful
Octopus [Fri Jul 29 10:09:18 EDT 2011] ==> INIT B: FATAL ERROR: Something is wrong, Aegir not ready - exit now
Octopus [Fri Jul 29 10:09:18 EDT 2011] ==> INIT A: Aegir Satellite Instance install completed
Octopus [Fri Jul 29 10:09:18 EDT 2011] ==> INIT A: post-install start, please wait...
chgrp: cannot access `/data/disk/halp/aegir/distro/001/sites/octopus.foo.com/files': No such file or directory
chgrp: cannot access `/data/disk/halp/aegir/distro/001/sites/octopus.foo.com/settings.php': No such file or directory
/opt/tmp/nginx-for-drupal/aegir/barracuda/AegirSetupA.sh.txt: line 495: cd: /data/disk/halp/aegir/distro/001: No such file or directory
Octopus [Fri Jul 29 10:09:22 EDT 2011] ==> INIT A: post-install completed
Octopus [Fri Jul 29 10:09:22 EDT 2011] ==> INIT A: Force advanced Nginx config, please wait...
Octopus [Fri Jul 29 10:09:26 EDT 2011] ==> INIT A: Set correct permissions
Octopus [Fri Jul 29 10:09:30 EDT 2011] ==> INIT A: Switch user and run Distros build, please wait...
Octopus [Fri Jul 29 10:09:34 EDT 2011] ==> INIT C: Aegir automated install script part C
Octopus [Fri Jul 29 10:09:34 EDT 2011] ==> INIT C: Hot Sauce check..
Octopus [Fri Jul 29 10:09:37 EDT 2011] ==> INIT C: Shared platforms code v.001 (hot new) will be created - forced Hot Sauce
Octopus [Fri Jul 29 10:09:37 EDT 2011] ==> INIT C: Create directories
Octopus [Fri Jul 29 10:09:40 EDT 2011] ==> INIT C: Preparing Pressflow core, please wait..

Atrium 1.0-beta10 P.001 - http://openatrium.com [Y/n] n
Octopus [Fri Jul 29 10:10:45 EDT 2011] ==> STATUS: Atrium 1.0-beta10 P.001 installation skipped

Drupal 6.22 P.001 - http://pressflow.org [Y/n] y
Octopus [Fri Jul 29 10:10:48 EDT 2011] ==> STATUS: Drupal 6.22 P.001 install in progress, please wait...
Octopus [Fri Jul 29 10:10:50 EDT 2011] ==> STATUS: Drupal 6.22 P.001 installation completed

Drupal 7.4 P.001 - http://drupal.org/drupal-7.0 [Y/n] y
Octopus [Fri Jul 29 10:10:55 EDT 2011] ==> STATUS: Drupal 7.4 P.001 install in progress, please wait...
Octopus [Fri Jul 29 10:11:00 EDT 2011] ==> STATUS: Drupal 7.4 P.001 installation completed

MNews 1.2 P.001 - http://managingnews.com [Y/n] y
Octopus [Fri Jul 29 10:11:04 EDT 2011] ==> STATUS: MNews 1.2 P.001 install in progress, please wait...
Octopus [Fri Jul 29 10:11:16 EDT 2011] ==> STATUS: MNews 1.2 P.001 installation completed

NodeStream 6.x-1.x P.001 - http://nodestream.org [Y/n] y
Octopus [Fri Jul 29 10:11:20 EDT 2011] ==> STATUS: NodeStream 6.x-1.x P.001 install in progress, please wait...
AegirSetupC.sh.txt: line 1334: cd: /data/all/001/nodestream-6.x-1.x: No such file or directory
cp: cannot stat `/data/all/001/nodestream-6.x-1.x/cache': No such file or directory
cp: cannot stat `/data/all/001/nodestream-6.x-1.x/sites': No such file or directory
Octopus [Fri Jul 29 10:11:24 EDT 2011] ==> STATUS: NodeStream 6.x-1.x P.001 installation completed

Octopus [Fri Jul 29 10:11:27 EDT 2011] ==> INIT C: remove some default themes for all
Octopus [Fri Jul 29 10:11:30 EDT 2011] ==> INIT C: Save & Verify Platforms, please wait...
AegirSetupC.sh.txt: line 1712: cd: /data/disk/halp/aegir/distro/001/sites/octopus.foo.com: No such file or directory
Octopus [Fri Jul 29 10:11:58 EDT 2011] ==> INIT A: Distributions install completed
Octopus [Fri Jul 29 10:11:58 EDT 2011] ==> INIT A: Clean up old install files
Octopus [Fri Jul 29 10:12:02 EDT 2011] ==> INIT A: Add ftps/lshell user, please wait...
Octopus [Fri Jul 29 10:12:06 EDT 2011] ==> INIT A: Add symlink to the sites backups
Octopus [Fri Jul 29 10:12:10 EDT 2011] ==> INIT A: Add symlink to the system drush_make
Octopus [Fri Jul 29 10:12:14 EDT 2011] ==> INIT A: Read or create pass.txt
Octopus [Fri Jul 29 10:12:18 EDT 2011] ==> INIT A: Create ftp symlinks
Octopus [Fri Jul 29 10:12:22 EDT 2011] ==> INIT A: Prepare setupmail.txt
Octopus [Fri Jul 29 10:12:27 EDT 2011] ==> INIT A: Send setup e-mail on init, please wait...
Octopus [Fri Jul 29 10:12:31 EDT 2011] ==> INIT A: Touch install logs
Octopus [Fri Jul 29 10:12:31 EDT 2011] ==> INIT A: Restart the cron now
Octopus [Fri Jul 29 10:12:32 EDT 2011] ==> invoke-rc.d cron restart: Succeeded.
Octopus [Fri Jul 29 10:12:32 EDT 2011] ==> INIT A: All done!

Octopus [Fri Jul 29 10:12:36 EDT 2011] ==> ACCESS ->

Octopus [Fri Jul 29 10:12:40 EDT 2011] ==> BYE!

wildfeed’s picture

You want to try to install Barracuda first, then use it to test your DNS configs before installing Octopus.

Use "server.foo.com" instead of "foo.com".

Once Barracuda installation is complete, back it up, then try to create a site and see if your wildcard DNS allows you to create sites with subdomains of foo.com. If that works, restore to the backup you just made and proceed with Octopus installer.

Also you have lots of errors in your logs and may have some permissions issues.

I don't know how far along your server skills are, but if you continue to have problems you may want to consider having Omega8cc do the install and updates for you. They are reasonably priced and give excellent support.

omega8cc’s picture

@halp

You either changed your mysql root password before running Octopus, or you didn't complete all steps during Barracuda install properly (the mysql part at the end).

Your mysql root password should be available in /root/.my.cnf and /root/.my.pass.txt and you should be able to log in to mysql as root by typing just mysql on command line, if Barracuda is installed correctly.

halp’s picture

@omega8cc
Thank you for your patience with me. During the Barracuda install, it asked me if I wanted to use MariaDB (can I read this as the same as MySQL? I'm new to MariaDB) and I said yes. Then during MariaDB setup within the Barracuda script, I did indeed create a password (should I have NOT created a password at this point?).

I've read the README.txt (https://github.com/omega8cc/nginx-for-drupal/blob/master/README.txt) and the Barracuda INSTALL.txt (http://drupalcode.org/project/barracuda.git/blob_plain/HEAD:/docs/INSTAL...) and I just don't see where it talks about the mysql root password anywhere. Is this actually in the documentation or is it in the directions from the prompt as the Barracuda script is running? I'm sorry I've missed it, I've used a 'find' in my browser and I can't find it at all. (I see that the phrase 'root password' is used 7 times in the Barracuda script but it's in the actual BASH logic and I don't quite understand it.)

I will attempt again, but I don't know exactly what I should not be changing regarding MariaDB/MySQL root password--should I leave it blank?

I don't know if this is constructive feedback or not, but for someone with my level of command-line fu, the install documentation seems confusing. It talks about just configuring the email/ip/hostname but I don't see the MariaDB/MySQL instructions.

I'm happy to write a comprehensive blog post about how I got this to work if it'll help the community.

@wildfeed
Thank you for your continued help and suggestion. I'd like to keep at it because this is how you learn. I'd be happy to contribute something to the tip jar that Omega8cc recommends. :)

halp’s picture

WOW, I think I get it now. I recall in the script where it prints out my $PASWD and I WAS NOT using that as my MySQL password.

Reading this code made it clear for me:

###--------------------###
if [ ! -e "/root/.my.cnf" ] ; then
msg "INFO: $_DB_SERVER final setup"
mrun "sleep 3"
echo " "
msg "Please COPY it NOW and set it as your $_DB_SERVER root password during mysql_secure_installation"
echo " "
echo --------vvvvvvvv--------
echo ------- $PASWD -------
echo --------^^^^^^^^--------
echo " "
msg "Please remember, you don't have the root password for $_DB_SERVER set yet."

---

* You have to hit Enter _without_ entering the password on the first question you will see.
* On the second question say Y and then enter your root password '$PASWD' twice.
* Then say Y on all remaining questions.

...user error sadface :(

halp’s picture

This issue can be closed; it was a matter of me not closely reading the install instructions. If this issue crops up more, maybe a more in-depth walkthrough with screenshots?

Regardless... THANK YOU to everyone for helping me. I know have it running. :)

omega8cc’s picture

Component: Code » Miscellaneous
Status: Active » Fixed

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

primeworks’s picture

@Halp: Hello,
I'm quite confused at your solution to this issue. I'm having exactly the same problems as you had. Please help clarify what you did to sort it out.