Node.js Now Available!

We’re very pleased to announce that Node.js applications can now be deployed on all of our servers. This functionality is available within cPanel via the “Setup Node.js App” link that can be found under the software section. Upon selecting the “Create Application” button you’ll see the screen below.

When creating an application you have the following options available to you:

  • Node.js Version – We currently offer the latest LTS (12.x) and prior LTS (10.x) versions. More can be added as needed though currently we plan to stick with the LTS releases (even version numbers). The desired version can be changed for any application at any time.
  • Application Mode – Simply select Development or Production based on your needs.
  • Application Root – This defines the file system path for the application, relative to the cPanel account’s home directory. If the cPanel user was “node” then entering “app” in this field would create the application at /home/node/app.
  • Application URL – This configures the URL to be used with the application. If left blank, it will configure the root (sub)domain to load the application.
  • Application Startup File – This defines your application startup file and will default to app.js if left blank.

You can also choose to define a passenger log file and setup custom environment variables if desired. Once you’ve created the application, you can visit the URL you configured for the application and see a basic test page like the one below.

Now that you have created an application, you can continue to manage it via cPanel. This includes restarting it, changing the Node.js version, switching between Development and Production, etc.

We know that many of you have been looking forward to this functionality and we’re eager to hear your feedback. Please let us know what you think here or via a ticket!

Hardware Upgrades Complete!

Our goal is to provide the best performing, most reliable service that we can and a lot of this comes down to the hardware that we use. Newer hardware can easily provide performance benefits but proper deployment of it is crucial as far as reliability and security is concerned. We always try to avoid any service interruption whenever possible and building redundancies into our infrastructure has allowed us to do this more easily.

Over the past five months, we’ve been working diligently to overhaul our entire hosting infrastructure.  The individual server upgrades were a big part of this process and these were all completed by the end of July. Behind the scenes, though, our work has gone far beyond just the server upgrades. We’ve also upgraded every other piece of hardware that has a role in providing our services. All switches, power distribution, and even cabling has received upgrades in some form or another.

  • Switches – All of our public and private network switches have been replaced which provides greater performance and continued security updates. This was done without impacting any services and zero downtime on our public network. Our private network has received an even bigger overhaul with it now being entirely 10G, allowing for even better backup performance.
  • Power Distribution – All of our in-rack PDUs have been replaced with new zero U PDUs. This has saved at least 4U per cabinet and cleaned them up considerably. The new PDUs also have additional control and monitoring features. Because all of our gear has redundant power, we were able to swap these out without any power loss or downtime.
  • Cabling – As a result of the PDU changes, we wanted to re-cable everything to clean it up and allow for even better airflow. New slim Cat6A cables handle 1G connectivity and most 10G connectivity is over DAC.

Many other items were upgraded over these past few months as well. I just wanted to provide a brief look behind the scenes here that you wouldn’t otherwise know about. We’re very focused on providing the best service possible and our continual hardware upgrades play a large role in this.

Our New Client Portal!

Back in March, we refreshed our website and blog, making them responsive and far more mobile friendly. Since then, we’ve be revamping are administrative panel and now finally our client portal. It’s taken longer than we had hoped due to all of the server upgrades taking priority but we’re now very excited to unveil our freshly updated client portal! Below is just a quick comparison of the login pages on iOS.

All of the prior functionality within the portal is still present and organized much the same so it will be very familiar. We’re hoping to add a few more features in the coming months. If you have a moment, we’d love to get your feedback either here on our blog or in a ticket.

Server Upgrades Coming Soon!

As many of you know, we like to freshen up our servers from time to time. While some hosts will leave older hosting accounts on legacy hardware until it is nearly failing, we prefer to keep all clients on the latest iteration of our server hardware. This provides consistency across our fleet of servers and gives our clients the best possible experience. Dealing with old, failing hardware is just as a problematic for us as it is for our clients so we do our best to avoid these situations.

The new servers will have faster hardware across the board from the CPUs to RAM and SSDs. Some software updates will occur as well, starting with the OS as CloudLinux 7 will now be the default for all of our hosting servers. Currently, some of our systems are running CloudLinux 6 with their hybrid kernel. We will also be deploying MariaDB 10.3 on all servers (versus 10.1 currently). I know a few of you have been eagerly awaiting the Recursive CTE and Window Function support. Lastly, we’ll also be adding support for CloudLinux’s Node.js selector once all of the upgrades and migrations have settled down.

We expect to begin these server migrations towards the middle of June, with the first batch of notifications going out here very soon. All migrations will be completed by the end of July. You can expect to receive a ticket notification approximately two weeks before your server’s scheduled migration. There will be no downtime during this process and no changes should be necessary on your end as long as you’re using our DNS. If you have any questions meanwhile, please feel free to submit a ticket and we’ll gladly assist in any way that we can.

