Last active
September 19, 2018 08:58
-
-
Save tomasevich/c86551d4db57d959d9e553ca393c63c2 to your computer and use it in GitHub Desktop.
1С-Битрикс: Веб-окружение (bitrix-env-ru.sh)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# variables | |
LOGS_FILE=$(mktemp /tmp/bitrix-env-XXXXX.log) | |
RELEASE_FILE=/etc/redhat-release | |
OS=$(awk '{print $1}' $RELEASE_FILE) | |
MYSQL_CNF=$HOME/.my.cnf | |
DEFAULT_SITE=/home/bitrix/www | |
POOL=0 | |
[[ -z $SILENT ]] && SILENT=0 | |
[[ -z $TEST_REPOSITORY ]] && TEST_REPOSITORY=0 | |
BX_NAME=$(basename $0 | sed -e "s/\.sh$//") | |
if [[ $BX_NAME == "bitrix-env-crm" || $BX_NAME == "bitrix-env-crm-beta" ]]; then | |
BX_PACKAGE="bitrix-env-crm" | |
BX_TYPE=crm | |
else | |
BX_PACKAGE="bitrix-env" | |
BX_TYPE=general | |
fi | |
if [[ $(echo "$BX_NAME" | grep -c beta) -gt 0 ]]; then | |
TEST_REPOSITORY=1 | |
fi | |
# common subs | |
print(){ | |
msg=$1 | |
notice=${2:-0} | |
[[ ( $SILENT -eq 0 ) && ( $notice -eq 1 ) ]] && echo -e "${msg}" | |
[[ ( $SILENT -eq 0 ) && ( $notice -eq 2 ) ]] && echo -e "\e[1;31m${msg}\e[0m" | |
echo "$(date +"%FT%H:%M:%S"): $$ : $msg" >> $LOGS_FILE | |
} | |
print_e(){ | |
msg_e=$1 | |
print "$msg_e" 2 | |
print "Установка лог-файла - $LOGS_FILE" 1 | |
exit 1 | |
} | |
help_message(){ | |
echo <<EOF | |
Использование: $0 [-s] [-t] [-p [-H hostname]] [-M mysql_root_password] | |
-s - Тихая установка, не задает вопросов. | |
-p - Создать пул после установки $BX_PACKAGE. | |
-H - Имя хоста для процедуры создания пула. | |
-M - Mysql пароль для пользователя root. | |
-t - Использовать alfa/testing версию 1С-Битрикс: Веб-окружение репозиторий. | |
Примеры: | |
* Установка $BX_PACKAGE и конфигурация пула | |
$0 -s -p -H master1 | |
* Установка $BX_PACKAGE, конфигурация пула и установка пароля mysql | |
$0 -s -p -H master1 -M 'password' | |
EOF | |
} | |
disable_selinux(){ | |
sestatus_cmd=$(which sestatus 2>/dev/null) | |
[[ -z $sestatus_cmd ]] && return 0 | |
sestatus=$($sestatus_cmd | awk -F':' '/SELinux status:/{print $2}' | sed -e "s/\s\+//g") | |
seconfigs="/etc/selinux/config /etc/sysconfig/selinux" | |
if [[ $sestatus != "disabled" ]]; then | |
print "Вы должны отключить SElinux перед установкой 1С-Битрикс: Веб-окружение." 1 | |
print "Вы должны перезагрузить сервер для отключение SELinux" | |
read -r -p "Вы хотите отключить SELinux?(Y|n)" DISABLE | |
[[ -z $DISABLE ]] && DISABLE=y | |
[[ $(echo $DISABLE | grep -wci "y") -eq 0 ]] && print_e "Exit." | |
for seconfig in $seconfigs; do | |
[[ -f $seconfig ]] && \ | |
sed -i "s/SELINUX=\(enforcing\|permissive\)/SELINUX=disabled/" $seconfig && \ | |
print "Изменить SELinux состояние на отключен в $seconfig" 1 | |
done | |
print "Пожалуйста, перезагрузите сервер! (cmd: reboot)" 1 | |
exit | |
fi | |
} | |
# EPEL | |
configure_epel(){ | |
# testing rpm package | |
EPEL=$(rpm -qa | grep -c 'epel-release') | |
if [[ $EPEL -gt 0 ]]; then | |
print "EPEL репозиторий уже сконфигурирован на этом сервере." 1 | |
return 0 | |
fi | |
# links | |
print "Получение конфигураций репозитория EPEL, пожалуйста ожидайте." 1 | |
if [[ $VER -eq 6 ]]; then | |
LINK="https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm" | |
GPGK="https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6" | |
else | |
LINK="https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm" | |
GPGK="https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7" | |
fi | |
# configure repository | |
rpm --import "$GPGK" >>$LOGS_FILE 2>&1 || \ | |
print_e "Произошла ошибка при импорте EPEL GPG ключа: $GPGK" | |
rpm -Uvh "$LINK" >>$LOGS_FILE 2>&1 || \ | |
print_e "Произошла ошибка при установке EPEL rpm-package: $LINK" | |
# exclude ansible1.9 | |
echo "exclude=ansible1.9" >> /etc/yum.conf | |
# install packages | |
yum clean all >/dev/null 2>&1 | |
yum install -y yum-fastestmirror >/dev/null 2>&1 | |
print "Конфигурация репозитория EPEL завершена." 1 | |
} | |
pre_php(){ | |
print "Включить remi репозиторий" | |
sed -i -e '/\[remi\]/,/^\[/s/enabled=0/enabled=1/' /etc/yum.repos.d/remi.repo | |
print "Отключить php56 репозиторий" | |
sed -i -e '/\[remi-php56\]/,/^\[/s/enabled=1/enabled=0/' /etc/yum.repos.d/remi.repo | |
print "Отключить php70 репозиторий" | |
sed -i -e '/\[remi-php70\]/,/^\[/s/enabled=1/enabled=0/' /etc/yum.repos.d/remi-php70.repo | |
print "Включить php71 репозиторий" | |
sed -i -e '/\[remi-php71\]/,/^\[/s/enabled=0/enabled=1/' /etc/yum.repos.d/remi-php71.repo | |
is_xhprof=$(rpm -qa | grep -c php-pecl-xhprof) | |
if [[ $is_xhprof -gt 0 ]]; then | |
yum -y remove php-pecl-xhprof | |
fi | |
} | |
# REMI; php and mysql packages | |
configure_remi(){ | |
# testing rpm package | |
EPEL=$(rpm -qa | grep -c 'remi-release') | |
if [[ $EPEL -gt 0 ]]; then | |
print "REMI репозиторий уже сконфигурирован на этом сервере." 1 | |
return 0 | |
fi | |
# links | |
print "Получение конфигураций репозитория REMI, пожалуйста ожидайте." 1 | |
GPGK="http://rpms.famillecollet.com/RPM-GPG-KEY-remi" | |
if [[ $VER -eq 6 ]]; then | |
LINK="http://rpms.famillecollet.com/enterprise/remi-release-6.rpm" | |
else | |
LINK="http://rpms.famillecollet.com/enterprise/remi-release-7.rpm" | |
fi | |
# configure repository | |
rpm --import "$GPGK" >>$LOGS_FILE 2>&1 || \ | |
print_e "Произошла ошибка при импорте REMI GPG ключа: $GPGK" | |
rpm -Uvh "$LINK" >>$LOGS_FILE 2>&1 || \ | |
print_e "Произошла ошибка при установке REMI rpm-package: $LINK" | |
# configure php 5.6 | |
} | |
configure_mariadb(){ | |
# testing rpm package | |
REPOTEST=$(yum repolist | grep -c 'mariadb') | |
if [[ $REPOTEST -gt 0 ]]; then | |
print "MariaDB репозиторий уже сконфигурирован на этом сервере." 1 | |
return 0 | |
fi | |
if [[ $IS_CENTOS7 -gt 0 ]]; then | |
tee /etc/yum.repos.d/mariadb.repo << EOF | |
# MariaDB 5.5 CentOS repository list - created 2016-07-14 08:15 UTC | |
# http://downloads.mariadb.org/mariadb/repositories/ | |
[mariadb] | |
name = MariaDB | |
baseurl = http://yum.mariadb.org/5.5/centos7-amd64 | |
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB | |
gpgcheck=1 | |
EOF | |
print "Конфигурация репозитория MariaDB завершена." 1 | |
else | |
print "Конфигурация репозитория MariaDB пропущена." 1 | |
fi | |
} | |
configure_percona(){ | |
# testing rpm package | |
REPOTEST=$(rpm -qa | grep -c 'percona-release') | |
if [[ $REPOTEST -gt 0 ]]; then | |
print "Percona репозиторий уже сконфигурирован на этом сервере." 1 | |
return 0 | |
fi | |
# links | |
GPGK="http://www.percona.com/downloads/RPM-GPG-KEY-percona" | |
LINK="http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm" | |
# configure repository | |
rpm --import "$GPGK" >>$LOGS_FILE 2>&1 || \ | |
print_e "Произошла ошибка при импорте Percona GPG ключа: $GPGK" | |
rpm -Uvh "$LINK" >>$LOGS_FILE 2>&1 || \ | |
print_e "Произошла ошибка при установке Percona rpm-package: $LINK" | |
print "Конфигурация репозитория Percona завершена." 1 | |
} | |
configure_nodejs(){ | |
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash - >>$LOGS_FILE 2>&1 | |
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 | |
} | |
prepare_percona_install(){ | |
# test installed package | |
INSTALLED_PACKAGES=$(rpm -qa) | |
if [[ $(echo "$INSTALLED_PACKAGES" | grep -c "mariadb") -gt 0 ]]; then | |
MARIADB_PACKAGES=$(echo "$INSTALLED_PACKAGES" | grep "mariadb") | |
if [[ $(echo "$MARIADB_PACKAGES" | grep -vc "mariadb-libs") -gt 0 ]]; then | |
print \ | |
"Найден установленный сервер MariaDB. Пропустить удаление mariadb-libs." | |
else | |
yum -y remove mariadb-libs >/dev/null 2>&1 | |
print "Удален пакет mariadb-libs" | |
fi | |
fi | |
if [[ $(echo "$INSTALLED_PACKAGES" | grep -c "mysql") -gt 0 ]]; then | |
MYSQL_PACKAGES=$(echo "$INSTALLED_PACKAGES" | grep "mysql-libs") | |
if [[ $(echo "$MYSQL_PACKAGES" | grep -vc "mysql-libs") -gt 0 ]]; then | |
print \ | |
"Найден установленный сервер MySQL. Пропустить удаление mysql-libs." | |
else | |
yum -y remove mysql-libs >/dev/null 2>&1 | |
print "Удален пакет mysql-libs" | |
fi | |
fi | |
} | |
configure_exclude(){ | |
if [[ $(grep -c "exclude" /etc/yum.conf) -gt 0 ]]; then | |
sed -i \ | |
's/^exclude=.\+/exclude=ansible1.9,mysql,mariadb,mariadb-*,Percona-XtraDB-*,Percona-*-55,Percona-*-56,Percona-*-51,Percona-*-50/' \ | |
/etc/yum.conf | |
else | |
echo 'exclude=ansible1.9,mysql,mariadb,mariadb-*,Percona-XtraDB-*,Percona-*-55,Percona-*-56,Percona-*-51,Percona-*-50' >> /etc/yum.conf | |
fi | |
} | |
# Bitrix; bitrix-env, bx-nginx | |
configure_bitrix(){ | |
# testing bitrix repository | |
EPEL=$(yum repolist enabled | grep ^bitrix -c) | |
if [[ $EPEL -gt 0 ]]; then | |
print "Bitrix репозиторий уже сконфигурирован на этом сервере." 1 | |
return 0 | |
fi | |
# configure testing repository | |
REPO=yum | |
REPONAME=bitrix | |
[[ $TEST_REPOSITORY -eq 1 ]] && \ | |
REPO=yum-beta && REPONAME=bitrix-beta | |
[[ $TEST_REPOSITORY -eq 2 ]] && REPO=yum-testing | |
# get GPG key | |
print "Получение конфигураций репозитория Bitrix, пожалуйста ожидайте." 1 | |
GPGK="http://repos.1c-bitrix.ru/yum/RPM-GPG-KEY-BitrixEnv" | |
rpm --import "$GPGK" >>$LOGS_FILE 2>&1 || \ | |
print_e "Произошла ошибка при импорте Bitrix GPG ключа: $GPGK" | |
# create yum config file | |
REPOF=/etc/yum.repos.d/bitrix.repo | |
echo "[$REPONAME]" > $REPOF | |
echo "name=\$OS \$releasever - \$basearch" >> $REPOF | |
echo "failovermethod=priority" >> $REPOF | |
echo "baseurl=http://repos.1c-bitrix.ru/$REPO/el/$VER/\$basearch" >> $REPOF | |
echo "enabled=1" >> $REPOF | |
echo "gpgcheck=1" >> $REPOF | |
echo "gpgkey=$GPGK" >> $REPOF | |
print "Конфигурация репозитория Bitrix завершена." 1 | |
} | |
yum_update(){ | |
print "Обновление системы, пожалуйста ожидайте." 1 | |
yum -y update >>$LOGS_FILE 2>&1 || \ | |
print_e "При обновлении системы произошла ошибка." | |
} | |
ask_for_password(){ | |
MYSQL_ROOTPW= | |
limit=5 | |
until [[ -n "$MYSQL_ROOTPW" ]]; do | |
password_check= | |
if [[ $limit -eq 0 ]]; then | |
print "Использовано максимальное количество попыток для набора пароля. Выход." | |
return 1 | |
fi | |
limit=$(( $limit - 1 )) | |
read -s -r -p "Введите root пароль: " MYSQL_ROOTPW | |
echo | |
read -s -r -p "Повторите root пароль: " password_check | |
if [[ ( -n $MYSQL_ROOTPW ) && ( "$MYSQL_ROOTPW" = "$password_check" ) ]]; then | |
: | |
else | |
[[ "$MYSQL_ROOTPW" != "$password_check" ]] && \ | |
print "Извините, пароли не совпадают! Пожалуйста, попробуйте еще раз." | |
[[ -z "$MYSQL_ROOTPW" ]] && \ | |
print "Извините, пароль не может быть пустым! Пожалуйста, попробуйте еще раз." | |
MYSQL_ROOTPW= | |
fi | |
done | |
} | |
update_mysql_rootpw(){ | |
# update root password | |
esc_pass=$(basic_single_escape "$MYSQL_ROOTPW") | |
if [[ $MYSQL_MID_VERSION -gt 5 ]]; then | |
my_query "ALTER USER 'root'@'localhost' IDENTIFIED BY '$esc_pass';" \ | |
"$mysql_update_config" | |
my_query_rtn=$? | |
else | |
my_query \ | |
"UPDATE mysql.user SET Password=PASSWORD('$esc_pass') WHERE User='root'; FLUSH PRIVILEGES;" \ | |
"$mysql_update_config" | |
my_query_rtn=$? | |
fi | |
if [[ $my_query_rtn -eq 0 ]]; then | |
log_to_file "MySQL password update successfully" | |
print "Обновление пароля MySQL прошло успешно" 1 | |
rm -f $mysql_update_config | |
else | |
log_to_file "MySQL password update failed" | |
rm -f $mysql_update_config | |
return 1 | |
fi | |
# update client config | |
my_config | |
log_to_file "Update client config=$MYSQL_CNF" | |
print "Обновление клиента config=$MYSQL_CNF" 1 | |
} | |
configure_mysql_passwords(){ | |
[[ -z $MYSQL_VERSION ]] && \ | |
get_mysql_package | |
# start mysql | |
my_start | |
log_to_file \ | |
"Start update root password for MySQL Version=$MYSQL_VERSION($MYSQL_MID_VERSION)" | |
ASK_USER_FOR_PASSWORD=0 | |
if [[ ! -f $MYSQL_CNF ]]; then | |
log_to_file "Not found default client config=$MYSQL_CNF" | |
if [[ $MYSQL_MID_VERSION -eq 7 ]]; then | |
MYSQL_LOG_FILE=/var/log/mysqld.log | |
MYSQL_ROOTPW=$(grep 'temporary password' $MYSQL_LOG_FILE | awk '{print $NF}') | |
MYSQL_ROOTPW_TYPE=temporary | |
else | |
MYSQL_ROOTPW= | |
MYSQL_ROOTPW_TYPE=empty | |
fi | |
# test root has empty password | |
local my_temp=$MYSQL_CNF.temp | |
my_config "$my_temp" | |
my_query "status;" "$my_temp" | |
my_query_rtn=$? | |
if [[ $my_query_rtn -gt 0 ]] ; then | |
log_to_file "Found $MYSQL_ROOTPW_TYPE password; but it does not work" | |
ASK_USER_FOR_PASSWORD=1 | |
mysql_update_config= | |
else | |
ASK_USER_FOR_PASSWORD=2 | |
mysql_update_config=$my_temp | |
fi | |
else | |
MYSQL_ROOTPW_TYPE=saved | |
log_to_file "Found default client config=$MYSQL_CNF" | |
my_query "status;" | |
my_query_rtn=$? | |
if [[ $my_query_rtn -gt 0 ]] ; then | |
log_to_file "Found $MYSQL_ROOTPW_TYPE password; but it does not work" | |
ASK_USER_FOR_PASSWORD=1 | |
mysql_update_config= | |
else | |
test_empty_password=$(cat $MYSQL_CNF | grep password | \ | |
awk -F'=' '{print $2}' | sed -e "s/^\s\+//;s/\s\+$//" ) | |
if [[ ( -z $test_empty_password ) || \ | |
( $test_empty_password == '""' ) || \ | |
( $test_empty_password == "''" ) ]]; then | |
ASK_USER_FOR_PASSWORD=2 | |
cp -f $MYSQL_CNF $MYSQL_CNF.temp | |
mysql_update_config=$MYSQL_CNF.temp | |
fi | |
fi | |
fi | |
if [[ $ASK_USER_FOR_PASSWORD -eq 1 ]]; then | |
log_to_file "Found $MYSQL_ROOTPW_TYPE root password; but it is does not work!" | |
if [[ $SILENT -eq 0 ]]; then | |
print "Найден $MYSQL_ROOTPW_TYPE root пароль, но он не подходит!" 2 | |
read -r -p "Вы хотите обновить $MYSQL_CNF конфигурацию клиента?(Y|n): " \ | |
user_answer | |
[[ $( echo "$user_answer" | grep -wci "\(No\|n\)" ) -gt 0 ]] && return 1 | |
# update client config | |
ask_for_password | |
[[ $? -gt 0 ]] && return 2 | |
else | |
if [[ -n "$MYPASSWORD" ]]; then | |
MYSQL_ROOTPW="${MYPASSWORD}" | |
else | |
log_to_file "User choose silent mode. Cannot set correct mysql password" | |
return 1 | |
fi | |
fi | |
my_config | |
print "Обновление клиента config=$MYSQL_CNF" 1 | |
elif [[ $ASK_USER_FOR_PASSWORD -eq 2 ]]; then | |
log_to_file "Found $MYSQL_ROOTPW_TYPE root password; but you need to change it!" | |
print "Найден $MYSQL_ROOTPW_TYPE root пароль, но его нужно изменить!" 2 | |
if [[ $SILENT -eq 0 ]]; then | |
read -r -p "Вы хотите изменить пароль root для MySQL сервиса?(Y|n): " \ | |
user_answer | |
[[ $( echo "$user_answer" | grep -wci "\(No\|n\)" ) -gt 0 ]] && return 1 | |
# update root password and create client config | |
ask_for_password | |
[[ $? -gt 0 ]] && return 2 | |
else | |
if [[ -n "$MYPASSWORD" ]]; then | |
MYSQL_ROOTPW="${MYPASSWORD}" | |
else | |
MYSQL_ROOTPW="$(randpw)" | |
fi | |
fi | |
update_mysql_rootpw | |
else | |
log_to_file "Test $MYSQL_ROOTPW_TYPE root password - pass" | |
if [[ -n "${MYPASSWORD}" ]]; then | |
MYSQL_ROOTPW="${MYPASSWORD}" | |
update_mysql_rootpw | |
else | |
if [[ ( $SILENT -eq 0 ) && ( $MYSQL_MID_VERSION -eq 7 ) ]]; then | |
print "Корневая учетная запись, созданная во время процедуры установки MySQL." 1 | |
print "Вы можете найти пароль root в файле конфигурации клиента $HOME/.my.cnf." 2 | |
fi | |
fi | |
fi | |
# configure additinal options | |
my_additional_security | |
log_to_file "Main configuration of mysql security is complete" | |
print "Основная конфигурация безопасности MySQL завершена" 1 | |
} | |
# testing effective UID | |
[[ $EUID -ne 0 ]] && \ | |
print_e "Этот скрипт должен быть запущен как root или он не будет работать" | |
# testing OS name | |
[[ $OS != "CentOS" ]] && \ | |
print_e "Этот скрипт предназначен для использования в ОС CentOS Linux; Текущая ОС=$OS" | |
# get cmd options | |
while getopts ":H:M:spt" opt; do | |
case $opt in | |
"H") HOSTIDENT="${OPTARG}" ;; | |
"M") MYPASSWORD="${OPTARG}" ;; | |
"s") SILENT=1 ;; | |
"p") POOL=1 ;; | |
"t") TEST_REPOSITORY=2 ;; | |
esac | |
done | |
# Notification | |
if [[ $SILENT -eq 0 ]]; then | |
print "====================================================================" 2 | |
print "«1С-Битрикс: Веб-окружение для Linux»." 2 | |
print "«Yes» будет принято ко всем ответам и будет установлено по умолчанию." 2 | |
print "«n» или «no» приведет к ответу «Нет», все остальное будет «Yes»." 2 | |
print "Этот скрипт ДОЛЖЕН выполняться под root-ом, иначе он не будет работать" 2 | |
print "====================================================================" 2 | |
ASK_USER=1 | |
else | |
ASK_USER=0 | |
fi | |
# testing Centos vesrion | |
IS_CENTOS7=$(grep -c 'CentOS Linux release' $RELEASE_FILE) | |
IS_CENTOS73=$(grep -c "CentOS Linux release 7.3" $RELEASE_FILE) | |
IS_X86_64=$(uname -p | grep -wc 'x86_64') | |
if [[ $IS_CENTOS7 -gt 0 ]]; then | |
VER=$(awk '{print $4}' $RELEASE_FILE | awk -F'.' '{print $1}') | |
else | |
VER=$(awk '{print $3}' $RELEASE_FILE | awk -F'.' '{print $1}') | |
fi | |
if [[ $BX_PACKAGE == "bitrix-env-crm" ]]; then | |
[[ ( $VER -eq 7 ) ]] || \ | |
print_e "Данный скрипт не поддерживает Centos ${VER}." | |
else | |
[[ ( $VER -eq 7 ) || ( $VER -eq 6 ) ]] || \ | |
print_e "Данный скрипт не поддерживает Centos ${VER}." | |
fi | |
disable_selinux | |
# update all packages | |
yum_update | |
# configure repositories | |
configure_epel | |
configure_remi | |
pre_php | |
configure_percona | |
configure_nodejs | |
configure_bitrix | |
# prepare for percona | |
prepare_percona_install | |
# exclude settings | |
configure_exclude | |
# update all packages (EPEL and REMI packages) | |
yum_update | |
print "Установка php пакетов. Пожалуйста ожидайте." 1 | |
yum -y install php php-mysql \ | |
php-pecl-apcu php-pecl-zendopcache >>$LOGS_FILE 2>&1 || \ | |
print_e "Произошла ошибка при установке php-packages" | |
if [[ $BX_PACKAGE == "bitrix-env-crm" ]]; then | |
yum -y install bx-push-server >>$LOGS_FILE 2>&1 || \ | |
print_e "Произошла ошибка при установке bx-push-server" | |
fi | |
print "Установка $BX_PACKAGE пакетов. Пожалуйста ожидайте." 1 | |
yum -y install $BX_PACKAGE >>$LOGS_FILE 2>&1 || \ | |
print_e "Произошла ошибка при установке пакета $BX_PACKAGE" | |
# upload bitrix proc | |
. /opt/webdir/bin/bitrix_utils.sh || exit 1 | |
configure_mysql_passwords | |
update_crypto_key | |
# default configuration for host | |
if [[ $BX_PACKAGE == "bitrix-env-crm" ]]; then | |
# configure pool | |
generate_ansible_inventory $ASK_USER "$BX_TYPE" "$HOSTIDENT" || \ | |
print_e "Невозможно создать менеджер пулов; Подробней $LOGS_FILE" | |
print "Конфигурация менеджера пулов завершена" 1 | |
# update push | |
generate_push | |
else | |
if [[ $POOL -gt 0 ]]; then | |
generate_ansible_inventory $ASK_USER "$BX_TYPE" "$HOSTIDENT" || \ | |
print_e "Невозможно создать менеджер пулов; Подробней $LOGS_FILE" | |
print "Конфигурация менеджера пулов завершена" 1 | |
else | |
configure_iptables >/dev/null 2>&1 || \ | |
print_e "Невозможно сконфигурировать firewall на сервере; Подробней $LOGS_FILE" | |
print "Конфигурация firewall завершена." 1 | |
fi | |
fi | |
print "Установка 1С-Битрикс: Веб-окружение $BX_PACKAGE завершена." 1 | |
[[ $TEST_REPOSITORY -eq 0 ]] && rm -f $LOGS_FILE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment