#!/bin/bash # > ----------------------------------------- # Run that script with bash even if the user use sh/dash or any sh like # interpreter. This way it correctly works with either: # "sh ./my_script.bash" or "bash ./my_script.bash" or "./my_script.bash" if [ -z "$BASH_VERSION" ] then exec bash "$0" "$@" fi # < ----------------------------------------- # NOTE: Evita problemas com caminhos relativos! By Questor SCRIPTDIR_V="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" . $SCRIPTDIR_V/ez_i.bash # > -------------------------------------------------------------------------- # INÍCIO! # -------------------------------------- read -d '' TITLE_F <<"EOF" LBD - LBDoc Installer EOF read -d '' VERSION_F <<"EOF" 0.1.0.0 EOF # NOTE: Para versionamento usar "MAJOR.MINOR.REVISION.BUILDNUMBER"! By Questor # http://programmers.stackexchange.com/questions/24987/what-exactly-is-the-build-number-in-major-minor-buildnumber-revision read -d '' ABOUT_F <<"EOF" This script will install LBD - LBDoc a LightBase aplication! Have fun! =D EOF read -d '' WARNINGS_F <<"EOF" - This installer is compatible with RHEL, SUSE, Debian or distributions based on these. - We RECOMMEND you... Install all the components (answer yes to everything) and use the default values. Except contrary guidance! Check for previous installations! If there is previous installations consider this variant in the process! Although this is not mandatory, do the installation process in an exclusive machine for this. - We NOTICE you... This installer assumes that the target distribution has a "standard setup". This may include components such as firewall, SELinux and others. - We WARNING you... THIS INSTALLER AND RESULTING PRODUCTS COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK! WE ARE NOT RESPONSIBLE FOR ANY DAMAGE TO YOURSELF, HARDWARE, OR CO-WORKERS. EXCEPT IN CASES WHERE THERE ARE SIGNED CONTRACT THAT REGULATES THIS! EOF read -d '' COMPANY_F <<"EOF" BR Light LTDA - LightBase Consulting in Public Software/LightBase Consultoria em Software Público Software livre! Abrace essa idéia!/Free software! Embrace that idea! +55-61-3347-1949/+55-61-3340-6966 - http://brlight.org/ - Brasil-DF EOF f_begin "$TITLE_F" "$VERSION_F" "$ABOUT_F" "$WARNINGS_F" "$COMPANY_F" ABOUT_F="" WARNINGS_F="" # < -------------------------------------------------------------------------- # > -------------------------------------------------------------------------- # TERMOS E LICENÇA! # -------------------------------------- read -d '' TERMS_LICEN_F <<"EOF" BY USING THIS INSTALLER YOU ARE AGREEING TO THE TERMS OF USE OF ALL INVOLVED SOFTWARE! EOF f_terms_licen "$TERMS_LICEN_F" TERMS_LICEN_F="" # < -------------------------------------------------------------------------- # > ----------------------------------------- # Checar se o usuário é root! f_is_root # < ----------------------------------------- # > -------------------------------------------------------------------------- # INTRUÇÕES! # -------------------------------------- read -d '' INSTRUCT_F <<"EOF" - TO CANCEL installation at any time use Ctrl+c! EOF f_instruct "$INSTRUCT_F" INSTRUCT_F="" # < -------------------------------------------------------------------------- DISTRO_TYPE="" DISTRO_NAME="" # > ----------------------------------------- # Checar se a distro é compatível! f_open_section f_about_distro f_div_section echo "DISTRO INFORMATION:" f_div_section echo "NAME: .... ${F_ABOUT_DISTRO_R[0]}" echo "VERSION: . ${F_ABOUT_DISTRO_R[1]}" echo "BASED: ... ${F_ABOUT_DISTRO_R[2]}" echo "ARCH: .... ${F_ABOUT_DISTRO_R[3]}" f_div_section if [[ "${F_ABOUT_DISTRO_R[2]}" == "Debian" ]] || [[ "${F_ABOUT_DISTRO_R[2]}" == "RedHat" ]] || [[ "${F_ABOUT_DISTRO_R[2]}" == "Suse" ]] ; then if [[ "${F_ABOUT_DISTRO_R[2]}" == "Debian" ]] ; then DISTRO_TYPE="DEB" if [[ "${F_ABOUT_DISTRO_R[0]}" == "Ubuntu" ]] ; then DISTRO_NAME="Ubuntu" if [[ "${F_ABOUT_DISTRO_R[1]}" != "14.04" ]] ; then f_div_section f_yes_no "Linux version may be incompatible with this installer (expected: 14.04/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" if [ ${YES_NO_R} -eq 0 ] ; then exit 0 fi fi elif [[ "${F_ABOUT_DISTRO_R[0]}" == "Debian GNU/Linux" ]] ; then DISTRO_NAME="Debian" if [[ "${F_ABOUT_DISTRO_R[1]}" != "8" ]] ; then f_div_section f_yes_no "Linux version may be incompatible with this installer (expected: 8/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" if [ ${YES_NO_R} -eq 0 ] ; then exit 0 fi fi else f_div_section f_yes_no "Linux distro may be incompatible with this installer (expected: Ubuntu or Debian/obtained: ${F_ABOUT_DISTRO_R[0]})! Continue?" if [ ${YES_NO_R} -eq 0 ] ; then exit 0 fi fi elif [[ "${F_ABOUT_DISTRO_R[2]}" == "RedHat" ]] ; then DISTRO_TYPE="RH" if [[ "${F_ABOUT_DISTRO_R[0]}" == "Red Hat Enterprise Linux Server" ]] ; then DISTRO_NAME="RedHat" if [[ "${F_ABOUT_DISTRO_R[1]}" != "7"* ]] ; then f_div_section f_yes_no "Linux version may be incompatible with this installer (expected: 7.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" if [ ${YES_NO_R} -eq 0 ] ; then exit 0 fi fi elif [[ "${F_ABOUT_DISTRO_R[0]}" == "CentOS Linux" ]] ; then DISTRO_NAME="CentOS" if [[ "${F_ABOUT_DISTRO_R[1]}" != "7"* ]] ; then f_div_section f_yes_no "Linux version may be incompatible with this installer (expected: 7.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" if [ ${YES_NO_R} -eq 0 ] ; then exit 0 fi fi else f_div_section f_yes_no "Linux distro may be incompatible with this installer (expected: CentOS or Red Hat Enterprise Linux Server/obtained: ${F_ABOUT_DISTRO_R[0]})! Continue?" if [ ${YES_NO_R} -eq 0 ] ; then exit 0 fi fi elif [[ "${F_ABOUT_DISTRO_R[2]}" == "Suse" ]] ; then DISTRO_TYPE="SUSE" if [[ "${F_ABOUT_DISTRO_R[0]}" == "openSUSE" ]] ; then DISTRO_NAME="openSUSE" if [[ "${F_ABOUT_DISTRO_R[1]}" != "13."* ]] ; then f_div_section f_yes_no "Linux version may be incompatible with this installer (expected: 13.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" if [ ${YES_NO_R} -eq 0 ] ; then exit 0 fi fi elif [[ "${F_ABOUT_DISTRO_R[0]}" == "SLES" ]] ; then DISTRO_NAME="SLES" if [[ "${F_ABOUT_DISTRO_R[1]}" != "12."* ]] ; then f_div_section f_yes_no "Linux version may be incompatible with this installer (expected: 12.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" if [ ${YES_NO_R} -eq 0 ] ; then exit 0 fi fi else f_div_section f_yes_no "Linux distro may be incompatible with this installer (expected: openSUSE or SUSE Linux Enterprise Server/obtained: ${F_ABOUT_DISTRO_R[0]})! Continue?" if [ ${YES_NO_R} -eq 0 ] ; then exit 0 fi fi fi if [[ "${F_ABOUT_DISTRO_R[3]}" != "x86_64" ]] ; then f_enter_to_cont "Linux architecture completely incompatible with this installer (expected: x86_64/obtained: ${F_ABOUT_DISTRO_R[3]})!" exit 0 fi else f_enter_to_cont "Linux distro completely incompatible with this installer (expected: Debian (or based) or RedHat (or based) or SUSE (or based)/obtained: ${F_ABOUT_DISTRO_R[2]})!" exit 0 fi f_close_section # < ----------------------------------------- # > ----------------------------------------- # Dá ao usuário a possibilidade de usar o instalador no modo rápido. Bom para # conhecer/testar o sistema de forma simples sem preucupar-se com configurações! # NOTE: É possível forçar o processo de instalação no modo rápido setando # "FAST_INST" com 1! By Questor FAST_INST=0 if [ ${FAST_INST} -eq 0 ] ; then f_open_section f_div_section f_yes_no "Use fast install (use default values for most of the options)? NOTE: RECOMMENDED FOR THOSE who want to KNOW and TEST the LB system components quickly and easily. DO NOT USE FOR PRODUCTION ENVIRONMENT! If YES the installation of all LB system components MUST AND WILL BE LOCAL! Use it?" if [ ${YES_NO_R} -eq 1 ] ; then # NOTE: Essa variável serve apenas para "preservar" o valor # setado pelo usuário sendo somente "leitura". A variável a # ser usada nas regras deve ser "EZ_I_SKIP_ON_V" (ez_i.bash)! Essa # estratégia serve para mudarmos o comportamento do "ez_i.bash" # de acordo com as circunstâncias! By Questor FAST_INST=1 # NOTE: Essa variável é para consumo do "ez_i.bash", para que ele # não execute algumas funções e torne o processo de # instalação mais simples! By Questor EZ_I_SKIP_ON_V=1 fi f_close_section sleep 1 fi # < ----------------------------------------- # > ----------------------------------------- # Desabilita o SElinux! if [[ "$DISTRO_TYPE" == "RH" ]] ; then EZ_I_SKIP_ON_V=0 f_open_section f_div_section f_yes_no "Disable SElinux (use "y" if you never did it)?" if [ ${YES_NO_R} -eq 1 ] ; then setenforce 0 # NOTE: As condições abaixo visam evitar que o arquivo seja # desnecessariamente e erroneamente modificado! By Questor EZ_I_SKIP_ON_V=$FAST_INST f_fl_cont_str "# SELINUX=enforcing" "/etc/sysconfig/selinux" "The file \"/etc/sysconfig/selinux\" probably has already been changed! Check it!" EZ_I_SKIP_ON_V=0 if [ ${FL_CONT_STR_R} -eq 0 ] ; then f_fl_cont_str "SELINUX=disabled" "/etc/sysconfig/selinux" if [ ${FL_CONT_STR_R} -eq 0 ] ; then f_ez_sed "SELINUX=enforcing" "# SELINUX=enforcing\nSELINUX=disabled" "/etc/sysconfig/selinux" fi fi fi f_close_section fi # < ----------------------------------------- # > ----------------------------------------- # Atualizar a distro (repositório)! EZ_I_SKIP_ON_V=$FAST_INST f_open_section if [[ "$DISTRO_TYPE" == "RH" ]] ; then if [[ "$DISTRO_NAME" == "RedHat" ]] ; then RESOURCES_ARR_P=("Red Hat Enterprise Linux Server") f_chk_distro_status "$DISTRO_NAME" RESOURCES_ARR_P[@] fi f_div_section f_yes_no "Update your distro? (\"y\" highly recommended)" if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then yum -y update fi f_pack_is_inst "git" "yum" "\"git\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install git fi elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then f_div_section f_yes_no "Update your distro? (\"y\" highly recommended)" if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then apt-get -y update fi f_pack_is_inst "git" "apt-get" "\"git\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install git fi elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then if [[ "$DISTRO_NAME" == "SLES" ]] ; then RESOURCES_ARR_P=("SUSE_Linux_Enterprise_Server_12_SP1_x86_64" "SUSE_Linux_Enterprise_Software_Development_Kit_12_SP1_x86_64" "Web_and_Scripting_Module_12_x86_64") f_chk_distro_status "SLES" RESOURCES_ARR_P[@] fi f_div_section f_yes_no "Update your distro? (\"y\" highly recommended)" if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then zypper --non-interactive update fi f_pack_is_inst "git-core" "zypper" "\"git-core\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install git-core fi fi f_close_section # < ----------------------------------------- # > ----------------------------------------- # Instalar pacotes que são comuns a determinados componentes! F_COM_PKS_INSTALLED=0 f_common_packs() { : 'Instalar pacotes que são comuns a determinados componentes.' if [ ${F_COM_PKS_INSTALLED} -eq 0 ] ; then if [[ "$DISTRO_TYPE" == "RH" ]] ; then f_pack_is_inst "gcc-c++" "yum" "\"gcc-c++\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install gcc-c++ fi f_pack_is_inst "libtool" "yum" "\"libtool\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install libtool fi f_pack_is_inst "zlib-devel" "yum" "\"zlib-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install zlib-devel fi elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then f_pack_is_inst "g++" "apt-get" "\"g++\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install g++ fi f_pack_is_inst "autoconf" "apt-get" "\"autoconf\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install autoconf fi f_pack_is_inst "make" "apt-get" "\"make\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install make fi f_pack_is_inst "libtool" "apt-get" "\"libtool\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install libtool fi f_pack_is_inst "zlib1g-dev" "apt-get" "\"zlib1g-dev\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install zlib1g-dev fi elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then f_pack_is_inst "gcc-c++" "zypper" "\"gcc-c++\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install gcc-c++ fi if [[ "$DISTRO_NAME" != "SLES" ]] ; then f_pack_is_inst "automake" "zypper" "\"automake\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install automake fi f_pack_is_inst "make" "zypper" "\"make\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install make fi f_pack_is_inst "libtool" "zypper" "\"libtool\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install libtool fi fi f_pack_is_inst "zlib-devel" "zypper" "\"zlib-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install zlib-devel fi fi F_COM_PKS_INSTALLED=1 fi } # < ----------------------------------------- # > ----------------------------------------- # Passa comando para serviços conforme a distro em execução! f_svc_helper() { : 'Passa comando para serviços conforme a distro em execução. Args: SVC_HLP_NM_P (str): Nome do serviço. SVC_HLP_CMD_P (str): Comando para o serviço executar. SVC_HLP_IN_SILENCE (Optional[int]): 1 - Sem saída para o terminal; 0 - Com saída para o terminal. Padrão 0. ' SVC_HLP_NM_P=$1 SVC_HLP_CMD_P=$2 SVC_HLP_IN_SILENCE=$3 if [ -z "$SVC_HLP_IN_SILENCE" ] ; then SVC_HLP_IN_SILENCE=0 fi if [ ${SVC_HLP_IN_SILENCE} -eq 1 ] ; then SVC_HLP_SILENCE_CMD=" &>/dev/null" fi if [[ "$DISTRO_TYPE" == "RH" ]] ; then eval "systemctl $SVC_HLP_CMD_P $SVC_HLP_NM_P.service$SVC_HLP_SILENCE_CMD" elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then eval "service $SVC_HLP_NM_P $SVC_HLP_CMD_P$SVC_HLP_SILENCE_CMD" elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then eval "service $SVC_HLP_NM_P $SVC_HLP_CMD_P$SVC_HLP_SILENCE_CMD" fi } # < ----------------------------------------- # > ----------------------------------------- # Abrir o firewall para uma porta definida para um dado serviço f_fire_hlp() { : 'Abrir o firewall para uma porta definida para um dado serviço. Args: FIRE_SVC_NM_P (str): Nome do serviço. FIRE_PORT_P (int): Porta a ser aberta. ' FIRE_SVC_NM_P=$1 FIRE_PORT_P=$2 if [[ "$DISTRO_TYPE" == "RH" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then EZ_I_SKIP_ON_V=$FAST_INST if [[ "$DISTRO_TYPE" == "RH" ]] ; then f_div_section f_yes_no "Open firewall for $FIRE_SVC_NM_P (TCP $FIRE_PORT_P)?" if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then f_chk_iptables $FIRE_PORT_P "Port $FIRE_PORT_P is already open!" 0 "ACCEPT" "tcp" "NEW" if [ ${F_CHK_IPTABLES_R} -eq 1 ] ; then firewall-cmd --zone=public --add-port=$FIRE_PORT_P/tcp --permanent firewall-cmd --reload fi fi elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then f_div_section f_yes_no "Open firewall for $FIRE_SVC_NM_P (TCP $FIRE_PORT_P)?" if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then f_chk_iptables $FIRE_PORT_P "Port $FIRE_PORT_P is already open!" 0 "ACCEPT" "tcp" if [ ${F_CHK_IPTABLES_R} -eq 1 ] ; then SuSEfirewall2 open EXT TCP $FIRE_PORT_P SuSEfirewall2 stop SuSEfirewall2 start fi fi fi fi } # < ----------------------------------------- # > -------------------------------------------------------------------------- # INSTALAÇÃO DO LBDOC! # -------------------------------------- # > ----------------------------------------- # Instalar o Apache (httpd)! HTTPD_SERV_NAME="" HTTPD_USR="" HTTPD_GRP="" HTTPD_DEF_DOC_ROOT="" APACHE_INST=0 if [[ "$DISTRO_TYPE" == "RH" ]] ; then HTTPD_SERV_NAME="httpd" HTTPD_USR="apache" HTTPD_GRP="apache" HTTPD_DEF_DOC_ROOT="/var/www" elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then HTTPD_SERV_NAME="apache2" HTTPD_USR="www-data" HTTPD_GRP="www-data" HTTPD_DEF_DOC_ROOT="/var/www" elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then HTTPD_SERV_NAME="apache2" HTTPD_USR="wwwrun" HTTPD_GRP="www" HTTPD_DEF_DOC_ROOT="/srv/www" fi f_inst_apache() { : 'Instala o Apache e seta uma porta diferente se esse for o caso! Args: APACHE_PORT (Optional[int]): Porta a ser configurada para o Apache. Padrão 80. DONT_PROMPT_TO_INST (Optional[int]): Não questiona o usuário se deseja instalar. Padrão 0. ' APACHE_PORT=$1 if [ -z "$APACHE_PORT" ] ; then APACHE_PORT=80 fi DONT_PROMPT_TO_INST=$2 if [ -z "$DONT_PROMPT_TO_INST" ] ; then DONT_PROMPT_TO_INST=0 fi if [ ${DONT_PROMPT_TO_INST} -eq 1 ] || [ ${FAST_INST} -eq 1 ] ; then EZ_I_SKIP_ON_V=1 else EZ_I_SKIP_ON_V=$FAST_INST f_div_section fi f_yes_no "Install Apache ($HTTPD_SERV_NAME)?" if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then EZ_I_SKIP_ON_V=$FAST_INST f_common_packs if [[ "$DISTRO_TYPE" == "RH" ]] ; then f_pack_is_inst "httpd-devel" "yum" "Apache ($HTTPD_SERV_NAME) already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install httpd-devel httpd f_svc_helper "$HTTPD_SERV_NAME" "enable" if (( $APACHE_PORT != 80 )); then f_fl_cont_str "# Listen 80" "$HTTPD_CONF_PATH_MAIN/httpd.conf" "The file \"$HTTPD_CONF_PATH_MAIN/httpd.conf\" probably has already been changed! Check it!" if [ ${FL_CONT_STR_R} -eq 0 ] ; then f_ez_sed "Listen 80" "# Listen 80\nListen $APACHE_PORT" "$HTTPD_CONF_PATH_MAIN/httpd.conf" fi fi fi elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then f_pack_is_inst "apache2-dev" "apt-get" "Apache ($HTTPD_SERV_NAME) already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install apache2-dev apache2 update-rc.d -f $HTTPD_SERV_NAME remove update-rc.d $HTTPD_SERV_NAME defaults if (( $APACHE_PORT != 80 )); then f_fl_cont_str "# Listen 80" "$HTTPD_CONF_PATH_MAIN/ports.conf" "The file \"$HTTPD_CONF_PATH_MAIN/ports.conf\" probably has already been changed! Check it!" if [ ${FL_CONT_STR_R} -eq 0 ] ; then f_ez_sed "Listen 80" "# Listen 80\nListen $APACHE_PORT" "$HTTPD_CONF_PATH_MAIN/ports.conf" fi f_fl_cont_str "# " "$HTTPD_CONF_PATH/000-default.conf" "The file \"$HTTPD_CONF_PATH/000-default.conf\" probably has already been changed! Check it!" if [ ${FL_CONT_STR_R} -eq 0 ] ; then f_ez_sed "" "# \n" "$HTTPD_CONF_PATH/000-default.conf" rm -f "$HTTPD_CONF_PATH_E/000-default.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/000-default.conf" "$HTTPD_CONF_PATH_E/000-default.conf" &>/dev/null fi fi fi elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then f_pack_is_inst "apache2-devel" "zypper" "Apache ($HTTPD_SERV_NAME) already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install apache2-devel apache2 chkconfig apache2 on if (( $APACHE_PORT != 80 )); then f_fl_cont_str "# Listen 80" "$HTTPD_CONF_PATH_MAIN/listen.conf" "The file \"$HTTPD_CONF_PATH_MAIN/listen.conf\" probably has already been changed! Check it!" if [ ${FL_CONT_STR_R} -eq 0 ] ; then f_ez_sed "Listen 80" "# Listen 80\nListen $APACHE_PORT" "$HTTPD_CONF_PATH_MAIN/listen.conf" 0 0 1 0 1 fi fi fi fi eval "chown -R $HTTPD_USR $HTTPD_DEF_DOC_ROOT" eval "chown -R :$HTTPD_GRP $HTTPD_DEF_DOC_ROOT" eval "chmod -R 755 $HTTPD_DEF_DOC_ROOT" f_svc_helper "$HTTPD_SERV_NAME" "restart" 1 APACHE_INST=1 fi EZ_I_SKIP_ON_V=$FAST_INST } # < ----------------------------------------- # > ----------------------------------------- # Instalar arquivos de configuração do Apache (httpd) e fontes do LBD - LBDoc! if [[ "$DISTRO_TYPE" == "RH" ]] ; then VAR_LOG_HTTPD="/var/log/httpd" elif [[ "$DISTRO_TYPE" == "DEB" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then VAR_LOG_HTTPD="/var/log/apache2" fi # NOTE: Caminho de instalação do mono com a versão! By Questor MONO_PATH="/opt/mono-4.4.0" EZ_I_SKIP_ON_V=$FAST_INST HTTPD_CONF_PATH="" HTTP_PORT_W=0 f_open_section f_yes_no "Install LBD - LBDoc?" if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then if [[ "$DISTRO_TYPE" == "RH" ]] ; then HTTPD_CONF_PATH="/etc/httpd/conf.d" HTTPD_CONF_PATH_MAIN="/etc/httpd/conf" elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then HTTPD_CONF_PATH="/etc/apache2/sites-available" HTTPD_CONF_PATH_E="/etc/apache2/sites-enabled" HTTPD_CONF_PATH_MAIN="/etc/apache2" elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then HTTPD_CONF_PATH="/etc/apache2/conf.d" HTTPD_CONF_PATH_MAIN="/etc/apache2" fi HTTP_PORT_W=80 QUESTION_F="Enter the port number for Apache (httpd) service. Use empty for \"$HTTP_PORT_W\" (recommended)!" f_div_section f_get_usr_input "$QUESTION_F" 1 QUESTION_F="" if [ -n "$GET_USR_INPUT_R" ] ; then HTTP_PORT_W=$GET_USR_INPUT_R fi f_inst_apache $HTTP_PORT_W 1 f_fire_hlp "Apache (httpd)" $HTTP_PORT_W HT_FOLDER="" if [[ "$DISTRO_TYPE" == "SUSE" ]] ; then mkdir $HTTPD_DEF_DOC_ROOT/html fi f_chk_by_path_hlp "$HTTPD_DEF_DOC_ROOT/html/docslightbase" "d" "\"LBD - LBDoc\" already installed in \"$HTTPD_DEF_DOC_ROOT/html\"!" F_BAK_MD_R=1 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then f_ez_mv_bak "$HTTPD_DEF_DOC_ROOT/html/docslightbase" "Backup old version and update? (\"y\" recommended)" fi if [ ${F_BAK_MD_R} -eq 1 ] ; then cd "$SCRIPTDIR_V" cd ./lbd-src tar -zxvf ./docslightbase.tar.gz mv ./docslightbase $HTTPD_DEF_DOC_ROOT/html/ rm -rf ./docslightbase LBG_URL_F="http://127.0.0.1:8008/lbg" QUESTION_F="Enter the LBG - LBGenerator URL. Use empty for \"$LBG_URL_F\" (LOCALHOST)!" f_div_section f_get_usr_input "$QUESTION_F" 1 f_div_section QUESTION_F="" if [ -n "$GET_USR_INPUT_R" ] ; then LBG_URL_F=$GET_USR_INPUT_R fi f_ez_sed "" "$LBG_URL_F" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/portal/Web.config" 1 f_ez_sed "" "$LBG_URL_F" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/recebidos/Web.config" 1 f_ez_sed "" "$LBG_URL_F" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/manutencao/Web.config" 1 f_ez_sed "" "$LBG_URL_F" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/docspro/Web.config" 1 f_ez_sed "" "$LBG_URL_F" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/atosnotaspareceres/Web.config" 1 f_ez_sed "" "$LBG_URL_F" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/gsa/Web.config" 1 f_ez_sed "" "$LBG_URL_F" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/inativos/Web.config" 1 f_ez_sed "" "$LBG_URL_F" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/apps/Web.config" 1 f_ez_sed "" "$LBG_URL_F" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/expedidos/Web.config" 1 f_ez_sed "" "$LBG_URL_F" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/auditoria/Web.config" 1 fi f_chk_by_path_hlp "$HTTPD_CONF_PATH/expedidos.conf" "f" "\"LBD - LBDoc\" (Apache/httpd) configuration files already installed in \"$HTTPD_CONF_PATH\"!" F_BAK_MD_R=1 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then f_yes_no "Backup old version and update? (\"y\" recommended)" if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then SUFFIX=$(date +"-D%Y-%m-%d-T%H-%M-%S") NEW_FDL="$HTTPD_CONF_PATH/conf-bak$SUFFIX" mkdir "$NEW_FDL" mv "$HTTPD_CONF_PATH/apps.conf" "$NEW_FDL/" mv "$HTTPD_CONF_PATH/atosnotaspareceres.conf" "$NEW_FDL/" mv "$HTTPD_CONF_PATH/auditoria.conf" "$NEW_FDL/" mv "$HTTPD_CONF_PATH/docslightbase.conf" "$NEW_FDL/" mv "$HTTPD_CONF_PATH/docspro.conf" "$NEW_FDL/" mv "$HTTPD_CONF_PATH/expedidos.conf" "$NEW_FDL/" mv "$HTTPD_CONF_PATH/GSA.conf" "$NEW_FDL/" mv "$HTTPD_CONF_PATH/inativos.conf" "$NEW_FDL/" mv "$HTTPD_CONF_PATH/manutencao.conf" "$NEW_FDL/" mv "$HTTPD_CONF_PATH/mod_mono.conf" "$NEW_FDL/" mv "$HTTPD_CONF_PATH/portal.conf" "$NEW_FDL/" mv "$HTTPD_CONF_PATH/recebidos.conf" "$NEW_FDL/" fi F_BAK_MD_R=${YES_NO_R} fi if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${F_BAK_MD_R} -eq 1 ] ; then cd "$SCRIPTDIR_V" cd ./other-srcs-n-apps tar -zxvf ./lbdoc-httpd-conf.tar.gz mv ./lbdoc-httpd-conf/* $HTTPD_CONF_PATH/ rm -rf ./lbdoc-httpd-conf MOD_MONO_SO_PATH="" if [[ "$DISTRO_TYPE" == "RH" ]] ; then MOD_MONO_SO_PATH="/usr/lib64/httpd/modules/mod_mono.so" elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then MOD_MONO_SO_PATH="/usr/lib/apache2/modules/mod_mono.so" elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then MOD_MONO_SO_PATH="/usr/lib64/apache2/mod_mono.so" fi f_ez_sed "" "$MOD_MONO_SO_PATH" "$HTTPD_CONF_PATH/mod_mono.conf" 1 f_ez_sed "" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/apps.conf" 1 f_ez_sed "" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/atosnotaspareceres.conf" 1 f_ez_sed "" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/auditoria.conf" 1 f_ez_sed "" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/docslightbase.conf" 1 f_ez_sed "" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/docspro.conf" 1 f_ez_sed "" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/expedidos.conf" 1 f_ez_sed "" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/GSA.conf" 1 f_ez_sed "" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/inativos.conf" 1 f_ez_sed "" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/manutencao.conf" 1 f_ez_sed "" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/portal.conf" 1 f_ez_sed "" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/recebidos.conf" 1 f_ez_sed "" "$MONO_PATH" "$HTTPD_CONF_PATH/apps.conf" f_ez_sed "" "$MONO_PATH" "$HTTPD_CONF_PATH/atosnotaspareceres.conf" f_ez_sed "" "$MONO_PATH" "$HTTPD_CONF_PATH/auditoria.conf" f_ez_sed "" "$MONO_PATH" "$HTTPD_CONF_PATH/docspro.conf" f_ez_sed "" "$MONO_PATH" "$HTTPD_CONF_PATH/expedidos.conf" f_ez_sed "" "$MONO_PATH" "$HTTPD_CONF_PATH/GSA.conf" f_ez_sed "" "$MONO_PATH" "$HTTPD_CONF_PATH/inativos.conf" f_ez_sed "" "$MONO_PATH" "$HTTPD_CONF_PATH/manutencao.conf" f_ez_sed "" "$MONO_PATH" "$HTTPD_CONF_PATH/portal.conf" f_ez_sed "" "$MONO_PATH" "$HTTPD_CONF_PATH/recebidos.conf" if [[ "$DISTRO_TYPE" == "RH" ]] ; then f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/apps.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/atosnotaspareceres.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/auditoria.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/docslightbase.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/docspro.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/expedidos.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/GSA.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/inativos.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/manutencao.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/portal.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/recebidos.conf" elif [[ "$DISTRO_TYPE" == "DEB" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/apps.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/atosnotaspareceres.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/auditoria.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/docslightbase.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/docspro.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/expedidos.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/GSA.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/inativos.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/manutencao.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/portal.conf" f_ez_sed "" "Require all granted" "$HTTPD_CONF_PATH/recebidos.conf" fi if [[ "$DISTRO_TYPE" == "DEB" ]] ; then ln -s "$HTTPD_CONF_PATH/apps.conf" "/etc/apache2/sites-enabled/apps.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/atosnotaspareceres.conf" "/etc/apache2/sites-enabled/atosnotaspareceres.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/auditoria.conf" "/etc/apache2/sites-enabled/auditoria.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/docslightbase.conf" "/etc/apache2/sites-enabled/docslightbase.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/docspro.conf" "/etc/apache2/sites-enabled/docspro.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/expedidos.conf" "/etc/apache2/sites-enabled/expedidos.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/GSA.conf" "/etc/apache2/sites-enabled/GSA.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/inativos.conf" "/etc/apache2/sites-enabled/inativos.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/manutencao.conf" "/etc/apache2/sites-enabled/manutencao.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/mod_mono.conf" "/etc/apache2/sites-enabled/mod_mono.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/portal.conf" "/etc/apache2/sites-enabled/portal.conf" &>/dev/null ln -s "$HTTPD_CONF_PATH/recebidos.conf" "/etc/apache2/sites-enabled/recebidos.conf" &>/dev/null eval "chown -R $HTTPD_USR /etc/apache2/sites-enabled" eval "chown -R :$HTTPD_GRP /etc/apache2/sites-enabled" eval "chmod -R 755 /etc/apache2/sites-enabled" fi eval "chown -R $HTTPD_USR $HTTPD_CONF_PATH" eval "chown -R :$HTTPD_GRP $HTTPD_CONF_PATH" eval "chmod -R 755 $HTTPD_CONF_PATH" eval "chown -R $HTTPD_USR $HTTPD_DEF_DOC_ROOT" eval "chown -R :$HTTPD_GRP $HTTPD_DEF_DOC_ROOT" eval "chmod -R 755 $HTTPD_DEF_DOC_ROOT" f_svc_helper "$HTTPD_SERV_NAME" "restart" 1 fi fi f_close_section # < ----------------------------------------- # > ----------------------------------------- # Instalar a estrutura básica de dados do LBD - LBDoc! PG_DB_F="lb" EZ_I_SKIP_ON_V=$FAST_INST f_open_section f_yes_no "Install LBD - LBDoc (postgres 9.X) basic LightBase/LBG - LBGenerator data structures? NOTE: This server must be the same server where postgres 9.X is installed!" if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then QUESTION_F="Enter the postgres 9.X database name for LightBase (LBG - LBGenerator). Use empty for \"$PG_DB_F\" (default)!" f_get_usr_input "$QUESTION_F" 1 QUESTION_F="" if [ -n "$GET_USR_INPUT_R" ] ; then PG_DB_F=$GET_USR_INPUT_R fi # NOTE: O objetivo é evitar problemas de permissão de caminho para o # usuário "postgres"! By Questor cd /tmp if sudo -u postgres psql -lqt | cut -d \| -f 1 | grep -qw "$PG_DB_F"; then if [[ `sudo -u postgres psql $PG_DB_F -tAc "SELECT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'lb_doc_expedido');"` = 'f' ]] ; then cd "$SCRIPTDIR_V" cp ./lbd-basic-dt-strt/lbd-basic-dt-strt.pg /tmp cd /tmp chmod 700 lbd-basic-dt-strt.pg chown postgres lbd-basic-dt-strt.pg chown :postgres lbd-basic-dt-strt.pg sudo -u postgres psql $PG_DB_F -f lbd-basic-dt-strt.pg rm -f lbd-basic-dt-strt.pg else EZ_I_SKIP_ON_V=$FAST_INST f_enter_to_cont "Basic \"LBD - LBDoc\" data structure already created in \"$PG_DB_F\" database!" EZ_I_SKIP_ON_V=0 fi else EZ_I_SKIP_ON_V=$FAST_INST f_enter_to_cont "The database \"$PG_DB_F\" does not exist!" EZ_I_SKIP_ON_V=0 fi else f_enter_to_cont "The file \"./lbd-basic-dt-strt/lbd-basic-dt-strt.sql\" has the LBD - LBDoc (postgres 9.X) basic LightBase/LBG - LBGenerator data structures! Check it!" fi f_close_section # < ----------------------------------------- # > ----------------------------------------- # Instalar componentes do LBD - LBDoc/mono! EZ_I_SKIP_ON_V=$FAST_INST f_open_section f_yes_no "Install LBD - LBDoc/mono components?" if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then f_common_packs if [[ "$DISTRO_TYPE" == "RH" ]] ; then f_pack_is_inst "bison" "yum" "\"bison\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install bison fi f_pack_is_inst "cairo-devel" "yum" "\"cairo-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install cairo-devel fi f_pack_is_inst "urw-fonts" "yum" "\"urw-fonts\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install urw-fonts fi f_pack_is_inst "gettext" "yum" "\"gettext\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install gettext fi f_pack_is_inst "unzip" "yum" "\"unzip\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install unzip fi f_pack_is_inst "glib2-devel" "yum" "\"glib2-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install glib2-devel fi f_pack_is_inst "libexif" "yum" "\"libexif\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install libexif fi f_pack_is_inst "libjpeg-turbo-devel" "yum" "\"libjpeg-turbo-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install libjpeg-turbo-devel fi f_pack_is_inst "openjpeg-libs" "yum" "\"openjpeg-libs\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install openjpeg-libs fi f_pack_is_inst "giflib" "yum" "\"giflib\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install giflib fi f_pack_is_inst "libtiff-devel" "yum" "\"libtiff-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then yum -y install libtiff-devel fi elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then f_pack_is_inst "mono-devel" "apt-get" "\"mono-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install mono-devel fi f_pack_is_inst "mono-gmcs" "apt-get" "\"mono-gmcs\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install mono-gmcs fi f_pack_is_inst "libcairo2-dev" "apt-get" "\"libcairo2-dev\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install libcairo2-dev fi f_pack_is_inst "libbison-dev" "apt-get" "\"libbison-dev\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install libbison-dev fi f_pack_is_inst "giflib-tools" "apt-get" "\"giflib-tools\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install giflib-tools fi f_pack_is_inst "libtiff5-dev" "apt-get" "\"libtiff5-dev\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install libtiff5-dev fi f_pack_is_inst "libgdict-1.0-dev" "apt-get" "\"libgdict-1.0-dev\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install libgdict-1.0-dev fi f_pack_is_inst "fonts-texgyre" "apt-get" "\"fonts-texgyre\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install fonts-texgyre fi f_pack_is_inst "tex-gyre" "apt-get" "\"tex-gyre\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install tex-gyre fi f_pack_is_inst "unzip" "apt-get" "\"unzip\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install unzip fi if [[ "$DISTRO_NAME" == "Debian" ]] ; then f_pack_is_inst "glibc-source" "apt-get" "\"glibc-source\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install glibc-source fi else f_pack_is_inst "eglibc-source" "apt-get" "\"eglibc-source\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then apt-get -y install eglibc-source fi fi elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then f_pack_is_inst "bison" "zypper" "\"bison\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install bison fi f_pack_is_inst "cairo-devel" "zypper" "\"cairo-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install cairo-devel fi f_pack_is_inst "freetype-devel" "zypper" "\"freetype-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install freetype-devel fi f_pack_is_inst "gconf2-devel" "zypper" "\"gconf2-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install gconf2-devel fi f_pack_is_inst "giflib-devel" "zypper" "\"giflib-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install giflib-devel fi f_pack_is_inst "gtk2-devel" "zypper" "\"gtk2-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install gtk2-devel fi f_pack_is_inst "intltool" "zypper" "\"intltool\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install intltool fi f_pack_is_inst "libexif-devel" "zypper" "\"libexif-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install libexif-devel fi f_pack_is_inst "libjpeg8-devel" "zypper" "\"libjpeg8-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install libjpeg8-devel fi f_pack_is_inst "libtiff-devel" "zypper" "\"libtiff-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install libtiff-devel fi f_pack_is_inst "xorg-x11-devel" "zypper" "\"xorg-x11-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install xorg-x11-devel fi if [[ "$DISTRO_NAME" != "SLES" ]] ; then f_pack_is_inst "mono-devel" "zypper" "\"mono-devel\" already installed!" if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then zypper --non-interactive install mono-devel fi fi fi cd "$SCRIPTDIR_V" cd ./other-srcs-n-apps UP_LIBGDIPLUS=1 f_chk_by_path_hlp "$MONO_PATH/lib/pkgconfig/libgdiplus.pc" "f" "\"libgdiplus-4.2\" already installed in \"$MONO_PATH\"!" if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then f_div_section f_yes_no "Update/reinstall \"libgdiplus-4.2\"? (\"y\" recommended)" f_div_section UP_LIBGDIPLUS=$YES_NO_R else f_enter_to_cont "Install \"libgdiplus-4.2\"!" fi if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_LIBGDIPLUS} -eq 1 ] ; then tar -zxvf libgdiplus-4.2.tar.gz cd ./libgdiplus-4.2 ./configure --prefix=$MONO_PATH make -j 4 && make install cd .. rm -rf ./libgdiplus-4.2 fi cd "$SCRIPTDIR_V" cd ./other-srcs-n-apps UP_MONO=1 f_chk_by_path_hlp "$MONO_PATH/lib/pkgconfig/mono.pc" "f" "\"mono-4.4.0\" already installed in \"$MONO_PATH\"!" if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then f_div_section f_yes_no "Update/reinstall \"mono-4.4.0\"? (\"y\" recommended)" f_div_section UP_MONO=$YES_NO_R else f_enter_to_cont "Install \"mono-4.4.0\"!" fi if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_MONO} -eq 1 ] ; then tar -zxvf mono-4.4.0.148.tar.gz cd ./mono-4.4.0 ./configure --prefix=$MONO_PATH --with-libgdiplus=$MONO_PATH make -j 4 && make install # NOTE: Esse passo é crucial, pois instrui o OS sobre onde # os componentes do mono estão! By Questor export PATH=$MONO_PATH/bin:$PATH export LD_LIBRARY_PATH=$MONO_PATH/lib:$LD_LIBRARY_PATH export PKG_CONFIG_PATH=$MONO_PATH/lib/pkgconfig:$PKG_CONFIG_PATH cd .. rm -rf ./mono-4.4.0 fi cd "$SCRIPTDIR_V" cd ./other-srcs-n-apps UP_XSP=1 f_chk_by_path_hlp "$MONO_PATH/lib/pkgconfig/xsp-4.pc" "f" "\"xsp-4.2\" already installed in \"$MONO_PATH\"!" if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then f_div_section f_yes_no "Update/reinstall \"xsp-4.2\"? (\"y\" recommended)" f_div_section UP_XSP=$YES_NO_R else f_enter_to_cont "Install \"xsp-4.2\"!" fi if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_XSP} -eq 1 ] ; then tar -zxvf xsp-4.2.tar.gz cd ./xsp-4.2 ./configure --prefix=$MONO_PATH make -j 4 && make install cd .. rm -rf ./xsp-4.2 fi cd "$SCRIPTDIR_V" cd ./other-srcs-n-apps UP_MOD_MONO=1 f_chk_by_path_hlp "$MONO_PATH/share/man/man8/mod_mono.8" "f" "\"mod_mono-3.12\" already installed in \"$MONO_PATH\"!" if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then f_div_section f_yes_no "Update/reinstall \"mod_mono-3.12\"? (\"y\" recommended)" f_div_section UP_MOD_MONO=$YES_NO_R else f_enter_to_cont "Install \"mod_mono-3.12\"!" fi if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_MOD_MONO} -eq 1 ] ; then tar -zxvf mod_mono-3.12.tar.gz cd ./mod_mono-3.12 ./configure --prefix=$MONO_PATH --with-mono-prefix=$MONO_PATH make -j 4 && make install cd .. rm -rf ./mod_mono-3.12 fi f_svc_helper "$HTTPD_SERV_NAME" "restart" 1 fi f_close_section # < ----------------------------------------- # > -------------------------------------------------------------------------- # FINAL! # -------------------------------------- ERROR_LOG_FL="" if [[ "$DISTRO_TYPE" == "RH" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]]; then ERROR_LOG_FL="error_log" elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then ERROR_LOG_FL="error.log" fi EZ_I_SKIP_ON_V=0 read -d '' TITLE_F <<"EOF" Installer finished! Thanks! EOF APACHE_SVC_SYNTAX="" if [[ "$DISTRO_TYPE" == "RH" ]] ; then APACHE_SVC_SYNTAX="systemctl start $HTTPD_SERV_NAME.service systemctl stop $HTTPD_SERV_NAME.service" else APACHE_SVC_SYNTAX="service $HTTPD_SERV_NAME start service $HTTPD_SERV_NAME stop" fi USEFUL_INFO_F=" To start/stop... Apache ($HTTPD_SERV_NAME) $APACHE_SVC_SYNTAX To access... http:///docslightbase/apps/ Initial user... 000.000.000-00/123456 To configure httpd (Apache)... See \"$HTTPD_CONF_PATH\" folder! Log... less $VAR_LOG_HTTPD/$ERROR_LOG_FL" f_end "$TITLE_F" "$USEFUL_INFO_F" TITLE_F="" USEFUL_INFO_F="" # < --------------------------------------------------------------------------