1) FILE SYSTEM Writable (public download method) The directory /sites/default/files/private does not exist. You may need to set the correct directory at the file system settings page or change the current directory's permissions so that it is writable.
2) PRIVATE FILES DIRECTORY Not fully protected
Both error above came from one problem..
The problem is wrongly setting on setting.php file for private file below
$settings['file_private_path'] = ''
The folder must be absolute..for example:
$settings['file_private_path'] = 'C:/xampp/htdocs/DRUPALSITENAME/sites/default/files/private';
* The above setting if drupal in localhost
If in live server..the setting should like this:
$settings['file_private_path'] = 'sites/default/files/private';
After that - clear the cache
NOTE: If we manually move site from life server to localhost - than we have to manually creata private file; file/private
For PRIVATE FILES DIRECTORY Not fully protected - need to add the following line to .htaccess
# Deny all requests from Apache 2.4+.
Require all denied
# Deny all requests from Apache 2.0-2.2.
Deny from all
# Turn off all options we don't need.
Options -Indexes -ExecCGI -Includes -MultiViews
# Set the catch-all handler to prevent scripts from being executed.
# Override the handler again if we're run later in the evaluation list.
# If we know how to do it safely, disable the PHP engine entirely.
php_flag engine off