Behind the Scenes: Server Status, Monitoring & Website Refresh

Over the past few months we’ve been setting up and fine tuning a new in-house monitoring solution. This new system is now live and allows us to better monitor all aspects of our hosting services. As part of this, we’ve added a live status page to our website at status.dathorn.com. This page queries our monitoring system every minute to display the most accurate information and is a great first resource if you believe there are any issues. Rest assured that we will have already been alerted of any problems reported there.

Also, as you may have noticed by now, we just completed a minor refresh of our website. It now offers a greatly improved experience for mobile and high resolution devices. Over the next few months we plan to extend this to our portal as well so stay tuned!

PHP 7.3 Now Available!

PHP 7.3 was released early this month and is now available on all of our servers! As with prior versions, you can easily change the PHP version per cPanel account via the “Select PHP Version” option in cPanel.

PHP 7.3.0 comes with numerous improvements and new features such as:

The migration guide is available in the PHP Manual. Please consult it for the detailed list of new features and backward incompatible changes. For 3rd party applications, it’s best to confirm that they support PHP 7.3 before making the switch. However, if you run into any issues you can quickly and easily revert back to your prior version.

Python & Ruby Selectors Now Available!

We’re excited to announce that we now support Python and Ruby applications across all of our hosting platforms! These have been popular feature requests and we’re happy to be able to announce their availability. These capabilities are made possible by CloudLinux’s Python & Ruby Selector as well as LiteSpeed’s mod_passenger support. Similar to the PHP Selector, Python and Ruby applications can be deployed directly via cPanel under the Software section as seen below.

If you select “Setup Python App”, you’ll be prompted to select your desired Python version, the app’s directory, and the app’s web address (URI). Currently, Python versions 2.7, 3.3, 3.4, 3.5, 3.6 and 3.7 are available. Continue reading

Forcing HTTPS Connectivity

Once you have an SSL certificate installed, it is good standard practice to make sure that all requests on your website use HTTPS. Our last post concerning mixed content covered one aspect of this. One other important element, which we’ll discuss here, is to force HTTP requests to use HTTPS instead. This way, if someone tries to visit your site via http://domain.com the request will be redirected to https://domain.com.

There are many different ways to accomplish this but if you’re using something like WordPress, for example, you might want to see if the functionality is built-in or if a plugin is available that could make this process easier. In this case, the Really Simple SSL plugin for WordPress is a great option and can even correct mixed content issues automatically.

Another common but easy way to handle this is by adding a simple mod_rewrite rule to your site’s .htaccess file. There are a lot of perfectly valid variations of these rules to get the desired result. A good generic option is:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Continue reading

HTTPS & Mixed Content

With Chrome now labeling sites accessed via regular HTTP as “Not Secure”, SSL/TLS support is becoming even more common. However, simply installing an SSL certificate doesn’t necessarily result in your site showing up as “Secure” (Chrome) or with a green padlock (Firefox). Instead, you might see the following in the Firefox URL bar:

And in Chrome you might see this in the security overview (Menu -> More Tools -> Developer Tools -> Security):

Although not immediately clear from the Firefox URL bar, you can see from Chrome that the issue is with mixed content being loaded. This means that although the page was accessed via HTTPS, regular HTTP content is being loaded within it. For this example, the page in question has the following code in it:

<img src="http://demo.dathorn.com/logo.png">

Continue reading

cPanel 72 – Git Version Control & New In-Browser Terminal

cPanel version 72, which we deployed to all servers about a week ago, has a couple of new features that I wanted to quickly highlight. The first of these adds the ability to setup Git repositories via Files -> Git Version Control in cPanel as seen below.

When creating a repository, you have the option to clone an existing one if desired. Once it has been created you’ll be provided with the SSH URL to access it. SSH (Shell) access will need to be enabled on the cPanel account and you’ll have to use the cPanel username and password to login.

On the topic of SSH access, a new in-browser terminal is also now available from directly within cPanel. This can be found under Advanced -> Terminal. We just activated this feature on our servers today due to a cPanel update now correctly launching these connections within CageFS. While I wouldn’t let it replace a desktop client for regular SSH access, it is certainly convenient to use on occasion since it is quickly accessible without having to do anything other than login to cPanel. SSH (Shell) access does have to be enabled on the cPanel account for the Terminal link to show up.

We hope you’re able to put these new features to good use and look forward to sharing more with you as further updates become available. Please don’t hesitate to submit a support ticket if we can be of any assistance with these features.