You can configure Watch My Domains Server Edition to send you email alerts whenever a DNS Record is modified. These emails are generated and sent immediately after the corresponding domain/ hostname is checked.
This could lead to a large number of fragmented emails especially if you have a number of parked domains that use round-robin DNS or load balanced servers.
The best method to handle this is to specify an email delay to control the number of alert emails that are generated. Setting the email delay to zero will cause an email to be generated immediately on a record change, setting it to 30 will cause all the alerts generated during the past 30 minutes to be send in a single email.
It is also possible to control which domains are monitored for DNS alerts by adding all the important domains to a category and then enabling the alerts for only the domains in that category. Another option is to completely disable alerts for specific domains. Please see the user guide for more details.
Clone the project into a convenient folder (or download the ZIP from githuib and unzip into a folder) and then edit docker-compose.yml to change the MySQL root and user passwords. You may also change the port from 8000 to whatever you want to use.
Edit wmdsed4/config.php to change the MySQL user password to the same one you setup in the YML file. While there, change the setup user name and password ($db_config_setup_name, $db_config_setup_password) too.
Open a terminal (in Mac) or Windows command-line and change to the docker-wmdsed4 directory. Now run
docker-compose up -d
wait for the containers to spin up and then open http://localhost:8000 in your browser. There will be a short delay before the Watch My Domains application starts up for the first time. Use the setup username and password you specified in the config.php file to login.
This is purely for a quick test of Watch My Domains SED, don’t use in a production environment unless:
Physical or remote access to your system is restricted AND
You really know what you are doing
The application will be run without SSL. You can modify the docker file (wmdsed4/Dockerfile) to include SSL support and access the application over SSL.
The database files are stored in a host folder (wmdsed4/mysql), so you can safely stop the containers without losing data.
This doesn’t include any of the application files. The evaluation version of Watch My Domains SED is downloaded from domainpunch.com when you build the container.
Did you know that you can easily copy the contents of any column in the domain data table of Watch My Domains SED v4 by simply clicking on the column?
Use the ‘Tools’ Tab in the lower pane to enable the ‘Auto Copy’ of column content to clipboard when you click on any column. If you don’t want the ‘auto-copy’ you can also manually copy from the selection box in the ‘Tools’ pane.
These are the basic minimum steps required required to enable remote access. Additional steps may be required to make this work on your server if there are other security measures (enabling port access, changing firewall settings, etc.).
How to Enable Remote Access
There are two basic steps required to enable remote access.
The first step is changing the bind-address to the IP address of the server running MySQL. This is done by editing my.cnf file and setting
bind-address = x.x.x.x
Make sure that you set x.x.x.x to the MySQL server’s IP address. Restart the mysql server after doing this.
The second step is creating a user who can connect from your remote address. This is done by connecting to the mysql server using
mysql -u root -p
Provide the password when prompted. Now run
GRANT ALL ON wmdsed.* TO wmdsedimport@'y.y.y.y' IDENTIFIED BY 'secretpassword'
Change wmdsed to the database name and secretpassword to your password. The IP address y.y.y.y should be set to your remote address (the IP you will connect from and where the new version of Watch My Domains is installed). We are also creating a new user called wmdsedimport just to import the data into the new version of Watch My Domains SED.
From the server that has Watch My Domains SED installed, run
mysql -h x.x.x.x -u wmdsedimport -p
Replace x.x.x.x with the IP address of the mysql server and when prompted, provide the password you created in step-2 above.
If the connection works, you are in business.
Now create a data provider profile in Watch My Domains SED v4 and specify the proper credentials like user name (wmdsedimport), the newly created password, the hostname (where older database is, x.x.x.x or the corresponding FQDN) etc.
This is a quick tip for using the Watch My Domains SED API from a PHP script. Remember that this has security implications because a session id will be passed as a URL parameter. You should restrict access to the modified script and use it only within intranet.
This problem can be fixed by making the PHP script use it’s own session id, allowing you to authenticate and then call any API query to get / set the required information.
The first step to enable this is to make a copy of the api.php file in the root installation folder and save it to another name, say myapi.php. Then open myapi.php and add something similar to this
$seid = $_REQUEST['seid'];
// add code here to ensure that $seid has only valid chars
at the top, before the…
You may want to change the parameter from ‘seid’ to something else. You can also add some code that checks $_SERVER[‘REMOTE_ADDR’] and allows access from only specific IP addresses.
Important: Do not change or modify the original api.php file.
In your PHP script to get or set information using the API you should now use myapi.php instead of api.php. You should also pass a session id (created using session_create_id) to myapi.php as a parameter (seid or whatever you named it).
Many registrar APIs require that you whitelist the IP addresses from which you connect. This is a problem if your ISP provides only dynamic IPs. Every time you want to import data from a registrar you will have to find your current IP address, add it at the registrar and wait for it to be whitelisted. At some registrars the whitelisting could take upto 30 minutes.
You can use your website to host an opensource registrar API script from CodePunch Solutions and then use it from Domain Punch Pro and Watch My Domains to fix this problem permanently. Your website will have a permanent IP address and you can easily whitelist it at your registrar.
Download and install the whois api client script on your web server and white-list your web server IP address at the registrar. Then specify the URL to the web client as shown in the screen-shot above. Include the required authentication parameter (&k=xxxx or ?k=xxxx) as part of the URL.
Some secondary domains like yourdomain.uk.com will not get added to Watch My Domains SED v4 by default. This is because the application will assume that you want to add UK.COM and that the yourdomain part is a subdomain (which it really is).
In such cases you can force add the domains by wrapping them in square brackets (). For example,
You can also make some changes to the domain suffix list in Watch My Domains SED to permanently support such domains.
The public suffix list is used by Watch My Domains to properly identify the effective / registered domain name. You can acces this from the administrive settings panels.
After you add these second level domains (uk.com, bd.com, etc) your entries will be parsed as you want them to be. You can also verify the parser by typing in your test entries under the ‘Test Domain Parser’ box.
Installing Watch My Domains SED on a CentOS system with SELinux (Security-Enhanced Linux) enabled often requires some extra work.
The Log Folder
Watch My Domains SED requires that the log folder is writable by apache. For this to work you will have to properly set the security context and ownership for the folder.
By default the log folder is at the root of the base installation. If you are installing the application at /var/www/html/wmdsed40, the log folder will be /var/www/html/wmdsed40/logs. You can ofcourse change the location of the log folder by editing the config.php file.
To make the log folder writable you will have to run