Commit dbf6f7d1586831b943bf858cbfad7bb1d3079a2c
1 parent
7c72447b
Exists in
master
Correções pontuais! By Questor
Showing
16 changed files
with
1202 additions
and
229 deletions
Show diff stats
README.md
... | ... | @@ -1,44 +0,0 @@ |
1 | -Instalador LBD - LBDoc | |
2 | -============= | |
3 | - | |
4 | -Instalador da aplicação LBD - LBDoc uma aplicação LightBase! Trata-se de uma aplicação LightBase completa e cheia de exemplos de uso. Excelente para a gestão documental foi implementada em Mono/.Net 4.0 podendo ser usada em ambientes Linux ou Windows. Instalador para Linux. | |
5 | - | |
6 | -Instruções: | |
7 | ------ | |
8 | - | |
9 | -Baixe usando o comando... | |
10 | - | |
11 | -``` | |
12 | -git clone git@softwarepublico.gov.br:lightbase/lbdinst.git | |
13 | -``` | |
14 | - | |
15 | -Na pasta principal do projeto instale usando o comando... | |
16 | - | |
17 | -``` | |
18 | -bash install.sh | |
19 | -``` | |
20 | - | |
21 | -O instalador é muito simples, dedutível e todo auto-explicativo. Se o objetivo da instalação é conhecer/testar a plataforma recomendados usar todos os valores padrão sugeridos e responder sim ("y") à tudo! | |
22 | - | |
23 | -**Nota I:** Esse instalador é p/ uso, por hora, no CentOS6/RHEL6! | |
24 | - | |
25 | -LightBase - Direto à informação! | |
26 | -============= | |
27 | - | |
28 | -O que é o LightBase? | |
29 | ------ | |
30 | - | |
31 | -O LightBase começou a ser desenvolvido na década de 80 no Brasil sendo pioneiro no modelo documental, possui características únicas não sendo igualado por nenhum software nacional ou estrangeiro. | |
32 | - | |
33 | -O LightBase foi totalmente reformulado pela BRLight tendo como base a expertise de seus fundadores adquirida em mais de 30 anos de vivência em tecnologia. Essa nova versão foi chamada de LightBaseNeo e traz todas as boas qualidade das versões anteriores, mais paralelização de processamento das informações, paralelização de indexação, paralelização de conteúdo e outros processos e funcionalidades inéditas que visam melhorar a sua performance, manutenção e usabilidade. Essa nova versão está pronta para comportar novos tipos de indexação como fuzzy, web semântica, relacional entre outras sendo bastante dimensionável. | |
34 | - | |
35 | -O LightBaseNeo é um banco de dados textual, de modelo documental mas que também guarda os dados de forma relacional e visa em seu âmago a recuperação ágil e fácil de conteúdo, inclusive textos de arquivos (OCR). Possui dados auto contidos o que torna fácil de estender e manter. O LightBaseNeo possui módulos separados para indexação, para persistência, para recuperação de conteúdo e todos os seus componentes são baseados em tecnologias livres. | |
36 | - | |
37 | - Sendo um banco de dados simples, intuitivo, e fácil de aprender e sua meta é ser acessível para o usuário final, uma vez que seu modelo de composição e sua forma de operar é extremamente simples. Não possui relacionamentos, embora se o desenvolvedor desejar, também poderá utilizar o modelo relacional, isso porque o novo LightBase também é aderente a esse modelo. O LightBaseNeo permite guardar grande quantidade de informação e encontrá-la de forma simples, direta e objetiva. Possui tecnologia livre e nacional sendo um projeto grande e ambicioso, mas que sempre almejou a simplicidade. É um software público que pertence a cada cidadão brasileiro, que pode ser usado de forma irrestrita para tratar das necessidades mais simples às mais complexas. | |
38 | - | |
39 | -Contato | |
40 | ------ | |
41 | - | |
42 | -BR Light LTDA - LightBase Consulting in Public Software/LightBase Consultoria em Software Público | |
43 | -Free Software + Our Ideas = Best Solution!/Software Livre + Nossas Idéias = Melhor Solução! | |
44 | -+55-61-3347-1949 - http://www.LightBase.com.br - Brazil-DF |
ez_i.sh
... | ... | @@ -273,8 +273,9 @@ f_pack_is_inst() { |
273 | 273 | |
274 | 274 | Args: |
275 | 275 | PACKAGE_NM_P (str): Nome do pacote. |
276 | - PACK_MANAG (str): Tipo de gerenciador de pacotes. Apenas yum é | |
277 | - suportado. Em caso diverso o script exibe erro e para. | |
276 | + PACK_MANAG (str): Tipo de gerenciador de pacotes. "yum", | |
277 | + "apt-get" e "zypper" são suportados. Em caso diverso o script | |
278 | + exibe erro e para. | |
278 | 279 | EXIST_MSG_P (Optional[str]): Mensagem a ser exibida se o |
279 | 280 | pacote já estiver instalado. Se vazio ou não informado não será |
280 | 281 | exibida mensagem. |
... | ... | @@ -309,6 +310,30 @@ f_pack_is_inst() { |
309 | 310 | else |
310 | 311 | F_PACK_IS_INST_R=0 |
311 | 312 | fi |
313 | + elif [ "$PACK_MANAG" == "apt-get" ] ; then | |
314 | + if dpkg -s "$PACKAGE_NM_P" &> /dev/null; then | |
315 | + if [ ${SKIP_MSG_P} -eq 0 ] && [ ! -z "$EXIST_MSG_P" ] ; then | |
316 | + f_div_section | |
317 | + echo "$EXIST_MSG_P" | |
318 | + f_div_section | |
319 | + f_enter_to_cont | |
320 | + fi | |
321 | + F_PACK_IS_INST_R=1 | |
322 | + else | |
323 | + F_PACK_IS_INST_R=0 | |
324 | + fi | |
325 | + elif [ "$PACK_MANAG" == "zypper" ] ; then | |
326 | + if zypper se -i --match-word "$PACKAGE_NM_P" > /dev/null 2>&1; then | |
327 | + if [ ${SKIP_MSG_P} -eq 0 ] && [ ! -z "$EXIST_MSG_P" ] ; then | |
328 | + f_div_section | |
329 | + echo "$EXIST_MSG_P" | |
330 | + f_div_section | |
331 | + f_enter_to_cont | |
332 | + fi | |
333 | + F_PACK_IS_INST_R=1 | |
334 | + else | |
335 | + F_PACK_IS_INST_R=0 | |
336 | + fi | |
312 | 337 | else |
313 | 338 | f_div_section |
314 | 339 | echo "ERROR! Not implemented for \"$PACK_MANAG\"!" |
... | ... | @@ -462,6 +487,7 @@ f_is_not_running() { |
462 | 487 | CHK_INVERT=0 |
463 | 488 | fi |
464 | 489 | F_IS_NOT_RUNNING_R=0 |
490 | + | |
465 | 491 | # NOTE: A verificação "grep -v grep" é para que ele não dê positivo |
466 | 492 | # para o próprio comando grep! By Questor |
467 | 493 | F_IS_NOT_RUNNING_R=0 |
... | ... | @@ -484,6 +510,7 @@ f_is_not_running() { |
484 | 510 | |
485 | 511 | F_GET_STDERR_R="" |
486 | 512 | F_GET_STDOUT_R="" |
513 | +F_GET_EXIT_CODE_R=0 | |
487 | 514 | f_get_stderr_stdout() { |
488 | 515 | : 'Executar um comando e colocar a saída de stderr e stdout nas |
489 | 516 | variáveis "F_GET_STDERR_R" e "F_GET_STDOUT_R"!. |
... | ... | @@ -499,8 +526,9 @@ f_get_stderr_stdout() { |
499 | 526 | CMD_TO_EXEC=$1 |
500 | 527 | F_GET_STDERR_R="" |
501 | 528 | F_GET_STDOUT_R="" |
502 | - unset t_std t_err | |
503 | - eval "$( eval "$CMD_TO_EXEC" 2> >(t_err=$(cat); typeset -p t_err) > >(t_std=$(cat); typeset -p t_std) )" | |
529 | + unset t_std t_err t_ret | |
530 | + eval "$( eval "$CMD_TO_EXEC" 2> >(t_err=$(cat); typeset -p t_err) > >(t_std=$(cat); typeset -p t_std); t_ret=$?; typeset -p t_ret )" | |
531 | + F_GET_EXIT_CODE_R=$t_ret | |
504 | 532 | F_GET_STDERR_R=$t_err |
505 | 533 | F_GET_STDOUT_R=$t_std |
506 | 534 | } |
... | ... | @@ -536,7 +564,6 @@ f_ez_mv_bak() { |
536 | 564 | SKIP_MSG_P=1 |
537 | 565 | fi |
538 | 566 | |
539 | - | |
540 | 567 | MK_BAK=1 |
541 | 568 | F_BAK_PATH_R="" |
542 | 569 | F_BAK_NAME_R="" |
... | ... | @@ -565,6 +592,8 @@ f_error_exit() { |
565 | 592 | ERROR_CAUSE_P (Optional[str]): Causa do erro. |
566 | 593 | ' |
567 | 594 | |
595 | + EZ_I_S_ON_HOLDER=$EZ_I_SKIP_ON_V | |
596 | + EZ_I_SKIP_ON_V=0 | |
568 | 597 | ERROR_CAUSE_P=$1 |
569 | 598 | echo |
570 | 599 | f_open_section "E R R O R !" |
... | ... | @@ -575,9 +604,40 @@ f_error_exit() { |
575 | 604 | echo "$ERROR_MSG_NOW_P" |
576 | 605 | echo |
577 | 606 | f_close_section |
607 | + EZ_I_SKIP_ON_V=$EZ_I_S_ON_HOLDER | |
578 | 608 | exit 1 |
579 | 609 | } |
580 | 610 | |
611 | +f_warning_msg() { | |
612 | + : '"Printa" uma mensagem de aviso. | |
613 | + | |
614 | + Args: | |
615 | + WARNING_P (str): aviso. | |
616 | + ASK_FOR_CONT_P (Optional[int]): 1 - Checa se o usuário deseja | |
617 | + continuar com a instalação; 0 - Solicita que pressione "enter". | |
618 | + Padrão 0. | |
619 | + ' | |
620 | + | |
621 | + EZ_I_S_ON_HOLDER=$EZ_I_SKIP_ON_V | |
622 | + EZ_I_SKIP_ON_V=0 | |
623 | + WARNING_P=$1 | |
624 | + ASK_FOR_CONT_P=$2 | |
625 | + if [ -z "$ASK_FOR_CONT_P" ] ; then | |
626 | + ASK_FOR_CONT_P=0 | |
627 | + fi | |
628 | + echo | |
629 | + f_open_section "W A R N I N G !" | |
630 | + echo "$WARNING_P" | |
631 | + echo | |
632 | + f_close_section | |
633 | + if [ ${ASK_FOR_CONT_P} -eq 0 ] ; then | |
634 | + f_enter_to_cont | |
635 | + else | |
636 | + f_continue | |
637 | + fi | |
638 | + EZ_I_SKIP_ON_V=$EZ_I_S_ON_HOLDER | |
639 | +} | |
640 | + | |
581 | 641 | f_continue() { |
582 | 642 | : 'Questionar ao usuário se deseja continuar ou parar a instalação. |
583 | 643 | |
... | ... | @@ -600,8 +660,344 @@ f_continue() { |
600 | 660 | fi |
601 | 661 | } |
602 | 662 | |
663 | +F_SPLIT_R=() | |
664 | +f_split() { | |
665 | + : 'Faz "split" em uma dada string e devolve um array. | |
603 | 666 | |
604 | -# < -------------------------------------------------------------------------- | |
667 | + Args: | |
668 | + TARGET_P (str): String alvo do "split". | |
669 | + DELIMITER_P (Optional[str]): Delimitador usado no "split". | |
670 | + Se não informado o split vai ser feito por espaços em branco. | |
671 | + | |
672 | + Returns: | |
673 | + F_SPLIT_R (array): Array com a string fornecida separada pelo | |
674 | + delimitador informado. | |
675 | + ' | |
676 | + | |
677 | + F_SPLIT_R=() | |
678 | + TARGET_P=$1 | |
679 | + DELIMITER_P=$2 | |
680 | + if [ -z "$DELIMITER_P" ] ; then | |
681 | + DELIMITER_P=" " | |
682 | + fi | |
683 | + | |
684 | + REMOVE_N=1 | |
685 | + if [ "$DELIMITER_P" == "\n" ] ; then | |
686 | + REMOVE_N=0 | |
687 | + fi | |
688 | + | |
689 | + if [ ${REMOVE_N} -eq 1 ] ; then | |
690 | + | |
691 | + # NOTE: Devido a limitações do bash temos alguns problemas para | |
692 | + # poder obter a saída de um split via awk dentro de um array e | |
693 | + # por isso precisamos do uso da "quebra de linha" (\n) para | |
694 | + # termos sucesso! Visto isso, removemos as quebras de linha | |
695 | + # momentaneamente depois as reintegramos! By Questor | |
696 | + TARGET_P=$(echo "$TARGET_P" | awk 'BEGIN {RS="dn" } {gsub("\n","£§¢¬¨") ;printf $0 }') | |
697 | + fi | |
698 | + | |
699 | + SPLIT_NOW=$(awk -F"$DELIMITER_P" '{for(i=1;i<=NF;i++){printf "%s\n", $i}}' <<<"${TARGET_P}") | |
700 | + | |
701 | + while IFS= read -r LINE_NOW; do | |
702 | + if [ ${REMOVE_N} -eq 1 ] ; then | |
703 | + LN_NOW_WITH_N=$(awk 'BEGIN {RS="dn"} {gsub("£§¢¬¨","\n") ;printf $0 }' <<<"${LINE_NOW}") | |
704 | + F_SPLIT_R+=("$LN_NOW_WITH_N") | |
705 | + else | |
706 | + F_SPLIT_R+=("$LINE_NOW") | |
707 | + fi | |
708 | + done <<< "$SPLIT_NOW" | |
709 | +} | |
710 | + | |
711 | +F_ABOUT_DISTRO_R=() | |
712 | +f_about_distro() { | |
713 | + : 'Obter informações sobre a distro. | |
714 | + | |
715 | + Returns: | |
716 | + F_ABOUT_DISTRO_R (array): Array com informações sobre a | |
717 | + distro na seguinte ordem: NAME, VERSION, BASED e ARCH. | |
718 | + ' | |
719 | + | |
720 | + F_ABOUT_DISTRO_R=() | |
721 | + f_get_stderr_stdout "cat /etc/*-release" | |
722 | + ABOUT_INFO=$F_GET_STDOUT_R | |
723 | + | |
724 | + if [[ $ABOUT_INFO == *"ID=debian"* ]] ; then | |
725 | + f_split "$ABOUT_INFO" "\n" | |
726 | + F_SPLIT_R_0=("${F_SPLIT_R[@]}") | |
727 | + TOTAL_0=${#F_SPLIT_R_0[*]} | |
728 | + for (( i=0; i<=$(( $TOTAL_0 -1 )); i++ )) ; do | |
729 | + f_split "${F_SPLIT_R_0[$i]}" "=" | |
730 | + F_SPLIT_R_1=("${F_SPLIT_R[@]}") | |
731 | + TOTAL_1=${#F_SPLIT_R_1[*]} | |
732 | + for (( o=0; o<=$(( $TOTAL_1 -1 )); o++ )) ; do | |
733 | + p=$[$o+1] | |
734 | + case "${F_SPLIT_R_1[$o]}" in | |
735 | + "NAME") | |
736 | + f_split "${F_SPLIT_R_1[$p]}" "\"" | |
737 | + F_SPLIT_R_2=("${F_SPLIT_R[@]}") | |
738 | + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_2[1]}") | |
739 | + ;; | |
740 | + "VERSION_ID") | |
741 | + f_split "${F_SPLIT_R_1[$p]}" "\"" | |
742 | + F_SPLIT_R_3=("${F_SPLIT_R[@]}") | |
743 | + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_3[1]}") | |
744 | + ;; | |
745 | + *) | |
746 | + | |
747 | + ;; | |
748 | + esac | |
749 | + done | |
750 | + done | |
751 | + F_ABOUT_DISTRO_R+=("Debian") | |
752 | + elif [[ $ABOUT_INFO == *"ID=\"sles\""* ]] ; then | |
753 | + f_split "$ABOUT_INFO" "\n" | |
754 | + F_SPLIT_R_0=("${F_SPLIT_R[@]}") | |
755 | + TOTAL_0=${#F_SPLIT_R_0[*]} | |
756 | + for (( i=0; i<=$(( $TOTAL_0 -1 )); i++ )) ; do | |
757 | + f_split "${F_SPLIT_R_0[$i]}" "=" | |
758 | + F_SPLIT_R_1=("${F_SPLIT_R[@]}") | |
759 | + TOTAL_1=${#F_SPLIT_R_1[*]} | |
760 | + for (( o=0; o<=$(( $TOTAL_1 -1 )); o++ )) ; do | |
761 | + p=$[$o+1] | |
762 | + case "${F_SPLIT_R_1[$o]}" in | |
763 | + "NAME") | |
764 | + f_split "${F_SPLIT_R_1[$p]}" "\"" | |
765 | + F_SPLIT_R_2=("${F_SPLIT_R[@]}") | |
766 | + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_2[1]}") | |
767 | + ;; | |
768 | + "VERSION_ID") | |
769 | + f_split "${F_SPLIT_R_1[$p]}" "\"" | |
770 | + F_SPLIT_R_3=("${F_SPLIT_R[@]}") | |
771 | + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_3[1]}") | |
772 | + ;; | |
773 | + *) | |
774 | + | |
775 | + ;; | |
776 | + esac | |
777 | + done | |
778 | + done | |
779 | + F_ABOUT_DISTRO_R+=("Suse") | |
780 | + elif [[ $ABOUT_INFO == *"ID=opensuse"* ]] || | |
781 | + [[ $ABOUT_INFO == *"ID_LIKE=\"suse\""* ]] ; then | |
782 | + f_split "$ABOUT_INFO" "\n" | |
783 | + F_SPLIT_R_0=("${F_SPLIT_R[@]}") | |
784 | + TOTAL_0=${#F_SPLIT_R_0[*]} | |
785 | + for (( i=0; i<=$(( $TOTAL_0 -1 )); i++ )) ; do | |
786 | + f_split "${F_SPLIT_R_0[$i]}" "=" | |
787 | + F_SPLIT_R_1=("${F_SPLIT_R[@]}") | |
788 | + TOTAL_1=${#F_SPLIT_R_1[*]} | |
789 | + for (( o=0; o<=$(( $TOTAL_1 -1 )); o++ )) ; do | |
790 | + p=$[$o+1] | |
791 | + case "${F_SPLIT_R_1[$o]}" in | |
792 | + "NAME") | |
793 | + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[$p]}") | |
794 | + ;; | |
795 | + "VERSION_ID") | |
796 | + f_split "${F_SPLIT_R_1[$p]}" "\"" | |
797 | + F_SPLIT_R_3=("${F_SPLIT_R[@]}") | |
798 | + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_3[1]}") | |
799 | + ;; | |
800 | + *) | |
801 | + | |
802 | + ;; | |
803 | + esac | |
804 | + done | |
805 | + done | |
806 | + F_ABOUT_DISTRO_R+=("Suse") | |
807 | + elif [[ $ABOUT_INFO == *"DISTRIB_ID=Ubuntu"* ]] || | |
808 | + [[ $ABOUT_INFO == *"ID_LIKE=debian"* ]] ; then | |
809 | + f_split "$ABOUT_INFO" "\n" | |
810 | + F_SPLIT_R_0=("${F_SPLIT_R[@]}") | |
811 | + TOTAL_0=${#F_SPLIT_R_0[*]} | |
812 | + for (( i=0; i<=$(( $TOTAL_0 -1 )); i++ )) ; do | |
813 | + f_split "${F_SPLIT_R_0[$i]}" "=" | |
814 | + F_SPLIT_R_1=("${F_SPLIT_R[@]}") | |
815 | + TOTAL_1=${#F_SPLIT_R_1[*]} | |
816 | + for (( o=0; o<=$(( $TOTAL_1 -1 )); o++ )) ; do | |
817 | + p=$[$o+1] | |
818 | + case "${F_SPLIT_R_1[$o]}" in | |
819 | + "DISTRIB_ID") | |
820 | + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[$p]}") | |
821 | + ;; | |
822 | + "DISTRIB_RELEASE") | |
823 | + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[$p]}") | |
824 | + ;; | |
825 | + *) | |
826 | + | |
827 | + ;; | |
828 | + esac | |
829 | + done | |
830 | + done | |
831 | + F_ABOUT_DISTRO_R+=("Debian") | |
832 | + elif [[ $ABOUT_INFO == *"CentOS release "* ]] ; then | |
833 | + f_split "$ABOUT_INFO" "\n" | |
834 | + F_SPLIT_R_0=("${F_SPLIT_R[1]}") | |
835 | + f_split "${F_SPLIT_R_0[0]}" " " | |
836 | + F_SPLIT_R_1=("${F_SPLIT_R[@]}") | |
837 | + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[0]}") | |
838 | + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[2]}") | |
839 | + F_ABOUT_DISTRO_R+=("RedHat") | |
840 | + elif [[ $ABOUT_INFO == *"Red Hat Enterprise Linux Server release "* ]] ; then | |
841 | + f_split "$ABOUT_INFO" "\n" | |
842 | + F_SPLIT_R_0=("${F_SPLIT_R[1]}") | |
843 | + f_split "${F_SPLIT_R_0[0]}" " " | |
844 | + F_SPLIT_R_1=("${F_SPLIT_R[@]}") | |
845 | + F_ABOUT_DISTRO_R+=("Red Hat Enterprise Linux Server") | |
846 | + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[6]}") | |
847 | + F_ABOUT_DISTRO_R+=("RedHat") | |
848 | + else | |
849 | + F_ABOUT_DISTRO_R+=("Unknown") | |
850 | + F_ABOUT_DISTRO_R+=("Unknown") | |
851 | + F_ABOUT_DISTRO_R+=("Unknown") | |
852 | + fi | |
853 | + F_ABOUT_DISTRO_R+=($(arch)) | |
854 | +} | |
855 | + | |
856 | +F_IS_ROOT_R=1 | |
857 | +f_is_root() { | |
858 | + : 'Checar se o usuário é root. | |
859 | + | |
860 | + Args: | |
861 | + CHK_ONLY_P (Optional[int]): 1 - Apenas verifica e retorna o | |
862 | + resultado; 0 - Se não for root emite erro e encerra a execução. | |
863 | + Padrão 0. | |
864 | + | |
865 | + Returns: | |
866 | + F_IS_ROOT_R (int): 1 - É root; 0 - Não é root. | |
867 | + ' | |
868 | + | |
869 | + CHK_ONLY_P=$1 | |
870 | + if [ -z "$CHK_ONLY_P" ] ; then | |
871 | + CHK_ONLY_P=0 | |
872 | + fi | |
873 | + | |
874 | + F_IS_ROOT_R=1 | |
875 | + if [[ $EUID -ne 0 ]]; then | |
876 | + f_enter_to_cont "ERROR! You need to be root!" | |
877 | + F_IS_ROOT_R=0 | |
878 | + if [ ${CHK_ONLY_P} -eq 0 ] ; then | |
879 | + f_error_exit | |
880 | + fi | |
881 | + fi | |
882 | +} | |
883 | + | |
884 | +F_CHK_DISTRO_STATUS_R="" | |
885 | +f_chk_distro_status() { | |
886 | + : 'Verifica se a distro informada está subscrita e/ou registrada | |
887 | + e/ou ativa perante os recursos informados. | |
888 | + | |
889 | + Args: | |
890 | + DISTRO_NAME_P (str): Nome da distro sobre a qual será executada | |
891 | + verificação. | |
892 | + RESOURCES_ARR_P (str): Array com a lista de recursos a serem | |
893 | + verificados na distro alvo. | |
894 | + | |
895 | + Returns: | |
896 | + F_CHK_DISTRO_STATUS_R (str): Possui a saída do comando de | |
897 | + verificação executado. | |
898 | + ' | |
899 | + | |
900 | + F_CHECK_RHEL_R="" | |
901 | + DISTRO_NAME_P=$1 | |
902 | + RESOURCES_ARR_P=("${!2}") | |
903 | + TOTAL_2=${#RESOURCES_ARR_P[*]} | |
904 | + | |
905 | + RES_OK_ARR=() | |
906 | + REDHAT_ACTV=0 | |
907 | + | |
908 | + CHK_RES_CMD="" | |
909 | + if [ "$DISTRO_NAME_P" == "RedHat" ] ; then | |
910 | + CHK_RES_CMD="subscription-manager list --consumed" | |
911 | + f_get_stderr_stdout "$CHK_RES_CMD" | |
912 | + f_split "$F_GET_STDOUT_R" "Subscription Name:" | |
913 | + elif [ "$DISTRO_NAME_P" == "SLES" ] ; then | |
914 | + CHK_RES_CMD="zypper sl" | |
915 | + f_get_stderr_stdout "$CHK_RES_CMD" | |
916 | + f_split "$F_GET_STDOUT_R" "\n" | |
917 | + fi | |
918 | + | |
919 | + F_SPLIT_R_0=("${F_SPLIT_R[@]}") | |
920 | + TOTAL_0=${#F_SPLIT_R_0[*]} | |
921 | + for (( i=0; i<=$(( $TOTAL_0 -1 )); i++ )) ; do | |
922 | + if [[ "$DISTRO_NAME_P" == "RedHat" ]] ; then | |
923 | + f_split "${F_SPLIT_R_0[$i]}" "\n" | |
924 | + F_SPLIT_R_1=("${F_SPLIT_R[@]}") | |
925 | + TOTAL_1=${#F_SPLIT_R_1[*]} | |
926 | + CHK_ACTV=0 | |
927 | + for (( o=0; o<=$(( $TOTAL_1 -1 )); o++ )) ; do | |
928 | + if [[ "${F_SPLIT_R_1[$o]}" == "Provides:"* ]] ; then | |
929 | + CHK_ACTV=1 | |
930 | + fi | |
931 | + if [ ${CHK_ACTV} -eq 1 ] ; then | |
932 | + for (( w=0; w<=$(( $TOTAL_2 -1 )); w++ )) ; do | |
933 | + if [[ "${F_SPLIT_R_1[$o]}" == *"${RESOURCES_ARR_P[$w]}" ]] ; then | |
934 | + RES_OK_ARR+=($w) | |
935 | + break | |
936 | + fi | |
937 | + done | |
938 | + if [ ${REDHAT_ACTV} -eq 0 ] && | |
939 | + [[ "${F_SPLIT_R_1[$o]}" == "Active:"* ]] && | |
940 | + [[ "${F_SPLIT_R_1[$o]}" == *"True" ]] ; then | |
941 | + REDHAT_ACTV=1 | |
942 | + fi | |
943 | + fi | |
944 | + done | |
945 | + elif [[ "$DISTRO_NAME_P" == "SLES" ]] ; then | |
946 | + REDHAT_ACTV=1 | |
947 | + f_split "${F_SPLIT_R_0[$i]}" "|" | |
948 | + F_SPLIT_R_1=("${F_SPLIT_R[@]}") | |
949 | + for (( w=0; w<=$(( $TOTAL_2 -1 )); w++ )) ; do | |
950 | + if [[ "${F_SPLIT_R_1[1]}" == *"${RESOURCES_ARR_P[$w]}"* ]] ; then | |
951 | + if [[ "${F_SPLIT_R_1[3]}" == *"Yes"* ]] ; then | |
952 | + if [[ "${F_SPLIT_R_1[5]}" == *"Yes"* ]] ; then | |
953 | + RES_OK_ARR+=($w) | |
954 | + break | |
955 | + fi | |
956 | + fi | |
957 | + fi | |
958 | + done | |
959 | + fi | |
960 | + done | |
961 | + | |
962 | + WARNINGS_MSGS=() | |
963 | + TOTAL_3=${#RES_OK_ARR[*]} | |
964 | + for (( z=0; z<=$(( $TOTAL_2 -1 )); z++ )) ; do | |
965 | + RES_OK_NOW=1 | |
966 | + for (( t=0; t<=$(( $TOTAL_3 -1 )); t++ )) ; do | |
967 | + if (( ${RES_OK_ARR[$t]} == $z )); then | |
968 | + RES_OK_NOW=0 | |
969 | + break | |
970 | + fi | |
971 | + done | |
972 | + if (( $RES_OK_NOW == 1 )); then | |
973 | + WARNINGS_MSGS+=("$DISTRO_NAME_P does not have access to this resource: \"${RESOURCES_ARR_P[$z]}\".") | |
974 | + fi | |
975 | + done | |
976 | + | |
977 | + TOTAL_4=${#WARNINGS_MSGS[*]} | |
978 | + WAR_MSGS_STR="" | |
979 | + USE_NEWLINE="" | |
980 | + if [ ! $TOTAL_4 -eq 0 ] || [ $REDHAT_ACTV -eq 0 ]; then | |
981 | + WAR_MSGS_STR="SOME PROBLEM APPEAR TO HAVE BEEN DETECTED ON" | |
982 | + if [[ "$DISTRO_NAME_P" == "RedHat" ]] ; then | |
983 | + WAR_MSGS_STR+=" REDHAT SUBSCRIPTION! " | |
984 | + elif [[ "$DISTRO_NAME_P" == "SLES" ]] ; then | |
985 | + WAR_MSGS_STR+=" SLES REGISTRATION! " | |
986 | + fi | |
987 | + WAR_MSGS_STR+="PLEASE CHECK IT!" | |
988 | + for (( y=0; y<=$(( $TOTAL_4 -1 )); y++ )) ; do | |
989 | + if (( $y == 0 )); then | |
990 | + WAR_MSGS_STR+=$'\n\n' | |
991 | + else | |
992 | + USE_NEWLINE=$'\n' | |
993 | + fi | |
994 | + WAR_MSGS_STR+="$USE_NEWLINE -> ${WARNINGS_MSGS[$y]}" | |
995 | + done | |
996 | + WAR_MSGS_STR+=$'\n\n'"FOR MORE INFORMATION TRY: \"$CHK_RES_CMD\"." | |
997 | + f_warning_msg "$WAR_MSGS_STR" 1 | |
998 | + fi | |
999 | + F_CHK_DISTRO_STATUS_R=$F_GET_STDOUT_R | |
1000 | +} | |
605 | 1001 | |
606 | 1002 | # > -------------------------------------------------------------------------- |
607 | 1003 | # GRAFICO! | ... | ... |
install.sh
1 | 1 | #!/bin/bash |
2 | 2 | |
3 | +# > ----------------------------------------- | |
4 | +# Run that script with bash even if the user use sh/dash or any sh like | |
5 | +# interpreter. This way it correctly works with either: | |
6 | +# "sh ./my_script.sh" or "bash ./my_script.sh" or "./my_script.sh" | |
7 | + | |
8 | +if [ -z "$BASH_VERSION" ] | |
9 | +then | |
10 | + exec bash "$0" "$@" | |
11 | +fi | |
12 | + | |
13 | +# < ----------------------------------------- | |
14 | + | |
3 | 15 | # NOTE: Evita problemas com caminhos relativos! By Questor |
4 | 16 | SCRIPTDIR_V="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
5 | 17 | . $SCRIPTDIR_V/ez_i.sh |
... | ... | @@ -23,17 +35,27 @@ Have fun! =D |
23 | 35 | EOF |
24 | 36 | |
25 | 37 | read -d '' WARNINGS_F <<"EOF" |
26 | -- Installer designed for CentOS 6 AMD64/RHEL 6 AMD64! | |
38 | +- This installer is compatible with RHEL, SUSE, Debian or distributions | |
39 | +based on these. | |
27 | 40 | |
28 | 41 | - We RECOMMEND you... |
29 | 42 | Install all the components (answer yes to everything). Except |
30 | 43 | contrary guidance! |
31 | 44 | Check for previous installations! If there is previous |
32 | 45 | installations consider this variant in the process! |
46 | + Although this is not mandatory, do the installation process in an | |
47 | + exclusive machine for this. | |
48 | + | |
49 | +- We NOTICE you... | |
50 | + This installer assumes that the target distribution has a "standard | |
51 | + setup". This may include components such as firewall, SELinux | |
52 | + and others. | |
53 | + | |
33 | 54 | - We WARNING you... |
34 | - USE AT YOUR OWN RISK: WE ARE NOT RESPONSIBLE FOR ANY DAMAGE TO | |
35 | -YOURSELF, HARDWARE, OR CO-WORKERS. EXCEPT IN CASES WHERE THERE ARE | |
36 | -SIGNED CONTRACT THAT REGULATES THIS! | |
55 | + THIS INSTALLER AND RESULTING PRODUCTS COMES WITH ABSOLUTELY NO WARRANTY! | |
56 | + USE AT YOUR OWN RISK! WE ARE NOT RESPONSIBLE FOR ANY DAMAGE TO YOURSELF, | |
57 | + HARDWARE, OR CO-WORKERS. EXCEPT IN CASES WHERE THERE ARE SIGNED CONTRACT | |
58 | + THAT REGULATES THIS! | |
37 | 59 | EOF |
38 | 60 | |
39 | 61 | read -d '' COMPANY_F <<"EOF" |
... | ... | @@ -62,13 +84,18 @@ TERMS_LICEN_F="" |
62 | 84 | |
63 | 85 | # < -------------------------------------------------------------------------- |
64 | 86 | |
87 | +# > ----------------------------------------- | |
88 | +# Checar se o usuário é root! | |
89 | + | |
90 | +f_is_root | |
91 | + | |
92 | +# < ----------------------------------------- | |
93 | + | |
65 | 94 | # > -------------------------------------------------------------------------- |
66 | 95 | # INTRUÇÕES! |
67 | 96 | # -------------------------------------- |
68 | 97 | |
69 | 98 | read -d '' INSTRUCT_F <<"EOF" |
70 | -- To run this script YOU NEED to be root! | |
71 | - | |
72 | 99 | - TO CANCEL installation at any time use Ctrl+c! |
73 | 100 | EOF |
74 | 101 | |
... | ... | @@ -77,6 +104,128 @@ INSTRUCT_F="" |
77 | 104 | |
78 | 105 | # < -------------------------------------------------------------------------- |
79 | 106 | |
107 | +DISTRO_TYPE="" | |
108 | +DISTRO_NAME="" | |
109 | +# > ----------------------------------------- | |
110 | +# Checar se a distro é compatível! | |
111 | + | |
112 | +f_open_section | |
113 | +f_about_distro | |
114 | +f_div_section | |
115 | +echo "DISTRO INFORMATION:" | |
116 | +f_div_section | |
117 | +echo "NAME: .... ${F_ABOUT_DISTRO_R[0]}" | |
118 | +echo "VERSION: . ${F_ABOUT_DISTRO_R[1]}" | |
119 | +echo "BASED: ... ${F_ABOUT_DISTRO_R[2]}" | |
120 | +echo "ARCH: .... ${F_ABOUT_DISTRO_R[3]}" | |
121 | +f_div_section | |
122 | + | |
123 | +if [[ "${F_ABOUT_DISTRO_R[2]}" == "Debian" ]] || [[ "${F_ABOUT_DISTRO_R[2]}" == "RedHat" ]] || | |
124 | + [[ "${F_ABOUT_DISTRO_R[2]}" == "Suse" ]] ; then | |
125 | + if [[ "${F_ABOUT_DISTRO_R[2]}" == "Debian" ]] ; then | |
126 | + DISTRO_TYPE="DEB" | |
127 | + if [[ "${F_ABOUT_DISTRO_R[0]}" == "Ubuntu" ]] ; then | |
128 | + DISTRO_NAME="Ubuntu" | |
129 | + if [[ "${F_ABOUT_DISTRO_R[1]}" != "14.04" ]] ; then | |
130 | + f_div_section | |
131 | + f_yes_no "Linux version may be incompatible with this installer (expected: 14.04/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" | |
132 | + f_div_section | |
133 | + if [ ${YES_NO_R} -eq 0 ] ; then | |
134 | + exit 0 | |
135 | + fi | |
136 | + fi | |
137 | + elif [[ "${F_ABOUT_DISTRO_R[0]}" == "Debian GNU/Linux" ]] ; then | |
138 | + DISTRO_NAME="Debian" | |
139 | + if [[ "${F_ABOUT_DISTRO_R[1]}" != "8" ]] ; then | |
140 | + f_div_section | |
141 | + f_yes_no "Linux version may be incompatible with this installer (expected: 8/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" | |
142 | + f_div_section | |
143 | + if [ ${YES_NO_R} -eq 0 ] ; then | |
144 | + exit 0 | |
145 | + fi | |
146 | + fi | |
147 | + else | |
148 | + f_div_section | |
149 | + f_yes_no "Linux distro may be incompatible with this installer (expected: Ubuntu or Debian/obtained: ${F_ABOUT_DISTRO_R[0]})! Continue?" | |
150 | + f_div_section | |
151 | + if [ ${YES_NO_R} -eq 0 ] ; then | |
152 | + exit 0 | |
153 | + fi | |
154 | + fi | |
155 | + elif [[ "${F_ABOUT_DISTRO_R[2]}" == "RedHat" ]] ; then | |
156 | + DISTRO_TYPE="RH" | |
157 | + if [[ "${F_ABOUT_DISTRO_R[0]}" == "Red Hat Enterprise Linux Server" ]] ; then | |
158 | + DISTRO_NAME="RedHat" | |
159 | + if [[ "${F_ABOUT_DISTRO_R[1]}" != "6."* ]] ; then | |
160 | + f_div_section | |
161 | + f_yes_no "Linux version may be incompatible with this installer (expected: 6.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" | |
162 | + f_div_section | |
163 | + if [ ${YES_NO_R} -eq 0 ] ; then | |
164 | + exit 0 | |
165 | + fi | |
166 | + fi | |
167 | + elif [[ "${F_ABOUT_DISTRO_R[0]}" == "CentOS" ]] ; then | |
168 | + DISTRO_NAME="CentOS" | |
169 | + if [[ "${F_ABOUT_DISTRO_R[1]}" != "6."* ]] ; then | |
170 | + f_div_section | |
171 | + f_yes_no "Linux version may be incompatible with this installer (expected: 6.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" | |
172 | + f_div_section | |
173 | + if [ ${YES_NO_R} -eq 0 ] ; then | |
174 | + exit 0 | |
175 | + fi | |
176 | + fi | |
177 | + else | |
178 | + f_div_section | |
179 | + 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?" | |
180 | + f_div_section | |
181 | + if [ ${YES_NO_R} -eq 0 ] ; then | |
182 | + exit 0 | |
183 | + fi | |
184 | + fi | |
185 | + elif [[ "${F_ABOUT_DISTRO_R[2]}" == "Suse" ]] ; then | |
186 | + DISTRO_TYPE="SUSE" | |
187 | + if [[ "${F_ABOUT_DISTRO_R[0]}" == "openSUSE" ]] ; then | |
188 | + DISTRO_NAME="openSUSE" | |
189 | + if [[ "${F_ABOUT_DISTRO_R[1]}" != "13."* ]] ; then | |
190 | + f_div_section | |
191 | + f_yes_no "Linux version may be incompatible with this installer (expected: 13.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" | |
192 | + f_div_section | |
193 | + if [ ${YES_NO_R} -eq 0 ] ; then | |
194 | + exit 0 | |
195 | + fi | |
196 | + fi | |
197 | + elif [[ "${F_ABOUT_DISTRO_R[0]}" == "SLES" ]] ; then | |
198 | + DISTRO_NAME="SLES" | |
199 | + if [[ "${F_ABOUT_DISTRO_R[1]}" != "12."* ]] ; then | |
200 | + f_div_section | |
201 | + f_yes_no "Linux version may be incompatible with this installer (expected: 12.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?" | |
202 | + f_div_section | |
203 | + if [ ${YES_NO_R} -eq 0 ] ; then | |
204 | + exit 0 | |
205 | + fi | |
206 | + fi | |
207 | + else | |
208 | + f_div_section | |
209 | + 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?" | |
210 | + f_div_section | |
211 | + if [ ${YES_NO_R} -eq 0 ] ; then | |
212 | + exit 0 | |
213 | + fi | |
214 | + fi | |
215 | + fi | |
216 | + | |
217 | + if [[ "${F_ABOUT_DISTRO_R[3]}" != "x86_64" ]] ; then | |
218 | + f_enter_to_cont "Linux architecture completely incompatible with this installer (expected: x86_64/obtained: ${F_ABOUT_DISTRO_R[3]})!" | |
219 | + exit 0 | |
220 | + fi | |
221 | +else | |
222 | + 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]})!" | |
223 | + exit 0 | |
224 | +fi | |
225 | +f_close_section | |
226 | + | |
227 | +# < ----------------------------------------- | |
228 | + | |
80 | 229 | # > ----------------------------------------- |
81 | 230 | # Dá ao usuário mais avançado a possibilideade de usar o instalador |
82 | 231 | # simplificado! |
... | ... | @@ -86,7 +235,7 @@ INSTRUCT_F="" |
86 | 235 | SIMPLE_INST=0 |
87 | 236 | if [ ${SIMPLE_INST} -eq 0 ] ; then |
88 | 237 | f_open_section |
89 | - f_yes_no "Use simple install (using a default value for most of the options)?" | |
238 | + f_yes_no "Use simple install (use default values for most of the options)?" | |
90 | 239 | if [ ${YES_NO_R} -eq 1 ] ; then |
91 | 240 | |
92 | 241 | # NOTE: Essa variável serve apenas para "preservar" o valor |
... | ... | @@ -111,124 +260,309 @@ fi |
111 | 260 | # Garantir o encodamento correto para evitar problemas de |
112 | 261 | # compatibilidade! |
113 | 262 | |
114 | -EZ_I_SKIP_ON_V=$SIMPLE_INST | |
115 | -f_open_section | |
116 | -read -d '' TITLE_F <<"EOF" | |
117 | -Set terminal encode? (recommended for Windows terminal clients) | |
118 | -EOF | |
119 | - | |
120 | -f_yes_no "$TITLE_F" | |
121 | -TITLE_F="" | |
122 | -if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then | |
123 | - export LANG=pt_BR.utf8 | |
263 | +if [ ${SIMPLE_INST} -eq 0 ] ; then | |
264 | + EZ_I_SKIP_ON_V=$SIMPLE_INST | |
265 | + f_open_section | |
266 | + f_yes_no "Set terminal encode? (in some cases recommended for Windows ssh clients)" | |
267 | + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then | |
268 | + export LANG=pt_BR.utf8 | |
269 | + fi | |
270 | + f_close_section | |
124 | 271 | fi |
125 | -f_close_section | |
126 | 272 | |
127 | 273 | # < ----------------------------------------- |
128 | 274 | |
129 | 275 | # > ----------------------------------------- |
130 | 276 | # Desabilita o SElinux! |
131 | 277 | |
132 | -EZ_I_SKIP_ON_V=0 | |
133 | -f_open_section | |
134 | -read -d '' TITLE_F <<"EOF" | |
135 | -Disable SElinux (use "y" if you never did it)? | |
136 | -EOF | |
137 | - | |
138 | -f_yes_no "$TITLE_F" | |
139 | -TITLE_F="" | |
140 | -if [ ${YES_NO_R} -eq 1 ] ; then | |
141 | - setenforce 0 | |
142 | - | |
143 | - # NOTE: As condições abaixo visam evitar que o arquivo seja | |
144 | - # desnecessariamente e erroneamente modificado! By Questor | |
145 | - EZ_I_SKIP_ON_V=$SIMPLE_INST | |
146 | - f_fl_cont_str "# SELINUX=enforcing" "/etc/sysconfig/selinux" "The file \"/etc/sysconfig/selinux\" probably has already been changed! Check it!" | |
278 | +if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
147 | 279 | EZ_I_SKIP_ON_V=0 |
148 | - if [ ${FL_CONT_STR_R} -eq 0 ] ; then | |
149 | - f_fl_cont_str "SELINUX=disabled" "/etc/sysconfig/selinux" | |
280 | + f_open_section | |
281 | + f_yes_no "Disable SElinux (use "y" if you never did it)?" | |
282 | + if [ ${YES_NO_R} -eq 1 ] ; then | |
283 | + setenforce 0 | |
284 | + | |
285 | + # NOTE: As condições abaixo visam evitar que o arquivo seja | |
286 | + # desnecessariamente e erroneamente modificado! By Questor | |
287 | + EZ_I_SKIP_ON_V=$SIMPLE_INST | |
288 | + f_fl_cont_str "# SELINUX=enforcing" "/etc/sysconfig/selinux" "The file \"/etc/sysconfig/selinux\" probably has already been changed! Check it!" | |
289 | + EZ_I_SKIP_ON_V=0 | |
150 | 290 | if [ ${FL_CONT_STR_R} -eq 0 ] ; then |
151 | - f_ez_sed "SELINUX=enforcing" "# SELINUX=enforcing\nSELINUX=disabled" "/etc/sysconfig/selinux" | |
291 | + f_fl_cont_str "SELINUX=disabled" "/etc/sysconfig/selinux" | |
292 | + if [ ${FL_CONT_STR_R} -eq 0 ] ; then | |
293 | + f_ez_sed "SELINUX=enforcing" "# SELINUX=enforcing\nSELINUX=disabled" "/etc/sysconfig/selinux" | |
294 | + fi | |
152 | 295 | fi |
153 | 296 | fi |
297 | + f_close_section | |
154 | 298 | fi |
155 | -f_close_section | |
156 | 299 | |
157 | 300 | # < ----------------------------------------- |
158 | 301 | |
159 | 302 | # > ----------------------------------------- |
160 | -# Instalar o Apache (httpd)! | |
303 | +# Atualizar a distro (repositório)! | |
161 | 304 | |
162 | 305 | EZ_I_SKIP_ON_V=$SIMPLE_INST |
163 | -f_open_section | |
164 | -read -d '' TITLE_F <<"EOF" | |
165 | -Install Apache (httpd)? | |
166 | -EOF | |
167 | - | |
168 | -f_yes_no "$TITLE_F" | |
169 | -TITLE_F="" | |
170 | -if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then | |
171 | - f_pack_is_inst "httpd-devel" "yum" "Apache (httpd) already installed!" | |
306 | +if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
307 | + if [[ "$DISTRO_NAME" == "RedHat" ]] ; then | |
308 | + RESOURCES_ARR_P=("Red Hat Enterprise Linux Server") | |
309 | + f_chk_distro_status "$DISTRO_NAME" RESOURCES_ARR_P[@] | |
310 | + fi | |
311 | + f_div_section | |
312 | + f_yes_no "Update your distro? (\"y\" highly recommended)" | |
313 | + f_div_section | |
314 | + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then | |
315 | + yum -y update | |
316 | + fi | |
317 | + f_pack_is_inst "git" "yum" "\"git\" already installed!" | |
318 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
319 | + yum -y install git | |
320 | + fi | |
321 | +elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then | |
322 | + f_div_section | |
323 | + f_yes_no "Update your distro? (\"y\" highly recommended)" | |
324 | + f_div_section | |
325 | + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then | |
326 | + apt-get -y update | |
327 | + fi | |
328 | + f_pack_is_inst "git" "apt-get" "\"git\" already installed!" | |
172 | 329 | if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then |
173 | - yum -y install httpd-devel httpd | |
174 | - chkconfig httpd on | |
175 | - chown -R apache /var/www | |
176 | - chmod -R 755 /var/www | |
330 | + apt-get -y install git | |
331 | + fi | |
332 | +elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
333 | + if [[ "$DISTRO_NAME" == "SLES" ]] ; then | |
334 | + RESOURCES_ARR_P=("SUSE_Linux_Enterprise_Server_12_SP1_x86_64" | |
335 | +"SUSE_Linux_Enterprise_Software_Development_Kit_12_SP1_x86_64" | |
336 | +"Web_and_Scripting_Module_12_x86_64") | |
337 | + f_chk_distro_status "SLES" RESOURCES_ARR_P[@] | |
338 | + fi | |
339 | + f_div_section | |
340 | + f_yes_no "Update your distro? (\"y\" highly recommended)" | |
341 | + f_div_section | |
342 | + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then | |
343 | + zypper --non-interactive update | |
344 | + fi | |
345 | + f_pack_is_inst "git-core" "zypper" "\"git-core\" already installed!" | |
346 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
347 | + zypper --non-interactive install git-core | |
177 | 348 | fi |
178 | 349 | fi |
179 | -f_close_section | |
180 | 350 | |
181 | 351 | # < ----------------------------------------- |
182 | 352 | |
183 | 353 | # > ----------------------------------------- |
184 | -# Abrir o firewall para o Apache (httpd)! | |
354 | +# Instalar pacotes que são comuns a determinados componentes! | |
355 | + | |
356 | +F_COM_PKS_INSTALLED=0 | |
357 | +f_common_packs() { | |
358 | + : 'Instalar pacotes que são comuns a determinados componentes.' | |
359 | + | |
360 | + if [ ${F_COM_PKS_INSTALLED} -eq 0 ] ; then | |
361 | + if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
362 | + | |
363 | + # NOTE: Set básico e "universal" para compilação... | |
364 | + # ---------------------------> | |
365 | + f_pack_is_inst "gcc-c++" "yum" "\"gcc-c++\" already installed!" | |
366 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
367 | + yum -y install gcc-c++ | |
368 | + fi | |
369 | + f_pack_is_inst "libtool" "yum" "\"libtool\" already installed!" | |
370 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
371 | + yum -y install libtool | |
372 | + fi | |
373 | + f_pack_is_inst "zlib-devel" "yum" "\"zlib-devel\" already installed!" | |
374 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
375 | + yum -y install zlib-devel | |
376 | + fi | |
377 | + # <--------------------------- | |
378 | + | |
379 | + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then | |
380 | + | |
381 | + # NOTE: Set básico e "universal" para compilação... | |
382 | + # ---------------------------> | |
383 | + f_pack_is_inst "g++" "apt-get" "\"g++\" already installed!" | |
384 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
385 | + apt-get -y install g++ | |
386 | + fi | |
387 | + f_pack_is_inst "libtool" "apt-get" "\"libtool\" already installed!" | |
388 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
389 | + apt-get -y install libtool | |
390 | + fi | |
391 | + f_pack_is_inst "autoconf" "apt-get" "\"autoconf\" already installed!" | |
392 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
393 | + apt-get -y install autoconf | |
394 | + fi | |
395 | + f_pack_is_inst "make" "apt-get" "\"make\" already installed!" | |
396 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
397 | + apt-get -y install make | |
398 | + fi | |
399 | + f_pack_is_inst "zlib1g-dev" "apt-get" "\"zlib1g-dev\" already installed!" | |
400 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
401 | + apt-get -y install zlib1g-dev | |
402 | + fi | |
403 | + # <--------------------------- | |
404 | + | |
405 | + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
406 | + | |
407 | + # NOTE: Set básico e "universal" para compilação... | |
408 | + # ---------------------------> | |
409 | + f_pack_is_inst "gcc-c++" "zypper" "\"gcc-c++\" already installed!" | |
410 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
411 | + zypper --non-interactive install gcc-c++ | |
412 | + fi | |
413 | + if [[ "$DISTRO_NAME" != "SLES" ]] ; then | |
414 | + f_pack_is_inst "automake" "zypper" "\"automake\" already installed!" | |
415 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
416 | + zypper --non-interactive install automake | |
417 | + fi | |
418 | + f_pack_is_inst "make" "zypper" "\"make\" already installed!" | |
419 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
420 | + zypper --non-interactive install make | |
421 | + fi | |
422 | + f_pack_is_inst "libtool" "zypper" "\"libtool\" already installed!" | |
423 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
424 | + zypper --non-interactive install libtool | |
425 | + fi | |
426 | + fi | |
427 | + f_pack_is_inst "zlib-devel" "zypper" "\"zlib-devel\" already installed!" | |
428 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
429 | + zypper --non-interactive install zlib-devel | |
430 | + fi | |
431 | + # <--------------------------- | |
432 | + | |
433 | + fi | |
434 | + F_COM_PKS_INSTALLED=1 | |
435 | + fi | |
436 | +} | |
437 | + | |
438 | +# < ----------------------------------------- | |
439 | + | |
440 | +# > ----------------------------------------- | |
441 | +# Instalar o Apache (httpd)! | |
442 | + | |
443 | +HTTPD_SERV_NAME="" | |
444 | +HTTPD_USR="" | |
445 | +HTTPD_GRP="" | |
446 | +HTTPD_DEF_DOC_ROOT="" | |
447 | +if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
448 | + HTTPD_SERV_NAME="httpd" | |
449 | + HTTPD_USR="apache" | |
450 | + HTTPD_GRP="apache" | |
451 | + HTTPD_DEF_DOC_ROOT="/var/www" | |
452 | +elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then | |
453 | + HTTPD_SERV_NAME="apache2" | |
454 | + HTTPD_USR="www-data" | |
455 | + HTTPD_GRP="www-data" | |
456 | + HTTPD_DEF_DOC_ROOT="/var/www" | |
457 | +elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
458 | + HTTPD_SERV_NAME="apache2" | |
459 | + HTTPD_USR="wwwrun" | |
460 | + HTTPD_GRP="www" | |
461 | + HTTPD_DEF_DOC_ROOT="/srv/www" | |
462 | +fi | |
185 | 463 | |
186 | 464 | EZ_I_SKIP_ON_V=$SIMPLE_INST |
187 | 465 | f_open_section |
188 | -read -d '' TITLE_F <<"EOF" | |
189 | -Open firewall for Apache (httpd) (TCP 80)? | |
190 | -EOF | |
191 | - | |
192 | -f_yes_no "$TITLE_F" | |
193 | -TITLE_F="" | |
466 | +f_yes_no "Install Apache ($HTTPD_SERV_NAME)?" | |
194 | 467 | if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then |
195 | - f_chk_iptables 80 "Port 80 is already open!" 0 "ACCEPT" "tcp" "NEW" | |
196 | - if [ ${F_CHK_IPTABLES_R} -eq 1 ] ; then | |
197 | - iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT | |
198 | - service iptables save | |
199 | - service iptables restart | |
468 | + f_common_packs | |
469 | + if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
470 | + f_pack_is_inst "httpd-devel" "yum" "Apache ($HTTPD_SERV_NAME) already installed!" | |
471 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
472 | + yum -y install httpd-devel httpd | |
473 | + chkconfig httpd on | |
474 | + fi | |
475 | + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then | |
476 | + f_pack_is_inst "apache2-dev" "apt-get" "Apache ($HTTPD_SERV_NAME) already installed!" | |
477 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
478 | + apt-get -y install apache2-dev apache2 | |
479 | + update-rc.d -f $HTTPD_SERV_NAME remove | |
480 | + update-rc.d $HTTPD_SERV_NAME defaults | |
481 | + fi | |
482 | + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
483 | + f_pack_is_inst "apache2-devel" "zypper" "Apache ($HTTPD_SERV_NAME) already installed!" | |
484 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
485 | + zypper --non-interactive install apache2-devel apache2 | |
486 | + chkconfig apache2 on | |
487 | + fi | |
200 | 488 | fi |
489 | + eval "chown -R $HTTPD_USR $HTTPD_DEF_DOC_ROOT" | |
490 | + eval "chown -R :$HTTPD_GRP $HTTPD_DEF_DOC_ROOT" | |
491 | + eval "chmod -R 755 $HTTPD_DEF_DOC_ROOT" | |
492 | + | |
493 | + eval "service $HTTPD_SERV_NAME restart" &>/dev/null | |
201 | 494 | fi |
202 | 495 | f_close_section |
203 | 496 | |
204 | 497 | # < ----------------------------------------- |
205 | 498 | |
206 | 499 | # > ----------------------------------------- |
500 | +# Abrir o firewall para o Apache (httpd)! | |
501 | + | |
502 | +if [[ "$DISTRO_TYPE" == "RH" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
503 | + EZ_I_SKIP_ON_V=$SIMPLE_INST | |
504 | + f_open_section | |
505 | + if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
506 | + f_yes_no "Open firewall for Apache ($HTTPD_SERV_NAME) (TCP 80)?" | |
507 | + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then | |
508 | + f_chk_iptables 80 "Port 80 is already open!" 0 "ACCEPT" "tcp" "NEW" | |
509 | + if [ ${F_CHK_IPTABLES_R} -eq 1 ] ; then | |
510 | + iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT | |
511 | + service iptables save | |
512 | + service iptables restart | |
513 | + fi | |
514 | + fi | |
515 | + f_close_section | |
516 | + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
517 | + f_yes_no "Open firewall for Apache ($HTTPD_SERV_NAME) (TCP 80)?" | |
518 | + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then | |
519 | + f_chk_iptables 80 "Port 80 is already open!" 0 "ACCEPT" "tcp" | |
520 | + if [ ${F_CHK_IPTABLES_R} -eq 1 ] ; then | |
521 | + SuSEfirewall2 open EXT TCP 80 | |
522 | + SuSEfirewall2 stop | |
523 | + SuSEfirewall2 start | |
524 | + fi | |
525 | + fi | |
526 | + fi | |
527 | + f_close_section | |
528 | +fi | |
529 | + | |
530 | +# < ----------------------------------------- | |
531 | + | |
532 | +# > ----------------------------------------- | |
207 | 533 | # Instalar arquivos de configuração do Apache (httpd) e fontes do LBD - LBDoc! |
208 | 534 | |
535 | +if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
536 | + VAR_LOG_HTTPD="/var/log/httpd" | |
537 | +elif [[ "$DISTRO_TYPE" == "DEB" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
538 | + VAR_LOG_HTTPD="/var/log/apache2" | |
539 | +fi | |
540 | + | |
541 | +# NOTE: Caminho de instalação do mono com a versão! By Questor | |
542 | +MONO_PATH="/opt/mono-4.4.0" | |
543 | + | |
209 | 544 | EZ_I_SKIP_ON_V=$SIMPLE_INST |
210 | 545 | f_open_section |
211 | -read -d '' TITLE_F <<"EOF" | |
212 | -Install LBD - LBDoc? | |
213 | -EOF | |
214 | - | |
215 | -f_yes_no "$TITLE_F" | |
216 | -TITLE_F="" | |
546 | +f_yes_no "Install LBD - LBDoc?" | |
217 | 547 | if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then |
218 | 548 | |
219 | - f_chk_by_path_hlp "/var/www/html/docslightbase" "d" "\"LBD - LBDoc\" already installed in \"/var/www/html\"!" | |
549 | + HT_FOLDER="" | |
550 | + if [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
551 | + mkdir $HTTPD_DEF_DOC_ROOT/html | |
552 | + fi | |
553 | + | |
554 | + f_chk_by_path_hlp "$HTTPD_DEF_DOC_ROOT/html/docslightbase" "d" "\"LBD - LBDoc\" already installed in \"$HTTPD_DEF_DOC_ROOT/html\"!" | |
220 | 555 | F_BAK_MD_R=1 |
221 | 556 | if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then |
222 | - f_ez_mv_bak "/var/www/html/docslightbase" "Backup old version and update? (\"y\" recommended)" | |
557 | + f_ez_mv_bak "$HTTPD_DEF_DOC_ROOT/html/docslightbase" "Backup old version and update? (\"y\" recommended)" | |
223 | 558 | fi |
224 | 559 | if [ ${F_BAK_MD_R} -eq 1 ] ; then |
225 | 560 | cd "$SCRIPTDIR_V" |
226 | 561 | cd ./lbd-src |
227 | 562 | tar -zxvf ./docslightbase.tar.gz |
228 | - mv ./docslightbase /var/www/html/ | |
563 | + mv ./docslightbase $HTTPD_DEF_DOC_ROOT/html/ | |
229 | 564 | rm -rf ./docslightbase |
230 | - chown -R apache /var/www/html | |
231 | - chmod -R 755 /var/www/html | |
565 | + | |
232 | 566 | LBG_URL="http://127.0.0.1/lbg" |
233 | 567 | QUESTION_F="Enter lightbase URL. |
234 | 568 | Use empty for \"$LBG_URL\"!" |
... | ... | @@ -239,38 +573,47 @@ Use empty for \"$LBG_URL\"!" |
239 | 573 | if [ -n "$GET_USR_INPUT_R" ] ; then |
240 | 574 | LBG_URL=$GET_USR_INPUT_R |
241 | 575 | fi |
242 | - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/portal/Web.config" 1 | |
243 | - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/recebidos/Web.config" 1 | |
244 | - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/manutencao/Web.config" 1 | |
245 | - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/docspro/Web.config" 1 | |
246 | - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/atosnotaspareceres/Web.config" 1 | |
247 | - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/gsa/Web.config" 1 | |
248 | - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/inativos/Web.config" 1 | |
249 | - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/apps/Web.config" 1 | |
250 | - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/expedidos/Web.config" 1 | |
251 | - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/auditoria/Web.config" 1 | |
576 | + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/portal/Web.config" 1 | |
577 | + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/recebidos/Web.config" 1 | |
578 | + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/manutencao/Web.config" 1 | |
579 | + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/docspro/Web.config" 1 | |
580 | + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/atosnotaspareceres/Web.config" 1 | |
581 | + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/gsa/Web.config" 1 | |
582 | + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/inativos/Web.config" 1 | |
583 | + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/apps/Web.config" 1 | |
584 | + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/expedidos/Web.config" 1 | |
585 | + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/auditoria/Web.config" 1 | |
586 | + fi | |
587 | + | |
588 | + HTTPD_CONF_PATH="" | |
589 | + if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
590 | + HTTPD_CONF_PATH="/etc/httpd/conf.d" | |
591 | + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then | |
592 | + HTTPD_CONF_PATH="/etc/apache2/sites-available" | |
593 | + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
594 | + HTTPD_CONF_PATH="/etc/apache2/conf.d" | |
252 | 595 | fi |
253 | 596 | |
254 | - f_chk_by_path_hlp "/etc/httpd/conf.d/expedidos.conf" "f" "\"LBD - LBDoc\" (Apache/httpd) configuration files already installed in \"/etc/httpd/conf.d\"!" | |
597 | + f_chk_by_path_hlp "$HTTPD_CONF_PATH/expedidos.conf" "f" "\"LBD - LBDoc\" (Apache/httpd) configuration files already installed in \"$HTTPD_CONF_PATH\"!" | |
255 | 598 | F_BAK_MD_R=1 |
256 | 599 | if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then |
257 | 600 | f_yes_no "Backup old version and update? (\"y\" recommended)" |
258 | 601 | if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then |
259 | 602 | SUFFIX=$(date +"-D%Y-%m-%d-T%H-%M-%S") |
260 | - NEW_FDL="/etc/httpd/conf.d/conf-bak$SUFFIX" | |
603 | + NEW_FDL="$HTTPD_CONF_PATH/conf-bak$SUFFIX" | |
261 | 604 | mkdir "$NEW_FDL" |
262 | - mv "/etc/httpd/conf.d/apps.conf" "$NEW_FDL/" | |
263 | - mv "/etc/httpd/conf.d/atosnotaspareceres.conf" "$NEW_FDL/" | |
264 | - mv "/etc/httpd/conf.d/auditoria.conf" "$NEW_FDL/" | |
265 | - mv "/etc/httpd/conf.d/docslightbase.conf" "$NEW_FDL/" | |
266 | - mv "/etc/httpd/conf.d/docspro.conf" "$NEW_FDL/" | |
267 | - mv "/etc/httpd/conf.d/expedidos.conf" "$NEW_FDL/" | |
268 | - mv "/etc/httpd/conf.d/GSA.conf" "$NEW_FDL/" | |
269 | - mv "/etc/httpd/conf.d/inativos.conf" "$NEW_FDL/" | |
270 | - mv "/etc/httpd/conf.d/manutencao.conf" "$NEW_FDL/" | |
271 | - mv "/etc/httpd/conf.d/mod_mono.conf" "$NEW_FDL/" | |
272 | - mv "/etc/httpd/conf.d/portal.conf" "$NEW_FDL/" | |
273 | - mv "/etc/httpd/conf.d/recebidos.conf" "$NEW_FDL/" | |
605 | + mv "$HTTPD_CONF_PATH/apps.conf" "$NEW_FDL/" | |
606 | + mv "$HTTPD_CONF_PATH/atosnotaspareceres.conf" "$NEW_FDL/" | |
607 | + mv "$HTTPD_CONF_PATH/auditoria.conf" "$NEW_FDL/" | |
608 | + mv "$HTTPD_CONF_PATH/docslightbase.conf" "$NEW_FDL/" | |
609 | + mv "$HTTPD_CONF_PATH/docspro.conf" "$NEW_FDL/" | |
610 | + mv "$HTTPD_CONF_PATH/expedidos.conf" "$NEW_FDL/" | |
611 | + mv "$HTTPD_CONF_PATH/GSA.conf" "$NEW_FDL/" | |
612 | + mv "$HTTPD_CONF_PATH/inativos.conf" "$NEW_FDL/" | |
613 | + mv "$HTTPD_CONF_PATH/manutencao.conf" "$NEW_FDL/" | |
614 | + mv "$HTTPD_CONF_PATH/mod_mono.conf" "$NEW_FDL/" | |
615 | + mv "$HTTPD_CONF_PATH/portal.conf" "$NEW_FDL/" | |
616 | + mv "$HTTPD_CONF_PATH/recebidos.conf" "$NEW_FDL/" | |
274 | 617 | fi |
275 | 618 | F_BAK_MD_R=${YES_NO_R} |
276 | 619 | fi |
... | ... | @@ -278,10 +621,104 @@ Use empty for \"$LBG_URL\"!" |
278 | 621 | cd "$SCRIPTDIR_V" |
279 | 622 | cd ./other-srcs-n-apps |
280 | 623 | tar -zxvf ./lbdoc-httpd-conf.tar.gz |
281 | - mv ./lbdoc-httpd-conf/* /etc/httpd/conf.d/ | |
624 | + mv ./lbdoc-httpd-conf/* $HTTPD_CONF_PATH/ | |
282 | 625 | rm -rf ./lbdoc-httpd-conf |
283 | - chown -R apache /etc/httpd/conf.d | |
284 | - chmod -R 755 /etc/httpd/conf.d | |
626 | + | |
627 | + MOD_MONO_SO_PATH="" | |
628 | + if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
629 | + MOD_MONO_SO_PATH="/usr/lib64/httpd/modules/mod_mono.so" | |
630 | + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then | |
631 | + MOD_MONO_SO_PATH="/usr/lib/apache2/modules/mod_mono.so" | |
632 | + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
633 | + MOD_MONO_SO_PATH="/usr/lib64/apache2/mod_mono.so" | |
634 | + fi | |
635 | + f_ez_sed "<MOD_MONO_SO_PATH>" "$MOD_MONO_SO_PATH" "$HTTPD_CONF_PATH/mod_mono.conf" 1 | |
636 | + | |
637 | + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/apps.conf" 1 | |
638 | + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/atosnotaspareceres.conf" 1 | |
639 | + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/auditoria.conf" 1 | |
640 | + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/docslightbase.conf" 1 | |
641 | + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/docspro.conf" 1 | |
642 | + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/expedidos.conf" 1 | |
643 | + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/GSA.conf" 1 | |
644 | + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/inativos.conf" 1 | |
645 | + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/manutencao.conf" 1 | |
646 | + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/portal.conf" 1 | |
647 | + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/recebidos.conf" 1 | |
648 | + | |
649 | + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/apps.conf" | |
650 | + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/atosnotaspareceres.conf" | |
651 | + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/auditoria.conf" | |
652 | + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/docspro.conf" | |
653 | + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/expedidos.conf" | |
654 | + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/GSA.conf" | |
655 | + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/inativos.conf" | |
656 | + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/manutencao.conf" | |
657 | + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/portal.conf" | |
658 | + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/recebidos.conf" | |
659 | + | |
660 | + if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
661 | + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/apps.conf" | |
662 | + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/atosnotaspareceres.conf" | |
663 | + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/auditoria.conf" | |
664 | + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/docslightbase.conf" | |
665 | + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/docspro.conf" | |
666 | + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/expedidos.conf" | |
667 | + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/GSA.conf" | |
668 | + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/inativos.conf" | |
669 | + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/manutencao.conf" | |
670 | + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/portal.conf" | |
671 | + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/recebidos.conf" | |
672 | + elif [[ "$DISTRO_TYPE" == "DEB" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
673 | + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/apps.conf" | |
674 | + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/atosnotaspareceres.conf" | |
675 | + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/auditoria.conf" | |
676 | + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/docslightbase.conf" | |
677 | + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/docspro.conf" | |
678 | + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/expedidos.conf" | |
679 | + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/GSA.conf" | |
680 | + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/inativos.conf" | |
681 | + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/manutencao.conf" | |
682 | + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/portal.conf" | |
683 | + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/recebidos.conf" | |
684 | + fi | |
685 | + if [[ "$DISTRO_TYPE" == "DEB" ]] ; then | |
686 | + ln -s "$HTTPD_CONF_PATH/apps.conf" "/etc/apache2/sites-enabled/apps.conf" &>/dev/null | |
687 | + ln -s "$HTTPD_CONF_PATH/atosnotaspareceres.conf" "/etc/apache2/sites-enabled/atosnotaspareceres.conf" &>/dev/null | |
688 | + ln -s "$HTTPD_CONF_PATH/auditoria.conf" "/etc/apache2/sites-enabled/auditoria.conf" &>/dev/null | |
689 | + ln -s "$HTTPD_CONF_PATH/docslightbase.conf" "/etc/apache2/sites-enabled/docslightbase.conf" &>/dev/null | |
690 | + ln -s "$HTTPD_CONF_PATH/docspro.conf" "/etc/apache2/sites-enabled/docspro.conf" &>/dev/null | |
691 | + ln -s "$HTTPD_CONF_PATH/expedidos.conf" "/etc/apache2/sites-enabled/expedidos.conf" &>/dev/null | |
692 | + ln -s "$HTTPD_CONF_PATH/GSA.conf" "/etc/apache2/sites-enabled/GSA.conf" &>/dev/null | |
693 | + ln -s "$HTTPD_CONF_PATH/inativos.conf" "/etc/apache2/sites-enabled/inativos.conf" &>/dev/null | |
694 | + ln -s "$HTTPD_CONF_PATH/manutencao.conf" "/etc/apache2/sites-enabled/manutencao.conf" &>/dev/null | |
695 | + ln -s "$HTTPD_CONF_PATH/mod_mono.conf" "/etc/apache2/sites-enabled/mod_mono.conf" &>/dev/null | |
696 | + ln -s "$HTTPD_CONF_PATH/portal.conf" "/etc/apache2/sites-enabled/portal.conf" &>/dev/null | |
697 | + ln -s "$HTTPD_CONF_PATH/recebidos.conf" "/etc/apache2/sites-enabled/recebidos.conf" &>/dev/null | |
698 | + | |
699 | + eval "chown -R $HTTPD_USR /etc/apache2/sites-enabled" | |
700 | + eval "chown -R :$HTTPD_GRP /etc/apache2/sites-enabled" | |
701 | + eval "chmod -R 755 /etc/apache2/sites-enabled" | |
702 | + fi | |
703 | + | |
704 | + eval "chown -R $HTTPD_USR $HTTPD_CONF_PATH" | |
705 | + eval "chown -R :$HTTPD_GRP $HTTPD_CONF_PATH" | |
706 | + eval "chmod -R 755 $HTTPD_CONF_PATH" | |
707 | + | |
708 | + eval "chown -R $HTTPD_USR $HTTPD_DEF_DOC_ROOT" | |
709 | + eval "chown -R :$HTTPD_GRP $HTTPD_DEF_DOC_ROOT" | |
710 | + eval "chmod -R 755 $HTTPD_DEF_DOC_ROOT" | |
711 | + | |
712 | + if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
713 | + f_fl_cont_str "# NOTE: Fixing leaking semaphores with mod_mono!" "/etc/httpd/conf/httpd.conf" | |
714 | + if [ ${FL_CONT_STR_R} -eq 0 ] ; then | |
715 | + f_ez_sed "User apache" "# User apache" "/etc/httpd/conf/httpd.conf" | |
716 | + f_ez_sed "Group apache" "# Group apache" "/etc/httpd/conf/httpd.conf" | |
717 | + f_ez_sed "Include conf.d/*.conf" "\n# NOTE: Fixing leaking semaphores with mod_mono!\nUser apache\nGroup apache\n\nInclude conf.d/*.conf" "/etc/httpd/conf/httpd.conf" | |
718 | + fi | |
719 | + fi | |
720 | + | |
721 | + eval "service $HTTPD_SERV_NAME restart" &>/dev/null | |
285 | 722 | fi |
286 | 723 | fi |
287 | 724 | f_close_section |
... | ... | @@ -295,11 +732,11 @@ PG_DB_F="lb" |
295 | 732 | EZ_I_SKIP_ON_V=$SIMPLE_INST |
296 | 733 | f_open_section |
297 | 734 | |
298 | -f_yes_no "Install LBD - LBDoc (postgres 9.4) basic LightBase/LBG data structures?" | |
735 | +f_yes_no "Install LBD - LBDoc (postgres 9.X) basic LightBase/LBG - LBGenerator data structures?" | |
299 | 736 | |
300 | 737 | if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then |
301 | 738 | |
302 | - QUESTION_F="Enter the postgres 9.4 database name for LightBase (LBG). | |
739 | + QUESTION_F="Enter the postgres 9.X database name for LightBase (LBG - LBGenerator). | |
303 | 740 | Use empty for \"$PG_DB_F\" (default)!" |
304 | 741 | f_get_usr_input "$QUESTION_F" 1 |
305 | 742 | QUESTION_F="" |
... | ... | @@ -327,7 +764,7 @@ Use empty for \"$PG_DB_F\" (default)!" |
327 | 764 | EZ_I_SKIP_ON_V=0 |
328 | 765 | fi |
329 | 766 | else |
330 | - f_enter_to_cont "The file \"./lbd-basic-dt-strt/lbd-basic-dt-strt.sql\" has the LBD - LBDoc (postgres 9.4) basic LightBase/LBG data structures! Check it!" | |
767 | + 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!" | |
331 | 768 | fi |
332 | 769 | f_close_section |
333 | 770 | |
... | ... | @@ -338,119 +775,270 @@ f_close_section |
338 | 775 | |
339 | 776 | EZ_I_SKIP_ON_V=$SIMPLE_INST |
340 | 777 | f_open_section |
341 | -read -d '' TITLE_F <<"EOF" | |
342 | -Install LBD - LBDoc/mono components? | |
343 | -EOF | |
344 | - | |
345 | -f_yes_no "$TITLE_F" | |
346 | -TITLE_F="" | |
778 | +f_yes_no "Install LBD - LBDoc/mono components?" | |
347 | 779 | if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then |
780 | + f_common_packs | |
781 | + if [[ "$DISTRO_TYPE" == "RH" ]] ; then | |
782 | + f_pack_is_inst "bison" "yum" "\"bison\" already installed!" | |
783 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
784 | + yum -y install bison | |
785 | + fi | |
786 | + f_pack_is_inst "cairo-devel" "yum" "\"cairo-devel\" already installed!" | |
787 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
788 | + yum -y install cairo-devel | |
789 | + fi | |
790 | + f_pack_is_inst "gnome-utils-libs" "yum" "\"gnome-utils-libs\" already installed!" | |
791 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
792 | + yum -y install gnome-utils-libs | |
793 | + fi | |
794 | + f_pack_is_inst "urw-fonts" "yum" "\"urw-fonts\" already installed!" | |
795 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
796 | + yum -y install urw-fonts | |
797 | + fi | |
798 | + f_pack_is_inst "gettext" "yum" "\"gettext\" already installed!" | |
799 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
800 | + yum -y install gettext | |
801 | + fi | |
802 | + f_pack_is_inst "unzip" "yum" "\"unzip\" already installed!" | |
803 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
804 | + yum -y install unzip | |
805 | + fi | |
806 | + f_pack_is_inst "glib2-devel" "yum" "\"glib2-devel\" already installed!" | |
807 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
808 | + yum -y install glib2-devel | |
809 | + fi | |
810 | + f_pack_is_inst "libexif-devel" "yum" "\"libexif-devel\" already installed!" | |
811 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
812 | + yum -y install libexif-devel | |
813 | + fi | |
814 | + f_pack_is_inst "libjpeg-turbo-devel" "yum" "\"libjpeg-turbo-devel\" already installed!" | |
815 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
816 | + yum -y install libjpeg-turbo-devel | |
817 | + fi | |
818 | + f_pack_is_inst "openjpeg-libs" "yum" "\"openjpeg-libs\" already installed!" | |
819 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
820 | + yum -y install openjpeg-libs | |
821 | + fi | |
822 | + f_pack_is_inst "giflib" "yum" "\"giflib\" already installed!" | |
823 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
824 | + yum -y install giflib | |
825 | + fi | |
826 | + f_pack_is_inst "libtiff-devel" "yum" "\"libtiff-devel\" already installed!" | |
827 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
828 | + yum -y install libtiff-devel | |
829 | + fi | |
830 | + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then | |
831 | + f_pack_is_inst "mono-devel" "apt-get" "\"mono-devel\" already installed!" | |
832 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
833 | + apt-get -y install mono-devel | |
834 | + fi | |
835 | + f_pack_is_inst "mono-gmcs" "apt-get" "\"mono-gmcs\" already installed!" | |
836 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
837 | + apt-get -y install mono-gmcs | |
838 | + fi | |
839 | + f_pack_is_inst "libcairo2-dev" "apt-get" "\"libcairo2-dev\" already installed!" | |
840 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
841 | + apt-get -y install libcairo2-dev | |
842 | + fi | |
843 | + f_pack_is_inst "libbison-dev" "apt-get" "\"libbison-dev\" already installed!" | |
844 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
845 | + apt-get -y install libbison-dev | |
846 | + fi | |
847 | + f_pack_is_inst "giflib-tools" "apt-get" "\"giflib-tools\" already installed!" | |
848 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
849 | + apt-get -y install giflib-tools | |
850 | + fi | |
851 | + f_pack_is_inst "libtiff5-dev" "apt-get" "\"libtiff5-dev\" already installed!" | |
852 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
853 | + apt-get -y install libtiff5-dev | |
854 | + fi | |
855 | + f_pack_is_inst "libgdict-1.0-dev" "apt-get" "\"libgdict-1.0-dev\" already installed!" | |
856 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
857 | + apt-get -y install libgdict-1.0-dev | |
858 | + fi | |
859 | + f_pack_is_inst "fonts-texgyre" "apt-get" "\"fonts-texgyre\" already installed!" | |
860 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
861 | + apt-get -y install fonts-texgyre | |
862 | + fi | |
863 | + f_pack_is_inst "tex-gyre" "apt-get" "\"tex-gyre\" already installed!" | |
864 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
865 | + apt-get -y install tex-gyre | |
866 | + fi | |
867 | + f_pack_is_inst "unzip" "apt-get" "\"unzip\" already installed!" | |
868 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
869 | + apt-get -y install unzip | |
870 | + fi | |
871 | + if [[ "$DISTRO_NAME" == "Debian" ]] ; then | |
872 | + f_pack_is_inst "glibc-source" "apt-get" "\"glibc-source\" already installed!" | |
873 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
874 | + apt-get -y install glibc-source | |
875 | + fi | |
876 | + else | |
877 | + f_pack_is_inst "eglibc-source" "apt-get" "\"eglibc-source\" already installed!" | |
878 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
879 | + apt-get -y install eglibc-source | |
880 | + fi | |
881 | + fi | |
882 | + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then | |
883 | + f_pack_is_inst "bison" "zypper" "\"bison\" already installed!" | |
884 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
885 | + zypper --non-interactive install bison | |
886 | + fi | |
887 | + f_pack_is_inst "cairo-devel" "zypper" "\"cairo-devel\" already installed!" | |
888 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
889 | + zypper --non-interactive install cairo-devel | |
890 | + fi | |
891 | + f_pack_is_inst "freetype-devel" "zypper" "\"freetype-devel\" already installed!" | |
892 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
893 | + zypper --non-interactive install freetype-devel | |
894 | + fi | |
895 | + f_pack_is_inst "gconf2-devel" "zypper" "\"gconf2-devel\" already installed!" | |
896 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
897 | + zypper --non-interactive install gconf2-devel | |
898 | + fi | |
899 | + f_pack_is_inst "giflib-devel" "zypper" "\"giflib-devel\" already installed!" | |
900 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
901 | + zypper --non-interactive install giflib-devel | |
902 | + fi | |
903 | + f_pack_is_inst "gtk2-devel" "zypper" "\"gtk2-devel\" already installed!" | |
904 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
905 | + zypper --non-interactive install gtk2-devel | |
906 | + fi | |
907 | + f_pack_is_inst "intltool" "zypper" "\"intltool\" already installed!" | |
908 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
909 | + zypper --non-interactive install intltool | |
910 | + fi | |
911 | + f_pack_is_inst "libexif-devel" "zypper" "\"libexif-devel\" already installed!" | |
912 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
913 | + zypper --non-interactive install libexif-devel | |
914 | + fi | |
915 | + f_pack_is_inst "libjpeg8-devel" "zypper" "\"libjpeg8-devel\" already installed!" | |
916 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
917 | + zypper --non-interactive install libjpeg8-devel | |
918 | + fi | |
919 | + f_pack_is_inst "libtiff-devel" "zypper" "\"libtiff-devel\" already installed!" | |
920 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
921 | + zypper --non-interactive install libtiff-devel | |
922 | + fi | |
923 | + f_pack_is_inst "xorg-x11-devel" "zypper" "\"xorg-x11-devel\" already installed!" | |
924 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
925 | + zypper --non-interactive install xorg-x11-devel | |
926 | + fi | |
927 | + if [[ "$DISTRO_NAME" != "SLES" ]] ; then | |
928 | + f_pack_is_inst "mono-devel" "zypper" "\"mono-devel\" already installed!" | |
929 | + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
930 | + zypper --non-interactive install mono-devel | |
931 | + fi | |
932 | + fi | |
933 | + fi | |
934 | + | |
935 | + # NOTE: To debug! | |
936 | + # f_enter_to_cont | |
348 | 937 | |
349 | 938 | cd "$SCRIPTDIR_V" |
350 | 939 | cd ./other-srcs-n-apps |
351 | 940 | |
352 | - f_pack_is_inst "gcc-c++" "yum" "\"gcc-c++\" already installed!" | |
353 | - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
354 | - yum -y install gcc-c++ | |
355 | - fi | |
356 | - f_pack_is_inst "glib2-devel" "yum" "\"glib2-devel\" already installed!" | |
357 | - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
358 | - yum -y install glib2-devel | |
359 | - fi | |
360 | - f_pack_is_inst "libX11-devel" "yum" "\"libX11-devel\" already installed!" | |
361 | - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
362 | - yum -y install libX11-devel | |
363 | - fi | |
364 | - f_pack_is_inst "freetype-devel" "yum" "\"freetype-devel\" already installed!" | |
365 | - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
366 | - yum -y install freetype-devel | |
367 | - fi | |
368 | - f_pack_is_inst "fontconfig-devel" "yum" "\"fontconfig-devel\" already installed!" | |
369 | - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
370 | - yum -y install fontconfig-devel | |
371 | - fi | |
372 | - f_pack_is_inst "libexif-devel" "yum" "\"libexif-devel\" already installed!" | |
373 | - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
374 | - yum -y install libexif-devel | |
375 | - fi | |
376 | - f_pack_is_inst "bison" "yum" "\"bison\" already installed!" | |
377 | - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
378 | - yum -y install bison | |
941 | + UP_LIBGDIPLUS=1 | |
942 | + f_chk_by_path_hlp "$MONO_PATH/lib/pkgconfig/libgdiplus.pc" "f" "\"libgdiplus-4.2\" already installed in \"$MONO_PATH\"!" | |
943 | + if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then | |
944 | + f_div_section | |
945 | + f_yes_no "Update/reinstall \"libgdiplus-4.2\"? (\"y\" recommended)" | |
946 | + f_div_section | |
947 | + UP_LIBGDIPLUS=$YES_NO_R | |
948 | + else | |
949 | + f_enter_to_cont "Install \"libgdiplus-4.2\"!" | |
379 | 950 | fi |
380 | - f_pack_is_inst "gettext" "yum" "\"gettext\" already installed!" | |
381 | - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then | |
382 | - yum -y install gettext | |
951 | + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_LIBGDIPLUS} -eq 1 ] ; then | |
952 | + tar -zxvf libgdiplus-4.2.tar.gz | |
953 | + cd ./libgdiplus-4.2 | |
954 | + ./configure --prefix=$MONO_PATH | |
955 | + make -j 4 && make install | |
956 | + cd .. | |
957 | + rm -rf ./libgdiplus-4.2 | |
383 | 958 | fi |
384 | 959 | |
960 | + # NOTE: To debug! | |
961 | + # f_enter_to_cont | |
962 | + | |
963 | + cd "$SCRIPTDIR_V" | |
964 | + cd ./other-srcs-n-apps | |
965 | + | |
385 | 966 | UP_MONO=1 |
386 | - f_chk_by_path_hlp "/opt/mono" "d" "\"mono-2.10.2\" already installed in \"/opt/mono\"!" | |
967 | + f_chk_by_path_hlp "$MONO_PATH/lib/pkgconfig/mono.pc" "f" "\"mono-4.4.0\" already installed in \"$MONO_PATH\"!" | |
387 | 968 | if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then |
388 | 969 | f_div_section |
389 | - f_yes_no "Update/reinstall \"mono-2.10.2\"? (\"y\" recommended)" | |
970 | + f_yes_no "Update/reinstall \"mono-4.4.0\"? (\"y\" recommended)" | |
390 | 971 | f_div_section |
391 | 972 | UP_MONO=$YES_NO_R |
392 | 973 | else |
393 | - f_enter_to_cont "Install \"mono-2.10.2\"!" | |
974 | + f_enter_to_cont "Install \"mono-4.4.0\"!" | |
394 | 975 | fi |
395 | 976 | if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_MONO} -eq 1 ] ; then |
396 | - tar -xjf mono-2.10.2.tar.bz2 | |
397 | - cd ./mono-2.10.2 | |
398 | - ./configure --prefix=/opt/mono --with-libgdiplus=/opt/mono | |
399 | - make | |
400 | - make install | |
401 | - export PATH=$PATH:/opt/mono/bin | |
402 | - export PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig | |
977 | + tar -xjvf mono-4.4.0.148.tar.bz2 | |
978 | + cd ./mono-4.4.0 | |
979 | + ./configure --prefix=$MONO_PATH --with-libgdiplus=$MONO_PATH | |
980 | + make -j 4 && make install | |
981 | + | |
982 | + # NOTE: Esse passo é crucial, pois instrui o OS sobre onde | |
983 | + # os componentes do mono estão! By Questor | |
984 | + export PATH=$MONO_PATH/bin:$PATH | |
985 | + export LD_LIBRARY_PATH=$MONO_PATH/lib:$LD_LIBRARY_PATH | |
986 | + export PKG_CONFIG_PATH=$MONO_PATH/lib/pkgconfig:$PKG_CONFIG_PATH | |
987 | + | |
403 | 988 | cd .. |
404 | - rm -rf ./mono-2.10.2 | |
989 | + rm -rf ./mono-4.4.0 | |
405 | 990 | fi |
406 | 991 | |
992 | + # NOTE: To debug! | |
993 | + # f_enter_to_cont | |
994 | + | |
407 | 995 | cd "$SCRIPTDIR_V" |
408 | 996 | cd ./other-srcs-n-apps |
409 | 997 | |
410 | 998 | UP_XSP=1 |
411 | - f_chk_by_path_hlp "/opt/mono/bin/xsp" "d" "\"xsp-2.10.2\" already installed in \"/opt/mono/bin/xsp\"!" | |
999 | + f_chk_by_path_hlp "$MONO_PATH/lib/pkgconfig/xsp-4.pc" "f" "\"xsp-4.2\" already installed in \"$MONO_PATH\"!" | |
412 | 1000 | if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then |
413 | 1001 | f_div_section |
414 | - f_yes_no "Update/reinstall \"xsp-2.10.2\"? (\"y\" recommended)" | |
1002 | + f_yes_no "Update/reinstall \"xsp-4.2\"? (\"y\" recommended)" | |
415 | 1003 | f_div_section |
416 | 1004 | UP_XSP=$YES_NO_R |
417 | 1005 | else |
418 | - f_enter_to_cont "Install \"xsp-2.10.2\"!" | |
1006 | + f_enter_to_cont "Install \"xsp-4.2\"!" | |
419 | 1007 | fi |
420 | 1008 | if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_XSP} -eq 1 ] ; then |
421 | - tar -xjf xsp-2.10.2.tar.bz2 | |
422 | - cd ./xsp-2.10.2 | |
423 | - ./configure --prefix=/opt/mono | |
424 | - make | |
425 | - make install | |
1009 | + tar -zxvf xsp-4.2.tar.gz | |
1010 | + cd ./xsp-4.2 | |
1011 | + ./configure --prefix=$MONO_PATH | |
1012 | + make -j 4 && make install | |
426 | 1013 | cd .. |
427 | - rm -rf ./xsp-2.10.2 | |
1014 | + rm -rf ./xsp-4.2 | |
428 | 1015 | fi |
429 | 1016 | |
1017 | + # NOTE: To debug! | |
1018 | + # f_enter_to_cont | |
1019 | + | |
430 | 1020 | cd "$SCRIPTDIR_V" |
431 | 1021 | cd ./other-srcs-n-apps |
432 | - | |
433 | - UP_XSP=1 | |
434 | - f_chk_by_path_hlp "/usr/lib64/httpd/modules/mod_mono.so" "f" "\"mod_mono-2.10\" already installed in \"/usr/lib64/httpd/modules\"!" | |
1022 | + UP_MOD_MONO=1 | |
1023 | + f_chk_by_path_hlp "$MONO_PATH/share/man/man8/mod_mono.8" "f" "\"mod_mono-3.12\" already installed in \"$MONO_PATH\"!" | |
435 | 1024 | if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then |
436 | 1025 | f_div_section |
437 | - f_yes_no "Update/reinstall \"mod_mono-2.10\"? (\"y\" recommended)" | |
1026 | + f_yes_no "Update/reinstall \"mod_mono-3.12\"? (\"y\" recommended)" | |
438 | 1027 | f_div_section |
439 | - UP_XSP=$YES_NO_R | |
1028 | + UP_MOD_MONO=$YES_NO_R | |
440 | 1029 | else |
441 | - f_enter_to_cont "Install \"mod_mono-2.10\"!" | |
1030 | + f_enter_to_cont "Install \"mod_mono-3.12\"!" | |
442 | 1031 | fi |
443 | - if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_XSP} -eq 1 ] ; then | |
444 | - tar -xjf mod_mono-2.10.tar.bz2 | |
445 | - cd ./mod_mono-2.10 | |
446 | - ./configure --prefix=/opt/mono --with-mono-prefix=/opt/mono | |
447 | - make | |
448 | - make install | |
1032 | + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_MOD_MONO} -eq 1 ] ; then | |
1033 | + tar -zxvf mod_mono-3.12.tar.gz | |
1034 | + cd ./mod_mono-3.12 | |
1035 | + ./configure --prefix=$MONO_PATH --with-mono-prefix=$MONO_PATH | |
1036 | + make -j 4 && make install | |
449 | 1037 | cd .. |
450 | - rm -rf ./mod_mono-2.10 | |
1038 | + rm -rf ./mod_mono-3.12 | |
451 | 1039 | fi |
452 | 1040 | |
453 | - service httpd restart | |
1041 | + service $HTTPD_SERV_NAME restart &>/dev/null | |
454 | 1042 | fi |
455 | 1043 | f_close_section |
456 | 1044 | |
... | ... | @@ -460,14 +1048,23 @@ f_close_section |
460 | 1048 | # FINAL! |
461 | 1049 | # -------------------------------------- |
462 | 1050 | |
1051 | +ERROR_LOG_FL="" | |
1052 | +if [[ "$DISTRO_TYPE" == "RH" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]]; then | |
1053 | + ERROR_LOG_FL="error_log" | |
1054 | +elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then | |
1055 | + ERROR_LOG_FL="error.log" | |
1056 | +fi | |
1057 | + | |
463 | 1058 | EZ_I_SKIP_ON_V=0 |
464 | 1059 | read -d '' TITLE_F <<"EOF" |
465 | 1060 | Installer finished! Thanks! |
466 | 1061 | EOF |
467 | 1062 | |
468 | 1063 | USEFUL_INFO_F=" To start/stop... |
469 | - service httpd start | |
470 | - service httpd stop | |
1064 | + | |
1065 | + Apache ($HTTPD_SERV_NAME) | |
1066 | + service $HTTPD_SERV_NAME start | |
1067 | + service $HTTPD_SERV_NAME stop | |
471 | 1068 | |
472 | 1069 | To access... |
473 | 1070 | http://<ip>/docslightbase/apps/ |
... | ... | @@ -476,10 +1073,10 @@ USEFUL_INFO_F=" To start/stop... |
476 | 1073 | 000.000.000-00/123456 |
477 | 1074 | |
478 | 1075 | To configure httpd (Apache)... |
479 | - See \"/etc/httpd/conf.d\" folder! | |
1076 | + See \"$HTTPD_CONF_PATH\" folder! | |
480 | 1077 | |
481 | 1078 | Log... |
482 | - less /var/log/httpd/error_log" | |
1079 | + less $VAR_LOG_HTTPD/$ERROR_LOG_FL" | |
483 | 1080 | |
484 | 1081 | f_end "$TITLE_F" "$USEFUL_INFO_F" |
485 | 1082 | TITLE_F="" | ... | ... |
No preview for this file type
No preview for this file type
other-srcs-n-apps/mod_mono-2.10.tar.bz2
No preview for this file type
No preview for this file type
other-srcs-n-apps/mono-2.10.2.tar.bz2
No preview for this file type
No preview for this file type
other-srcs-n-apps/xsp-2.10.2.tar.bz2
No preview for this file type
No preview for this file type