После установки aaPanel (FREE 6.8.32) на чистый Debian 12 и перехода во вкладку FTP в панели управления, столкнулся с сообщением о том, что PureFTPd не установлен. По инструкции, я нажал на предложенную ссылку для установки. В открывшемся окне «Message box» начался процесс подключения к серверу, загрузки пакетов и т.д. Однако, после некоторого времени установка PureFTPd не завершилась, и в «Message box» по-прежнему отображалось сообщение об установке.
При переходе во вкладку «Message list» в «Message box» обнаружил только запись о начале установки, но без явных признаков завершения. Дополнительно, при просмотре «Execution log», заметил, что подключение прошло успешно, необходимые файлы были скачаны, однако в процессе выполнения скрипта «public.sh» возникла неустранимая ошибка.
Определенная проблема была выявлена в строке #68 скрипта «public.sh». Поиск решения на официальном форуме не дал конкретного ответа, и проблемы, упомянутые другими пользователями, казались несвязанными. Однако аналогичная проблема возникла у другого пользователя, который просто добавлял новые сайты.Обобщив информацию с форума, было найдено решение, которое, в конечном итоге, позволило успешно установить PureFTPd.
Необходимо через вкладку в панели Files (или через терминал или ssh, как вам удобнее) перейти в директорию, где размещен искомый файл:
/www/server/panel/install/
Нас интересует конкретный файл: public.sh
То есть полный путь к файлу будет следующий:
/www/server/panel/install/public.sh
Открываем данный файл для редактирования и находим 68 строку.
Перед нами будет следующий блок:
GetCpuStat(){
time1=$(cat /proc/stat |grep 'cpu ')
sleep 1
time2=$(cat /proc/stat |grep 'cpu ')
cpuTime1=$(echo ${time1}|awk '{print $2+$3+$4+$5+$6+$7+$8}')
cpuTime2=$(echo ${time2}|awk '{print $2+$3+$4+$5+$6+$7+$8}')
runTime=$((${cpuTime2}-${cpuTime1}))
idelTime1=$(echo ${time1}|awk '{print $5}')
idelTime2=$(echo ${time2}|awk '{print $5}')
idelTime=$((${idelTime2}-${idelTime1}))
useTime=$(((${runTime}-${idelTime})*3))
[ ${useTime} -gt ${runTime} ] && cpuBusy="true"
if [ "${cpuBusy}" == "true" ]; then
cpuCore=$((${cpuInfo}/2))
else
cpuCore=$((${cpuInfo}-1))
fi
}
68 строка будет иметь такое содержимое:
runTime=$((${cpuTime2}-${cpuTime1}))
Необходимо закомментировать данную строку, добавив символ # в начале.
Должно получиться так:
#runTime=$((${cpuTime2}-${cpuTime1}))
Полный код данного куска теперь должен выглядеть так:
GetCpuStat(){
time1=$(cat /proc/stat |grep 'cpu ')
sleep 1
time2=$(cat /proc/stat |grep 'cpu ')
cpuTime1=$(echo ${time1}|awk '{print $2+$3+$4+$5+$6+$7+$8}')
cpuTime2=$(echo ${time2}|awk '{print $2+$3+$4+$5+$6+$7+$8}')
#runTime=$((${cpuTime2}-${cpuTime1}))
idelTime1=$(echo ${time1}|awk '{print $5}')
idelTime2=$(echo ${time2}|awk '{print $5}')
idelTime=$((${idelTime2}-${idelTime1}))
useTime=$(((${runTime}-${idelTime})*3))
[ ${useTime} -gt ${runTime} ] && cpuBusy="true"
if [ "${cpuBusy}" == "true" ]; then
cpuCore=$((${cpuInfo}/2))
else
cpuCore=$((${cpuInfo}-1))
fi
}
После внесения изменений, сохраняем файл и начинаем повторную установку PureFTPd, что в случае успеха, займет некоторое время.
В моем случае, этого оказалось достаточно. Установка была успешно выполнена, можно было начинать работать дальше.
Однако, в качестве еще одного решения, предлагалось так же закомментировать и строку 72, по аналогии со строкой 68. Возможна ситуация, когда для решения вашей проблемы, необходимо это сделать. Без особой нужны, не советую этого делать.
useTime=$(((${runTime}-${idelTime})*3))
Тогда кусок блока будет выглядеть так:
GetCpuStat(){
time1=$(cat /proc/stat |grep 'cpu ')
sleep 1
time2=$(cat /proc/stat |grep 'cpu ')
cpuTime1=$(echo ${time1}|awk '{print $2+$3+$4+$5+$6+$7+$8}')
cpuTime2=$(echo ${time2}|awk '{print $2+$3+$4+$5+$6+$7+$8}')
#runTime=$((${cpuTime2}-${cpuTime1}))
idelTime1=$(echo ${time1}|awk '{print $5}')
idelTime2=$(echo ${time2}|awk '{print $5}')
idelTime=$((${idelTime2}-${idelTime1}))
#useTime=$(((${runTime}-${idelTime})*3))
[ ${useTime} -gt ${runTime} ] && cpuBusy="true"
if [ "${cpuBusy}" == "true" ]; then
cpuCore=$((${cpuInfo}/2))
else
cpuCore=$((${cpuInfo}-1))
fi
}
К этой записи нет комментарий. Ваш будет первым!