cPanel Blog

Enkompass Admin

Enkompass Critical Firewall Ports

Make sure that the following ports are open among all servers in the Active Directory Domain:

135 - Remote Procedure Call (RPC)
139 - Netbios

2097 - Various WCF (WSOI, PreAuth, MOI)
2098 - Various WCF (SAI, StepLogging, SAI Streaming, ServiceMonitor)
9031 - WCF (MSMQ)
9111 - MailEnable connector service WCF connections
9998 - SmarterMail


Make sure the following are open for all web servers:

2084 - Postgres
9021 - WCF (WebLogService)
9099 - WCF (certificate service)


The Enkompass server should also have the following ports open:

2082 - WSOI
2083 - WSOI SSL

2084 - Postgres
2086 - SAI
2087 - SAI SSL
2089 - License
2095 - MOI
2096 - MOI SSL

For the Server Connection test to work, allow ICMP (file and printer sharing) on any remote servers.  In some cases IPv6 could be disabled on the Firewall and causing a Server Connection to fail.  

To enable the Windows Firewall logging to see what might be failing, you can do the following:

From Administrative Tools, open the Windows Firwall with Advanced Security

Right click on Windows Firewall with Advanced Security on Local Computer at the top of the left pane and go to Properties.  Each of the firewall profiles will have a tab: Domain, Private, Public.

Within each tab is an option to customize the Logging and you can enable 'Log dropped packets' to see what is failing.

FirewallLogging.JPG

Once the Logging is enabled, try whatever connection attempts were failing again and then check the log.  The log file can be found under the Monitoring section and a link is provided under the Logging Settings on the right hand pane.

FirewallLogging2.JPG

Once you've identified the protocol you can return to the Inbound Rules section and and scroll down until you find it.  Simply right click to enable it and the block should be resolved.

Configuring Secondary DNS in Enkompass

There are two ways that a secondary DNS server can be added.

In both scenarios you will need to add the new server to the Forwarders list of the primary Domain Controller.

From the primary server, open DNS Manager, right click on the server name and select Properties.  Click on the Forwarders tab and click the Edit button in the middle of the dialogue box.

AddDNS1-6.JPG

Add the IP or host name of the server and click OK.

Fron this point, we have two options:

1)  Create a Member Server

2) Promote another server to a Domain Controller

 

Promoting a server to be a Domain Controller:

Use Server Manager's Add Role Services to install Active Directory on the new server

AddDNS1-1.JPG

Once the wizard has finished with the install you will have to run DCPROMO to start the configuration steps.

AddDNS1-2.JPG

AddDNS1-3.JPGAddDNS1-4.JPG

AddDNS1-5.JPG

Once you have finished the wizard it will need to reboot to complete the process.  If you have other tasks to preform that are not DNS related you can, otherwise check the Reboot upon completion box and let it reboot itself when ready.  Had I done the step shown in the first picture I suspect I would have not gotten this error message (thus changing the order of how I posted them) but wanted to include it as a just in case.

If you do not wish to promote another server to a Domain Controller you can add DNS services to a member server. The first picture in this document will need to be followed to add the member server to the Forwarders list on the Primary DNS server.

AddDNS1.JPG

 

Once the service has been added you will have to complete the following steps:

Update Each Zone on the Master DNS server to allow Zone Transfers and Notification. Repeat steps 1 through 12 on each Zone.

  1. On the Master Server, open the DNS tool.
  2. Expand Forward Lookup Zones.
  3. Right click on the zone in question and select Properties.
  4. Click on the Zone Transfers tab.
  5. Put a check in Allow zone transfers and select the radio button for "Only to servers listed on the Name Servers tab".
  6. Click the Notify button at the bottom.
  7. Put a check in Automatically Notify and select the radio button for "Servers listed on the Name Servers tab".
  8. Click ok.
  9. Click on the Name Servers Tab.
  10. Click Add.
  11. Type in the hostname of the Slave DNS Server and click ok.
  12. Click Ok.

Setup each Zone as a Secondary Zone on the Member Server:

  1. Inside of Administrative Tools, open the DNS tool:
  2. Expand the Server.
  3. Right click on Forward Lookup Zones and click new Zone.
  4. Click Next.
  5. Select the Secondary Zone radio button and click next.
  6. Type in the name of the Zone and click next.
  7. Type n the IP of the Master DNS server and click next.
  8. Click finish.
  9. Right click on the Zone and select Transfer from Master.

