Ok, it turns out that on ubuntu/debian, the wordpress files are in 3 places on the filesystem – /var/lib/wordpress, /srv/www/wp-content and /usr/share/wordpress. I had to do this for all three:
sudo chown -R www-data .
sudo chgrp -R www-data .
sudo find . -type f -exec chmod 644 {} \;
sudo find . -type d -exec chmod 755 {} \;
Works fine now. Even installation through the dashboard works now.
Related Posts:
- How to customize woocommerce related products? [closed]
- Pass PHP variable to javascript
- Plugin not showing in dashboard
- Namespaces in WordPress – How do I initiate the main class?
- What areas to Unit test while building a plugin?
- Notify commenters about new replies
- Plugin readme.txt and assets internationalization
- Woocommerce different URL for every table placed in the restaurant
- Disable Admin Bar Render on Plugin Page
- Image Crop/Resize Function/Code Sinppet/Plugin to adjust/crop images during upload
- post expire after x days
- Storing a password for use with a WordPress plugin
- Diagnosing plugin conflicts
- Is it possible to integrate WordPress *posts* and social media (Facebook, Google+, Twitter)? [closed]
- Licensing: Can I include SWFs without source in a plugin released on wordpress.org?
- Sort products without thumbnail in WooCommerce shop page
- How to create tutorials/book in WordPress [closed]
- Create or Update thousands of woocommerce products via PHP
- WP Paths in a Plugin – how to include
- How to export a list of all media urls? [closed]
- Last modified field for user profile?
- Update Option Error: Notice: Undefined index
- Why this global array is returning NULL from a callback function
- how do i remove posts from a WP_Query so the pagination is right?
- Shortcode based chart plugin
- Information and Videos for Customers in the Backend [closed]
- Install Plugin via Code
- How to display custom sidebar in wordpress 5.5.2
- woocommerce_package_rates not fired when wordpress woocommerce accessed as non ajax
- How to output CMB2 select options from repeated groups select elements?
- Delete query not working in plugin
- SEO Friendly URL on dynamic product page produced via shortcode
- register_taxonomy and variable rewrite slug
- WP All Import – Execute Imports
- Migrating hosts, 500 errors and plugin issues
- Xili language plugin not showing language flag [closed]
- plugin shortcode output
- how to add text to posts from tags
- Is there a WordPress plugin that can post to Google+? [closed]
- WordPress checkbox and Illegal string offset
- dbDelta not adding additional columns in plugin database update
- Fatal error in form display plugin
- Why do plugins often ask to add in to templates?
- Undefined index: action plugin problem
- Infinite scroll messing up nth:of-type
- Problem installing plugin: unexpected T_STRING, expecting T_FUNCTION
- Custom Post Type – custom form in dashboard
- Getting 400 Error: redirect_uri_mismatch when trying to grant permission to Gmail SMTP plugin
- How to Show Author image and url in WordPress plugin directory? [closed]
- Renaming Custom Taxonomy Values
- Translation to ACF relationship field
- Expected ‘add_filter’ (T_STRING)
- jQuery code didn’t run on my plugin
- Warning! PHP safe mode enabled!
- Dictionary-style definition list plugin
- Error Metabox Warning: call_user_func() expects parameter 1 to be a valid callback
- Color Picker UI in admin is not correct
- Can I customize an Elementor template after inserting it? [closed]
- Create automatic latest version link
- Some error in mysql script ? Can’t working to create table
- Gutenberg: Prevent links from being clickable in the block. Error: “Cannot destructure property ‘frameElement’ of ‘r’ as it is null.”
- I created a plugin with ‘view page’ that uses MYSQL + PHP. When I use wp_insert_post(), it turns everything to HTML
- list of custom post by custom field in frontend
- How to add a prefix to a WordPress post preview url?
- WP Posts-pages text hiding does not work
- how to upload folders and files to google storage bucket?
- Update content without the user having to refresh their page
- ajax voting for custom post type
- Change (replace) word in metabox
- Exclude Tag Links from and Text
- Should I paste CDN links in a JS file or use a Bootstrap CDN plugin?
- Defined user role to access plugin’s pages
- How to Order Sticky Posts? [duplicate]
- export high ress images to pdf
- Embedding code snippets in posts with indentation
- woocommerce download post-types\writepanels limits?
- force category table refresh when adding new category
- Help me with my first very basic plugin
- Undefined constant error in pluggable.php
- WooCommerce plugins permalinks?
- Loading Canvas & WooCommerce translation file in child theme
- Plugin that resets database and deletes all content, plugins
- Custom Fields on User Dashboard?
- How to Move a production WordPress site to local environment [closed]
- Can’t activate plugin [closed]
- ACF: Not displaying ACF data from another post
- True or False: Is an Apache error or PHP error the same as a WordPress error?
- Order shipped by which driver[hook for woocoomerce order staus changed and popup in admin panel ] [closed]
- In WordPress, after installing “Pie Register” plugin, admin permission is GONE! [closed]
- The plugin has been used here? [closed]
- Self-hosted Plugins & Themes store with auto-updates? [closed]
- Share or sync user table data with another user table
- Very slow page loads
- Can I merge all my JS and CSS in one file using WP?
- Allow direct access to files/folders within WordPress to replace wp-admin
- CPT template is not being automatically used single post pages
- Autocomplete search field that is feed by a taxonomy from custom post type?
- Plugins updates not showing on wordpress
- Unable to login – critical error
- Custom Elementor controls not appearing in the widget Advanced tab using injection hooks