Restructuring images

This commit is contained in:
cytopia
2018-07-08 12:23:57 +02:00
parent 04250f2fc3
commit 04e9854470
63 changed files with 377 additions and 388 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -0,0 +1,4 @@
.. figure:: /_includes/figures/dns-server/android/android-wifi-advanced-options.jpg
:width: 250px
Android: Advanced options

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -0,0 +1,4 @@
.. figure:: /_includes/figures/dns-server/android/android-wifi-list.jpg
:width: 250px
Android: Wi-Fi list

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

@ -0,0 +1,4 @@
.. figure:: /_includes/figures/dns-server/android/android-wifi-select-dhcp-options-static.jpg
:width: 250px
Android: Select static DHCP options

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -0,0 +1,4 @@
.. figure:: /_includes/figures/dns-server/android/android-wifi-select-dhcp-options.jpg
:width: 250px
Android: Select DHCP options

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

@ -0,0 +1,4 @@
.. figure:: /_includes/figures/dns-server/android/android-wifi-set-dns-server.jpg
:width: 250px
Android: Add custom DNS server

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View File

@ -0,0 +1,4 @@
.. figure:: /_includes/figures/dns-server/iphone/iphone-wifi-list.jpg
:width: 250px
iPhone: Wi-Fi list

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

@ -0,0 +1,4 @@
.. figure:: /_includes/figures/dns-server/iphone/iphone-wifi-select-manual.jpg
:width: 250px
iPhone: Wi-Fi list

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

@ -0,0 +1,4 @@
.. figure:: /_includes/figures/dns-server/iphone/iphone-wifi-set-dns-server.jpg
:width: 250px
iPhone: Wi-Fi list

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -0,0 +1,4 @@
.. figure:: /_includes/figures/dns-server/iphone/iphone-wifi-settings.jpg
:width: 250px
iPhone: Wi-Fi list

View File

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

View File

@ -0,0 +1,3 @@
.. figure:: /_includes/figures/dns-server/mac/mac-network-settings.png
MacOS: network settings

View File

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View File

@ -0,0 +1,3 @@
.. figure:: /_includes/figures/dns-server/windows/win-ethernet-properties.png
Windows: ethernet properties

View File

@ -0,0 +1,3 @@
.. figure:: /_includes/figures/dns-server/windows/win-internet-protocol-properties.png
Windows: internet protocol properties

View File

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -0,0 +1,3 @@
.. figure:: /_includes/figures/dns-server/windows/win-network-connections.png
Windows: network connections

View File

@ -1,3 +0,0 @@
.. figure:: /_includes/figures/dns/mac-network-settings.png
MacOS: network settings

View File

@ -1,3 +0,0 @@
.. figure:: /_includes/figures/dns/win-ethernet-properties.png
Windows: ethernet properties

View File

@ -1,3 +0,0 @@
.. figure:: /_includes/figures/dns/win-internet-protocol-properties.png
Windows: internet protocol properties

View File

@ -1,3 +0,0 @@
.. figure:: /_includes/figures/dns/win-network-connections.png
Windows: network connections

View File

@ -0,0 +1,7 @@
.. _access_colleagues_devilbox:
***************************
Access Colleague's Devilbox
***************************

View File

@ -1,7 +1,7 @@
.. _access_devilbox_from_android:
**************************** ****************************
Access Devilbox from Android Access Devilbox from Android
**************************** ****************************
TODO
just run second bind server and hook it up via dhcp or custom app

View File

@ -1,3 +1,5 @@
.. _access_devilbox_from_iphone:
*************************** ***************************
Access Devilbox from iPhone Access Devilbox from iPhone
*************************** ***************************

View File