Managing WSO features via Roles

Many new Enkompass admins struggle with backups, ASP and PHP features not working correctly for the accounts they are creating.  The core issue is the Role assigned to the account.  At Install, the only role created is Standard WSO.  In a nutshell, Standard WSO is nothing more than a basic framework that allows an account to be created and function with basic HTML:  no Backups, PHP, ASP, Support Requests, SSL or anything else.  The reason for this is to allow Admins and Resellers the ability to offer these features as upgrades and premiums.  If that isn't your business model it may be simplest to just create an 'All WSO' Role and use it as the default Role when creating accounts.

 Here is a breakdown of the features that can be enabled (or left disabled) in a Role:

Preferences
    Branding Editor
    Theme Editor

Mail
    Advanced Mail
    Support Contact Tools

Files
    Backup Daily
    Backup Monthly
    Backup Tools
    Backup Weekly

Security
    SL Tools

Addins
    Configure Pipeline Mode
    Php
    Enable ASP.NET
        Configure ASP.NET Framework
    Enable Classic ASP

There are two ways you can work with Roles. 

1) You can create one as you are creating a user when using Create a New Account.  Go to the section for WSO Role and select Custom(*) from the dropdown menu. A popup box will appear to select WSO features for the Role.  Once you have selected the features you need, name and save the Role. 

RoleEdit1.JPG

 

 

RoleEdit2.JPG

RoleEdit3.JPG

 

2)  You can use the Configure Resources in the Reseller section to add and edit Roles (both for WSO and Resellers)

WSORoleRC.JPG

Plans can be used to quickly assign the following values/limits to an account:

Dedicated IP    
Bandwidth (MB/Month)    
Quota (MB)    
Max FTP Users    
Max Email Users    
Max Email Lists    
Max Databases    
Max Sub Domains    
Max Parked Domains    
Max Addon Domains    
WSOI Language    
WSOI Theme    
WSOI Skin

WSOI Role

However, if a Role is assigned to a Plan and a Plan to an account you cannot change the Role assigned to an account without either editing the Plan or changing the Role assigned to the Plan.

In other words, if you want a handful of plans but great flexibility over the Roles, don't assign Roles with Plans.  To quickly check what a Role gives in a given plan you can check the Manage Plans page.

RoleEdit4.JPG

Hopefully this will demystify Roles and get Backups, PHP and ASP up and running quickly.

Many need the ability to create a Virtual Directory in IIS that will be persistant with the config pushes that Enkompass does.  This will be easy to accomplish when 2.2 releases but in the interim we have worked on a method to do this via the PostgreSQL backend database.  Please make sure you have a backup and use extreme caution when editing the PG database as it is a critical component of Enkompass.

Figure 1 & 2: Launch PG3Admin to log into Postgresql

VirtualApp0.JPGVirtualApp1.JPG


Figure 3 & 4: Drill down through Databases, apphostconfig, Schema, Public, Tables and find the Sites table. Use View Top 100 Rows from the View Data sub menu for each table example in this tutorial.

VirtualApp2.JPGVirtualApp3.JPG



Figure 5: Get the id [PK] integer for the site you wish to create the virtual directory and application for.  I am using my todd.tld domain as an example and therefore need the id[PK] integer 1. You can close this table view when you have the value.

 

VirtualApp4.JPG


Figure 6: Go to the application table and at the bottom on a new line add the name of the subdirectory to the second column (path character varying) and the id from Sites to the third column (site integer).  In my case I needed the subdirectory of /newapp and it was for site 1 so that is what I put in the respective columns.

VirtualApp5.JPG


Figure 7: Once you save a value will be generated for the first column; refresh and get that number for the next step.   The id [PK] integer in this table, 17 is what I will need for the next step.

VirtualApp6.JPG


VirtualApp7.JPG

Figure 8:  Now go to the virtualdirectory table: Again, scroll to the bottom for a new line to be visible and in the second Column 2 (application integer) you will enter the value generated after saving/refreshing from column 1 (id [PK] interger from the previous step) In my case this was 17. In Column 3 (virtualpath character varying) you will add a /, and in Column 4 (physicalpath character varying) you will add the full path to the folder. In my case it is c:\Users\cPanel\todd\public_html\newapp.

