Symptoms
You may see that PureFTPD is running but reports down in "Service Status". You may also see the FTP check failing with the following output in /var/log/chkservd.log.
ftpd [[socket_service_auth:1]TCP Transaction Log:
<< 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
<< 220-You are user number 1 of 50 allowed.
<< 220-Local time is now 03:39. Server port: 21.
<< 220-This is a private system - No anonymous login
<< 220-IPv6 connections are also welcome on this server.
<< 220 You will be disconnected after 15 minutes of inactivity.
>> USER __cpanel__service__auth__ftpd__CdzbdgNGhVksE9Lw
<< 331 User __cpanel__service__auth__ftpd__CdzbdgNGhVksE9Lw OK. Password required
>> PASS 3u8KdfzAOdKKwv1_
<< 421 Home directory not available - aborting
ftpd: ** [421 Home directory not available - aborting != 2]
: Died[check command:+][socket connect:-][socket failure threshold:1/3]]...
Description
This is caused by the /var/cpanel/userhomes/cpanel directory not being present.
Workaround
The directory can be created with the command below via SSH or the Terminal in WHM.
mkdir -p /var/cpanel/userhomes/cpanel; chown cpanel: /var/cpanel/userhomes/cpanel
More information about accessing the Terminal via WHM can be found below.