@ -1,3 +1,5 @@
.. _shared_devilbox_server_in_lan:
***************************** *****************************
Shared Devilbox server in LAN Shared Devilbox server in LAN
***************************** *****************************
@ -68,6 +70,27 @@ Handle DNS records
There are multiple ways of having DNS records available accross the LAN. There are multiple ways of having DNS records available accross the LAN.
Before you read on, have a quick look on the decision Matrix to find the best method for your
use-case.
+---------------------+------------------+--------------------------------------------------------------------------------------------------------+
| Method | Sub-method | Outcome |
+=====================+==================+========================================================================================================+
| Real domain | | All network devices will have Auto DNS |
+---------------------+------------------+--------------------------------------------------------------------------------------------------------+
| Own DNS server | | All network devices will have Auto DNS |
+---------------------+------------------+--------------------------------------------------------------------------------------------------------+
| Devilbox DNS server | Manual | Every network device must configure its DNS settings |
| +------------------+--------------------------------------------------------------------------------------------------------+
| | DHCP distributed | All network devices will have Auto DNS |
+---------------------+------------------+--------------------------------------------------------------------------------------------------------+
| Hosts entry | | Every network device must manually set hosts entries |br| for each project. (Does not work for phones) |
+---------------------+------------------+--------------------------------------------------------------------------------------------------------+
.. |br| raw:: html
<br />
.. important:: .. important::
When using a shared Devilbox server and another Devilbox setup on your local computer, When using a shared Devilbox server and another Devilbox setup on your local computer,
ensure that you are using different :ref:`env_tld_suffix` in order to not confuse ensure that you are using different :ref:`env_tld_suffix` in order to not confuse
@ -76,6 +99,8 @@ There are multiple ways of having DNS records available accross the LAN.
Use a real domain Use a real domain
----------------- -----------------
*(This will allow all devices on the network to have Auto-DNS)*
If you own a real domain, such as ``my-company.com``, you can create a wildcard DNS record for If you own a real domain, such as ``my-company.com``, you can create a wildcard DNS record for
a subdomain, such as ``*.dev.my-company.com`` which must point to ``192.168.0.12.``. a subdomain, such as ``*.dev.my-company.com`` which must point to ``192.168.0.12.``.
This should be done in your hosting provider's DNS configuration pannel. This should be done in your hosting provider's DNS configuration pannel.
@ -90,6 +115,8 @@ You must then also change the ``TLD_SUFFIX`` to that subdomain.
Handle DNS records in your own DNS server Handle DNS records in your own DNS server
----------------------------------------- -----------------------------------------
*(This will allow all devices on the network to have Auto-DNS)*
If your LAN already provides its own customizable DNS server, you can setup a new wildcard DNS If your LAN already provides its own customizable DNS server, you can setup a new wildcard DNS
zone for ``*.loc`` which points to ``192.168.0.12``. zone for ``*.loc`` which points to ``192.168.0.12``.
@ -119,6 +146,8 @@ Now there are two ways to consume the DNS records on your local machine:
Manual DNS settings Manual DNS settings
^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
*(Each device on the network needs to manually set the DNS server)*
When using this approach, you have to manually add the DNS server (IP: ``192.168.0.12``) to your When using this approach, you have to manually add the DNS server (IP: ``192.168.0.12``) to your
host operating system. host operating system.
@ -130,9 +159,13 @@ host operating system.
* :ref:`howto_add_custom_dns_server_on_linux` * :ref:`howto_add_custom_dns_server_on_linux`
* :ref:`howto_add_custom_dns_server_on_mac` * :ref:`howto_add_custom_dns_server_on_mac`
* :ref:`howto_add_custom_dns_server_on_win` * :ref:`howto_add_custom_dns_server_on_win`
* :ref:`howto_add_custom_dns_server_on_android`
* :ref:`howto_add_custom_dns_server_on_iphone`
DHCP distributed DHCP distributed
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
*(This will allow all devices on the network to have Auto-DNS)*
This is the automated and more pain-free approach, as all devices within the network will be able This is the automated and more pain-free approach, as all devices within the network will be able
to access projects on the shared Devilbox server. to access projects on the shared Devilbox server.
@ -156,6 +189,8 @@ in its web interface and add the Devilbox DNS server as the first in the list (`
Add hosts entries for every project Add hosts entries for every project
----------------------------------- -----------------------------------
*(Each device on the network needs to manually set the hosts entries for every single projcet)*
As you also do for the Devilbox locally when not using Auto-DNS, you can do as well for remote As you also do for the Devilbox locally when not using Auto-DNS, you can do as well for remote
computer. Just edit your local hosts file and add one DNS entry for every project on the shared computer. Just edit your local hosts file and add one DNS entry for every project on the shared
Devilbox server. Devilbox server.
@ -163,9 +198,9 @@ Devilbox server.
Keep in mind that this time you will have to use ``192.168.0.12`` instead of ``127.0.0.1``. Keep in mind that this time you will have to use ``192.168.0.12`` instead of ``127.0.0.1``.
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_linux` * :ref:`howto_add_project_hosts_entry_on_linux`
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
Share Devilbox CA Share Devilbox CA

View File

@ -135,8 +135,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -140,8 +140,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -91,8 +91,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -93,8 +93,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -91,8 +91,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -91,8 +91,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -101,8 +101,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -102,8 +102,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -101,8 +101,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -93,8 +93,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -91,8 +91,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -91,8 +91,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -91,8 +91,8 @@ following line to your host operating systems ``/etc/hosts`` file
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`setup_auto_dns` * :ref:`setup_auto_dns`

View File

@ -117,8 +117,8 @@ into your ``/etc/hosts`` (or ``C:\Windows\System32\drivers\etc`` for Windows).
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
Vist the vhost page again and see what has changed: http://localhost/vhosts.php Vist the vhost page again and see what has changed: http://localhost/vhosts.php

View File

@ -0,0 +1,51 @@
:orphan:
.. _howto_add_custom_dns_server_on_android:
********************************
Add custom DNS server on Android
********************************
Adding custom DNS server on Android works out of the box for each connected Wi-Fi network
separately. There is no need to install external Apps.
**Table of Contents**
.. contents:: :local:
Change DNS server in Android directly
=====================================
1. Navigate to **Settings -> Wi-Fi**
2. **Press and hold** on the Wi-Fi network you want to change
3. Choose **Modify network**
.. include:: /_includes/figures/dns-server/android/android-wifi-list.rst
4. Scroll down and click on **Advanced options**
.. include:: /_includes/figures/dns-server/android/android-wifi-advanced-options.rst
5. Scroll down and click on **DHCP**
.. include:: /_includes/figures/dns-server/android/android-wifi-select-dhcp-options.rst
6. Click on **Static**
.. include:: /_includes/figures/dns-server/android/android-wifi-select-dhcp-options-static.rst
7. Scroll down and change the DNS server IP for **DNS 1** (the first DNS server in the list)
.. include:: /_includes/figures/dns-server/android/android-wifi-set-dns-server.rst
Change DNS server with Third-Party App
======================================
If the above does not work for you or you just want another App that makes it even easier to change
DNS settings, you can search the Playstore for many available DNS changer Apps. They also work
on non-rooted Androids.
.. seealso:: `DNS Changer <https://play.google.com/store/apps/details?id=com.burakgon.dnschanger>`_

View File

@ -0,0 +1,47 @@
:orphan:
.. _howto_add_custom_dns_server_on_iphone:
*******************************
Add custom DNS server on iPhone
*******************************
Adding custom DNS server on iPhone works out of the box for each connected Wi-Fi network
separately. There is no need to install external Apps.
**Table of Contents**
.. contents:: :local:
Change DNS server in iPhone directly
====================================
1. Navigate to **Settings -> Wi-Fi**
2. Tap on your active Wi-Fi connection
.. include:: /_includes/figures/dns-server/iphone/iphone-wifi-list.rst
3. Scroll down and tap on **Configure DNS**
.. include:: /_includes/figures/dns-server/iphone/iphone-wifi-settings.rst
4. Select **Manual**
.. include:: /_includes/figures/dns-server/iphone/iphone-wifi-select-manual.rst
5. Add your DNS server IP (ensure it is the first in the list)
.. include:: /_includes/figures/dns-server/iphone/iphone-wifi-set-dns-server.rst
Change DNS server with Third-Party App
======================================
If the above does not work for you or you just want another App that makes it even easier to change
DNS settings, you can search the AppStore for many available DNS changer Apps. They also work
on non-rooted iPhones.
.. seealso:: `DNS Override <https://itunes.apple.com/us/app/dns-override/id1060830093>`_

View File

@ -6,10 +6,8 @@
Add custom DNS server on Linux Add custom DNS server on Linux
****************************** ******************************
TODO: the whole document is copied!!!!!!!!!!!!!!!!!!!! On Linux the DNS settings can be controlled by various different methods. Two of them are via
Network Manager and systemd-resolved. Choose on of the methods depending on your local setup.
On MacOS, custom DNS entries can be added to the ``/etc/hosts`` and will take precedence over the
same entries provided by any DNS server.
**Table of Contents** **Table of Contents**
@ -20,90 +18,109 @@ same entries provided by any DNS server.
Assumption Assumption
========== ==========
In order to better illustrate the process, we are going to use two projects as an example. This tutorial is using ``127.0.0.1`` as the DNS server IP address, as it is the method to setup
See the following table for project directories and :ref:`env_tld_suffix`. Auto DNS for your local Devilbox.
+-------------------+------------+--------------------------+-----------------------+
| Project directory | TLD_SUFFIX | Project URL | Required DNS name |
+===================+============+==========================+=======================+
| project-1 | ``loc`` | http://project-1.loc | ``project-1.loc`` |
+-------------------+------------+--------------------------+-----------------------+
| www.project-1 | ``loc`` | http://www.project-1.loc | ``www.project-1.loc`` |
+-------------------+------------+--------------------------+-----------------------+
Docker for Mac Non permanent solution
-------------- =======================
When using Docker for Mac you can use ``127.0.0.1`` for the IP address. When you just want to try out to add a new DNS server without permanent settings, you should use
this option.
1. Open ``/etc/hosts`` with admistrative privileges or via ``sudo`` with your favorite editor .. note::
Non permanent means, the settings will be gone when your DHCP release will be renewed,
reconnecting to the network, restarting the network service, logging out or
rebooting your machine.
1. Open ``/etc/resolv.conf`` with root or sudo privileges with your favourite editor on your
host operating sustem:
.. code-block:: bash .. code-block:: bash
host> sudo vi /etc/hosts host> sudo vi /etc/resolv.conf
2. Add DNS records for the above listed examples: 2. Add your new ``nameserver`` directive **above** all existing nameserver directives:
.. code-block:: bash .. code-block:: bash
:caption: /etc/hosts :caption: /etc/resolv.conf
:emphasize-lines: 3
127.0.0.1 project-1.loc # Generated by NetworkManager
127.0.0.1 www.project-1.loc search intranet
nameserver 127.0.0.1
nameserver 192.168.0.10
3. Safe the file and verify the DNS entries with the ``ping`` command 3. It will work instantly after saving the file
.. code-block:: bash
host> ping -c1 project-1.loc
PING project-1.loc (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.066 ms
.. code-block:: bash
host> ping -c1 www.project-1.loc
PING www.project-1.loc (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.066 ms
Docker Toolbox Network Manager
-------------- ===============
When using the Docker Toolbox, you cannot use ``127.0.0.1`` for DNS entries, but rather need to *(This is a permanent solution and needs to be reverted when you don't need it anymore)*
use the IP address of the Docker Toolbox machine instead.
.. seealso:: :ref:`howto_find_docker_toolbox_ip_address` Edit ``/etc/dhcp/dhclient.conf`` with root or sudo privileges and add an instruction, which tells
your local DHCP client that whenever any of your DNS servers are changed, you always want to have
an additional entry, which is the one from the Devilbox (``127.0.0.1``).
For this example we will assume the Docker Toolbox IP address is ``192.168.99.100``. Add the following line to to the very beginning to ``/etc/dhcp/dhclient.conf``:
.. code-block:: bash
:caption: /etc/dhcp/dhclient.conf
prepend domain-name-servers 127.0.0.1;
When you do that for the first time, you need to restart the ``network-manager`` service.
.. code-block:: bash
# Via service command
host> sudo service network-manager restart
# Or the systemd way
host> sudo systemctl restart network-manager
This will make sure that whenever your /etc/resolv.conf is deployed, you will have ``127.0.0.1``
as the first entry and also make use of any other DNS server which are deployed via the LAN's DHCP
server.
If the Devilbox DNS server is not running, it does not affect the name resolution, because you will
still have other entries in ``/etc/resolv.conf``.
1. Open ``/etc/hosts`` with admistrative privileges or via ``sudo`` with your favorite editor systemd-resolved
================
.. code-block:: bash *(This is a permanent solution and needs to be reverted when you don't need it anymore)*
host> sudo vi /etc/hosts In case you are using systemd-resolved instead of NetworkManager, add the following line to
the very beginning to ``/etc/resolv.conf.head``:
2. Add DNS records for the above listed examples: .. code-block:: bash
:caption: /etc/resolv.conf.head
.. code-block:: bash nameserver 127.0.0.1
:caption: /etc/hosts
192.168.99.100 project-1.loc Prevent NetworkManager from modifying ``/etc/resolv.conf`` and leave everything to
192.168.99.100 www.project-1.loc systemd-resolved by adding the following line under the ``[main]`` section of
``/etc/NetworkManager/NetworkManager.conf``
3. Safe the file and verify the DNS entries with the ``ping`` command .. code-block:: bash
:caption: /etc/NetworkManager/NetworkManager.conf
.. code-block:: bash dns=none
host> ping -c1 project-1.loc As a last step you will have to restart ``systemd-resolved``.
PING project-1.loc (192.168.99.100) 56(84) bytes of data. .. code-block:: bash
64 bytes from localhost (192.168.99.100): icmp_seq=1 ttl=64 time=0.066 ms
.. code-block:: bash host> sudo systemctl stop systemd-resolved
host> sudo systemctl start systemd-resolved
host> ping -c1 www.project-1.loc Once done, you can verify if the new DNS settings are effective:
PING www.project-1.loc (192.168.99.100) 56(84) bytes of data. .. code-block:: bash
64 bytes from localhost (192.168.99.100): icmp_seq=1 ttl=64 time=0.066 ms
host> systemd-resolve --status
.. seealso:: `Archlinux Wiki: resolv.conf <https://wiki.archlinux.org/index.php/Dhcpcd#resolv.conf>`_

View File

@ -6,12 +6,6 @@
Add custom DNS server on MacOS Add custom DNS server on MacOS
****************************** ******************************
TODO: the whole document is copied!!!!!!!!!!!!!!!!!!!!
On MacOS, custom DNS entries can be added to the ``/etc/hosts`` and will take precedence over the
same entries provided by any DNS server.
**Table of Contents** **Table of Contents**
.. contents:: :local: .. contents:: :local:
@ -20,90 +14,18 @@ same entries provided by any DNS server.
Assumption Assumption
========== ==========
In order to better illustrate the process, we are going to use two projects as an example. This tutorial is using ``127.0.0.1`` as the DNS server IP address, as it is the method to setup
See the following table for project directories and :ref:`env_tld_suffix`. Auto DNS for your local Devilbox.
+-------------------+------------+--------------------------+-----------------------+
| Project directory | TLD_SUFFIX | Project URL | Required DNS name |
+===================+============+==========================+=======================+
| project-1 | ``loc`` | http://project-1.loc | ``project-1.loc`` |
+-------------------+------------+--------------------------+-----------------------+
| www.project-1 | ``loc`` | http://www.project-1.loc | ``www.project-1.loc`` |
+-------------------+------------+--------------------------+-----------------------+
Docker for Mac
--------------
When using Docker for Mac you can use ``127.0.0.1`` for the IP address.
1. Open ``/etc/hosts`` with admistrative privileges or via ``sudo`` with your favorite editor
.. code-block:: bash
host> sudo vi /etc/hosts
2. Add DNS records for the above listed examples:
.. code-block:: bash
:caption: /etc/hosts
127.0.0.1 project-1.loc
127.0.0.1 www.project-1.loc
3. Safe the file and verify the DNS entries with the ``ping`` command
.. code-block:: bash
host> ping -c1 project-1.loc
PING project-1.loc (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.066 ms
.. code-block:: bash
host> ping -c1 www.project-1.loc
PING www.project-1.loc (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.066 ms
Docker Toolbox Network preferences
-------------- ===================
When using the Docker Toolbox, you cannot use ``127.0.0.1`` for DNS entries, but rather need to 1. Open System Preferences
use the IP address of the Docker Toolbox machine instead. 2. Go to **Network**
3. Select your **active** connected interface
4. Click on **DNS** tab
5. Add new DNS server by clicking the **+** sign
6. Add ``127.0.0.1`` as the first entry
.. seealso:: :ref:`howto_find_docker_toolbox_ip_address` .. include:: /_includes/figures/dns-server/mac/mac-network-settings.rst
For this example we will assume the Docker Toolbox IP address is ``192.168.99.100``.
1. Open ``/etc/hosts`` with admistrative privileges or via ``sudo`` with your favorite editor
.. code-block:: bash
host> sudo vi /etc/hosts
2. Add DNS records for the above listed examples:
.. code-block:: bash
:caption: /etc/hosts
192.168.99.100 project-1.loc
192.168.99.100 www.project-1.loc
3. Safe the file and verify the DNS entries with the ``ping`` command
.. code-block:: bash
host> ping -c1 project-1.loc
PING project-1.loc (192.168.99.100) 56(84) bytes of data.
64 bytes from localhost (192.168.99.100): icmp_seq=1 ttl=64 time=0.066 ms
.. code-block:: bash
host> ping -c1 www.project-1.loc
PING www.project-1.loc (192.168.99.100) 56(84) bytes of data.
64 bytes from localhost (192.168.99.100): icmp_seq=1 ttl=64 time=0.066 ms

View File

@ -6,12 +6,6 @@
Add custom DNS server on Windows Add custom DNS server on Windows
******************************** ********************************
TODO: the whole document is copied!!!!!!!!!!!!!!!!
On Windows, custom DNS entries can be added to the ``C:\Windows\System32\drivers\etc`` and will
take precedence over the same entries provided by any DNS server.
**Table of Contents** **Table of Contents**
.. contents:: :local: .. contents:: :local:
@ -20,84 +14,18 @@ take precedence over the same entries provided by any DNS server.
Assumption Assumption
========== ==========
In order to better illustrate the process, we are going to use two projects as an example. This tutorial is using ``127.0.0.1`` as the DNS server IP address, as it is the method to setup
See the following table for project directories and :ref:`env_tld_suffix`. Auto DNS for your local Devilbox.
+-------------------+------------+--------------------------+-----------------------+
| Project directory | TLD_SUFFIX | Project URL | Required DNS name |
+===================+============+==========================+=======================+
| project-1 | ``loc`` | http://project-1.loc | ``project-1.loc`` |
+-------------------+------------+--------------------------+-----------------------+
| www.project-1 | ``loc`` | http://www.project-1.loc | ``www.project-1.loc`` |
+-------------------+------------+--------------------------+-----------------------+
Docker for Windows
------------------
When using Docker for Windows you can use ``127.0.0.1`` for the IP address.
1. Open ``C:\Windows\System32\drivers\etc`` with admistrative privileges via ``notepad.exe`` or
any other text editor.
2. Add DNS records for the above listed examples:
.. code-block:: bash
:caption: C:\Windows\System32\drivers\etc
127.0.0.1 project-1.loc
127.0.0.1 www.project-1.loc
3. Safe the file and verify the DNS entries with the ``ping`` command
.. code-block:: bash
host> ping -c1 project-1.loc
PING project-1.loc (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.066 ms
.. code-block:: bash
host> ping -c1 www.project-1.loc
PING www.project-1.loc (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.066 ms
Docker Toolbox Network preferences
-------------- ===================
When using the Docker Toolbox, you cannot use ``127.0.0.1`` for DNS entries, but rather need to On Windows, you need to change your active network adapter. See the following screenshots
use the IP address of the Docker Toolbox machine instead. for how to do it.
.. seealso:: :ref:`howto_find_docker_toolbox_ip_address` .. include:: /_includes/figures/dns-server/windows//win-network-connections.rst
.. include:: /_includes/figures/dns-server/windows//win-ethernet-properties.rst
.. include:: /_includes/figures/dns-server/windows//win-internet-protocol-properties.rst
For this example we will assume the Docker Toolbox IP address is ``192.168.99.100``. In the last screenshot, you will have to add ``127.0.0.1`` as your ``Preferred DNS server``.
1. Open ``C:\Windows\System32\drivers\etc`` with admistrative privileges via ``notepad.exe`` or
any other text editor.
2. Add DNS records for the above listed examples:
.. code-block:: bash
:caption: C:\Windows\System32\drivers\etc
192.168.99.100 project-1.loc
192.168.99.100 www.project-1.loc
3. Safe the file and verify the DNS entries with the ``ping`` command
.. code-block:: bash
host> ping -c1 project-1.loc
PING project-1.loc (192.168.99.100) 56(84) bytes of data.
64 bytes from localhost (192.168.99.100): icmp_seq=1 ttl=64 time=0.066 ms
.. code-block:: bash
host> ping -c1 www.project-1.loc
PING www.project-1.loc (192.168.99.100) 56(84) bytes of data.
64 bytes from localhost (192.168.99.100): icmp_seq=1 ttl=64 time=0.066 ms

View File

@ -1,10 +1,10 @@
:orphan: :orphan:
.. _howto_add_project_dns_entry_on_linux: .. _howto_add_project_hosts_entry_on_linux:
****************************** ********************************
Add project DNS entry on Linux Add project hosts entry on Linux
****************************** ********************************
On Linux, custom DNS entries can be added to the ``/etc/hosts`` and will take precedence over the On Linux, custom DNS entries can be added to the ``/etc/hosts`` and will take precedence over the
same entries provided by any DNS server. same entries provided by any DNS server.

View File

@ -1,10 +1,10 @@
:orphan: :orphan:
.. _howto_add_project_dns_entry_on_mac: .. _howto_add_project_hosts_entry_on_mac:
****************************** ********************************
Add project DNS entry on MacOS Add project hosts entry on MacOS
****************************** ********************************
On MacOS, custom DNS entries can be added to the ``/etc/hosts`` and will take precedence over the On MacOS, custom DNS entries can be added to the ``/etc/hosts`` and will take precedence over the
same entries provided by any DNS server. same entries provided by any DNS server.

View File

@ -1,10 +1,10 @@
:orphan: :orphan:
.. _howto_add_project_dns_entry_on_win: .. _howto_add_project_hosts_entry_on_win:
******************************** **********************************
Add project DNS entry on Windows Add project hosts entry on Windows
******************************** **********************************
On Windows, custom DNS entries can be added to the ``C:\Windows\System32\drivers\etc`` and will On Windows, custom DNS entries can be added to the ``C:\Windows\System32\drivers\etc`` and will
take precedence over the same entries provided by any DNS server. take precedence over the same entries provided by any DNS server.

View File

@ -96,8 +96,8 @@ follows:
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
* :ref:`howto_find_docker_toolbox_ip_address` * :ref:`howto_find_docker_toolbox_ip_address`

View File

@ -44,5 +44,5 @@ projects will be available at.
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`

View File

@ -14,9 +14,11 @@ Find your user id and group id on Windows
Docker for Windows Docker for Windows
================== ==================
.. todo:: On Docker for Windows it is **not necessary** to change uid and gid in your ``.env`` file.
This section requires the actual information about how to get uid and gid.
https://forums.docker.com/t/find-uid-and-gid-on-windows-for-mounted-directories/53320 .. note::
Docker for Windows is internally using network shares (SMB) to mount Docker volumes.
This does not require to syncronize file and directoriy permissions via uid and gid.
Docker Toolbox Docker Toolbox

View File

@ -97,6 +97,7 @@ host is ready to be served with your custom domain.
corporate-usage/deploy-devilbox-via-ansible corporate-usage/deploy-devilbox-via-ansible
corporate-usage/shared-devilbox-server-in-lan corporate-usage/shared-devilbox-server-in-lan
corporate-usage/access-colleagues-devilbox
corporate-usage/access-devilbox-from-android corporate-usage/access-devilbox-from-android
corporate-usage/access-devilbox-from-iphone corporate-usage/access-devilbox-from-iphone
corporate-usage/use-external-databases corporate-usage/use-external-databases

View File

@ -4,7 +4,7 @@
Setup Auto DNS Setup Auto DNS
************** **************
If you don't want to add DNS records manually for every project, you can also use the bundled If you don't want to add host records manually for every project, you can also use the bundled
DNS server and use it's DNS catch-all feature to have all DNS records automatically available. DNS server and use it's DNS catch-all feature to have all DNS records automatically available.
.. important:: .. important::
@ -73,106 +73,28 @@ The output should look like this (It is only important that there is no ``:53``.
tcp 0 0 127.0.0.1:50267 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:50267 0.0.0.0:* LISTEN
Linux Docker on Linux
----- ---------------
On Linux the DNS settings can be controlled by various different methods. Two of them are via Your DNS server IP address is ``127.0.0.1``.
Network Manager and systemd-resolved. Choose on of the methods depending on your local setup.
Network Manager .. seealso:: :ref:`howto_add_custom_dns_server_on_linux`
^^^^^^^^^^^^^^^
If the prerequisites are met, you can edit ``/etc/dhcp/dhclient.conf`` with root or sudo privileges
and add an instruction, which tells your local DHCP client that whenever any of your DNS servers
are changed, you always want to have an additional entry, which is the one from the Devilbox.
Add the following line to to the very beginning to ``/etc/dhcp/dhclient.conf``:
.. code-block:: bash
:caption: /etc/dhcp/dhclient.conf
prepend domain-name-servers 127.0.0.1;
When you do that for the first time, you need to restart the ``network-manager`` service.
.. code-block:: bash
# Via service command
host> sudo service network-manager restart
# Or the systemd way
host> sudo systemctl restart network-manager
This will make sure that whenever your /etc/resolv.conf is deployed, you will have ``127.0.0.1``
as the first entry and also make use of any other DNS server which are deployed via the LAN's DHCP server.
If the Devilbox DNS server is not running, it does not affect the name resolution, because you will
still have other entries in ``/etc/resolv.conf``.
systemd-resolved Docker for Mac
^^^^^^^^^^^^^^^^ --------------
In case you are using systemd-resolved instead of NetworkManager, add the following line to Your DNS server IP address is ``127.0.0.1``.
the very beginning to ``/etc/resolv.conf.head``:
.. code-block:: bash .. seealso:: :ref:`howto_add_custom_dns_server_on_mac`
:caption: /etc/resolv.conf.head
nameserver 127.0.0.1
Prevent NetworkManager from modifying ``/etc/resolv.conf`` and leave everything to
systemd-resolved by adding the following line under the ``[main]`` section of
``/etc/NetworkManager/NetworkManager.conf``
.. code-block:: bash
:caption: /etc/NetworkManager/NetworkManager.conf
dns=none
As a last step you will have to restart ``systemd-resolved``.
.. code-block:: bash
host> sudo systemctl stop systemd-resolved
host> sudo systemctl start systemd-resolved
Once done, you can verify if the new DNS settings are effective:
.. code-block:: bash
host> systemd-resolve --status
.. seealso:: `Archlinux Wiki: resolv.conf <https://wiki.archlinux.org/index.php/Dhcpcd#resolv.conf>`_
MacOS Docker for Windows
----- ------------------
Modifying ``/etc/resolv.conf`` does not work on MacOS, you need to make changes in your Your DNS server IP address is ``127.0.0.1``.
System Preferences:
1. Open System Preferences .. seealso:: :ref:`howto_add_custom_dns_server_on_win`
2. Go to Network
3. Select your connected interface
4. Click on ``DNS`` tab
5. Add new DNS server by clicking the ``+`` sign
6. Add ``127.0.0.1``
.. include:: ../_includes/figures/dns/mac-network-settings.rst
Windows
-------
On Windows, you need to change your active network adapter. See the following screenshots
for how to do it.
.. include:: ../_includes/figures/dns/win-network-connections.rst
.. include:: ../_includes/figures/dns/win-ethernet-properties.rst
.. include:: ../_includes/figures/dns/win-internet-protocol-properties.rst
In the last screenshot, you will have to add ``127.0.0.1`` as your ``Preferred DNS server``.
Docker Toolbox Docker Toolbox
@ -217,3 +139,13 @@ Actual setup
.. important:: .. important::
After settings this up, follow the above guides for **Docker for Mac** or **Docker for Windows** After settings this up, follow the above guides for **Docker for Mac** or **Docker for Windows**
to finish the setup. to finish the setup.
Access for other network devices
================================
.. seealso::
* :ref:`access_devilbox_from_android`
* :ref:`access_devilbox_from_iphone`
* :ref:`access_colleagues_devilbox`
* :ref:`shared_devilbox_server_in_lan`

View File

@ -118,8 +118,8 @@ Revert any changes you have done in ``/etc/hosts`` (or ``C:\Windows\System32\dri
.. seealso:: .. seealso::
* :ref:`howto_add_project_dns_entry_on_mac` * :ref:`howto_add_project_hosts_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win` * :ref:`howto_add_project_hosts_entry_on_win`
Remove Devilbox CA from your browser Remove Devilbox CA from your browser
------------------------------------ ------------------------------------

View File

@ -102,6 +102,15 @@ This error occurs when using ``localhost`` as the :ref:`env_tld_suffix`.
Web server issues Web server issues
================= =================
Warning: DocumentRoot [/var/www/default/htdocs/] does not exist
---------------------------------------------------------------
This error is most likely to only occur on Docker for Windows and is just a result of not working
volumes mounts.
.. seealso:: https://forums.docker.com/t/volume-mounts-in-windows-does-not-work/10693
403 forbidden 403 forbidden
------------- -------------