VirtualApp8.JPG

VirtualApp9.JPG


Figure 9:  Once you save, you can trigger a configuration push or wait for the scheduled configuration re-publish. If the application is already setup in c:\Users\cPanel\todd\public_html\newapp then it should start working immediately.

VirtualApp10.JPG

 

Enkompass DNS Configuration

Enkompass uses Microsoft's Active Directory DNS to manage DNS.

As a result, the AD server will be listed as a nameserver in each zone.  The name of the server is key to making the NS record look clean. The name of the server and the AD Domain will be used for the NS record.  When the server is setup the machine name is often something like WIN-34DC234DFG.  If you then create someAD.local your Name Server (NS) records will all have the following added to each zone:  WIN-34DC234DFG.someAD.local

Because everything is tied together you cannot make your AD Domain be the same as a domain you wish to host.  If your Enkompass solution is part of a larger hosting network this may not be a big deal.  But if you need to host yourcompany.tld within Enkompass your AD name will need to be different.

Consider the following: Computer name: NS1, Domain Name win.yourcompany.tld and you end up with NS record that is ns1.win.yourcompany.tld  If you don't need to host yourcompany.tld you can have ns1.yourcompany.tld for the NS records.  Additional entries can be made and additional IPs can be bound to listen for DNS requests. IPs can either be bound via SAI or directly to the adapter. If bound in SAI you can also use those IPs for other features or you can keep them reserved.

Within SAI, Tweak Settings allows you to manage a number of features, one of them being Default Nameservers. The name servers added here will be added to any new domain created. If accounts already exist these new NS entries won't be added but could be added manually.  The AD Server will always be added even if other servers aren't listed here because that's what AD does.

In DNS Manager, you can specify which IPs DNS will listen on. You can also tell it to listen to all IPs that are bound to the adapter.

DNSManager.JPG

Enabling Verbose logging in Enkompass

Howdy,

This week I’d like to show you how to enable the verbose log in any of the Enkompass services.  You may not want logging like this on all the time because it causes a great deal of data to be written when the server is active.  But if you see an error you can diagnose exactly what the server is doing.

For our example we will be using the WCF Service which is the work horse for Enkompass.  First let’s do something simple like create an account with the normal logging.

 

Nothing gets logged because everything went well.  Because the logging level is set to Error.  Let’s get the full story by editing the config file.  It’s located by default in:

C:\Program Files\cPanel\Enkompass\Services\WcfService\cPanel WCF Service.exe.config

and I recommend opening it up with notepad.  Use “Replace” (CTRL + h) to replace “Error” with “Verbose” in all three places.  Save the file and restart the WCF service in services.msc.  Go ahead and restart the Enkompass Web Server Service too.

Now let’s go back and make a simple account.  If you are following the log file using mtail you will notice it spring to life showing the service starting and then started.

Our simple create account looks like this with verbose logging on.

cPanel.Core Verbose: 0 : 2011-04-06 17:33:44Z [VERBOSE ] - WSOI - WSOI - (TID:0x10) - GetDnsServerIpAddress

cPanel.Core Verbose: 0 : 2011-04-06 17:33:44Z [VERBOSE ] - DNS Provider - cPanel.Dns.Providers.MicrosoftDnsDataProvider - (TID:0x10) - Does zone echo.tld exist on 208.74.120.81

cPanel.Core Verbose: 0 : 2011-04-06 17:33:44Z [VERBOSE ] - Account Provider - cPanel.Core.Providers.ActiveDirectoryAccountDataProvider - (TID:0x10) - Creating new account echo

cPanel.Core Verbose: 0 : 2011-04-06 17:33:45Z [VERBOSE ] - Account Provider - cPanel.Core.Providers.ActiveDirectoryAccountDataProvider - (TID:0x10) - Creating home directory E:\WebSiteShare\Users\cPanel\echo

cPanel.Core Verbose: 0 : 2011-04-06 17:33:45Z [VERBOSE ] - Web Site Provider - cPanel.Http.Providers.Iis7WebSiteDataProvider - (TID:0x10) - Creating web site echo.tld, ftp site echo.tld, and ftp user echo

