Takeaways From Migrating cPanel to DirectAdmin Overnight

Richard8

Verified User
Joined
Jul 4, 2019
Messages
73
Location
USA
I've been a cPanel administrator for over 15 years. I remember when it came out in the late 90s and nobody wanted it. cPanel was riddled with bugs, extremely slow, and the last time they shook up the industry is when they dropped FreeBSD support entirely. Over the years, they've stripped features, integrated more of their own code, and all but lock you in to running certain things a certain way. cPanel is becoming the Easy Button for a lot of companies, and old people with money take notice (investors).

cPanel and its next biggest competitor Plesk is owned by the same group. For many small- to medium-sized businesses, DirectAdmin is one of the only big commercial alternatives left. Many aren't prepared to roll their own control panel. I know I'm not, so I decided to make the switch immediately. Here are my takeaways from migrating out of cPanel in 8 hours.

-- Lighter, Faster
DirectAdmin flies. When you install cPanel, you're entering a very committed relationship. DirectAdmin runs on top of things, not inside. It doesn't want to change your core code. If DirectAdmin is having an issue, it's not going to crash your whole operation. I often forget how reliant we are on these cPanel-specific RPMs.

-- Install What You Need
DirectAdmin doesn't come with a lot out of the box. In fact, after the first 10 minutes I was already digging through manuals, searching the web and forums. There is a lot of OLD information for previous versions of DA you'll come across. It was very confusing finding help on one issue, only to see it's 5 years old and completely different, or now integrated natively.

For example, there is a lot of nifty third party plugins that are near-requirements for new DirectAdmin people (Web GUI Custombuild), and you have to sift through years' old forum posts (or Google) to find the latest links, the newest information. I'm pretty sure I ran a few old instructions and broke everything, only to find out they're finally including XYZ feature natively because of 3 years worth of hacks and forum posts... and because of the new influx of angry cPanel users like us. You might be used to being presented with a zillion new options to set up your server, but DirectAdmin is going to make you think about just what you need.

-- Be Prepared To Edit
As mentioned, DirectAdmin is light for a reason. Certain basic things in 2019 are going to require you to read, or know a little bit about the software before you dive in. SpamAssassin spam filtering, for example, has to be enabled. It's not going to hold your hand like WHM for setting up SpamAssassin, DKIM/DMARC, etc. Some of DA's features remind me of Webmin in a sense that because it runs on everything, you have to know a little something about the config files you're working with. I hope some of these scripts get integrated to further "complete" DirectAdmin's ease to use. I don't mind third party scripts, but I feel safer knowing I can bug the DA developers for commercial support, and not have to hop on IRC and interrupt some freelancer god because your tasks rely on his/her easy button and it's broken. To use DirectAdmin, you need to be a direct admin. This is going to thin out a lot of companies that don't have an intermediate knowledge of how their server works.

-- Migrating cpmove Backups
Ah yes, the backups. I know there's a lot of great cPanel migration coming in the latest DirectAdmin release (the reason I'm on Beta/RC). It's looking like a smooth process, but it's still going to require some work right now. We'll need to still worry about basic things like username length differences, path updates if your sites are using certain directories, and if you're using multiple hard drives or partitions, I believe you need to symlink them from /home to whereever they really live (CentOS). I know the first question I had about moving backups, is where do I put my other hard drives to work with DirectAdmin, and it seems like a manual trick right now rather than telling the web interface "Also install on /home2". I just updated to the latest latest DirectAdmin beta and will be trying the new cPanel migration tool changes soon. I know migrating by hand isn't an option for a lot of people, and third party support companies are about to become rich (I see you, Bob!).

-- DirectAdmin Security
This is where you really need to know what you're doing. DirectAdmin installs a very basic setup - there's no default SSL enabled so you'll immediately need to change passwords after you set up your certificate, or LetsEncrypt, etc. I know LetsEncrypt is probably the first extra thing you'll want to get running for your sites' security, and even though it wasn't as easy as cPanel, I did it without much fuss from a forum post and it appears to be working and updating just fine. You can also change the default DirectAdmin port, and I suggest that you include with new websites an alias or redirect for "/cpanel" to ":2222" or whatever port DA runs on for you.

-- Addons
I re-discovered Installatron (like Softlicious) and it works great with DirectAdmin for those one-click scripts. I think it also does auto-updating and the scripts are nearly all of what you probably have on other addons for cPanel. WordPress, Clientexec, all the goodies. They offer a 45-day trial and installation was a breeze. Again, throw some commands into your Terminal window and you're off to the races. For other addons, you can always install them yourself (rootkit hunter, extra antivirus, etc.) if the addon doesn't exist. Remember, DirectAdmin doesn't want to marry your system. Addons make things easy, but you still need to be somewhat of a server administrator. I mean, it's in the name... Direct Admin.

