Files

30 lines
1.2 KiB
Bash

#!/usr/bin/env bash
# Fix ownership/permissions for the Bitrix webroot after deploy or update.
set -euo pipefail
SITE_DIR="${1:-/home/bitrix/www}"
WEB_USER="bitrix"
[[ -d "$SITE_DIR" ]] || { echo "no $SITE_DIR"; exit 1; }
echo "==> chown -R $WEB_USER:$WEB_USER on writable trees"
for d in upload local bitrix/cache bitrix/managed_cache bitrix/stack_cache \
bitrix/tmp bitrix/backup bitrix/updates .; do
[[ -e "$SITE_DIR/$d" ]] && chown -R "$WEB_USER:$WEB_USER" "$SITE_DIR/$d"
done
echo "==> chmod core skeleton"
find "$SITE_DIR" -type d \( -path "$SITE_DIR/bitrix/modules" -o -path "$SITE_DIR/bitrix/themes" \
-o -path "$SITE_DIR/upload" \) -prune -exec chmod {} 755 \;
chmod 755 "$SITE_DIR"
echo "==> ensure runtime dirs exist and are writable"
mkdir -p "$SITE_DIR"/upload/{,1c_exchange,import_files} \
"$SITE_DIR"/bitrix/{cache,managed_cache,stack_cache,tmp} \
/tmp/php_sessions/www /tmp/php/upload
chown -R "$WEB_USER:$WEB_USER" "$SITE_DIR"/upload \
"$SITE_DIR"/bitrix/{cache,managed_cache,stack_cache,tmp} \
/tmp/php_sessions/www /tmp/php/upload
chmod -R u=rwX,g=rX,o= "$SITE_DIR"/bitrix/tmp 2>/dev/null || true
echo "==> done. sessions dir is 700/$WEB_USER."