update-paths.sh 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/bash
  2. SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
  3. BASE_DIR="$(dirname "$SCRIPT_DIR")"
  4. echo "Base directory detected as: $BASE_DIR"
  5. mkdir -p "$BASE_DIR/config"
  6. mkdir -p "$BASE_DIR/logs/python"
  7. mkdir -p "$BASE_DIR/logs/php"
  8. mkdir -p "$BASE_DIR/logs/nginx"
  9. touch "$BASE_DIR/logs/python/proxy.log"
  10. touch "$BASE_DIR/logs/php/webui.log"
  11. touch "$BASE_DIR/logs/nginx/nginx-access.log"
  12. touch "$BASE_DIR/logs/nginx/nginx-error.log"
  13. chmod -R 775 "$BASE_DIR/logs"
  14. chmod 664 "$BASE_DIR/logs/python/proxy.log"
  15. chmod 664 "$BASE_DIR/logs/php/webui.log"
  16. chmod 664 "$BASE_DIR/logs/nginx/nginx-access.log"
  17. chmod 664 "$BASE_DIR/logs/nginx/nginx-error.log"
  18. if [ $(id -u) -eq 0 ]; then
  19. # Get the current user who is running sudo
  20. ACTUAL_USER=$(logname || echo "$SUDO_USER")
  21. echo "Setting ownership to $ACTUAL_USER:www-data"
  22. chown -R $ACTUAL_USER:www-data "$BASE_DIR/logs"
  23. else
  24. echo "Warning: Not running as root, ownership not changed. May need to manually adjust file ownership."
  25. echo "Consider running: sudo chown -R $(whoami):www-data $BASE_DIR/logs"
  26. fi
  27. CONFIG_FILE="$BASE_DIR/config/config.env"
  28. echo "Updating paths in $CONFIG_FILE"
  29. sed -i "s|EMAILPROXY_LOG_FILE=.*|EMAILPROXY_LOG_FILE=$BASE_DIR/logs/python/proxy.log|" "$CONFIG_FILE"
  30. sed -i "s|EMAILPROXY_CONFIG_FILE=.*|EMAILPROXY_CONFIG_FILE=$BASE_DIR/config/emailproxy.config|" "$CONFIG_FILE"
  31. sed -i "s|EMAILPROXY_AUTH_CONFIG=.*|EMAILPROXY_AUTH_CONFIG=$BASE_DIR/config/emailproxy-auth.config|" "$CONFIG_FILE"
  32. sed -i "s|DEBUG_WEB_LOG_FILE=.*|DEBUG_WEB_LOG_FILE=$BASE_DIR/logs/php/webui.log|" "$CONFIG_FILE"
  33. PY_FILE="$BASE_DIR/emailproxy-ui.py"
  34. echo "Updating path in $PY_FILE"
  35. sed -i "s|CONFIG_FILE = .*|CONFIG_FILE = \"$BASE_DIR/config/config.env\"|" "$PY_FILE"
  36. UI_PHP="$BASE_DIR/emailproxy-ui.php"
  37. echo "Updating path in $UI_PHP"
  38. sed -i "s|\$config = parse_ini_file(.*|\$config = parse_ini_file('$BASE_DIR/config/config.env');|" "$UI_PHP"
  39. NGINX_CONF="$BASE_DIR/config/nginx-emailproxy.conf"
  40. echo "Updating paths in $NGINX_CONF"
  41. sed -i "s|access_log .*|access_log $BASE_DIR/logs/nginx/nginx-access.log;|" "$NGINX_CONF"
  42. sed -i "s|error_log .*|error_log $BASE_DIR/logs/nginx/nginx-error.log;|" "$NGINX_CONF"
  43. echo "updated the paths lol"
  44. echo "Log directories:"
  45. echo " - Python logs: $BASE_DIR/logs/python"
  46. echo " - PHP logs: $BASE_DIR/logs/php"
  47. echo " - Nginx logs: $BASE_DIR/logs/nginx"