Wiki

Clone wiki

whmcs-grepp / Installation

grEPP 2 - Εγκατάσταση

Το WHMCS έχει φτάσει σε αρκετά καλό επίπεδο ωριμότητας (Ιούλιος 2018), οπότε παίρνουμε σαν δεδομένο πως έχετε ένα περιβάλλον με:

  • PHP >= 5.6
  • WHMCS >= 7.5.1
  • ioncube loaders >= 10.2.2
  • Ενημερωμένη libcurl με υποστήριξη TLS >= 1.2

Upload & unzip

  • Φτιάχνετε έναν φάκελο whmcs/modules/registrars/grepp και βάζετε εκεί τα περιεχόμενα του φακέλου module.
  • Μετακινείτε το φάκελλο grepp/resources/lang στον φάκελλο whmcs/lang.
  • Στον φάκελλο whmcs/modules/servers βάζετε τα περιεχόμενα του καταλόγου servers, αν σκοπεύετε να χρησιμοποιήσετε αυτές τις λειτουργίες.

Προσοχή: Αποφύγετε να κάνετε τροποποιήσεις μέσα στον φάκελο whmcs/modules/registrars/grepp/vendor. Υπάρχει πρόβλεψη τα αρχεία που τυχόν χρειάζονται τροποποιήσεις, να τα έχετε στον root φάκελο του module.

Έλεγχος συμβατότητας

Μέσα στον κατάλογο grepp θα βρείτε τον κατάλογο grepptest. Εκεί υπάρχει ένα βοηθητικό script το οποίο κάνει κάποιους ελέγχους συμβατότητας και επικοινωνίας, και είναι το πρώτο πράγμα που θα πρέπει να κάνετε για να είστε σίγουροι πως αν παρουσιαστεί κάποιο πρόβλημα θα είναι κάποια ρύθμιση του module ή του WHMCS, και όχι του server σας.

Το grepptest το καλείτε ως http://www.yoursite.gr/whmcs/modules/registrars/grepp/grepptest και κάνει τους παρακάτω ελέγχους:

  1. Εμφάνιση των ΙΡ που χρησιμοποιείτε οι οποίες πρέπει να είναι δηλωμένες στο ΙΤΕ και στην άδεια του module
  2. Έλεγχος αν οι πόρτες 700 (ΕΡΡ) και 800 (WHOIS) είναι ανοιχτές για εξερχόμενες συνδέσεις
  3. Έλεγχο αν υπάρχει επικοινωνία με τον ΕΡΡ Proxy του ΙΤΕ
  4. Έλεγχο αν υπάρχει επικοινωνία με τον WHOIS Server του ΙΤΕ

Αν κάποιος έλεγχος αποτύχει, το module δεν πρόκειται να δουλέψει αν δεν φτιάξετε το πρόβλημα και δεν υπάρχει νόημα να συνεχίσετε την εγκατάσταση. Το grepptest επιστρέφει αναλυτικά σχόλια για το τι πρέπει να κάνετε αν εμφανιστεί κάποιο πρόβλημα.

Παραμετροποίηση

Μετάβαση από παλαιότερες εκδόσεις

Αν χρησιμοποιείτε μέχρι τώρα την έκδοση από 1.57 και παλαιότερη, λάβετε υπόψη σας τα παρακάτω:

  • Τα περιεχόμενα του φακέλλου modules/registrars/grepp πρέπει να διαγραφούν. Το μόνο που ίσως χρειάζεται να σημειώσετε είναι οι IPs που έχετε ορίσει στο grwhois.php.
  • Θα πρέπει να σβήσετε το grepp_widgets.php από τον φάκελλο modules/widgets.
  • Θα πρέπει να σβήσετε τις μεταβολές που τυχόν έχετε κάνει στο template orderforms/xxxx/configuredomains.tpl σύμφωνα με τις οδηγίες των παλαιοτέρων εκδόσεων.
  • Θα πρέπει να σβήσετε τις αλλαγές που τυχόν έχετε κάνει στο resources/domains/additionaldomainfields.php σχετικά με το grdomaindescription και grcomaincontactlegalname σύμφωνα με τις οδηγίες των παλαιοτέρων εκδόσεων.
  • Θα πρέπει να ξαναελέγξετε το template clieantareadomaincontactinfo πως συμβαδίζει με τις οδηγίες που δίνονται παρακάτω.

greppcore.ini

