|
|
|
# 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"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|