-- Issues From Clients
We immediately noticed a few things once the migration went live and DNS updated. Non-tech users have a lot of trouble with port numbers. Having them type an address and then say "Now add :2222 to the end of it and hit enter" over the phone is just impossible for old people. Plus, it sounds funny when you say it (tu tu tu tu). I've had them type 22, 222, one person used a semicolon (how nice of them!). Having an alias set up for those /cpanel habbits is a must. For /webmail, with Roundcube installed everything worked as expected. The Roundcube login (/webmail) is not mobile friendly, whereas the cPanel WebMail passthrough is.

The DirectAdmin (non-cPanel) interface is very confusing to new users, but the upcoming 'Icons Grid' theme from DirectAdmin and the ability to see all icons (Admin, Reseller, User) is going to change the game. If you saw the DA demo and ran away screaming, you need to come back and check this new theme. It's literally going to change the way you think about DirectAdmin, and whatever is easy for my clients is easy for me. I don't care about my interface, I care about theirs. This theme almost makes DirectAdmin a new product to my users. I'm so happy with this that I didn't have to create one myself and maintain it.

DirectAdmin defaults the IMAP/Mail etc. settings to be mail.your-domain.com but even in the cPanel days I always used the exact domain for the clients who did not have complex mail setup or their own servers. As long as you LetsEncrypt all the subdomains you need (mail, ftp, etc.) and it's a valid SSL certificate, and you have the server certificate properly set up too, your end-users' email won't see a big change. Extra email settings like enabling BlockCracking I wish was presented more out of the box, with more email security features (like cPanel), but I know everything cPanel does I can do myself by hand. The fewer DA email setup features are going to cause some head scratching for new migrations.

-- Moving Forward
Most of my cPanel licenses are through resellers like BuycPanel, and I know their prices should be a bit lower than direct, but rather than getting whacked with a giant bill, or having it out with my licensing reseller over these new prices, I'm moving forward with rolling out more DirectAdmin. The Wife grilled up for 4th of July and I ate food while doing test migrations. I've been living in DirectAdmin 24/7 since hearing about the hike at the end of June and I'm coming to terms with it. I will be writing a lot more notes to myself to keep DirectAdmin going and remembering what I did, like having to deal with CentOS firewall issues out of the box from one server provider's image.

Since so much is still required to do by hand, or with a third party script some developer blessed you with for free, I feel like I need to buy a special note taking application. I hope the new influx of DirectAdmin users brings more native support to DA. Hire these amazing forum users, charge more than $29 per month because you know you're going to get it, especially when Plesk brand switches licensing to match (Oakley is evil!), but give us more features. I'd pay $99/month per server just to get more people working on DirectAdmin. Just don't become evil...
 
Richard,

Thank you for investing so much of your time & effort to post this report, especially with so much of your long-weekend time devoted to migrations instead of being with family and enjoying yourself. Not only it is clear & concise, but it's very honest. I see you posted it on WHT too, to make sure this information is available to the WHT community -- the ones who need this report the most.

In a way, I am glad to say the migrations were successful in a technical sense, no big disasters like users missing, databases restoring but not e-mail, etc.

In another way, it shows how much we need to address some other needs, in terms of clarity, interface, and those users who are so unfamiliar with webhosting that entering a colon and some numbers are too difficult & confusing.

The problem is, cPanel and DA are not identical, despite how much everyone is looking for a drop-in replacement to save their sanity and prevent a new learning curve for their customers.

So we are going to take a lot of your suggestions moving forward, especially the part about making no assumptions about the end user.

I am also going to watch the response to this report, to see what further productive information it brings. If anything, it will encourage others to share their experiences.

Thanks for your time, and I hope you at least get some R&R this weekend!

Mark
 
I totally agree. Richard thanks for your report. DA is a wonderful piece of software. I like you, have been at the Helm as they say since the Fiasco started. The transition has been smooth. We took this as a learning time. As my dad would say "No one likes a change, except a wet baby". We embraced it. Communicated with our base and traveled forward. I wish I could say some of the things my customers said about what "Those Guys did" .... I too like the flexibility in DA. I seems lighter and faster I would agree. It is not all things to all people and everything can always use work.. I say to that if "they wanted it Perfect then Jesus should have built it". John, Mark, and Team have already showed more gumption and fortitude in one week.. I am not worried. Also the Community here is second to none. They are helpful, open and honest. They don't talk down to you they just help. John and Mark I am sure have a great team and will be getting more..maybe Luke and Matthew. (we for sure know Mark needs more than 6 hours of sleep:eek:). I am Glad to be here. I look forward to working with you all and making DA the best it can be. I know very little but what little I know anyone can have if it helps them.