Προκειμένου να αποφύγω ένα τεράστιο τμήμα για τις ρυθμίσεις του module μέσα στο WHMCS και να μείνει αυτό το κομμάτι όσο πιο minimal γίνεται, χρησιμοποίησα τη μέθοδο του ini αρχείου για τις βασικές παραμέτρους λειτουργίας οι οποίες δεν χρειάζεται να αλλάζουν συνήθως ποτέ.

Το greppcore.ini, όπως είναι προφανές και από το όνομά του, είναι ένα αρχείο που περιέχει τις βασικές ρυθμίσεις επικοινωνίας με το ΙΤΕ, καθώς και του logging. Το αρχείο βρίσκεται στον root κατάλογο του module, αλλά μπορείτε να το βάλετε όπου θέλετε αφού ορίσετε το path στις ρυθμίσεις του module, κατά προτίμηση έξω από το directory tree του site.

Όπου χρησιμοποιούνται κατάλογοι ή ονόματα αρχείων, το path είναι πάντα relative με το path που έχει οριστεί στις ρυθμίσεις του module μέσα στο WHMCS.

Είναι επίσης πολύ σημαντικό να μην αλλάξετε τα ονόματα των sections (url, certificates, language, κλ) και των μεταβλητών (reg, uat, κλπ).

Μεταβλητή Τιμές Σχόλια
urls.reg url Το url του EPP Proxy στο περιβάλλον παραγωγής του ΙΤΕ
urls.uat url Το url του EPP Proxy στο περιβάλλον δοκιμών του ΙΤΕ
certificates.reg file Το πιστοποιητικό του περιβάλλοντος παραγωγής. Αν δεν οριστεί τιμή ή το αρχείο είναι μη προσπελάσιμο, θα χρησιμοποιηθεί το default από τον κατάλογο vendor/liagkos/greppcore/src/certificates.
certificates.uat file Το πιστοποιητικό του περιβάλλοντος δοκιμών. Αν δεν οριστεί τιμή ή το αρχείο είναι μη προσπελάσιμο, θα χρησιμοποιηθεί το default από τον κατάλογο vendor/liagkos/greppcore/src/certificates.
language.default en/el Η γλώσσα στην οποία θα στέλνει μηνύματα στον χρήστη το ΙΤΕ, en=αγγλικά και el=ελληνικά.
templates.files dir Εναλλακτική τοποθεσία των xml templates για τα requests. Αν υπάρχει σε αυτόν τον κατάλογο template με ίδιο όνομα κάποιου υπάρχοντος στο vendor/liagkos/greppcore/src/xml, θα αγνοήσει το δεύτερο. Αν δεν οριστεί τιμή ή ο φάκελλος είναι μη προσπελάσιμος, θα χρησιμοποιηθεί το default path vendor/liagkos/greppcore/src/xml.
templates.compiled dir Τοποθεσία των compiled xml templates (smarty). Αν δεν οριστεί τιμή ή ο φάκελλος είναι μη προσπελάσιμος, θα χρησιμοποιηθεί το default path vendor/liagkos/greppcore/src/xml/compiled.
log.file file Τοποθεσία και όνομα του text log file, ή off αν δεν θέλετε log file. Αν ο κατάλογος είναι μη προσπελάσιμος, θα χρησιμοποιηθεί το default greppcore.log μέσα στον φάκελλο που βρίσκεται το greppcore.ini. Αν δεν υπάρχει τιμή, ΔΕΝ θα χρησιμοποιηθεί log file.
log.level DEBUG Raw XML Request/Replies, JESSION, Login/Logout, Compact Requests/Replies, όλα τα σφάλματα (επικοινωνίας, epp, smarty, αρχεία)
log.level INFO Login/Logout, Compact Requests/Replies, όλα τα σφάλματα (επικοινωνίας, epp, smarty, αρχεία)
log.level NOTICE Compact Requests/Replies, όλα τα σφάλματα (επικοινωνίας, epp, smarty, αρχεία)
log.level ERROR Μόνο τα σφάλματα (επικοινωνίας, epp, smarty, αρχεία)
log.clientip on/off Αν σε κάθε γραμμή του log θα αναφέρεται και χωριστά η IP του χρήστη
log.show_credentials on/off Αν θα εμφανίζονται στο log τα Registrar ID, Username, Password, Γλώσσα της εντολής Login
log.browser on/off Αν θα χρησιμοποιείτε το console του browser για log. Να μην είναι ενεργό σε περιβάλλον παραγωγής.
log.browser_ip IPs Χωρίς έλεγχο ΙΡ, "IP1,IP2,..." Οι IPs που θα βλέπουν το log στον browser. Προσοχή στα double quotes και στο κόμμα.
log.clientip on/off Αν σε κάθε εγγραφή του log θα εμφανίζεται και η IP του χρήστη
log.show_credentials on/off Αν στο επίπεδο DEBUG που γράφεται το login request, θα εμφανίζεται όνομα, κωδικός της σύνδεσης στο ITE καθώς και Registrar ID με τη γλώσσα

