{"id":1,"date":"2018-02-13T11:51:39","date_gmt":"2018-02-13T06:21:39","guid":{"rendered":"https:\/\/www.onlinenote.in\/linux\/?p=1"},"modified":"2019-05-02T11:22:56","modified_gmt":"2019-05-02T05:52:56","slug":"correct-file-permissions-for-wordpress","status":"publish","type":"post","link":"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/","title":{"rendered":"Correct file permissions for WordPress"},"content":{"rendered":"<p>For Development<\/p>\n<pre class=\"lang:default decode:true \" title=\"Wordpress Permission for Development\">chown www-data:www-data  -R * # Let Apache be owner\r\nfind . -type d -exec chmod 755 {} \\;  # Change directory permissions rwxr-xr-x\r\nfind . -type f -exec chmod 644 {} \\;  # Change file permissions rw-r--r--\r\nsudo chown -R www-data:www-data www\/html\/folder\/<\/pre>\n<p>In production, I wouldn&#8217;t give access to users to modify the filesystem, I&#8217;ll only allow them to upload resources and give access to some plugins specific folders to do backups, etc. But managing projects under Git and using deploy keys on the server, it isn&#8217;t good update plugins on staging nor production. I leave here the production file setup:<\/p>\n<pre class=\"lang:default decode:true \" title=\"Set uploads folder user and group to www-data\"># Set uploads folder user and group to www-data\r\nchown www-data:www-data -R wp-content\/uploads\/<\/pre>\n<p><em>www-data:www-data = apache or nginx user and group<\/em><\/p>\n<p>Staging will share the same production permissions as it should be a clone of it.<\/p>\n<p>Finally, development environment will have access to update plugins, translations, everything&#8230;<\/p>\n<pre class=\"lang:default decode:true  \"># Set uploads folder user and group to www-data\r\nchown www-data:www-data -R wp-content\/\r\n\r\n# Set uploads folder user and group to www-data\r\nchown your-user:root-group -R wp-content\/themes\r\n\r\n# Set uploads folder user and group to www-data\r\nchown your-user:root-group -R wp-content\/plugins\/your-plugin<\/pre>\n<p><em>www-data:www-data = apache or nginx user and group<\/em>\u00a0<em>your-user:root-group = your current user and the root group<\/em><\/p>\n<p>These permissions will give you access to develop under\u00a0<code>themes<\/code>\u00a0and\u00a0<code>your-plugin<\/code>\u00a0folder without asking permission. The rest of the content will be owned by the Apache or Nginx user to allow WP to manage the filesystem.<\/p>\n<p>Before creating a git repo first run these commands:<\/p>\n<pre class=\"lang:default decode:true \"># Set all directories permissions to 755\r\nfind . -type d -exec chmod 755 {} \\;\r\n\r\n# Set all files permissions to 644\r\nfind . -type f -exec chmod 644 {} \\;<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For Development chown www-data:www-data -R * # Let Apache be owner find . -type d -exec chmod 755 {} \\; # Change directory permissions rwxr-xr-x find . -type f -exec chmod 644 {} \\; # Change file permissions rw-r&#8211;r&#8211; sudo chown -R www-data:www-data www\/html\/folder\/ In production, I wouldn&#8217;t give access to users to modify the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[3,4,2],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.10 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Correct file permissions for WordPress - linux<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Correct file permissions for WordPress - linux\" \/>\n<meta property=\"og:description\" content=\"For Development chown www-data:www-data -R * # Let Apache be owner find . -type d -exec chmod 755 {} ; # Change directory permissions rwxr-xr-x find . -type f -exec chmod 644 {} ; # Change file permissions rw-r--r-- sudo chown -R www-data:www-data www\/html\/folder\/ In production, I wouldn&#8217;t give access to users to modify the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/\" \/>\n<meta property=\"og:site_name\" content=\"linux\" \/>\n<meta property=\"article:published_time\" content=\"2018-02-13T06:21:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-05-02T05:52:56+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/\",\"url\":\"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/\",\"name\":\"Correct file permissions for WordPress - linux\",\"isPartOf\":{\"@id\":\"https:\/\/www.onlinenote.in\/linux\/#website\"},\"datePublished\":\"2018-02-13T06:21:39+00:00\",\"dateModified\":\"2019-05-02T05:52:56+00:00\",\"author\":{\"@id\":\"\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.onlinenote.in\/linux\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Correct file permissions for WordPress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.onlinenote.in\/linux\/#website\",\"url\":\"https:\/\/www.onlinenote.in\/linux\/\",\"name\":\"linux\",\"description\":\"Code Snippets\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.onlinenote.in\/linux\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Correct file permissions for WordPress - linux","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/","og_locale":"en_US","og_type":"article","og_title":"Correct file permissions for WordPress - linux","og_description":"For Development chown www-data:www-data -R * # Let Apache be owner find . -type d -exec chmod 755 {} ; # Change directory permissions rwxr-xr-x find . -type f -exec chmod 644 {} ; # Change file permissions rw-r--r-- sudo chown -R www-data:www-data www\/html\/folder\/ In production, I wouldn&#8217;t give access to users to modify the [&hellip;]","og_url":"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/","og_site_name":"linux","article_published_time":"2018-02-13T06:21:39+00:00","article_modified_time":"2019-05-02T05:52:56+00:00","twitter_card":"summary_large_image","twitter_misc":{"Written by":"","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/","url":"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/","name":"Correct file permissions for WordPress - linux","isPartOf":{"@id":"https:\/\/www.onlinenote.in\/linux\/#website"},"datePublished":"2018-02-13T06:21:39+00:00","dateModified":"2019-05-02T05:52:56+00:00","author":{"@id":""},"breadcrumb":{"@id":"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.onlinenote.in\/linux\/correct-file-permissions-for-wordpress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.onlinenote.in\/linux\/"},{"@type":"ListItem","position":2,"name":"Correct file permissions for WordPress"}]},{"@type":"WebSite","@id":"https:\/\/www.onlinenote.in\/linux\/#website","url":"https:\/\/www.onlinenote.in\/linux\/","name":"linux","description":"Code Snippets","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.onlinenote.in\/linux\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":""}]}},"_links":{"self":[{"href":"https:\/\/www.onlinenote.in\/linux\/wp-json\/wp\/v2\/posts\/1"}],"collection":[{"href":"https:\/\/www.onlinenote.in\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.onlinenote.in\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.onlinenote.in\/linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.onlinenote.in\/linux\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":2,"href":"https:\/\/www.onlinenote.in\/linux\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":5,"href":"https:\/\/www.onlinenote.in\/linux\/wp-json\/wp\/v2\/posts\/1\/revisions\/5"}],"wp:attachment":[{"href":"https:\/\/www.onlinenote.in\/linux\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.onlinenote.in\/linux\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.onlinenote.in\/linux\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}