-
-
Save Sanabria/39f99c64b5cd20f3f83ac28ad52e4f58 to your computer and use it in GitHub Desktop.
Fix wordpress file permissions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# This script configures WordPress file permissions based on recommendations | |
# from http://codex.wordpress.org/Hardening_WordPress#File_permissions | |
# | |
# Author: Michael Conigliaro <mike [at] conigliaro [dot] org> | |
# | |
# Source for this script: http://www.conigliaro.org/script-to-configure-proper-wordpress-permissions/ | |
# | |
# To use this script, supply the full path to your wordpress directory | |
# That directory is often in /var/www, and the wordpress directory is frequently named 'wordpress' | |
# The example below operates on /var/www/wordpress directory | |
# | |
# sudo sh ./fix-wordpress-permissions.sh /var/www/wordpress | |
WP_OWNER=www-data # <-- wordpress owner | |
WP_GROUP=www-data # <-- wordpress group | |
WP_ROOT=$1 # <-- wordpress root directory | |
WS_GROUP=www-data # <-- webserver group | |
# reset to safe defaults | |
find ${WP_ROOT} -exec chown ${WP_OWNER}:${WP_GROUP} {} \; | |
find ${WP_ROOT} -type d -exec chmod 755 {} \; | |
find ${WP_ROOT} -type f -exec chmod 644 {} \; | |
# allow wordpress to manage wp-config.php (but prevent world access) | |
chgrp ${WS_GROUP} ${WP_ROOT}/wp-config.php | |
chmod 660 ${WP_ROOT}/wp-config.php | |
# allow wordpress to manage wp-content | |
find ${WP_ROOT}/wp-content -exec chgrp ${WS_GROUP} {} \; | |
find ${WP_ROOT}/wp-content -type d -exec chmod 775 {} \; | |
find ${WP_ROOT}/wp-content -type f -exec chmod 664 {} \; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You need to supply the folder your wordpress is in, e.g. ./fix-wordpress-permissions.sh wordpress:
sudo sh ./fix-wordpress-permissions.sh /var/www/wordpress-install-folder