pinga/tembo

A simple PHP EPP client

Fund package maintenance!
Ko Fi

v1.0.4 2024-12-11 11:25 UTC

README

StandWithUkraine

SWUbanner

Namingo EPP is an open-source PHP EPP client that enables seamless connection to EPP servers for domain registration and management. It supports multiple EPP extensions, integrates easily with any PHP framework, and is fully customizable for various domain registries.

The client also provides EPP modules for WHMCS and FOSSBilling, supporting all essential features for efficient domain management.

Installation

To begin, follow these steps for setting up the EPP Client. This installation process is optimized for a VPS running Ubuntu 22.04/24.04 or Debian 12.

1. Install PHP

Make sure PHP is installed on your server. Use the appropriate commands for your operating system.

apt install -y curl software-properties-common ufw
add-apt-repository ppa:ondrej/php
apt update
apt install -y bzip2 composer git net-tools php8.3 php8.3-bz2 php8.3-cli php8.3-common php8.3-curl php8.3-fpm php8.3-gd php8.3-gmp php8.3-imagick php8.3-intl php8.3-mbstring php8.3-opcache php8.3-readline php8.3-soap php8.3-xml unzip wget whois

2. Install Tembo Package

Navigate to your project directory and run the following command:

composer require pinga/tembo

3. Configure Access to the Registry

Edit the examples/Connection.php file to configure your registry access credentials. If the registry requires SSL certificates and you don't have them, refer to the troubleshooting section for steps to generate cert.pem and key.pem.

Using the EPP Client

  • You can use the commands provided in the examples directory to interact with the EPP server.

  • Alternatively, include the Connection.php file in your project and build your custom application using the EppClient class and its functions.

Supported EPP Commands

Supported Connection Types

Registry Support (36 backends and counting)

Integration with billing systems

Would you like to see any registry added as a WHMCS/FOSSBilling module? Or an EPP module for any other billing system? Simply create an issue in this project and let us know.

WHMCS

FOSSBilling

Troubleshooting

EPP Server Access

If you're unsure whether your system can access the EPP server, you can test the connection using OpenSSL. Try one or both of the following commands:

  1. Basic Connectivity Test:
openssl s_client -showcerts -connect epp.example.com:700
  1. Test with Client Certificates:
openssl s_client -connect epp.example.com:700 -CAfile cacert.pem -cert cert.pem -key key.pem

Replace epp.example.com with your EPP server's hostname and adjust the paths to your certificate files (cacert.pem, cert.pem, and key.pem) as needed. These tests can help identify issues with SSL/TLS configurations or network connectivity.

Generating an SSL Certificate and Key

If you do not have an SSL certificate and private key for secure communication with the registry, you can generate one using OpenSSL.

openssl genrsa -out key.pem 2048
openssl req -new -x509 -key key.pem -out cert.pem -days 365

Note: For production environments, it's recommended to use a certificate signed by a trusted Certificate Authority (CA) instead of a self-signed certificate.

EPP-over-HTTPS Issues

If you experience login or other issues with EPP-over-HTTPS registries such as .eu, .fi, .hr, .it, or .lv, it might be caused by a corrupted or outdated cookie file. Follow these steps to fix it:

rm -f /tmp/eppcookie.txt

After deleting the cookie file, try logging in again. This will force the creation of a new cookie file and may resolve the issue.

Need More Help?

If the steps above don’t resolve your issue, refer to the EPP Client logs (/path/to/tembo/log) to identify the specific problem.