Προσοχή: Σε περίπτωση που έχετε λευκή οθόνη, ή άλλα σφάλματα, δείτε το activity log στο Utilities/Logs/Activity Log του WHMCS ή/και ανοίχτε προσωρινά την εμφάνιση σφαλμάτων από το General Settings/Other.

WHMCS Config

Πηγαίνετε Setup/Product Services/Domain Registrars, βρίσκετε το module, κάνετε Activate και στη συνέχεια Configure.

Παράμετρος Σχόλια
License Ο αριθμός αδείας του module που έχετε πάρει από τη ValueHost
Username Το όνομα χρήστη με το οποίο συνδέεστε στο ΙΤΕ
Password Ο κωδικός με τον οποίο συνδέεστε στο ΙΤΕ (REG)
PasswordUAT Ο κωδικός με τον οποίο συνδέεστε στο ΙΤΕ (UAT) - Κενό αν είναι ίδιος με το REG
RegID Το 3ψήφιο ή 4ψήφιο μοναδικό ID που σας έχουν δώσει από το ΙΤΕ
ForceSync Ανεξάρτητα της τιμής του DomainSync Enable ή του DomainSync Notify Only, το module θα χρησιμοποιεί τις ημέρες του SyncNextDueDate για τον συγχρονισμό των καταχωρήσεων/ανανεώσεων/μεταφορών (έκδοση 2.0.3)
Geo Αν θα επιτρέπονται καταχωρήσεις domain που αποτελούν γεωγραφικό προσδιορισμό με προειδοποίηση πριν το checkout ή θα απαγορεύονται τελείως. Αυτή η λειτουργία βασίζεται σε ένα hook του WHMCS το οποίο έχει προβληματική συμπεριφορά και είναι το bug CORE-11987, οπότε μόνο η προειδοποίηση δουλεύει προς το παρόν
Environment Επιλογή σε ποιό περιβάλλον θα τρέχει το module, παραγωγής ή δοκιμαστικό
Permission Ποιό δικαίωμα πρέπει να έχει ένας διαχειριστής, ώστε να μπορεί να βλέπει το widget με τις μονάδες στο dashboard (πχ. Configure Domain Registrars) 1
NoTransferAwayEmails Απενεργοποίηση της αποστολής email στον διαχειριστή, σχετικά με τα αποτελέσματα του ελέγχου για domains που έχουν πάει σε άλλους καταχωρητές 2
WHOIStimeout Ορισμός timeout κατά την εκτέλεση του WHOIS σε δευτερόλεπτα (default = 3 δευτερόλεπτα) 3
INI Η τοποθεσία του greppcore.ini σε absolute path (χωρίς το filename δηλαδή) και κατά προτίμηση σε ανώτερο επίπεδο από τον root web folder
1 Το module θα διαβάσει όλα τα διαθέσιμα δικαιώματα που υπάρχουν, και θα πρέπει να επιλέξετε κάποιο. Αυτό το δικαίωμα πρέπει να το έχει κάποια διαχειριστής μέσω των Administrator Roles και του ρόλου στον οποίο ανήκει.

2 Ο έλεγχος θα γίνει ανεξάρτητα από την επιλογή αυτή. Η επιλογή αυτή αφορά μόνο την αποστολή email.

3 Το ITE εφαρμόζει πολιτική throttling όταν υπάρχουν πολλά whois queries ώστε να σας αποθαρρύνει να κάνετε πολλαπλά WHOIS queries. Αλλάζοντας αυτή την επιλογή και αυξάνοντας το χρόνο αναμαμονής κατά την εκτέλεση του WHOIS, αφήνετε το WHOIS να επιστρέψει αποτέλεσμα, αργά μεν αλλά χωρίς να βγάλει σφάλμα. Η λειτουργία αυτή χρησιμεύει μόνο όταν χρησιμοποιείτε το grwhois.php (δείτε Domains με ελληνικούς χαρακτήρες).