cPanel.Core Verbose: 0 : 2011-04-06 17:33:45Z [VERBOSE ] - DNS Provider - cPanel.Dns.Providers.MicrosoftDnsDataProvider - (TID:0x10) - Creating zone echo.tld on 208.74.120.81

cPanel.Core Verbose: 0 : 2011-04-06 17:33:46Z [VERBOSE ] - DNS Provider - cPanel.Dns.Providers.MicrosoftDnsDataProvider - (TID:0x10) - Creating A resource with zone name echo.tld on 208.74.120.81

cPanel.Core Verbose: 0 : 2011-04-06 17:33:46Z [VERBOSE ] - DNS Provider - cPanel.Dns.Providers.MicrosoftDnsDataProvider - (TID:0x10) - Creating CName resource with zone name echo.tld on 208.74.120.81

cPanel.Core Verbose: 0 : 2011-04-06 17:33:46Z [VERBOSE ] - DNS Provider - cPanel.Dns.Providers.MicrosoftDnsDataProvider - (TID:0x10) - Creating CName resource with zone name echo.tld on 208.74.120.81

cPanel.Core Verbose: 0 : 2011-04-06 17:33:46Z [VERBOSE ] - ServerAdministratorService - cPanel.Services.ServerAdministratorService - (TID:0x10) - Account 'echo' created without an assigned MailServer. Mail accounts have not been created.

cPanel.Core Verbose: 0 : 2011-04-06 17:33:46Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - ContactManagerGateway .ctor

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertsEx

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetContactManagerRegistryKey

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetCPanelRegistryKey

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - ConvertToAlertsEx

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertEx

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertTypeFromString

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertEx

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertTypeFromString

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertEx

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertTypeFromString

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertEx

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertTypeFromString

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertEx

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertTypeFromString

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertEx

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertTypeFromString

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertEx

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertTypeFromString

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertEx

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertTypeFromString

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertEx

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAlertTypeFromString

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetCommunicationInfo

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetCommunicationSettings

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetCPanelRegistryKey

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetTwitterUser

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetTwitterSettings

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetCPanelRegistryKey

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetTwitterSettings

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Twitter Manager - (TID:0x10) - UpdateConsumerKeys

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetEmailData

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetCPanelRegistryKey

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Email Manager - (TID:0x10) - .cctor

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Email Manager - (TID:0x10) - UpdateEmailSettings

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetCPanelRegistryKey

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - SendAlert

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - DetermineActiveAlerts

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetEmailForAllResellerUpTree

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetUserSidFromName

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - FindUserDirectoryEntryBySid

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Contact Manager Gateway - (TID:0x10) - GetAccountDataForDirectoryEntry

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Message Helper - (TID:0x10) - .ctor

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Message Helper - (TID:0x10) - GetMessage

cPanel.Core Information: 0 : 2011-04-06 17:33:47Z [INFO ] - Enkompass Contact Manager - Message Helper - (TID:0x10) - Templated message file E:\WebSiteShare\Users\cPanel\Admin\AlertMessages\TemplatedMessages\AccCreation.xml not setup for the reseller

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Message Helper - (TID:0x10) - FillMessageFromDocument

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Message Helper - (TID:0x10) - NormalizeMessage

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Message Helper - (TID:0x10) - .ctor

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Message Helper - (TID:0x10) - NormalizeMessage

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Message Helper - (TID:0x10) - NormalizeMessage

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Email Manager - (TID:0x10) - SendMail

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Enkompass Contact Manager - Email Manager - (TID:0x10) - SendMailMessage

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - ServerAdministratorService - cPanel.Services.ServerAdministratorService - (TID:0x10) - GetAccountDataByName

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - Account Provider - cPanel.Core.Providers.ActiveDirectoryAccountDataProvider - (TID:0x10) - Getting account data for echo

cPanel.Core Verbose: 0 : 2011-04-06 17:33:47Z [VERBOSE ] - ServerAdministratorService - cPanel.Services.ServerAdministratorService - (TID:0x10) - DoesAccountHaveDedicatedIP

cPanel.Core Verbose: 0 : 2011-04-06 17:33:48Z [VERBOSE ] - Enkompass Contact Manager - Email Manager - (TID:0x4) - MailSendCompleted

cPanel.Core Verbose: 0 : 2011-04-06 17:33:48Z [VERBOSE ] - Enkompass Contact Manager - Email Manager - (TID:0x4) - Send email successfully

