diff --git a/install.sh b/install.sh index 2b24dd36..353e7bf2 100755 --- a/install.sh +++ b/install.sh @@ -10,7 +10,7 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" INSTALL_DIR="$SCRIPT_DIR" CONFIG_FILE="$INSTALL_DIR/config/config.php" DATA_DIR="/data" -APACHE_USER="www-data" +# APACHE_USER задаётся ниже после определения типа веб-сервера (apache2 → www-data, httpd → apache) echo "==========================================" echo "F7cloud Client Installation Script" @@ -71,6 +71,33 @@ else exit 1 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 установлен" # Включить необходимые модули Apache