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.
 
 
 
 
 
 

134 lines
3.9 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(){
BEFORE="$(pwd)"
cd $FOLDER
[ ! -d $FOLDER$2 ] && echo "Não existe $FOLDER$1 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
}
function encripta_file(){
openssl enc -aes-256-cbc -pbkdf2 -p -pass pass:\'$PASSWORD\' -in "$FOLDER_PACKAGE$1" -out $FOLDER_PACKAGE${1}.enc
[ $? -ne 0 ] && exit_app "erro criptografar" 2
}
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 "Caminho do endereço para compilar: " FOLDER
#read -p "Senha da criptografia: " PASSWORD
#read -p "Caminho para colocar novo pacote: " FOLDER_PACKAGE
FOLDER="/root/install_simplesip/aplicativo-simplesip"
PASSWORD="123456"
FOLDER_PACKAGE="/root/install"
TAR_APACHE_PABX="sites-available.tar.gz"
TAR_CRONTAB="crontab.tar.gz"
TAR_ETC_ASTERISK="asterisk.tar.gz"
TAR_LIB_ASTERISK="asterisk.tar.gz"
TAR_HTML_APLICATIVO="aplicativo.tar.gz"
TAR_HTML_INCLUDE="include.tar.gz"
TAR_BIN_SIMPLES="bin.tar.gz"
TAR_DATABASE="database.tar.gz"
TAR_MANUAIS="manuais.tar.gz"
TAR_HDAUX_SCRIPTS="scripts.tar.gz"
DIR_APACHE_PABX="etc/apache2/"
DIR_CRONTAB="etc/"
DIR_ETC_ASTERISK="etc/"
DIR_LIB_ASTERISK="var/lib/"
DIR_HTML_APLICATIVO="var/www/html/"
DIR_HTML_INCLUDE="var/www/html/"
DIR_BIN_SIMPLES="usr/"
DIR_DATABASE=""
DIR_HDAUX_MANUAIS="hdaux/utilitarios/"
DIR_HDAUX_SCRIPTS="hdaux/utilitarios/"
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 pasta $FOLDER/app_install.sh" && exit 10
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"
encripta_file "$TAR_HDAUX" "$DIR_HDAUX"
encripta_file "$TAR_VAR" "$TAR_VAR"
encripta_file "$TAR_ETC" "$TAR_ETC"
encripta_file "$TAR_USR" "$TAR_ETC"
encripta_file "$TAR_DATABASE" "$TAR_DATABASE"
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
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
rm "${FOLDER_PACKAGE}app" "${FOLDER_PACKAGE}app.x.c"
echo "Compilado no diretório $FOLDER_PACKAGE"
echo "Resultado: OK"
exit 0