When installing MySQL 5.5.x don't click the check box for Enable Remote Root during the Instance Configuration Wizard. Complete the setup and then allow Remote Root via command line. This is true at least for 5.5.9. I have not tested with earlier or later versions but skipping it during setup to fix it this way is faster than dealing with the configuration error and allof the uninstall work should it exist in the version you are trying that is greater than 5.5.9...

Remote Root login is required for Enkompass to correctly communicate with MySQL, even in stand alone Enkompass implementations.

Once this is done you will need to reboot or restart the MySQL service from the Services snap in.

 

EnableRemoteRoot2.JPG

MSSQL Application fails to run

A common problem we see once MSSQL has been setup is people with difficulties running apps and scripts.  When creating a user and database, permissions also have to be assigned. Usually this is accomplished by simply clicking All Permissions. The problem stems from Deny DataReader and Deny DataWriter are valid MSSQL Permissions. It's not logical, but it is technically true. It's easy to overlook.  It's baffling why even simple things won't work after such a smooth setup. I've made the mistake.  It happens. Fortunately, it's also easy to fix.

To resolve the issue, simply log into WSO and click the MSSQL Manager icon. Select the user and database and uncheck the boxes for Deny DataReader and Deny DataWriter. Save the changes and try the script/app again.

MSSQL_Permissions.JPG

Updating PHP in Enkompass

Your day starts off like this.

