Skip to content

Instantly share code, notes, and snippets.

@time-wcrp
Last active December 21, 2015 11:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save time-wcrp/19cf37bdbfa96c53354d to your computer and use it in GitHub Desktop.
Save time-wcrp/19cf37bdbfa96c53354d to your computer and use it in GitHub Desktop.
#!/bin/bash
# credit: https://gist.github.com/actuallymentor/89b643f03df4776112c4
# credit: https://gist.github.com/macbleser/9136424
WP_OWNER=$1 # <-- wordpress owner
WP_GROUP=$2 # <-- wordpress group
WP_ROOT=$4 # <-- wordpress root directory
WS_GROUP=$3 # <-- webserver group
yes | apt-get install jpegoptim;
yes | apt-get install pngquant;
# Optimize JPEG
find "${WP_ROOT}/wp-content/uploads" -name '*.jpg' -exec jpegoptim --max=80 {} \;
# Optimize PNG
find "${WP_ROOT}/wp-content/uploads" -name '*.png' -exec pngquant --ext .png --force 256 {} \;
# 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 .htaccess
touch ${WP_ROOT}/.htaccess
chgrp ${WS_GROUP} ${WP_ROOT}/.htaccess
chmod 664 ${WP_ROOT}/.htaccess
# 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