Stay Well.
 
A nice piece of work and insight on how you see the switch.
However...
like having to deal with CentOS firewall issues out of the box from one server provider's image.
That's not DA's fault, that's the image fault. Just to inform you about this, DA also supports CSF/LFD, you can install it, there is a ./install-directadmin.sh and it will also open the necessary ports for you in the firewall. It's also supported as plugin automatically so you can access CSF firewall from within the Directadmin admin panel.

But just to be sure I always, on every os, even with Cpanel, disable the default iptables firewall, so I can access the server if anything goes wrong.
Next to that, you can install Clamav from custombuild 2 which can also check mail or can be exteded by installing Maldetect (there is a good manual between the topics).
That's why I don't like Plesk. Users are asking for years for a free anti-virus scanner and they don't provide it. For CSF they said that there was not enoung interest. So you have to install them manually, no addon and integrating Clamav for mail on a Plesk system is a real fuzz.

DA might take some more insight and work from an admin (that's why he's an admin and not a user), but it indeed does not push you in a certain direction and it's highly customizable.
I'm sure you and a lot of other Cpanel admins will be happy with your choice. And it will also lots of improvements to DA too, so it makes us happy too. :)
 
You can also change the default DirectAdmin port, and I suggest that you include with new websites an alias or redirect for "/cpanel" to ":2222" or whatever port DA runs on for you.

Anyone who wants this, it can be done by adding this line to /etc/httpd/conf/extra/httpd-alias.conf
Code:
Alias /cpanel /var/www/html/cpanel

and then running
Code:
mkdir /var/www/html/cpanel
echo "<?php header('location: https: //yourserverhostname .com:2222');exit; ?>" > /var/www/html/cpanel/index.php
httpd -k restart

This will make anydomain .com/cpanel to redirect to the DirectAdmin login page.

It would be good if it was included as default with DirectAdmin, but I think its developers had not thought that there will be such a massive migration from cPanel.
 
I wouldn't recommend editing /etc/httpd/conf/extra/httpd-alias.conf directly, as it'd get overwritten. To have it not overwritten, it should be copied to /usr/local/directadmin/custombuild/custom/ap2/conf/extra/httpd-alias.conf, however, the best way for this would be not to customize the template at all: https://help.directadmin.com/item.php?id=599

Just a FYI :)
 
I wouldn't recommend editing /etc/httpd/conf/extra/httpd-alias.conf directly, as it'd get overwritten. To have it not overwritten, it should be copied to /usr/local/directadmin/custombuild/custom/ap2/conf/extra/httpd-alias.conf, however, the best way for this would be not to customize the template at all: https://help.directadmin.com/item.php?id=599

Just a FYI :)

It's a must that I can make global edits that persist through updates, however.

For example, I need to create a clean simple global "/cpanel" redirect that can do a 301 redirect or similar to catch some people who have https://www.their-site.com/cpanel bookmarked, to bring them to https://www.their-site.com:2222 (or servername:2222).

Now, if I expand the ap2/ and go into conf/extra/httpd-alias.conf and add the changes, why is it still recommended to not customize at all? :)

This is likely going to be a question many will ask, but how would you do this cpanel redirect change? I am trying to avoid literally placing a meta refresh 0 folder/file in every single home dir... I mean, that'd work fine, but is there a better way for this?
 
It's a must that I can make global edits that persist through updates, however.

For example, I need to create a clean simple global "/cpanel" redirect that can do a 301 redirect or similar to catch some people who have https://www.their-site.com/cpanel bookmarked, to bring them to https://www.their-site.com:2222 (or servername:2222).

Now, if I expand the ap2/ and go into conf/extra/httpd-alias.conf and add the changes, why is it still recommended to not customize at all? :)

This is likely going to be a question many will ask, but how would you do this cpanel redirect change? I am trying to avoid literally placing a meta refresh 0 folder/file in every single home dir... I mean, that'd work fine, but is there a better way for this?

you can try this https://help.directadmin.com/item.php?id=599 its work for me.

note: we have problem with nginx mod_security after rewrite_confs command (nginx down), its should be rebuild modsecurity_rules manually to solve thats problem.
 
note: we have problem with nginx mod_security after rewrite_confs command (nginx down), its should be rebuild modsecurity_rules manually to solve thats problem.

May you check it with the latest version of the CutomBuild script? Just "./build update".
 
Back
Top