Exploit Found :(

You load your trusty info.php and it shows you this.

Old version of PHP double sad :( :(

You need to act to get updated ASAP.  Let me show you how to do this within Enkompass.

 

Hop over to http://windows.php.net/download and grab the latest copy of php compiled for Windows.  

PHP Downloads

 Grab the Zip version and check the sha1 sum of the file.  If you have not installed the File Checksum Integrity Verifier aka FCIV please grab a copy from here http://support.microsoft.com/kb/841290 and run the binary with these options:

 

C:\Users\cpadmin\Downloads>fciv.exe -sha1 php-5.3.6-nts-Win32-VC9-x86.zip

 

your file and paths could be different but you should see a checksum result.  Compare it to the result on the download page and make sure they are the same.

SHA1 :D

Now that you have a verified copy of php unzip it and move the binaries to the PHP folder in your IIS share.  Mine from my last blog is E:\IISFiles\PHP it should look like this.

PHP bins all in a row

 

 The last thing we need to do is copy over the php.ini from the last version.  You can configure your php.ini from scratch see http://docs.cpanel.net/twiki/bin/view/AllDocumentation/EnkInstallingPhp but I don’t need to make any changes so I can just copy the file over.

 

E:\IISFiles\PHP>copy php-5.3.4\php.ini php-5.3.6-Win32-nts-VC9-x86\

        1 file(s) copied.

E:\IISFiles\PHP>

 

Now with all the legwork done you can switch over the PHP version in SAI under PHP Configuration.

SAI because Raph was the best ninja turtle  

 

Allow time for the IIS configuration to republish and your application pools to reset and you should have a happy php.info.

Everybody Super Happy :D :D

 

 Enjoy!

 

Many wonder why when connecting to an Enkompass environment they now have to change the format of the username from the common format of  username or username@domain to domain|username.

Note in the example below that the format is domain.tld|username per the new formatting in IIS7

Status:    Connecting to 10.1.104.142:21...
Status:    Connection established, waiting for welcome message...
Response:    220 Microsoft FTP Service
Command:    USER move.tld|move
Response:    331 Password required for move.tld|move.
Command:    PASS *********
Response:    230 User logged in.
Command:    SYST
Response:    215 Windows_NT
Command:    FEAT
Response:    211-Extended features supported:
Response:     LANG EN*
Response:     UTF8
Response:     AUTH TLS;TLS-C;SSL;TLS-P;
Response:     PBSZ
Response:     PROT C;P;
Response:     CCC
Response:     HOST
Response:     SIZE
Response:     MDTM
Response:     REST STREAM
Response:    211 END
Command:    OPTS UTF8 ON
Response:    200 OPTS UTF8 command successful - UTF8 encoding now ON.
Status:    Connected
Status:    Retrieving directory listing...
Command:    PWD
Response:    257 "/" is current directory.
Command:    TYPE I
Response:    200 Type set to I.
Command:    PASV
Response:    227 Entering Passive Mode (10,1,104,142,197,219).
Command:    LIST
Response:    150 Opening BINARY mode data connection.
Response:    226 Transfer complete.
Status:    Calculating timezone offset of server...
Command:    MDTM WSOI_Profile.xml
Response:    213 20110228203021
Status:    Timezone offsets: Server: -21600 seconds. Local: -21600 seconds. Difference: 0 seconds.
Status:    Directory listing successful

This isn't something that Enkompass developers did but rather is related to a feature of the IIS 7 FTP that Enkompass (and hosting in general) uses.

From IIS.net

Microsoft has created a new FTP service that has been completely rewritten for Windows Server® 2008. This new FTP service incorporates many new features that enable web authors to publish content better than before, and offers web administrators more security and deployment options.

One of the features of the new FTP service is the ability to configure virtual host names, which enables web hosters to configure multiple FTP sites on a single IP address.

Windows Server 2008 has been a great platform to build Enkompass on.  I know it can be a challenge to train users to adjust habits after so many years of doing something a different way.

 

Using DFS with Enkompass Pt4 of 4

 Installing Enkompass with DFS

 

Grab the Enkompass installer from http://layer1.cpanel.net and get started.  You may have some prerequisites and what not to get installed, but for more about that you can check out the Enkompass installation documentation.  These are the steps I took to make my replicated DFS namespace to work with Enkompass.

 

Welcome!

Click Next and move on :)

 Uncheck the box to enable quotas as the DFS namespaces do not report quota information.

Disable Quotas

Use the local path E:\WebSiteShare for the share. It will be replicated to each of the other machines so long as the relative volume is E:\WebSiteShare on each of the IIS servers in the domain.  Every IIS server that uses this DFS share must have the same drive letter and folder, so you may need to alter the partitioning scheme to make this work.

 

Web Site Share Path

I setup another DFS Share for my IIS files but to make the reads local I told the Enkompass installer to use \\localhost as the path.  I set this share up like the other.

IIS Share Path

Run through the rest of the installer and login to SAI.

Finish

Roll through the setup wizard and install each of your IIS servers.  The servers will need to complete the push install process to become active but your replicating namespace is now configured to work within Enkompass.

ServerManager

Using DFS with Enkompass Pt3 of 4

3) Setting up Replication

At this point you have a group of servers all ready to use a namespace, but what you really want them to do is replicate on that namespace.  In the DFS Management tool select replication from the left and choose New Replication Group from the right.

 

Replication                                                         New Replication Group

This will get us into the New Replication Group Wizard.  We want a Multipurpose replication group.

New Replication Group Wizard

Give the replication group a name, I chose WebSiteShare for my example.

 

New Replication Group Wizard

Make sure your Active Directory Domain name is listed and choose next. 
Add each of your servers to the replication group; this will work in the same way you added the machines to the namespace.  You could do both here, but I wanted to show that these were different steps.

 

Replication Group Members

Now for the very important step of selecting the type of replication group:

 

Make sure to select “Full Mesh” when setting up DFS for Enkompass.  If you allow FTP access from each IIS server users could upload to any server in your namespace.  This means you could ftp to server 3 and you want the data to make it around to all of the servers in the name space.

 

 

Topology Selection

Since this is the first time the name space is synchronized I have to select a primary member.  Now all of my servers are blank so it does not matter.

 

Primary Memember

On the primary server we need to select the folders to replicate.  I chose the same options we selected when setting up the name space.

 

 

Folders to Replicate

Ensure the folders are set to the right path and membership is enabled for each member server before hitting next.

Local Path of Share on Other Members

I had to do edit each server to enable and set the path.  Remember the path is relative to the local server.

Edit

Once I edited both of them, they looked happy like this.  I could click next and look at the review screen.

Local Path of Share on Other Members

If everything goes well you should see lots of happy green check boxes.

Happy Green Checkboxes

But you will get this warning about replication delay.  Mine took about five minutes before it was ready.  I had a few test files in there that were small to verify it was working before I proceeded.

Replication Delay

http://www.cpanel.net/blog/cpanel/2011/03/using-dfs-with-enkompass-pt4-of-4.html

Using DFS with Enkompass Pt2 of 4

2)  Joining other servers to the DFS Namespace

 

