5.3-Nano: DtDNS
5.x-Nano: Introduction | Cron | DtDNS | Database Backup | msmtp
|
|
Uniform Server and DtDNS
The majority of domestic Internet connections are via a dynamic IP address, one that can change every time you connect to the Internet. This means you cannot run a web server unless you purchase a static IP address from your ISP (Internet service provider). Even with a static IP, you require an entry in a DNS server that converts your domain name into this IP address, allowing other users to access your server.
An alternative is to use a free service such as DtDNS. They provide accounts that allow you to obtain a domain name, and tracking software to automatically update your IP address when it changes. A big advantage of their free service is that they automatically enable Wild cards by default.
Uniform Server supports the DtDNS service by integrating a simple PHP script to automatically update hostname IP address at DtDNS. The script is configurable, allowing you to update all five free hostnames. The script can optionally be run by cron, making the whole task transparent.
Note: The script is portable, so popping the servers on a USB memory stick means you can have them on-line and accessible within ten minutes (minimum DNS propagation time) if the new PC host has been configured to allow Internet server traffic.
DtDNS account
Creating an account at DtDNS is extremely easy.
- Go to DtDNS home page.
- To the right of log in click Create an Account
There are two pages to fill in. Enter the following details:
Page 1: | ||
1) | Desired Username | This name is used for logging into your account |
2) | Your Name | Your real name (Internal use) |
3) | Desired Password | A password for logging into your account |
4) | Confirm Password | As above |
5) | E-mail Address | A real active e-mail is required. An activation code is sent to this e-mail address |
6) | Confirm E-mail | As above |
7) | Optional | Skip the Optional Information section if you don't wish fill it in. |
8) | Two CAPCHA words | Enter the two CAPCHA words (if these are difficult to read click the new challenge button) |
Page 2: | ||
9) | Username | Enter your Username as entered in 1). |
10) | Enter code | Enter code sent to your email. (Note: The email contains a link to page 2, hence you could also close the page and wait for the e-mail.) |
Login - Create Hostname
General information:
Will look like this: http://books.effers.com |
|
|
Wild Cards:
After creating a hostname, wild cards are enabled by default. This allows you to use a URL such as
http://www.books.effers.com - Note www. is the wild card part. This can be anything you like; for example:
- http://www.books.effers.com
- http://www-internation.books.effers.com
- http://local.books.effers.com
- http://www.home.books.effers.com
books.effers.com resolves to your IP address. You can use the wild card on your server to resolve to different sites.
Create Hostname
To create a new hostname at DtDNS
Login
- Go to | Login page
- Enter Username: as set in step 1)
- Enter Password: as set in step 3)
- My Services page displayed
- Click on Hostnames. This opens the Hostname Manager
Create hostname
- Enter a desired Hostname
- From the drop down menu select a Domain
- Click Add Hostname
- Enter the two CAPCHA words (if these are difficult to read click the new challenge button)
- Click Add Hostname button
- This is added to your list of host names
Manage existing hostnames
To manage existing hostnames, simply click the entry in the list for example see below.
Hostname | Domain | IP Address | Type |
uni23 | dtdns.net | 89.119.35.45 | Active Dynamic |
books | effers.com | 87.129.30.174 | Active Dynamic |
Click a hostname link to open its corresponding configuration page. Here you can change various settings, including the IP address.
Note: After adding a new host, the IP address is set to your current IP address. You can manually change it on the configuration page or request an IP update see later.
Script Configuration
Edit the following file: UniServer\plugins\dtdns_updater\dtdns.ini
For each account you wish to update, add a block with the following format.
[account_1] | - A unique name enclosed in square brackets. Can be any name you wish; do not include spaces. | |
hostname = | - Full host name as configured at DtDNS | |
password = | - Your DtDNS account password |
The configuration file contains examples one shown below:
;[account_1] ;hostname = books.effers.com ;password = fred123 |
Uncomment (remove ;) to enable
Substitute books.effers.com with your real host and domain names, replace the password fred123 with the one you set in step 1)
Note:
Uncomment the blocks as required and substitute your details.
If you need extra blocks, copy an existing one making sure you change the block name to something unique.
Running Auto-updater Script
Manual Update
You can run the following batch file to manually force an update, remember to leave around ten minuets before performing another manual update.
Batch file: UniServer\plugins\dtdns_updater\Run_dtdns_updater.bat
Note: It takes around ten minutes for the DNS to propagate. Additional updates within this period are regarded as an abuse and you may find your IP banned.
Cron - Automatic update
Cron provides a periodic tick. Uniform Server's default is every ten minutes.
DtDNS automatic updater has been pre-configured, however it is disabled by default.
To enable DtDNS, edit file UniServer\unicon\main\cron.ini
Locate the dtdns block:
;[dtdns] ;start = 2009-09-21 2:56:52 ;period = 600 ; 10 Mins as required by DtDNS ;path = ..\..\plugins\dtdns_updater\dtdns_updater.php ;ref = |
Uncomment to enable as shown below:
[dtdns] start = 2009-09-21 2:56:52 period = 600 ; 10 Mins as required by DtDNS path = ..\..\plugins\dtdns_updater\dtdns_updater.php ref = |
Optionally change the start time. If you do not change this the current time will be used.
When Cron is initially run DtDNS will immediately run and thereafter will run every ten minutes.
Note 1: An update is performed only if your IP address has changed.
Note 2: You need to start Cron either manually or automatically. Refer to Cron page for details.
Logging
Logging is enabled by default. Log file: UniServer\plugins\dtdns_updater\dtdns.log
Disable enable logging edit file: UniServer\plugins\dtdns_updater\dtdns_updater.php
Change the following line as required:
$logging = true; // true = Enable logging false = disable logging
Summary
For a home web server the free account at DtDNS is ideal. At least it gives you an opportunity to test their service. Perhaps it will encourage you to purchase a real domain and use some of their paid services.
The next page looks at configuring the Database Backup CLI script.