Webta → Products → EPP-DRS →
EPP-DRS User manual
Revision date: 30/01/08
Copyright © 2005-2008 Webta Labs.
Table of contents
- Introduction
- Pricing and licensing
- Available registry modules
- Available payment modules
- Installation
- System requirements
- Deployment
- Configuration
- Configure application
- Enable modules
- Prepare registry modules
- Configure modules
- Configure pricing
- Localization and customization
- Extending
- Creating custom modules
1. Introduction
EPP-DRS (EPP Domain Registration System) is a full-cycle domain registration and management system. It allows you to run an automated domain registration service, with ability for your clients to register, renew, transfer domain names.
System web interface consists of 3 areas: domain order wizard, Registrant control panel and Registrar control panel.
EPP-DRS is built on a solid framework with a modular structure, which allows implementation of custom registry and payment modules, as described in API Documentation.
Please visit EPP-DRS product website for latest information and updates.
2. Pricing and licensing
For latest pricing and licensing options, please check EPP-DRS product website
3. Available registry modules
| Module |
Supported Domains |
Protocol |
Reference |
| EPPEU |
eu |
EPP |
EURid |
| EPPGR |
gr, com.gr, net.gr, org.gr, gov.gr, edu.gr |
EPP |
Forth |
| EPPLU |
.lu |
EPP |
DNS-LU |
| SRSPlus |
com, net, biz, info, org, co.uk, me.uk, org.uk, us, tv, cc, ws, bz, tc, gs, ms, vg |
SRSPlus API |
SRSPlus |
| OnlineNIC |
com, net, org, biz, info, us, in, cn, eu, cc, ws, mobi |
SRSPlus API |
OnlineNIC |
4. Available payment modules
5. Installation
5.1. System requirements
EPP-DRS requires a webserver and can run on any operating system, as long as the following requirements are met:
- PHP 5.2.0 or higher,
- MySQL 4.1 or higher (MySQL 5.0 or higher preferred).
Required PHP configuration options:
- PHP must be able to execute binary programs, thus safe_mode must be set to Off
Required PHP extensions:
Required binary utilities:
5.2. Deployment
- Copy files
Note: If you are using FTP to upload files, make sure that you are uploading in binary mode!
Copy contents of app folder on your webserver.
Only app/www folder must be readable by webserver.
For example, if you web root is /home/user/public_html, app/www folder should be copied to /home/user/public_html folder.
Other files and folders in app folder should be copied to /home/user/
- Set folders permissions
Change permissions for cache folder (and its subfolders) and logs folders to 777 (world-writable),
On Unix systems you can run in console: sh preinstall.sh
- Create database
- Create MySQL database and import database dump from sql/database.sql file
- Edit database connection details in etc/config.ini file
- Add cronjobs
For system to work properly, it needs to run a few tasks periodicaly.
A following recurring tasks need to be sheduled:
| Path to routine |
Periodicity |
Performed actions |
| cron/delete_unpaid_domains.php |
Daily |
- Deletes incompleted orders that are older than 5 days.
|
| cron/old_users.php |
Daily |
- Deletes users that dont have active domains or paid invoices.
|
| cron/renew.php |
Daily |
- Sends notifications to registrants about expiration of their domains (Configuring registry modules section explains how to configure notification dates).
- Generates invoices for domain renew.
|
| cron/transfer.php |
Every 30 minutes |
- Checks a status of domain transfers and performs appropriate updates in database and domain contacts.
|
| cron/pollqueue_event.php |
Every 5 minutes |
- Retrieves messages from poll message queue on EPP server and calls appropriate handlers.
|
| |
|
|
A sample crontab entries on Unix system will look like:
0 0 * * * /path/to/php -q /path/to/app/cron/delete_unpaid_domains.php
0 0 * * * /path/to/php -q /path/to/app/cron/old_users.php
0 0 * * * /path/to/php -q /path/to/app/cron/renew.php
*/30 * * * * /path/to/php -q /path/to/app/cron/transfer.php
*/5 * * * * /path/to/php -q /path/to/app/cron/pollqueue_event.php
Where /path/to/php is a path to php binary and /path/to/app - path to EPP-DRS folder.
5.3. Configuration
5.3.1. Configure application
- Change default admin password
Log in to registrar admin area by http://app-installation-url/admin/ with Login admin and password admin
Go to Settings->General and change password and login (if needed),
- E-mail settings
If your PHP configuration allows you to send email with default mail() function, leave Under Settings → General → E-mail settings → SMTP connection field empty.
If you are going to use SMTP connection, format of the value should be: user:password@host:port
In most cases, port value should beset to default value of 25.
- Registry options
Settings → General → Registry options → Default NS fileds are default nameserver hosts that will be assigned to newly registered domains. These can not be empty and must be a valid nameservers.
5.3.2. Enable modules
Go to Registry modules → Manage or Payment modules → Manage and enable needed modules by clicking Enable for needed module.
5.3.3 Prepare registry modules
5.3.3.1 Prepare EPPGR module
- Add your server host IP address in .GR registry web interface
Log in to a test or real registry web interface and add IP address of your server. Note that server host IP address and your website IP address may differ. Contact your server administrator to obtain correct IP address.
- Copy a .GR registry client certificate
Take an SSL certificate that was given to you by .GR registry and copy it to to following path: modules/registries/EPPGR/ssl/epp.pem
This is not needed for test mode, as test certificate already exists in the above path.
- Configure connection
EPP host for testing registry server is: https://devepp.ics.forth.gr:700/epp/proxy.
For production registry: https://regepp.ics.forth.gr:700/epp/proxy
Note: Your firewall must be configured to accept connections on TCP ports 700 and 800.
5.3.4. Configure modules
After needed modules are configured, enable each one by clicking Configure.
5.3.5. Configure pricing
Go to Pricing → Manage, and set prices.
5.4. Localization and customization
Interface customization
System interface is fully customizable via Smarty templates and CSS stylesheets.
HTML templates are stored in app/templates folder with .tpl file extension.
CSS stylesheets can be found ins app/www/css (for Order Wizard), app/www/client/css (for Registrant Control Panel), app/www/admin/css (for Registrar Control Panel).
Email message customization
Email message templates are stored in app/templates/email folder with .eml file extension.
Email message subjects are customizable via language files (please see Localization for details).
Localization
System is designed to support multiple languages. All source codes are being developed with the use of Gettext
To translate a system on a new language follow these steps:
- Create a language file
- Copy app\lang\en_US\LC_MESSAGES to app\lang\ll_CC\LC_MESSAGES,
where ll is a two-letter language code, according to ISO 639 standard, CC is two-letter country code, according to ISO 3166 standard
- Translate strings in default.po file,
- Generate a binary default.mo file. We recommend using poedit for this.
- Translate templates
- Copy app\templates\en_US toapp\templates\ll_CC,
where ll is a two-letter language code, according to ISO 639 standard, CC is two-letter country code, according to ISO 3166 standard
- Translate template files.
6 Extending EPP-DRS
6.1. Creating custom modules
Please read API Documentation for more info.