Προσοχή: Στο INI βάζετε το absolute path!

Aν το αρχείο είναι στο /home/site/protected/grepp/greppcore.ini, βάζετε /home/site/protected/grepp και όχι /home/site/protected/grepp/greppcore.ini, ούτε site/protected/grepp.

Αντίστοιχα, αν το αρχείο είναι στο /home/site/public_html/modules/registrars/grepp/greppcore.ini, βάζετε /home/site/public_html/modules/registrars/grepp και όχι /home/site/public_html/modules/registrars/grepp/greppcore.ini, ούτε modules/registrars/grepp, ούτε /public_html/modules/registrars/grepp.

Σε περίπτωση που έχετε λευκή οθόνη, ή άλλα σφάλματα, δείτε το activity log στο Utilities/Logs/Activity Log του WHMCS (https://www.site.gr/whmcs/admin/systemactivitylog.php) ή/και ανοίχτε προσωρινά την εμφάνιση σφαλμάτων από το General Settings/Other (https://www.site.gr/whmcs/admin/setup). Τα links είναι ενδεικτικά σε περίπτωση που δεν μπορείτε να δείτε σωστά το backend.

WHMCS Setup

Πηγαίνετε Setup/Product Services/Domain Pricing και ορίζετε το grepp να διαχειρίζεται τα TLDs που θέλετε καθώς και τις τιμές.

Για ελάχιστο μήκος μεταβλητού ονόματος 2 χαρακτήρες, στο whmcs/configuration.php προσθέτετε τις γραμμές:

<?php
$DomainMinLengthRestrictions[".gr"] = 3;
$DomainMinLengthRestrictions[".com.gr"] = 3;
$DomainMinLengthRestrictions[".net.gr"] = 3;
$DomainMinLengthRestrictions[".gov.gr"] = 3;
$DomainMinLengthRestrictions[".edu.gr"] = 3;
$DomainMinLengthRestrictions[".org.gr"] = 3;
$DomainMinLengthRestrictions[".ελ"] = 3;

Templates

Ακολουθούν οι αλλαγές που θα χρειαστούν στο template six και στο αρχείο clieantareadomaincontactinfo.tpl.

Για να βγαίνει σωστά η μετάφραση του πεδίου Registrant, Admin, Billing, Tech, αλλάξτε τη γραμμή 36 από

<h4>{$contactdetail} {$LANG.supportticketscontact}</h4>
σε

<h4>{$LANG.domaincontactdetails.$contactdetail} {$LANG.supportticketscontact}</h4>
Για να βγαίνει σωστά η μετάφραση κάθε πεδίου στις επαφές, αλλάξτε τη γραμμή 69 από
<label>{$name}</label>
σε

<label>{$LANG.domaincontactdetails.$name}</label>

Για να μην μπορεί να κάνει edit ο πελάτης την επωνυμία και το contact id, στη γραμμή 70 πριν το /> tag που κλείνει η γραμμή προσθέστε το

{if $name=='Full Name' || $name=='Company Name' || $name=='ID'} readonly{/if}

Τα παραπάνω προϋποθέτουν πως έχετε βάλει και τα αντίστοιχα language files στο lang/overrides.

Είναι προφανές πως δεν μπορώ να καλύψω όλες τις πιθανές περιπτώσεις template που μπορεί να χρησιμοποιεί κάποιος, αλλά το συγκεκριμένο είναι ενδεικτικό από τις λίγες αλλαγές που πρέπει να γίνουν.

WHMCS WHOIS

Προαιρετικά, αλλά υποχρεωτικά αν θέλετε να καταχωρείτε ονόματα με ελληνικούς χαρακτήρες (ονομα.gr ή ονομα.ελ), θα πρέπει να πείτε του WHMCS να εκτελεί το WHOIS μέσω του grwhois.php.

Για περισσότερες πληροφορίες και ρυθμίσεις για τα domains με ελληνικούς χαρακτήρες δείτε την ενότητα Domains με ελληνικούς χαρακτήρες

Πλοήγηση

Αρχική | Εγκατάσταση | Συγχρονισμός | Domains με ελληνικούς χαρακτήρες | Διαχείριση Επαφών | Επικουρικά addons | Διαγράμματα Ροής Εργασιών | Changelog

Updated