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.
134 lines
3.9 KiB
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 |
|
|
|
|
|
|