Что касается IS_CENTOS73, здесь вообще ничего не понятно, поскольку единственное место, где используется данная переменная никогда не сработает, если у Вас Centos 7:
Код
configure_nodejs(){
if [[ $IS_CENTOS7 -eq 0 ]]; then
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - >>$LOGS_FILE 2>&1
else
if [[ $IS_CENTOS73 -gt 0 ]]; then
rpm -ivh \
https://kojipkgs.fedoraproject.org//packages/http-parser/2.7.1/3.el7/x86_64/http-parser-2.7.1-3.el7.x86_64.rpm \
>>$LOGS_FILE 2>&1
fi
fi
По сути тут условие else можно удалить и заменить чем-нибудь полезным.
2) Отсутствие ethtool в зависимостях или хотя бы наличие установки данного пакета в скрипте установки окружения, если же без него menu.sh не может корректно работать.
В случае отсутствия ethtool по-умолчанию на сервере получаем следующую ошибку:
Код
/opt/webdir/bin/bitrix_utils.sh: line 644: ethtool: command not found
Теперь по /opt/webdir/bin/bitrix_utils.sh
1) Определение ОС и её версии.
Первый пункт аналогичен первому пункту скрипта установки, разве, что код определения версии отличается:
configure_iptables(){
[[ -z $OS_VERSION ]] && get_os_type
if [[ $OS_VERSION -eq 7 ]]; then
if [[ $() -eq 0 ]]; then
# http://jabber.bx/view.php?id=89409
rpm -qi firewalld >/dev/null 2>&1
if [[ $? -gt 0 ]]; then
log_to_file "$BU0061"
yum -y install firewalld >/dev/null 2>&1
if [[ $? -gt 0 ]]; then
log_to_file "$BU2032"
return 2
fi
fi
systemctl enable firewalld
systemctl start firewalld
if [[ $? -gt 0 ]]; then
log_to_file "$BU2033"
return 2
fi
fi
public_firewalld
public_firewalld_rtn=$?
else
# openvz
iptables -L INPUT -n 1>/dev/null 2>&1
if [[ $? -gt 0 ]]; then
log_to_file "$BU2034"
return 2
fi
if [[ $IS_OPENVZ -gt 0 ]]; then
iptables -I INPUT -m tcp -p tcp --dport 80 -j ACCEPT 1>/dev/null 2>&1 && \
iptables -I INPUT -m tcp -p tcp --dport 443 -j ACCEPT 1>/dev/null 2>&1
if [[ $? -gt 0 ]]; then
log_to_file "$BU2035"
return 2
fi
else
iptables -I INPUT -m tcp -p tcp \
-m state --state NEW --dport 80 -j ACCEPT 1>/dev/null 2>&1 && \
iptables -I INPUT -m tcp -p tcp \
-m state --state NEW --dport 443 -j ACCEPT 1>/dev/null 2>&1
if [[ $? -gt 0 ]]; then
log_to_file "$BU2035"
return 2
fi
fi
log_to_file "$BU0062"
iptables-save > /etc/sysconfig/iptables
return 0
fi
}
Здесь получается в целом неразбериха. Секция, которая срабатывает после условия else предназначается для openvz или она не должна в openvz сработать? Проблема в том, что секция else никогда не сработает для ОС Centos 7.
Если Вам требуется помощь в администрировании, то мы будем рады Вам помочь.
Никакой магии) Учтите что скрипт должен работать и на 6 и на 7 CentOS-ах.
Цитата
Viktor Vakhonin написал: Что касается IS_CENTOS73, здесь вообще ничего не понятно, поскольку единственное место, где используется данная переменная никогда не сработает, если у Вас Centos 7
Спасибо CentOS 7.3 и манипуляциям с зависимостями и пакетами, удалили из epel и не добавили в репу centos7. Как итог nodejs не ставился из-за отсутствия этого пакета (https://bugs.centos.org/view.php?id=13669&nbn=1). Тот кусочек кода - фикс для 7.3. С выходом CentOS 7.4 больше не актуально.
Viktor Vakhonin написал: Если Вам требуется помощь в администрировании, то мы будем рады Вам помочь.
а чем будет заниматься отдел *поддержки* ? Ни тикетов, ни гневных писем формата "Неужели мне продали из коробки нерабочий(?) продукт". Сколько тестеров* придется уволить ... Одни расстройства от Ваших Viktor Vakhonin, предложений.