Title: Cannot upload files
Last modified: August 22, 2016

---

# Cannot upload files

 *  Resolved [Countzeroslick](https://wordpress.org/support/users/countzeroslick/)
 * (@countzeroslick)
 * [11 years, 4 months ago](https://wordpress.org/support/topic/cannot-upload-files-4/)
 * I recently did fresh install of WordPress on a server that was setup by someone
   else than me. Unfortunately, I can’t upload anything through the wordpress dashboard.
   Initially, the error was saying that the /uploads folder could not be created
   due to permissions. So I created the folder myself. Now it is saying “The uploaded
   file could not be moved to /wp-content/Uploads”.
 * Some extra info:
 * -Server and files are on a local Linux running fedora 18
    -All WordPress folder/
   files are owned by the server user -All files have permission 775 -I do not have
   PHP in Safe mode -ModSecurity is not loaded in the httpd.conf file – Changing
   permission to “777” did not work – My server root points to a different location
   than the Worpress site files -the site is for internal use only
 * Im at my ropes end for what the issue can be.
 * My httpd.conf file below:
 *     ```
       # 'Main' server configuration
       #
       # The directives in this section set up the values used by the 'main'
       # server, which responds to any requests that aren't handled by a
       # <VirtualHost> definition.  These values also provide defaults for
       # any <VirtualHost> containers you may define later in the file.
       #
       # All of these directives may appear inside <VirtualHost> containers,
       # in which case these default settings will be overridden for the
       # virtual host being defined.
       #
   
       #
       # ServerAdmin: Your address, where problems with the server should be
       # e-mailed.  This address appears on some server-generated pages, such
       # as error documents.  e.g. admin@your-domain.com
       #
       ServerAdmin root@localhost
   
       #
       # ServerName gives the name and port that the server uses to identify itself.
       # This can often be determined automatically, but we recommend you specify
       # it explicitly to prevent problems during startup.
       #
       # If your host doesn't have a registered DNS name, enter its IP address here.
       #
       #ServerName www.example.com:80
   
       #
       # Deny access to the entirety of your server's filesystem. You must
       # explicitly permit access to web content directories in other
       # <Directory> blocks below.
       #
       <Directory />
           AllowOverride none
           Options FollowSymLinks Indexes
           Require all denied
       </Directory>
   
       <Directory "/var/www/html/wordpress/">
           Order deny,allow
           Deny from all
           Allow from 10.0.1
       </Directory>
   
       #
       # Note that from this point forward you must specifically allow
       # particular features to be enabled - so if something's not working as
       # you might expect, make sure that you have specifically enabled it
       # below.
       #
   
       #
       # DocumentRoot: The directory out of which you will serve your
       # documents. By default, all requests are taken from this directory, but
       # symbolic links and aliases may be used to point to other locations.
       #
       DocumentRoot "/var/www/html"
   
       #
       # Relax access to content within /var/www.
       #
       <Directory "/var/www">
           AllowOverride None
           # Allow open access:
           Require all granted
       </Directory>
   
       # Further relax access to the default document root:
       <Directory "/var/www/html">
           #
           # Possible values for the Options directive are "None", "All",
           # or any combination of:
           #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
           #
           # Note that "MultiViews" must be named *explicitly* --- "Options All"
           # doesn't give it to you.
           #
           # The Options directive is both complicated and important.  Please see
           # http://httpd.apache.org/docs/2.4/mod/core.html#options
           # for more information.
           #
           Options Indexes FollowSymLinks
   
           #
           # AllowOverride controls what directives may be placed in .htaccess files.
           # It can be "All", "None", or any combination of the keywords:
           #   Options FileInfo AuthConfig Limit
           #
           AllowOverride None
   
           #
           # Controls who can get stuff from this server.
           #
           Require all granted
       </Directory>
   
       #
       # DirectoryIndex: sets the file that Apache will serve if a directory
       # is requested.
       #
       <IfModule dir_module>
           DirectoryIndex index.html
       </IfModule>
   
       #
       # The following lines prevent .htaccess and .htpasswd files from being
       # viewed by Web clients.
       #
       <Files ".ht*">
           Require all denied
       </Files>
   
       #
       # ErrorLog: The location of the error log file.
       # If you do not specify an ErrorLog directive within a <VirtualHost>
       # container, error messages relating to that virtual host will be
       # logged here.  If you *do* define an error logfile for a <VirtualHost>
       # container, that host's errors will be logged there and not here.
       #
       ErrorLog "logs/error_log"
   
       #
       # LogLevel: Control the number of messages logged to the error_log.
       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       #
       LogLevel warn
   
       <IfModule log_config_module>
           #
           # The following directives define some format nicknames for use with
           # a CustomLog directive (see below).
           #
           LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
           LogFormat "%h %l %u %t \"%r\" %>s %b" common
   
           <IfModule logio_module>
             # You need to enable mod_logio.c to use %I and %O
             LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
           </IfModule>
   
           #
           # The location and format of the access logfile (Common Logfile Format).
           # If you do not define any access logfiles within a <VirtualHost>
           # container, they will be logged here.  Contrariwise, if you *do*
           # define per-<VirtualHost> access logfiles, transactions will be
           # logged therein and *not* in this file.
           #
           #CustomLog "logs/access_log" common
   
           #
           # If you prefer a logfile with access, agent, and referer information
           # (Combined Logfile Format) you can use the following directive.
           #
           CustomLog "logs/access_log" combined
       </IfModule>
   
       <IfModule alias_module>
           #
           # Redirect: Allows you to tell clients about documents that used to
           # exist in your server's namespace, but do not anymore. The client
           # will make a new request for the document at its new location.
           # Example:
           # Redirect permanent /foo http://www.example.com/bar
   
           #
           # Alias: Maps web paths into filesystem paths and is used to
           # access content that does not live under the DocumentRoot.
           # Example:
           # Alias /webpath /full/filesystem/path
           #
           # If you include a trailing / on /webpath then the server will
           # require it to be present in the URL.  You will also likely
           # need to provide a <Directory> section to allow access to
           # the filesystem path.
   
           #
           # ScriptAlias: This controls which directories contain server scripts.
           # ScriptAliases are essentially the same as Aliases, except that
           # documents in the target directory are treated as applications and
           # run by the server when requested rather than as documents sent to the
           # client.  The same rules about trailing "/" apply to ScriptAlias
           # directives as to Alias.
           #
           ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
   
       </IfModule>
   
       #
       # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
       # CGI directory exists, if you have that configured.
       #
       <Directory "/var/www/cgi-bin">
           AllowOverride None
           Options None
           Require all granted
       </Directory>
   
       <IfModule mime_module>
           #
           # TypesConfig points to the file containing the list of mappings from
           # filename extension to MIME-type.
           #
           TypesConfig /etc/mime.types
   
           #
           # AddType allows you to add to or override the MIME configuration
           # file specified in TypesConfig for specific file types.
           #
           #AddType application/x-gzip .tgz
           #
           # AddEncoding allows you to have certain browsers uncompress
           # information on the fly. Note: Not all browsers support this.
           #
           #AddEncoding x-compress .Z
           #AddEncoding x-gzip .gz .tgz
           #
           # If the AddEncoding directives above are commented-out, then you
           # probably should define those extensions to indicate media types:
           #
           AddType application/x-compress .Z
           AddType application/x-gzip .gz .tgz
   
           #
           # AddHandler allows you to map certain file extensions to "handlers":
           # actions unrelated to filetype. These can be either built into the server
           # or added with the Action directive (see below)
           #
           # To use CGI scripts outside of ScriptAliased directories:
           # (You will also need to add "ExecCGI" to the "Options" directive.)
           #
           #AddHandler cgi-script .cgi
   
           # For type maps (negotiated resources):
           #AddHandler type-map var
   
           #
           # Filters allow you to process content before it is sent to the client.
           #
           # To parse .shtml files for server-side includes (SSI):
           # (You will also need to add "Includes" to the "Options" directive.)
           #
           AddType text/html .shtml
           AddOutputFilter INCLUDES .shtml
       </IfModule>
   
       #
       # Specify a default charset for all content served; this enables
       # interpretation of all content as UTF-8 by default.  To use the
       # default browser choice (ISO-8859-1), or to allow the META tags
       # in HTML content to override this choice, comment out this
       # directive:
       #
       AddDefaultCharset UTF-8
   
       #
       # The mod_mime_magic module allows the server to use various hints from the
       # contents of the file itself to determine its type.  The MIMEMagicFile
       # directive tells the module where the hint definitions are located.
       #
       MIMEMagicFile conf/magic
   
       #
       # Customizable error responses come in three flavors:
       # 1) plain text 2) local redirects 3) external redirects
       #
       # Some examples:
       #ErrorDocument 500 "The server made a boo boo."
       #ErrorDocument 404 /missing.html
       #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
       #ErrorDocument 402 http://www.example.com/subscription_info.html
       #
   
       #
       # EnableMMAP and EnableSendfile: On systems that support it,
       # memory-mapping or the sendfile syscall may be used to deliver
       # files.  This usually improves server performance, but must
       # be turned off when serving from networked-mounted
       # filesystems or if support for these functions is otherwise
       # broken on your system.
       # Defaults if commented: EnableMMAP On, EnableSendfile Off
       #
       #EnableMMAP off
       EnableSendfile on
       ```
   

Viewing 3 replies - 1 through 3 (of 3 total)

 *  [WPyogi](https://wordpress.org/support/users/wpyogi/)
 * (@wpyogi)
 * [11 years, 4 months ago](https://wordpress.org/support/topic/cannot-upload-files-4/#post-5779193)
 * Don’t know if it’s the problem, but this `/wp-content/Uploads`
 * does not appear to be the same as `/uploads`
 * Note case on that folder name.
 *  Thread Starter [Countzeroslick](https://wordpress.org/support/users/countzeroslick/)
 * (@countzeroslick)
 * [11 years, 4 months ago](https://wordpress.org/support/topic/cannot-upload-files-4/#post-5779416)
 * Yeah, that should be fine. I changed the upload path to /wp-content/Uploads, 
   with the higher case, in wp-config.php. Anyways I tried changing the case just
   in case, no deal. 🙁
 *  Thread Starter [Countzeroslick](https://wordpress.org/support/users/countzeroslick/)
 * (@countzeroslick)
 * [11 years, 4 months ago](https://wordpress.org/support/topic/cannot-upload-files-4/#post-5779484)
 * Turns out I had SElinux enabled which is another subset of permission rules that
   overrides all permissions and owners. To view SE permissions type “ls -Z object”
   to find the objects SE permissions settings.

Viewing 3 replies - 1 through 3 (of 3 total)

The topic ‘Cannot upload files’ is closed to new replies.

## Tags

 * [apache](https://wordpress.org/support/topic-tag/apache/)
 * [permissions](https://wordpress.org/support/topic-tag/permissions/)
 * [upload](https://wordpress.org/support/topic-tag/upload/)

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 3 replies
 * 2 participants
 * Last reply from: [Countzeroslick](https://wordpress.org/support/users/countzeroslick/)
 * Last activity: [11 years, 4 months ago](https://wordpress.org/support/topic/cannot-upload-files-4/#post-5779484)
 * Status: resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
