Instalação do PABX 1.8
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
3.5 KiB

# Scrip para criar o pacote de intalação com pasta criptografada
# Criará os pacotes de setará a senha no app_install.sh
function compress_tar(){
echo "Comprimir $FOLDER${2}"
BEFORE="$(pwd)"
cd $FOLDER
[ ! -d $FOLDER$2 ] && echo "Não existe $FOLDER$2 código fonte" && exit 1
tar -czf "$FOLDER_PACKAGE$1" "$2"
[ $? -ne 0 ] && exit_app "Não foi possível comprimir $$2" 5
cd $BEFORE
echo "comprimido: $FOLDER_PACKAGE${1}"
echo
}
function encripta_file(){
echo "Criptografar $FOLDER_PACKAGE${1}"
openssl enc -aes-256-cbc -pbkdf2 -p -pass pass:\'$PASSWORD\' -in "$FOLDER_PACKAGE$1" -out "$FOLDER_PACKAGE${2}"
[ $? -ne 0 ] && exit_app "erro criptografar" 2
echo "criptografado: $FOLDER_PACKAGE${2}"
echo
}
function exit_app(){
echo $1
rm -rf ${FOLDER_PACKAGE}/*
echo "limpando pasta pacote"
exit $2
}
[ ! -f /usr/bin/shc ] && echo "Não está instalado SHC" && exit 5
read -p "Senha da criptografia: " PASSWORD
FOLDER="$DIR_REPOSITORY/$CONFIG_SIMPLESIP"
FOLDER_PACKAGE="/tmp/config_simplesip"
TAR_HDAUX="hdaux.tar.gz"
TAR_VAR="var.tar.gz"
TAR_ETC="etc.tar.gz"
TAR_USR="usr.tar.gz"
TAR_DATABASE="database.tar.gz"
DIR_HDAUX="hdaux"
DIR_VAR="var"
DIR_ETC="etc"
DIR_USR="usr"
DIR_DATABASE="database"
if [ "${FOLDER: -1}" != "/" ]
then
FOLDER="${FOLDER}/"
fi
if [ "${FOLDER_PACKAGE: -1}" != "/" ]
then
FOLDER_PACKAGE="${FOLDER_PACKAGE}/"
fi
[ ! -d "$FOLDER" ] && echo "Não é o diretório de instalação: $FOLDER" && exit 1
[ ! -d "$FOLDER_PACKAGE" ] && mkdir -p "$FOLDER_PACKAGE"
rm -rf ${FOLDER_PACKAGE}/*
[ ! -d $FOLDER$DIR_APACHE_PABX ] && echo "falta pasta $FOLDER$DIR_APACHE_PABX" && exit 10
[ ! -d $FOLDER$DIR_CRONTAB ] && echo "falta pasta $FOLDER$DIR_CRONTAB" && exit 10
[ ! -d $FOLDER$DIR_ETC_ASTERISK ] && echo "falta pasta $FOLDER$DIR_ETC_ASTERISK" && exit 10
[ ! -d $FOLDER$DIR_LIB_ASTERISK ] && echo "falta pasta $FOLDER$DIR_LIB_ASTERISK" && exit 10
[ ! -d $FOLDER$DIR_HTML_INCLUDE ] && echo "falta pasta $FOLDER$DIR_HTML_INCLUDE" && exit 10
[ ! -d $FOLDER$DIR_BIN_SIMPLES ] && echo "falta pasta $FOLDER$DIR_BIN_SIMPLES" && exit 10
[ ! -d $FOLDER$DIR_DATABASE ] && echo "falta pasta $FOLDER$DIR_DATABASE" && exit 10
[ ! -d $FOLDER$DIR_HDAUX_MANUAIS ] && echo "falta pasta $FOLDER$DIR_HDAUX_MANUAIS" && exit 10
[ ! -d $FOLDER$DIR_HDAUX_SCRIPTS ] && echo "falta pasta $FOLDER$DIR_HDAUX_SCRIPTS" && exit 10
[ ! -f $FOLDER/app_install.sh ] && echo "falta arquivo $FOLDER/app_install.sh" && exit 10
echo
echo "____________ COMPRIMIR ____________";
compress_tar "$TAR_HDAUX" "$DIR_HDAUX"
compress_tar "$TAR_VAR" "$DIR_VAR"
compress_tar "$TAR_ETC" "$DIR_ETC"
compress_tar "$TAR_USR" "$DIR_USR"
compress_tar "$TAR_DATABASE" "$DIR_DATABASE"
echo "____________ Criptografar ____________"
encripta_file "$TAR_HDAUX" "${TAR_HDAUX}.enc"
encripta_file "$TAR_VAR" "${TAR_VAR}.enc"
encripta_file "$TAR_ETC" "${TAR_ETC}.enc"
encripta_file "$TAR_USR" "${TAR_USR}.enc"
encripta_file "$TAR_DATABASE" "${TAR_DATABASE}.enc"
rm -rf $(find $FOLDER_PACKAGE -iname "*.tar.gz")
cp ${FOLDER}app_install.sh "${FOLDER_PACKAGE}app"
sed -i "s/^PASSWORD_CRYPT=.*/PASSWORD_CRYPT=$PASSWORD/g" "${FOLDER_PACKAGE}app"
[ "$(cat "${FOLDER_PACKAGE}app" | grep "^PASSWORD_CRYPT" )" != "PASSWORD_CRYPT=$PASSWORD" ] && exit_app "erro definir senha" 50
echo "____________ Gerar binário de instalação da instalador_simplesip ____________"
shc -o "${FOLDER_PACKAGE}instalador_simplesip" -r -U -f "${FOLDER_PACKAGE}app"
[ $? -ne 0 ] && exit_app "Não foi possível compilar bash para binário" 10
echo "gerado ${FOLDER_PACKAGE}app"
echo
rm "${FOLDER_PACKAGE}app" "${FOLDER_PACKAGE}app.x.c"