| Server IP : 5.101.180.230 / Your IP : 216.73.216.104 [ Web Server : Apache/2.4.62 (Debian) System : Linux s4261ad19.fastvps-server.com 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 User : mrnews_ru_usr ( 1030) PHP Version : 8.2.26 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/ |
Upload File : |
#!/bin/bash
# Массивы с данными о новых сайтах
domains=(
"allfixed.ru" "dagb.ru" "deroseproject.ru" "cleex.ru" "keywordium.ru" "nerehtahp.ru"
"teams-up.ru" "watercycle.ru" "knit-story.ru" "baziscompany.ru" "ematik.ru" "elm-stroy.ru"
"domuskvera.ru" "masterakomforta.ru" "domsippanel.ru" "golicinoavto.ru" "artdom-select.ru"
"gosty-dom.ru" "avtogear-mir.ru" "chasti-avto.ru" "autoliftspot.ru" "gross-auto.ru"
"inpino.ru" "autolavki.ru" "fastsmet.ru" "nfhgmk.ru" "metelicanur.ru" "mobiqa.ru" "tehno-draiv.ru"
)
users=(
"allfixed_ru_usr" "dagb_ru_usr" "deroseprojec_usr" "cleex_ru_usr" "keywordium_r_usr" "nerehtahp_ru_usr"
"teams_up_ru_usr" "watercycle_r_usr" "knit_story_r_usr" "baziscompany_usr" "ematik_ru_usr" "elm_stroy_ru_usr"
"domuskvera_r_usr" "masterakomfo_usr" "domsippanel__usr" "golicinoavto_usr" "artdom_selec_usr"
"gosty_dom_ru_usr" "avtogear_mir_usr" "chasti_avto_usr" "autoliftspot_usr" "gross_auto_r_usr"
"inpino_ru_usr" "autolavki_ru_usr" "fastsmet_ru_usr" "nfhgmk_ru_usr" "metelicanur_usr" "mobiqa_ru_usr" "tehno_draiv_usr"
)
# Массив для хранения паролей приложений
all_app_passwords=()
# Цикл по сайтам
for i in "${!domains[@]}"; do
domain=${domains[$i]}
user=${users[$i]}
path="/var/www/$user/data/www/$domain"
echo "--------------------------------------------"
echo "🔹 Настраиваем сайт: $domain под пользователя: $user"
echo "Путь к сайту: $path"
echo "--------------------------------------------"
# Проверяем, существует ли пользователь на сервере
if id "$user" &>/dev/null; then
echo "✅ Пользователь $user найден, продолжаем..."
else
echo "❌ Ошибка: Пользователь $user не существует!"
continue
fi
# Проверяем, существует ли папка с WordPress
if [ ! -f "$path/wp-config.php" ]; then
echo "❌ Ошибка: Папка $path не является установкой WordPress!"
continue
fi
# Убедимся, что плагин Application Passwords установлен и активирован
echo "Устанавливаем/активируем плагин Application Passwords..."
su - "$user" -c "wp --path='$path' plugin install application-passwords --activate --allow-root"
if [ $? -eq 0 ]; then
echo "✅ Плагин 'Application Passwords' установлен и активирован."
else
echo "⚠️ Плагин 'Application Passwords' уже может быть установлен."
fi
# Имя пользователя CMS с ролью редактора
editor_user="Redactor"
# Проверяем, существует ли пользователь Redactor в WordPress
user_exists=$(su - "$user" -c "wp --path='$path' user list --field=user_login | grep -w '$editor_user'" 2>/dev/null)
if [ -z "$user_exists" ]; then
echo "❌ Ошибка: Пользователь $editor_user не найден на сайте $domain. Пропускаем сайт."
continue
fi
echo "✅ Пользователь $editor_user найден на сайте $domain."
# Создание пароля приложения
echo "Создаем пароль приложения для пользователя $editor_user..."
app_password=$(su - "$user" -c "wp --path='$path' app-password create '$editor_user' 'Redactor API Access' --allow-root")
if [ $? -eq 0 ]; then
echo "✅ Пароль приложения успешно создан:"
all_app_passwords+=("Домен: $domain, Пользователь: $editor_user, Пароль приложения: $app_password")
else
echo "❌ Ошибка создания пароля приложения для пользователя $editor_user на сайте $domain"
fi
echo "--------------------------------------------"
done
# Вывод всех паролей приложений в конце
echo "--------------------------------------------"
echo "🔐 Все созданные пароли приложений:"
for password_info in "${all_app_passwords[@]}"; do
echo "$password_info"
done
echo "--------------------------------------------"