Улучшение определения пользователя Apache в install.sh

This commit is contained in:
root 2026-03-16 06:05:06 +00:00
parent 6079443938
commit 04f1611d99

View File

@ -10,7 +10,7 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
INSTALL_DIR="$SCRIPT_DIR" INSTALL_DIR="$SCRIPT_DIR"
CONFIG_FILE="$INSTALL_DIR/config/config.php" CONFIG_FILE="$INSTALL_DIR/config/config.php"
DATA_DIR="/data" DATA_DIR="/data"
APACHE_USER="www-data" # APACHE_USER задаётся ниже после определения типа веб-сервера (apache2 → www-data, httpd → apache)
echo "==========================================" echo "=========================================="
echo "F7cloud Client Installation Script" echo "F7cloud Client Installation Script"
@ -71,6 +71,33 @@ else
exit 1 exit 1
fi fi
# Пользователь веб-сервера: под Debian/Ubuntu (apache2) — www-data, под RHEL/CentOS (httpd) — apache
# Переменная окружения APACHE_USER переопределяет автоопределение
if [ -n "${APACHE_USER:-}" ]; then
: # уже задан из окружения
else
if [ "$APACHE_SERVICE" = "httpd" ]; then
APACHE_USER="apache"
else
APACHE_USER="www-data"
fi
fi
# Проверка, что пользователь существует (на некоторых системах есть только www-data)
if ! id "$APACHE_USER" &>/dev/null; then
if [ "$APACHE_USER" = "apache" ]; then
echo "Пользователь apache не найден, используется www-data"
APACHE_USER="www-data"
else
echo "Пользователь www-data не найден, используется apache"
APACHE_USER="apache"
fi
fi
if ! id "$APACHE_USER" &>/dev/null; then
echo "Ошибка: не найден пользователь веб-сервера (ни www-data, ни apache). Создайте пользователя или задайте APACHE_USER."
exit 1
fi
echo "✓ Пользователь веб-сервера: $APACHE_USER"
echo "✓ Apache установлен" echo "✓ Apache установлен"
# Включить необходимые модули Apache # Включить необходимые модули Apache