Skip to content

Instantly share code, notes, and snippets.

@parkisutama
Forked from Adirael/fix-wordpress-permissions.sh
Last active February 27, 2020 13:42
Show Gist options
  • Save parkisutama/4572e0f21af7911da78735c54ffea0c2 to your computer and use it in GitHub Desktop.
Save parkisutama/4572e0f21af7911da78735c54ffea0c2 to your computer and use it in GitHub Desktop.
Fix wordpress file permissions
#!/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>
# Edited by : Parkis Utama
# How to use ==> ./fix-wordpress-permissions.sh <wordpress root location>
#between APACHE and OpenLiteSpeed uncomment that not needed
#if you use APACHE
#WP_OWNER=www-data # <-- wordpress owner
#WP_GROUP=www-data # <-- wordpress group
#WP_ROOT=$1 # <-- wordpress root directory
#WS_GROUP=www-data # <-- webserver group
#if you youse OpenLiteSpeed Shared/VPS
WP_OWNER=nobody # <-- wordpress owner change to your username if you use VPS
WP_GROUP=nogroup # <-- wordpress group change to your group if you use VPS (default is same as your username)
WP_ROOT=$1 # <-- wordpress root directory
WS_GROUP=nogroup # <-- 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