http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/troubleshooting/connectivity.md
----------------------------------------------------------------------
diff --git a/guide/ops/troubleshooting/connectivity.md 
b/guide/ops/troubleshooting/connectivity.md
index 543046e..8df3655 100644
--- a/guide/ops/troubleshooting/connectivity.md
+++ b/guide/ops/troubleshooting/connectivity.md
@@ -5,4 +5,153 @@ toc: /guide/toc.json
 ---
 # {{ page.title }}
 
-{% include '_connectivity.md' %}
+A common problem when setting up an application in the cloud is getting the 
basic connectivity right - how
+do I get my service (e.g. a TCP host:port) publicly accessible over the 
internet?
+
+This varies a lot - e.g. Is the VM public or in a private network? Is the 
service only accessible through
+a load balancer? Should the service be globally reachable or only to a 
particular CIDR?
+
+This guide gives some general tips for debugging connectivity issues, which 
are applicable to a 
+range of different service types. Choose those that are appropriate for your 
use-case.
+
+## VM reachable
+If the VM is supposed to be accessible directly (e.g. from the public 
internet, or if in a private network
+then from a jump host)...
+
+### ping
+Can you `ping` the VM from the machine you are trying to reach it from?
+
+However, ping is over ICMP. If the VM is unreachable, it could be that the 
firewall forbids ICMP but still
+lets TCP traffic through.
+
+### telnet to TCP port
+You can check if a given TCP port is reachable and listening using `telnet 
<host> <port>`, such as
+`telnet www.google.com 80`, which gives output like:
+
+~~~
+    Trying 31.55.163.219...
+    Connected to www.google.com.
+    Escape character is '^]'.
+~~~
+
+If this is very slow to respond, it can be caused by a firewall blocking 
access. If it is fast, it could
+be that the server is just not listening on that port.
+
+### DNS and routing
+If using a hostname rather than IP, then is it resolving to a sensible IP?
+
+Is the route to the server sensible? (e.g. one can hit problems with proxy 
servers in a corporate
+network, or ISPs returning a default result for unknown hosts).
+
+The following commands can be useful:
+
+* `host` is a DNS lookup utility. e.g. `host www.google.com`.
+* `dig` stands for "domain information groper". e.g. `dig www.google.com`.
+* `traceroute` prints the route that packets take to a network host. e.g. 
`traceroute www.google.com`.
+
+## Proxy settings
+Depending on the type of location, brooklyn might use HTTP to provision 
machines (clocker, jclouds). If the host environment defines proxy settings, 
these might interfere with the reachability of the respective HTTP service.
+
+One such case is using VirtualBox with host-only or private internal network 
settings, while using an external proxy for accessing the internet. It is clear 
that the external proxy won't be able to route HTTP calls properly, but that 
might not be clear when reading the logs (although brooklyn will present the 
failing URL).
+
+Try accessing the web-service URLs from a browser via the proxy, or perhaps 
try running brooklyn with proxy disabled:
+
+~~~
+    export http_proxy=
+    bin/brooklyn launch
+~~~
+
+If a system-level proxy server has been configured, you can instruct brooklyn 
to use the proxy server by passing `-Djava.net.useSystemProxies=true` to the JVM
+
+## Service is listening
+
+### Service responds
+Try connecting to the service from the VM itself. For example, `curl 
http://localhost:8080` for a
+web-service.
+
+On dev/test VMs, don't be afraid to install the utilities you need such as 
`curl`, `telnet`, `nc`,
+etc. Cloud VMs often have a very cut-down set of packages installed. For 
example, execute
+`sudo apt-get update; sudo apt-get install -y curl` or `sudo yum install -y 
curl`.
+
+### Listening on port
+Check that the service is listening on the port, and on the correct NIC(s).
+
+Execute `netstat -antp` (or on OS X `netstat -antp TCP`) to list the TCP ports 
in use (or use
+`-anup` for UDP). You should expect to see the something like the output below 
for a service.
+
+~~~
+Proto Recv-Q Send-Q Local Address               Foreign Address             
State       PID/Program name   
+tcp        0      0 :::8080                     :::*                        
LISTEN      8276/java           
+~~~
+
+In this case a Java process with pid 8276 is listening on port 8080. The local 
address `:::8080`
+format means all NICs (in IPv6 address format). You may also see 
`0.0.0.0:8080` for IPv4 format.
+If it says 127.0.0.1:8080 then your service will most likely not be reachable 
externally.
+
+Use `ip addr show` (or the obsolete `ifconfig -a`) to see the network 
interfaces on your server.
+
+For `netstat`, run with `sudo` to see the pid for all listed ports.
+
+## Firewalls
+On Linux, check if `iptables` is preventing the remote connection. On Windows, 
check the Windows Firewall.
+
+If it is acceptable (e.g. it is not a server in production), try turning off 
the firewall temporarily,
+and testing connectivity again. Remember to re-enable it afterwards! On 
CentOS, this is `sudo service
+iptables stop`. On Ubuntu, use `sudo ufw disable`. On Windows, press the 
Windows key and type 'Windows
+Firewall with Advanced Security' to open the firewall tools, then click 
'Windows Firewall Properties'
+and set the firewall state to 'Off' in the Domain, Public and Private profiles.
+
+If you cannot temporarily turn off the firewall, then look carefully at the 
firewall settings. For
+example, execute `sudo iptables -n --list` and `iptables -t nat -n --list`.
+
+## Cloud firewalls
+Some clouds offer a firewall service, where ports need to be explicitly listed 
to be reachable.
+
+For example, [security groups for EC2-classic]
+(http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#ec2-classic-security-groups)
+have rules for the protocols and ports to be reachable from specific CIDRs.
+
+Check these settings via the cloud provider's web-console (or API).
+
+## Quick test of a listener port
+It can be useful to start listening on a given port, and to then check if that 
port is reachable.
+This is useful for testing basic connectivity when your service is not yet 
running, or to a
+different port to compare behaviour, or to compare with another VM in the 
network.
+
+The `nc` netcat tool is useful for this. For example, `nc -l 0.0.0.0 8080` 
will listen on port
+TCP 8080 on all network interfaces. On another server, you can then run `echo 
hello from client
+| nc <hostname> 8080`. If all works well, this will send "hello from client" 
over the TCP port 8080,
+which will be written out by the `nc -l` process before exiting.
+
+Similarly for UDP, you use `-lU`.
+
+You may first have to install `nc`, e.g. with `sudo yum install -y nc` or 
`sudo apt-get install netcat`.
+
+### Cloud load balancers
+For some use-cases, it is good practice to use the load balancer service 
offered by the cloud provider
+(e.g. [ELB in AWS](http://aws.amazon.com/elasticloadbalancing/) or the 
[Cloudstack Load Balancer]
+(http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/latest/network_setup.html#management-server-load-balancing))
+
+The VMs can all be isolated within a private network, with access only through 
the load balancer service.
+
+Debugging techniques here include ensuring connectivity from another jump 
server within the private
+network, and careful checking of the load-balancer configuration from the 
Cloud Provider's web-console.
+
+### DNAT
+Use of DNAT is appropriate for some use-cases, where a particular port on a 
particular VM is to be
+made available.
+
+Debugging connectivity issues here is similar to the steps for a cloud load 
balancer. Ensure
+connectivity from another jump server within the private network. Carefully 
check the NAT rules from
+the Cloud Provider's web-console.
+
+### Guest wifi
+It is common for guest wifi to restrict access to only specific ports (e.g. 80 
and 443, restricting
+ssh over port 22 etc).
+
+Normally your best bet is then to abandon the guest wifi (e.g. to tether to a 
mobile phone instead).
+
+There are some unconventional workarounds such as [configuring sshd to listen 
on port 80 so you can
+use an ssh 
tunnel](http://askubuntu.com/questions/107173/is-it-possible-to-ssh-through-port-80).
+However, the firewall may well inspect traffic so sending non-http traffic 
over port 80 may still fail.
+

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/troubleshooting/deployment.md
----------------------------------------------------------------------
diff --git a/guide/ops/troubleshooting/deployment.md 
b/guide/ops/troubleshooting/deployment.md
index b4d0d0f..555cf5a 100644
--- a/guide/ops/troubleshooting/deployment.md
+++ b/guide/ops/troubleshooting/deployment.md
@@ -154,7 +154,7 @@ This just means that the entity did not get to service-up 
in the pre-defined tim
 two minutes, and can be configured using the `start.timeout` config key; the 
timer begins after the 
 start tasks are completed).
 
-See the [overview](overview.html) for where to find additional information, 
especially the section on
+See the [overview](overview.md) for where to find additional information, 
especially the section on
 "Entity's Error Status".
 
 ## Invalid packet error

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/troubleshooting/detailed-support-report.md
----------------------------------------------------------------------
diff --git a/guide/ops/troubleshooting/detailed-support-report.md 
b/guide/ops/troubleshooting/detailed-support-report.md
index 6629ebe..8a3f663 100644
--- a/guide/ops/troubleshooting/detailed-support-report.md
+++ b/guide/ops/troubleshooting/detailed-support-report.md
@@ -8,7 +8,7 @@ toc: /guide/toc.json
 If you wish to send a detailed report, then depending on the nature of the 
problem, consider 
 collecting the following information.
 
-See [Brooklyn Slow or Unresponse](slow-unresponsive.html) docs for details of 
these commands.
+See [Brooklyn Slow or Unresponse](slow-unresponsive.md) docs for details of 
these commands.
  
 ```bash
 BROOKLYN_HOME=/home/users/brooklyn/apache-brooklyn-0.9.0-bin
@@ -39,6 +39,6 @@ tar czf brooklyn-report.tgz ${REPORT_DIR}
 
 Also consider providing your log files and persisted state, though extreme 
care should be taken if
 these might contain cloud or machine credentials (especially if 
-[Externalised Configuration]({{ book.path.guide 
}}/ops/externalized-configuration.html) 
+[Externalised Configuration](../externalized-configuration.md) 
 is not being used for credential storage).
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/troubleshooting/going-deep-in-java-and-logs.md
----------------------------------------------------------------------
diff --git a/guide/ops/troubleshooting/going-deep-in-java-and-logs.md 
b/guide/ops/troubleshooting/going-deep-in-java-and-logs.md
index 36dee4a..a534548 100644
--- a/guide/ops/troubleshooting/going-deep-in-java-and-logs.md
+++ b/guide/ops/troubleshooting/going-deep-in-java-and-logs.md
@@ -424,7 +424,7 @@ the "Show/hide empty records" icon (highlighted in yellow 
above):
 We know from previous steps that the installation and launch scripts 
completed, and we know the procecess is running,
 but we can see here that the server is not responding to JMX requests. A good 
thing to check here would be that the
 JMX port is not being blocked by iptables, firewalls or security groups
-(see the [troubleshooting connectivity guide](connectivity.html)). 
+(see the [troubleshooting connectivity guide](connectivity.md)). 
 Let's assume that we've checked that and they're all open. There is still one 
more thing that Brooklyn can tell us.
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/troubleshooting/overview.md
----------------------------------------------------------------------
diff --git a/guide/ops/troubleshooting/overview.md 
b/guide/ops/troubleshooting/overview.md
index ec33b96..ca62b0a 100644
--- a/guide/ops/troubleshooting/overview.md
+++ b/guide/ops/troubleshooting/overview.md
@@ -83,7 +83,7 @@ For example, it can show the exception stack trace in the 
thread that was execut
 ## Log Files
 
 Brooklyn's logging is configurable, for the files created, the logging levels, 
etc. 
-See [Logging docs]({{ book.path.guide }}/ops/logging.html).
+See [Logging docs](../logging.md).
 
 With out-of-the-box logging, `brooklyn.info.log` and `brooklyn.debug.log` 
files are created. These are by default 
 rolling log files: when the log reaches a given size, it is compressed and a 
new log file is started.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/troubleshooting/slow-unresponsive.md
----------------------------------------------------------------------
diff --git a/guide/ops/troubleshooting/slow-unresponsive.md 
b/guide/ops/troubleshooting/slow-unresponsive.md
index 7533c98..8b68d64 100644
--- a/guide/ops/troubleshooting/slow-unresponsive.md
+++ b/guide/ops/troubleshooting/slow-unresponsive.md
@@ -15,7 +15,7 @@ Possible reasons include:
 * SSH'ing is very slow due (e.g. due to lack of entropy)
 * Out of disk space
 
-See [Brooklyn Requirements]({{ book.path.guide }}/ops/requirements.html) for 
details of server 
+See [Brooklyn Requirements](../requirements.md) for details of server 
 requirements.
 
 
@@ -59,7 +59,7 @@ ulimit -a -u adalovelace
 
 Of particular interest is the limit for "open files".
 
-See [Increase System Resource Limits]({{ book.path.guide 
}}/ops/troubleshooting/increase-system-resource-limits.html) 
+See [Increase System Resource Limits](increase-system-resource-limits.md) 
 for more information.
 
 
@@ -106,7 +106,7 @@ netstat -an | grep ESTABLISHED | wc -l
 
 A lack of entropy can cause random number generation to be extremely slow. 
This can cause
 tasks like ssh to also be extremely slow. See 
-[linux kernel entropy]({{ book.path.guide 
}}/ops/troubleshooting/increase-entropy.html)
+[linux kernel entropy](increase-entropy.md)
 for details of how to work around this.
 
 
@@ -158,14 +158,14 @@ appropriate for a production server.
 If the Brooklyn Server was originally run to allow a remote debugger to 
connect (strongly 
 discouraged in production!), then this provides a convenient way to 
investigate why Brooklyn
 is being slow or unresponsive. See the Debugging Tips in the 
-tip [Debugging Remote Brooklyn]({{ book.path.guide 
}}/dev/tips/debugging-remote-brooklyn.html)
+tip [Debugging Remote Brooklyn](../../dev/tips/debugging-remote-brooklyn.md)
 and the [IDE docs]({{ book.path.guide }}/dev/env/ide/) for more information.
 
 
 ## Log Files
 
 Apache Brooklyn will by default create brooklyn.info.log and 
brooklyn.debug.log files. See the
-[Logging]({{ book.path.guide }}/ops/logging.html) docs for more information.
+[Logging](../logging.md) docs for more information.
 
 The following are useful log messages to search for (e.g. using `grep`). Note 
the wording of
 these messages (or their very presence) may change in future version of 
Brooklyn. 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/troubleshooting/softwareprocess.md
----------------------------------------------------------------------
diff --git a/guide/ops/troubleshooting/softwareprocess.md 
b/guide/ops/troubleshooting/softwareprocess.md
index d558d5c..047abe2 100644
--- a/guide/ops/troubleshooting/softwareprocess.md
+++ b/guide/ops/troubleshooting/softwareprocess.md
@@ -5,7 +5,7 @@ toc: /guide/toc.json
 ---
 # {{ page.title }}
 
-The [troubleshooting overview](overview.html) in Brooklyn gives 
+The [troubleshooting overview](overview.md) in Brooklyn gives 
 information for how to find more information about errors.
 
 If that doesn't give enough information to diagnose, fix or workaround the 
problem, then it can be required

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/upgrade.md
----------------------------------------------------------------------
diff --git a/guide/ops/upgrade.md b/guide/ops/upgrade.md
index 98d9657..6190a2f 100644
--- a/guide/ops/upgrade.md
+++ b/guide/ops/upgrade.md
@@ -43,7 +43,7 @@ Instead, code must be built and installed as [OSGi 
bundles](https://en.wikipedia
 
 2. Upgrade Apache Brooklyn:
 
-   1. [Download](../misc/download.html) the new RPM/DEB package
+   1. [Download](../misc/download.md) the new RPM/DEB package
 
    2. Upgrade Apache Brooklyn:
 
@@ -93,7 +93,7 @@ Instead, code must be built and installed as [OSGi 
bundles](https://en.wikipedia
 
 3. Install new version of Apache Brooklyn:
 
-   1. [Download](../misc/download.html) the new tarball zip package.
+   1. [Download](../misc/download.md) the new tarball zip package.
    
    2. Install Brooklyn:
 
@@ -191,7 +191,7 @@ Instead, code must be built and installed as [OSGi 
bundles](https://en.wikipedia
 
 5. Install new version of Apache Brooklyn:
 
-   1. [Download](../misc/download.html) the new RPM/DEB package.
+   1. [Download](../misc/download.md) the new RPM/DEB package.
    
    2. Install Apache Brooklyn:
 
@@ -290,7 +290,7 @@ yum downgrade apache-brooklyn.noarch
 dpkg -i apache-brooklyn-xxxx.deb
 ```
 
-*Note that to downgrade a DEB package is essentially installing a previous 
version therefore you need to [download](../misc/download.html)
+*Note that to downgrade a DEB package is essentially installing a previous 
version therefore you need to [download](../misc/download.md)
 the version you want to downgrade to before hand.*
 
 ## How to stop your service
@@ -307,11 +307,11 @@ stop brooklyn
 
 ## Web login credentials
 
-* User credentials should now be recorded in [`brooklyn.cfg`](paths.html).
+* User credentials should now be recorded in [`brooklyn.cfg`](paths.md).
 
-* Brooklyn will still read them from both [`brooklyn.cfg`](paths.html) and 
`~/.brooklyn/brooklyn.properties`.
+* Brooklyn will still read them from both [`brooklyn.cfg`](paths.md) and 
`~/.brooklyn/brooklyn.properties`.
 
-* Configure a username/password by modifying [`brooklyn.cfg`](paths.html). An 
example entry is:
+* Configure a username/password by modifying [`brooklyn.cfg`](paths.md). An 
example entry is:
  
 ```bash
 brooklyn.webconsole.security.users=admin
@@ -322,10 +322,10 @@ brooklyn.webconsole.security.user.admin.password=password2
 
 If you have persisted state you wish to rebind to, persistence is now 
configured in the following files:
 
-* [`brooklyn.cfg`](paths.html)
-* [`org.apache.brooklyn.osgilauncher.cfg`](paths.html)
+* [`brooklyn.cfg`](paths.md)
+* [`org.apache.brooklyn.osgilauncher.cfg`](paths.md)
 
-For example, to use S3 for the persisted state, add the following to 
[`brooklyn.cfg`](paths.html):
+For example, to use S3 for the persisted state, add the following to 
[`brooklyn.cfg`](paths.md):
 
 ```bash
 brooklyn.location.named.aws-s3-eu-west-1:aws-s3:eu-west-1
@@ -333,7 +333,7 @@ brooklyn.location.named.aws-s3-eu-west-1.identity=<ADD 
CREDS>
 brooklyn.location.named.aws-s3-eu-west-1.credential=<ADD CREDS>
 ```
 
-To continue the S3 example, for the persisted state, add the following to 
[`org.apache.brooklyn.osgilauncher.cfg`](paths.html):
+To continue the S3 example, for the persisted state, add the following to 
[`org.apache.brooklyn.osgilauncher.cfg`](paths.md):
 
 ```bash
 persistenceLocation=aws-s3-eu-west-1
@@ -346,7 +346,7 @@ Apache Brooklyn should be stopped before this file is 
modified, and then restart
 in the persisted state. Apache Brooklyn needs to know it in order to read the 
persisted state at startup time.***
 
 If binding to existing persisted state, an additional command is required to 
update the existing catalog with the Brooklyn
-0.12.0 versions. Assuming Brooklyn has been installed to 
[`/opt/brooklyn`](paths.html) (as is done by the RPM and DEB):
+0.12.0 versions. Assuming Brooklyn has been installed to 
[`/opt/brooklyn`](paths.md) (as is done by the RPM and DEB):
 
   ```bash
     br catalog add /opt/brooklyn/catalog/catalog.bom

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/start/blueprints.md
----------------------------------------------------------------------
diff --git a/guide/start/blueprints.md b/guide/start/blueprints.md
index 9b99e01..c79fafd 100644
--- a/guide/start/blueprints.md
+++ b/guide/start/blueprints.md
@@ -39,7 +39,7 @@ In order to configure the location in which Apache Brooklyn 
launches an applicat
 <div class="tab-content">
 <div id="impl-1" class="tab-pane fade in active">
 
-The Vagrant configuration described in [Running Apache 
Brooklyn](./running.html), on the previous page is the recommended way of 
running this tutorial. This configuration comes with four blank vagrant 
configurations called byon1 to byon4.
+The Vagrant configuration described in [Running Apache Brooklyn](running.md), 
on the previous page is the recommended way of running this tutorial. This 
configuration comes with four blank vagrant configurations called byon1 to 
byon4.
 
 These can be launched by entering the following command into the terminal in 
the vagrant configuration directory.
 
@@ -108,7 +108,7 @@ First, log in to brooklyn with the command line interface 
(CLI) tool by typing:
 $ br login http://localhost:8081/
 ```
 
-To secure the Apache Brooklyn instance, you can add a username and password to 
Brooklyn's properties file, as described in the User Guide [here]({{ 
book.path.guide }}/ops/configuration/brooklyn_cfg.html). 
+To secure the Apache Brooklyn instance, you can add a username and password to 
Brooklyn's properties file, as described in the User Guide 
[here](../ops/configuration/brooklyn_cfg.md). 
 If this is configured, the login command will require an additional parameter 
for the userid and will then prompt for a password.
 
 Now you can create the application with the command below:
@@ -129,6 +129,6 @@ you can monitor the progress of the application deployment 
and verify if it was
 
 <div class="started-pdf-exclude">
 
-Having deployed an application, the next step is **[monitoring and 
managing](managing.html)** it.
+Having deployed an application, the next step is **[monitoring and 
managing](managing.md)** it.
 
 </div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/start/managing.md
----------------------------------------------------------------------
diff --git a/guide/start/managing.md b/guide/start/managing.md
index 9697e26..62736c5 100644
--- a/guide/start/managing.md
+++ b/guide/start/managing.md
@@ -38,7 +38,7 @@ $ br app
  hTPAF19s   Tomcat   RUNNING   ajVVAhER
 </pre>
 
-A full list of abbreviations such as this can be found in the [CLI reference 
guide]({{ book.path.guide }}/ops/cli/cli-ref-guide.html#abbreviations).
+A full list of abbreviations such as this can be found in the [CLI reference 
guide](../ops/cli/cli-ref-guide.md#abbreviations).
 
 In the above example the Id `hTPAF19s` and the Name `Tomcat` are shown. You 
can use either of these handles to monitor and control the application. The Id 
shown for your application will be different to this but the name should be the 
same, note that if you are running multiple applications the Name may not be 
unique.
 
@@ -154,7 +154,7 @@ Id         Name                Type
 Wx7r1C4e   tomcatServer   
org.apache.brooklyn.entity.webapp.tomcat.TomcatServer      
 </pre>
 
-This shows one entity is available: `tomcatServer`. Note that this is the name 
we gave the entity in the YAML in [Launching from a 
Blueprint](./blueprints.html#launching-from-a-blueprint) on the previous page.
+This shows one entity is available: `tomcatServer`. Note that this is the name 
we gave the entity in the YAML in [Launching from a 
Blueprint](blueprints.md#launching-from-a-blueprint) on the previous page.
 
 You can get summary information for this entity by providing its name (or ID).
 
@@ -492,4 +492,4 @@ runs the ```config``` command with application scope of 
```Tomcat``` and entity
 ## Next
 
 We will look next at a slightly more complex example, which will illustrate 
the capabilities of Brooklyn's
-**[policies](policies.html)** mechanism, and how to configure dependencies 
between application entities.
\ No newline at end of file
+**[policies](policies.md)** mechanism, and how to configure dependencies 
between application entities.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/start/running.md
----------------------------------------------------------------------
diff --git a/guide/start/running.md b/guide/start/running.md
index ddabcf2..40508f3 100644
--- a/guide/start/running.md
+++ b/guide/start/running.md
@@ -132,9 +132,9 @@ By default, no authentication is required and the 
web-console will listen on all
 For a production system, or if Apache Brooklyn is publicly reachable, it is 
strongly recommended 
 to configure security. Documentation of configuration options include:
  
-* [Security]({{ book.path.guide }}/ops/configuration/brooklyn_cfg.html)
-* [Persistence]({{ book.path.guide }}/ops/persistence/)
-* [Cloud credentials]({{ book.path.guide }}/locations/)
+* [Security](../ops/configuration/brooklyn_cfg.md)
+* [Persistence](../ops/persistence/index.md)
+* [Cloud credentials](../locations/index.md)
 
 
 ## Launch Apache Brooklyn
@@ -165,7 +165,7 @@ Apache Brooklyn should now have been installed and be 
running as a system servic
 $ systemctl start|stop|restart|status brooklyn
 ```
 
-The application should then output its logs to `brooklyn.debug.log` and 
`brooklyn.info.log`, please refer to the [paths]({{ book.path.guide 
}}/ops/paths.html) page for the locations of these.
+The application should then output its logs to `brooklyn.debug.log` and 
`brooklyn.info.log`, please refer to the [paths](../ops/paths.md) page for the 
locations of these.
 
 {% sample lang="ubuntu" -%}
 ### Launching on Ubuntu & Debian
@@ -176,7 +176,7 @@ Apache Brooklyn should now have been installed and be 
running as a system servic
 $ sudo service brooklyn start|stop|restart|status
 ```
 
-The application should then output its logs to `brooklyn.debug.log` and 
`brooklyn.info.log`, please refer to the [paths]({{ book.path.guide 
}}/ops/paths.html) page for the locations of these.
+The application should then output its logs to `brooklyn.debug.log` and 
`brooklyn.info.log`, please refer to the [paths](../ops/paths.md) page for the 
locations of these.
 
 {% sample lang="osx" -%}
 ### Launching on other Linux distributions, OSX and other UNIX-like platforms
@@ -187,7 +187,7 @@ Now start Apache Brooklyn with the following command:
 $ bin/start
 ```
 
-The application should then output its log to `brooklyn.debug.log` and 
`brooklyn.info.log`, please refer to the [paths]({{ book.path.guide 
}}/ops/paths.html) page for the locations of these.
+The application should then output its log to `brooklyn.debug.log` and 
`brooklyn.info.log`, please refer to the [paths](../ops/paths.md) page for the 
locations of these.
 
 {% sample lang="windows" -%}
 ### Launching on Windows
@@ -234,6 +234,6 @@ For details on the CLI, see the [Client CLI Reference]({{ 
book.path.guide }}/ops
 
 <div class="started-pdf-exclude">
 
-The first thing we want to do with Brooklyn is **[deploy a blueprint]({{ 
book.path.guide }}/start/blueprints.html)**.
+The first thing we want to do with Brooklyn is **[deploy a 
blueprint](blueprints.md)**.
 
 </div>

Reply via email to