Mainwp upload directory not writable

Hi there, I recently moved the mainWP dashboard to a new account in my reseller hosting (so mainWP doesn’t have to share resources with other sites) and I was trying to optimize the mainWP performance as well, among other things, following this tutorial I found:

Everything fine so far.

Then I went to status > server to double check some of the upgrades, and apparently I have a failed status: “mainwp upload directory” is not writable. I don’t recall of this issue before (maybe I didn’t pay attention), so far it hasn’t caused me any harm but better safe than sorry.

So that’s what I’ve been trying to solve. Then I stumbled across this post:

I followed the instructions but when changing permissions in the upload file, this error pops up:

FileOp Failure: 
 • The system failed to change the permissions for uploads with the error: Operation not permitted

Is it important to have this writable? Is there any other way to fix this?

I enclose a copy of the system report just in case it helps

### Server Info                    Required                                               Detected                                     Status   ###

MainWP Dashboard                   
MainWP Dashboard Version           4.1.12                                                 4.1.12                                       Pass        
MainWP Upload Directory            Writable                                               Not Writable                                 Fail        
MainWP Extensions                  
MainWP White Label Extension       4.1.1                                                  API License Active                           Pass        
MainWP Bulk Settings Manager Extension4.0.4                                                  API License Active                           Pass        
MainWP Comments Extension          4.0.3                                                  API License Active                           Pass        
MainWP Custom Dashboard Extension  4.0.2                                                  API License Inactive                         Warning     
MainWP Google Analytics Extension  4.0.4                                                  API License Active                           Pass        
MainWP Lighthouse Extension        4.0                                                    API License Active                           Pass        
MainWP Maintenance Extension       4.1.1                                                  API License Active                           Pass        
MainWP Pro Reports Extension       4.0.7                                                  API License Active                           Pass        
MainWP Staging Extension           4.0.2                                                  API License Active                           Pass        
MainWP Team Control                4.0.2                                                  API License Active                           Pass        
MainWP UpdraftPlus Extension       4.0.5                                                  API License Active                           Pass        
MainWP Wordfence Extension         4.0.5                                                  API License Active                           Pass        
WordPress                          
WordPress Version                  >=3.6                                                  5.9.1                                        Pass        
WordPress Memory Limit             >=64M                                                  256M                                         Pass        
MultiSite Disabled                 =true                                                  true                                         Pass        
FileSystem Method                  = direct                                               direct                                       Pass        
PHP                                
PHP Version                        >=7.0                                                  7.4.28                                       Pass        
PHP Safe Mode Disabled             =true                                                  true                                         Pass        
PHP Max Execution Time             >=30 seconds                                           300                                          Pass        
PHP Max Input Time                 >=30 seconds                                           -1                                           Pass        
PHP Memory Limit                   >=128M                                                 512M                                         Pass        
PCRE Backtracking Limit            >=10000                                                1000000                                      Pass        
PHP Upload Max Filesize            >=2M                                                   512M                                         Pass        
PHP Post Max Size                  >=2M                                                   256M                                         Pass        
SSL Extension Enabled              =true                                                  true                                         Pass        
SSL Warnings                       = empty                                                                                             Pass        
cURL Extension Enabled             =true                                                  true                                         Pass        
cURL Timeout                       >=300 seconds                                          300                                          Pass        
cURL Version                       >=7.18.1                                               7.71.0                                       Pass        
cURL SSL Version                   >=OpenSSL/1.1.0                                        OpenSSL/1.1.1d                               Pass        
PHP Allow URL fopen                YES                                                    
PHP Exif Support                   YES ( V7.4.)                                           
PHP IPTC Support                   YES                                                    
PHP XML Support                    YES                                                    
PHP Disabled Functions             No functions disabled.                                 
PHP Loaded Extensions              Core, PDO, PDO_ODBC, Phar, Reflection, SPL, SimpleXML, Zend OPcache, bcmath, bz2, calendar, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, ionCube Loader, json, ldap, libxml, litespeed, mbstring, memcached, mysqli, mysqlnd, odbc, openssl, pcntl, pcre, pdo_pgsql, pdo_sqlite, pgsql, posix, pspell, readline, redis, session, shmop, snmp, soap, sockets, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, zlib
MySQL                              
MySQL Version                      >=5.0                                                  10.5.13-MariaDB-cll-lve                      Pass        
MySQL Mode                         NO_ENGINE_SUBSTITUTION                                 
MySQL Client Encoding              utf8mb4                                                
Server Info                        
Server Software                    LiteSpeed                                              
Operating System                   Linux                                                  
Architecture                       64		 bit                                               
Server Protocol                    HTTP/1.1                                               
HTTPS                              ON                                                     
Server self connect                Response Test O.K.                                     
User Agent                         Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0) Gecko/20100101 Firefox/91.0
Gateway Interface                                                                         
Memory Usage                       7.07 MB                                                
Request Time                       1646656022                                             
Accept Content                     text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Charset Content             N/A                                                    
MainWP Settings                    
Number Of Child Sites              12                                                     
Use WP-Cron                        No                                                     
Optimize for Shared Hosting or Big NetworksNo                                                     
Automatic Daily Update             Install trusted updates                                
Abandoned Plugins/Themes Tolerance 365                                                    
Maximum number of posts to return                                                         
Maximum number of pages to return                                                         
Maximum Number of Comments         50                                                     
Primary Backup System              Default MainWP Backups                                 
Maximum simultaneous requests      4                                                      
Minimum delay between requests     200                                                    
Maximum simultaneous requests per ip1                                                      
Minimum delay between requests to the same ip1000                                                   
Maximum simultaneous sync requests                                                        
Maximum simultaneous install and update requests                                                       
Active Plugins                     
MainWP Dashboard                   4.1.12                                                 Active                                       
Wordfence Security                 7.5.8                                                  Active                                       
WP Mail SMTP                       3.3.0                                                  Active                                       

Thanks in advance!

Hi Eduardo,

On your dashboard site, if you check the WP Admin > Settings > Media page, do you see the option where you can put custom Uploads path? If yes, I will assume that it’s pointing the old server path. If that this correct, please try to simply remove the path and leave the option empty. After resaving the settings, the WP will set the default path and everything should start working as before.

Please let me know if that helps.

Hi Bogdan, nope, I don’t have that option. Furthermore, I wanted to install another theme and check but when I try to install any other theme it shows this error:

Installation failed: Unable to connect to the filesystem. Please confirm your credentials.

This is very very weird. Is it related?

Hi Eduardo,

thanks for confirming that.
Yeah, I believe that the error you mentioned is related.
Have you checked with your host support about file permissions on the /wp-content/uploads/ directory? Can you please have them verify that everything is set correctly?

Hi there Bogdan, all set, in the end it was an issue of permissions related to the hosting provider. The status says it’s writable so I reverted the permissions back to 755 (I read in the other post that it’s not advisable to leave it to 777). Can you confirm this? Thanks

Also, since we’re here, could you check the system report I enclosed before and tell me whether there’s something else you would change to optimize mainWP? Thank you again :slight_smile:

thanks for verifying that the problem has been resolved.

Regarding your system report, everything looks good to me.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.