From 893bdca5b72dcb14ab39cadd40da8cb21f2ed4e4 Mon Sep 17 00:00:00 2001 From: Chux Uzoeto Date: Wed, 15 Apr 2015 17:13:49 +0100 Subject: [PATCH 1/7] Added notes for installing on debian --- docs/installation.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/installation.md b/docs/installation.md index 2dbce8b..4b6b106 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -40,3 +40,25 @@ Valkyrie also uses git quite extensively. So if you don't already have it installed, go ahead and do that next. * http://git-scm.com/downloads + +### Notes for Linux +* On Debian/Ubuntu, the nfs-kernel-server debian package is a requirement, and needs to be installed before attempting to install valkyrie. On RedHat based distros, here is a [good guide](http://computernetworkingnotes.com/network-administration/how-to-configure-nfs-server-in-rhel-6.html) for installing and configuring the nfs server. +* Also, nfs needs to be authorized through your hosts firewall to the VM network. If you run a port-based firewall, follow [this guide](https://wiki.debian.org/SecuringNFS) to force the NFS daemons to run on known ports so you can configure the host's firewall appropriately +* If you use ufw as your firewall frontend, and you are not that bothered about trusting an embedded VM network, then allow the entire VM network +``` +sudo ufw allow from 10.42.0.0/24 +sudo ufw allow to 10.42.0.0/24 +``` +* On Debian Wheezy, if you have issues installing NFS packages because of errors like: +``` +insserv: Service portmap has to be enabled to start service nfs-common +insserv: exiting now! +update-rc.d: error: insserv rejected the script header +``` +The solution is +``` +cd /etc/init.d +sudo vi nfs-common nfs-kernel-server rpcbind umountnfs.sh +# in each of the above files, change $portmapper to $rpcbind, then +sudo apt-get -f install +``` From 4fcfbd1695ca795debea2f0cda32d95ea1ad1d97 Mon Sep 17 00:00:00 2001 From: Chux Uzoeto Date: Wed, 15 Apr 2015 18:21:09 +0100 Subject: [PATCH 2/7] Cleaned up the linux oriented notes --- docs/installation.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 4b6b106..5ffc44e 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -42,23 +42,27 @@ installed, go ahead and do that next. * http://git-scm.com/downloads ### Notes for Linux -* On Debian/Ubuntu, the nfs-kernel-server debian package is a requirement, and needs to be installed before attempting to install valkyrie. On RedHat based distros, here is a [good guide](http://computernetworkingnotes.com/network-administration/how-to-configure-nfs-server-in-rhel-6.html) for installing and configuring the nfs server. -* Also, nfs needs to be authorized through your hosts firewall to the VM network. If you run a port-based firewall, follow [this guide](https://wiki.debian.org/SecuringNFS) to force the NFS daemons to run on known ports so you can configure the host's firewall appropriately +**NFS server installed on the host is a requirement for valkyrie** +* On Debian/Ubuntu based distributions, install the nfs-kernel-server package. +* On RedHat based distributions, here is a [good guide](http://computernetworkingnotes.com/network-administration/how-to-configure-nfs-server-in-rhel-6.html) for installing and configuring the nfs server. + +**Authorize NFS connections through your host's firewall to the VM** +* Here is a [debian oriented guide](https://wiki.debian.org/SecuringNFS) to force the NFS daemons to run on known ports so you can configure the host's firewall appropriately +* Here is a [redhat oriented guide](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/s2-nfs-nfs-firewall-config.html) for forcing NFS to run on known ports. * If you use ufw as your firewall frontend, and you are not that bothered about trusting an embedded VM network, then allow the entire VM network ``` sudo ufw allow from 10.42.0.0/24 sudo ufw allow to 10.42.0.0/24 ``` -* On Debian Wheezy, if you have issues installing NFS packages because of errors like: +On Debian Wheezy, if you have issues installing NFS packages because of errors like: ``` insserv: Service portmap has to be enabled to start service nfs-common insserv: exiting now! update-rc.d: error: insserv rejected the script header ``` -The solution is +This is caused by the fact that debian NFS packages are transitioning from using portmapper to using rpcbind, but the package maintainers have not effected the required changes in the init.d scripts. You can fix this by: ``` cd /etc/init.d -sudo vi nfs-common nfs-kernel-server rpcbind umountnfs.sh -# in each of the above files, change $portmapper to $rpcbind, then +sudo sed -i 's%$portmapper%$rpcbind%g' nfs-common nfs-kernel-server umountnfs.sh sudo apt-get -f install ``` From 19958a2684c5df306240e77c7170e63c928eb305 Mon Sep 17 00:00:00 2001 From: Chux Uzoeto Date: Wed, 15 Apr 2015 18:24:53 +0100 Subject: [PATCH 3/7] More tidying up --- docs/installation.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/installation.md b/docs/installation.md index 5ffc44e..2b46738 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -54,7 +54,8 @@ installed, go ahead and do that next. sudo ufw allow from 10.42.0.0/24 sudo ufw allow to 10.42.0.0/24 ``` -On Debian Wheezy, if you have issues installing NFS packages because of errors like: +**Fix nfs install issues on Debian** +On Debian wheezy/squeeze, if you encounter errors like the following while installing nfs packages: ``` insserv: Service portmap has to be enabled to start service nfs-common insserv: exiting now! From 494c71abb19573f224efe8af9bbb19d9f8b100aa Mon Sep 17 00:00:00 2001 From: Chux Uzoeto Date: Wed, 15 Apr 2015 18:25:45 +0100 Subject: [PATCH 4/7] More edits --- docs/installation.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/installation.md b/docs/installation.md index 2b46738..de4f084 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -55,13 +55,14 @@ sudo ufw allow from 10.42.0.0/24 sudo ufw allow to 10.42.0.0/24 ``` **Fix nfs install issues on Debian** + On Debian wheezy/squeeze, if you encounter errors like the following while installing nfs packages: ``` insserv: Service portmap has to be enabled to start service nfs-common insserv: exiting now! update-rc.d: error: insserv rejected the script header ``` -This is caused by the fact that debian NFS packages are transitioning from using portmapper to using rpcbind, but the package maintainers have not effected the required changes in the init.d scripts. You can fix this by: +This is caused by the fact that debian nfs packages are transitioning from using portmapper to using rpcbind, but the package maintainers have not effected the required changes in the init.d scripts. You can fix this by: ``` cd /etc/init.d sudo sed -i 's%$portmapper%$rpcbind%g' nfs-common nfs-kernel-server umountnfs.sh From a0df87ef1a16167e8cad97d5278213904713eca8 Mon Sep 17 00:00:00 2001 From: Chux Uzoeto Date: Wed, 15 Apr 2015 19:05:39 +0100 Subject: [PATCH 5/7] Added some post-install notes --- docs/installation.md | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/docs/installation.md b/docs/installation.md index de4f084..9bbc91b 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -68,3 +68,64 @@ cd /etc/init.d sudo sed -i 's%$portmapper%$rpcbind%g' nfs-common nfs-kernel-server umountnfs.sh sudo apt-get -f install ``` + +Post-install +------------ + +**Important installer messages** + +At the end of the installation process, the installer will display messages like: +``` +==> valkyrie: TASK: [getvalkyrie.valkyrie | Output the deploy key] ************************** +==> valkyrie: ok: [localhost] => { +==> valkyrie: "var": { +==> valkyrie: "ssh_public_key_output.stdout_lines": [ +==> valkyrie: "/////////////////////////////////////////////////////////////////////////////", +==> valkyrie: " Add the following deploy key to your project on Github:", +==> valkyrie: "=============================================================================", +==> valkyrie: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCosL1qmesmA55S2ZB3fEdsLQSElHOARcXpu7ZeT5vX+kpKb6OQQ/6zQ9I5nx1GaZORkwlKy4qNxhmUiy7u/aIiPALQlL2m9y7brqFxewPMCcX5vhV84rW/qxieJzx3nSC0s99ui+vnYhylbwBapJmfpUcuCMJzyP+JlusRYTLyk/uIrDtewnk2PgAtFYF/gUyK6It/RIbwdtawXrW/MQuFuYPpVYnvG+bbqmx+t7HBISWBbm/DK2guKhXzkUhdD24sdPp9tjUfLfsWYB3Plh5mhOM8I4cTwjVOxGwVfwC+KiEAxlRbSihsqUaRdIr7AXfZ4pG/b6MelwlcX3W61tvz Valkyrie deploy key", +==> valkyrie: "=============================================================================", +==> valkyrie: "/////////////////////////////////////////////////////////////////////////////" +==> valkyrie: ] +==> valkyrie: } +==> valkyrie: } +==> valkyrie: +==> valkyrie: TASK: [getvalkyrie.valkyrie | Output the login link] ************************** +==> valkyrie: ok: [localhost] => { +==> valkyrie: "var": { +==> valkyrie: "aegir_login_link_output.stdout_lines": [ +==> valkyrie: "/////////////////////////////////////////////////////////////////////////////", +==> valkyrie: " You can access the front-end of your Aegir install at:", +==> valkyrie: "=============================================================================", +==> valkyrie: "http://valkyrie.local/user/reset/1/1429111863/uAvC9VJx-l2CqhaufWg8ElCSFWzfdTiUTxJOQJ-pbz4/login", +==> valkyrie: "=============================================================================", +==> valkyrie: "/////////////////////////////////////////////////////////////////////////////" +==> valkyrie: ] +==> valkyrie: } +==> valkyrie: } +``` + +* Use the login link as a one-time access to the now deployed aegir frontend, and reset the admin password immediate. Don't forget to tick the check boxes for all the roles you would want the admin user to be able to play on the aegir server. +* Copy the displayed deploy ssh key, and add it to your project on github. This will allow you to publish to the project from valkyrie. + +### Looking Around the system + +**The directory in which vagrant commands are executed is significant** +* The default location for vagrant base boxes is ~/.vagrant/machine, but valkyrie does not use that +* The base directory for valkyrie vagrant vm is the directory in which you invoked the command `drush vmnew valkyrie` +* To see all vagrant instances for your user account, from anywhere type `vagrant global-status` .. the display of this command is cached and might show recently deleted VMs +* From anywhere you can run vagrant commands against any vm, by postfixing the id displayed by vagrant global-status. For example: +``` +vagrant destroy vmid +vagrant ssh vmid +etc +``` +* From a given install base, you can issue vagrant commands without specifying a vm id, and the commands will be run against the vm defined in the Vagrantfile within that directory + +**Working in the VM** +* Logon to the VM, by typing 'vagrant ssh ' +* This will log you in as user 'vagrant' +* To become root, just type `sudo -s`, or preferably prepend sudo only when you need to run privileged commands +* To see the nfs shares the vm is mounting from the host `df -h -t nfs` +* /var/aegir/platforms is mounted off the host, and you can develop your platform code in that nfs-shared directory on the host .. perhaps define your IDE project space there. Each platform is basically a drupal install tree, which could also be created off makefiles, either from the host or the vm. + From 2c85353e177b19bb4043bb21eedb1f6fac80bcfb Mon Sep 17 00:00:00 2001 From: Chux Uzoeto Date: Wed, 15 Apr 2015 19:17:52 +0100 Subject: [PATCH 6/7] Moved post-install to its own file --- docs/installation.md | 61 -------------------------------------------- 1 file changed, 61 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 9bbc91b..de4f084 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -68,64 +68,3 @@ cd /etc/init.d sudo sed -i 's%$portmapper%$rpcbind%g' nfs-common nfs-kernel-server umountnfs.sh sudo apt-get -f install ``` - -Post-install ------------- - -**Important installer messages** - -At the end of the installation process, the installer will display messages like: -``` -==> valkyrie: TASK: [getvalkyrie.valkyrie | Output the deploy key] ************************** -==> valkyrie: ok: [localhost] => { -==> valkyrie: "var": { -==> valkyrie: "ssh_public_key_output.stdout_lines": [ -==> valkyrie: "/////////////////////////////////////////////////////////////////////////////", -==> valkyrie: " Add the following deploy key to your project on Github:", -==> valkyrie: "=============================================================================", -==> valkyrie: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCosL1qmesmA55S2ZB3fEdsLQSElHOARcXpu7ZeT5vX+kpKb6OQQ/6zQ9I5nx1GaZORkwlKy4qNxhmUiy7u/aIiPALQlL2m9y7brqFxewPMCcX5vhV84rW/qxieJzx3nSC0s99ui+vnYhylbwBapJmfpUcuCMJzyP+JlusRYTLyk/uIrDtewnk2PgAtFYF/gUyK6It/RIbwdtawXrW/MQuFuYPpVYnvG+bbqmx+t7HBISWBbm/DK2guKhXzkUhdD24sdPp9tjUfLfsWYB3Plh5mhOM8I4cTwjVOxGwVfwC+KiEAxlRbSihsqUaRdIr7AXfZ4pG/b6MelwlcX3W61tvz Valkyrie deploy key", -==> valkyrie: "=============================================================================", -==> valkyrie: "/////////////////////////////////////////////////////////////////////////////" -==> valkyrie: ] -==> valkyrie: } -==> valkyrie: } -==> valkyrie: -==> valkyrie: TASK: [getvalkyrie.valkyrie | Output the login link] ************************** -==> valkyrie: ok: [localhost] => { -==> valkyrie: "var": { -==> valkyrie: "aegir_login_link_output.stdout_lines": [ -==> valkyrie: "/////////////////////////////////////////////////////////////////////////////", -==> valkyrie: " You can access the front-end of your Aegir install at:", -==> valkyrie: "=============================================================================", -==> valkyrie: "http://valkyrie.local/user/reset/1/1429111863/uAvC9VJx-l2CqhaufWg8ElCSFWzfdTiUTxJOQJ-pbz4/login", -==> valkyrie: "=============================================================================", -==> valkyrie: "/////////////////////////////////////////////////////////////////////////////" -==> valkyrie: ] -==> valkyrie: } -==> valkyrie: } -``` - -* Use the login link as a one-time access to the now deployed aegir frontend, and reset the admin password immediate. Don't forget to tick the check boxes for all the roles you would want the admin user to be able to play on the aegir server. -* Copy the displayed deploy ssh key, and add it to your project on github. This will allow you to publish to the project from valkyrie. - -### Looking Around the system - -**The directory in which vagrant commands are executed is significant** -* The default location for vagrant base boxes is ~/.vagrant/machine, but valkyrie does not use that -* The base directory for valkyrie vagrant vm is the directory in which you invoked the command `drush vmnew valkyrie` -* To see all vagrant instances for your user account, from anywhere type `vagrant global-status` .. the display of this command is cached and might show recently deleted VMs -* From anywhere you can run vagrant commands against any vm, by postfixing the id displayed by vagrant global-status. For example: -``` -vagrant destroy vmid -vagrant ssh vmid -etc -``` -* From a given install base, you can issue vagrant commands without specifying a vm id, and the commands will be run against the vm defined in the Vagrantfile within that directory - -**Working in the VM** -* Logon to the VM, by typing 'vagrant ssh ' -* This will log you in as user 'vagrant' -* To become root, just type `sudo -s`, or preferably prepend sudo only when you need to run privileged commands -* To see the nfs shares the vm is mounting from the host `df -h -t nfs` -* /var/aegir/platforms is mounted off the host, and you can develop your platform code in that nfs-shared directory on the host .. perhaps define your IDE project space there. Each platform is basically a drupal install tree, which could also be created off makefiles, either from the host or the vm. - From c0f18536b3caf326cda441590416327cd0d09361 Mon Sep 17 00:00:00 2001 From: Chux Uzoeto Date: Wed, 15 Apr 2015 19:19:15 +0100 Subject: [PATCH 7/7] Created a new post-install file --- docs/post-install.md | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 docs/post-install.md diff --git a/docs/post-install.md b/docs/post-install.md new file mode 100644 index 0000000..759e50f --- /dev/null +++ b/docs/post-install.md @@ -0,0 +1,61 @@ +Post-install +------------ + +**Important installer messages** + +At the end of the installation process, the installer will display messages like: +``` +==> valkyrie: TASK: [getvalkyrie.valkyrie | Output the deploy key] ************************** +==> valkyrie: ok: [localhost] => { +==> valkyrie: "var": { +==> valkyrie: "ssh_public_key_output.stdout_lines": [ +==> valkyrie: "/////////////////////////////////////////////////////////////////////////////", +==> valkyrie: " Add the following deploy key to your project on Github:", +==> valkyrie: "=============================================================================", +==> valkyrie: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCosL1qmesmA55S2ZB3fEdsLQSElHOARcXpu7ZeT5vX+kpKb6OQQ/6zQ9I5nx1GaZORkwlKy4qNxhmUiy7u/aIiPALQlL2m9y7brqFxewPMCcX5vhV84rW/qxieJzx3nSC0s99ui+vnYhylbwBapJmfpUcuCMJzyP+JlusRYTLyk/uIrDtewnk2PgAtFYF/gUyK6It/RIbwdtawXrW/MQuFuYPpVYnvG+bbqmx+t7HBISWBbm/DK2guKhXzkUhdD24sdPp9tjUfLfsWYB3Plh5mhOM8I4cTwjVOxGwVfwC+KiEAxlRbSihsqUaRdIr7AXfZ4pG/b6MelwlcX3W61tvz Valkyrie deploy key", +==> valkyrie: "=============================================================================", +==> valkyrie: "/////////////////////////////////////////////////////////////////////////////" +==> valkyrie: ] +==> valkyrie: } +==> valkyrie: } +==> valkyrie: +==> valkyrie: TASK: [getvalkyrie.valkyrie | Output the login link] ************************** +==> valkyrie: ok: [localhost] => { +==> valkyrie: "var": { +==> valkyrie: "aegir_login_link_output.stdout_lines": [ +==> valkyrie: "/////////////////////////////////////////////////////////////////////////////", +==> valkyrie: " You can access the front-end of your Aegir install at:", +==> valkyrie: "=============================================================================", +==> valkyrie: "http://valkyrie.local/user/reset/1/1429111863/uAvC9VJx-l2CqhaufWg8ElCSFWzfdTiUTxJOQJ-pbz4/login", +==> valkyrie: "=============================================================================", +==> valkyrie: "/////////////////////////////////////////////////////////////////////////////" +==> valkyrie: ] +==> valkyrie: } +==> valkyrie: } +``` + +* Use the login link as a one-time access to the now deployed aegir frontend, and reset the admin password immediate. Don't forget to tick the check boxes for all the roles you would want the admin user to be able to play on the aegir server. +* Copy the displayed deploy ssh key, and add it to your project on github. This will allow you to publish to the project from valkyrie. + +### Looking Around the system + +**The directory in which vagrant commands are executed is significant** +* The default location for vagrant base boxes is ~/.vagrant/machine, but valkyrie does not use that +* The base directory for valkyrie vagrant vm is the directory in which you invoked the command `drush vmnew valkyrie` +* To see all vagrant instances for your user account, from anywhere type `vagrant global-status` .. the display of this command is cached and might show recently deleted VMs +* From anywhere you can run vagrant commands against any vm, by postfixing the id displayed by vagrant global-status. For example: +``` +vagrant destroy vmid +vagrant ssh vmid +etc +``` +* From a given install base, you can issue vagrant commands without specifying a vm id, and the commands will be run against the vm defined in the Vagrantfile within that directory +* You can further customize the vm, by editing the Vagrant file + +**Working in the VM** +* Logon to the VM, by typing 'vagrant ssh vmid' +* This will log you into the vm's bash shell as user 'vagrant' +* To become root, just type `sudo -s`, or preferably prepend sudo only when you need to run privileged commands +* To see the nfs shares the vm is mounting from the host `df -h -t nfs` +* /var/aegir/platforms is mounted off the host, and you can develop your platform code in that nfs-shared directory on the host .. perhaps define your IDE project space there. Each platform is basically a drupal install tree, which could also be created off makefiles, either from the host or the vm. +