forked from SimplesIP/install_pabx
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.
120 lines
3.5 KiB
120 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" |
|
|
|
|
|
|
|
|
|
|