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