So with that you have a DFS namespace of one.  Now that you have the basic framework, let us add a few more members to the namespace to make it useful.  Select the existing namespace we created above and select add namespace server on the right.

A Namespace Wizard          Add Namespace Server

We will enter the Add Namespace Server wizard.

Add A Namespace Server

You can browse or type the name of the server.  I like to edit the options because I have a drive I’d like to do DFS from on this server.

 

 

Edit Settings

You may need to run through this wizard several times to add all of the servers you wish to use for DFS support.

http://www.cpanel.net/blog/cpanel/2011/03/using-dfs-with-enkompass-pt3-of-4.html

Using DFS with Enkompass Pt1 of 4

 Howdy,

Today I'm going to show you a little bit about a new feature in Enkompass 1.6.0 that will allow you to use Enkompass with a Windows distributed file system.  Before I get started here’s how my virtual machines are setup: First, I installed three virtual machines with two virtual hard drives aka VHD’s each.  I promoted one of these machines to a domain controller and joined the rest of the machines to the domain.  I installed the DFS service using this youtube video http://www.youtube.com/watch?v=HWrU6yXOCJg and we’re ready to begin.

Even cheating, by using this video, to kickstart our install; I could have written a conference discussion or a chapter of a book.  So I’ve split it up into four bite sized blog posts with pretty pictures.

 

1)  Creating the DFS Namespace

 

First off open the DFS Management tool in the picture below.

DFS Pt1 - Capture1.PNG 


Click on Namespaces on the left.  Then navigate to New Namespace on the right.

 Namespaces          Actions

Selecting New Namespace starts a wizard, like most thingsin Microsoft.  You need to pick a server to start hosting your namespace.  I picked the domain controller and the first virtual machine in my bunch.

Namespaces

 Now I have to give my namespace a name.  I plan to use this namespace name for use as my primary share, so I named it accordingly.

Namespaces

Click on Edit Settings so we can customize things a bit.  I made sure to place the local path on the E: drive that I set aside just for DFS.  I also gave Administrators full access so the Enkompass WCF service can alter files by default.  This will make sure we can use this share later in the Enkompass install.

Edit Settings

Click OK and Next and you’ll be on the final page you can make changes. Make sure you have selected a Domain-based namespace and be sure to enable 2008 mode to take advantage of the advanced features.  Follow the wizard to completion and you have created your name space.

Namespace Type

http://www.cpanel.net/blog/cpanel/2011/03/using-dfs-with-enkompass-pt2-of-4.html

Tips when applying at cPanel

 I look at a lot of applicants here at cPanel and have some tips for would be job seekers.  Many of these tips are generic and could help you get a job anywhere, but all of them will help you get a job here.

  • Choose your resume format carefully.  You worked hard to make your resume look the way you want it to; the format you send it in will ensure it looks that way when it is reviewed by a hiring manager.  Submitting a .docx to a mac shop could be a problem.  Sending in a .odt is troublesome because the formatting seems to get lost between different versions of OpenOffice.  I recommend using a .pdf so your resume will be intact when reviewed.
  • Name your resume file something other than resume.pdf.  Make your resume stand out and make sure it’s not overwritten by another candidate.
  • Spell check everything!  Recently I have received a few resumes where someone has trained the spell check misspelled words and they use them repeatedly :(
  • Write a cover letter for each job you apply for.  If you want the job, make the time to write the cover letter.  Avoid using your rubber stamp cover letter from that one time you applied at NASA, re-read it and make sure it applies to the job you want.
  • Don’t be coy when the salary question comes up.  Remember you’re not applying to be a rocket scientist or a brain surgeon. 
  • Remove ancient operating systems from your list of skills.  Few people care if you are skilled with RedHat6 or WindowsNT.
  • Include the most recent versions you have worked with.  If you have installed RHEL6 or office 2011 put that out there.  It shows you are out on the edge keeping up with things.
  • Resumes are two pages at most.  If you have a third page it had better impressive.  If you saved your nobel prize in applied mathematics for the third page we’re ok with that.
  • Never have a fourth page.  If you have not convinced a hiring manager to want you in three pages you’re not going to on a fourth page.
  • Don’t lie.  This one should be simple but avoid putting skills down that you don’t have.  Typically when a lie is uncovered in an interview you will be removed from consideration.