Commit bb9e13f2e9eba029e26024006a3e65c071159709

Authored by Guilherme Andrade Del Cantoni
1 parent 732feb2a

Configuração do XDebug no servidor de aplicação

1 -# -*- mode: ruby -*-  
2 -# vi: set ft=ruby :  
3 -require "yaml"  
4 -  
5 -# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!  
6 -VAGRANTFILE_API_VERSION = "2"  
7 -  
8 -# Parâmetros de customização do ambiente de desenvolvimento  
9 -params = if File.exists?("Vagrantfile.conf") then YAML::load_file("Vagrantfile.conf") else {} end  
10 -params_source_dir = params["source_dir"] || "../sei"  
11 -params_script_sei = params["script_sei"] || "../sei-db-ref-executivo/sei_2_6_0_BD_Ref_Exec.sql"  
12 -params_script_sip = params["script_sip"] || "../sei-db-ref-executivo/sip_2_6_0_BD_Ref_Exec.sql"  
13 -params_memoria_vm = params["memoria_vm"] || "2048"  
14 -#params_repo_arquivos = params["repositorio_arquivos"] || "../sei-arquivos"  
15 -  
16 -Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|  
17 - # All Vagrant configuration is done here. The most common configuration  
18 - # options are documented and commented below. For a complete reference,  
19 - # please see the online documentation at vagrantup.com.  
20 -  
21 - # Atribuição do hostname da máquina virtual  
22 - config.vm.hostname = "sei-vagrant"  
23 -  
24 - # Every Vagrant virtual environment requires a box to build off of.  
25 - # config.vm.box_download_checksum = "76a2a61de2d89f6cfd4d795e57cc4406"  
26 - # config.vm.box_download_checksum_type = "md5"  
27 - # config.vm.box = "processoeletronico/centos-6.6"  
28 - # config.vm.box = "centos/7"  
29 - config.vm.box = "ubuntu/trusty64"  
30 -  
31 - # Disable automatic box update checking. If you disable this, then  
32 - # boxes will only be checked for updates when the user runs  
33 - # `vagrant box outdated`. This is not recommended.  
34 - # config.vm.box_check_update = true  
35 -  
36 - # Configuração do redirecionamento entre Máquina Virtual e Host  
37 - # Necessário permissões de root para utilizar a porta 80 (> 1024)  
38 - config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache)  
39 - config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)  
40 - config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)  
41 - config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty)  
42 -  
43 - # Diretórios compartilhados com a durante a execução  
44 - config.vm.synced_folder ".", "/mnt/sei/ops"  
45 - config.vm.synced_folder params_source_dir, "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"]  
46 - #config.vm.synced_folder params_repo_arquivos, "/mnt/sei/arquivos", create: true, mount_options: ["dmode=777", "fmode=777"]  
47 - config.vm.synced_folder File.dirname(params_script_sei), "/mnt/sei/db_sei"  
48 - config.vm.synced_folder File.dirname(params_script_sip), "/mnt/sei/db_sip"  
49 -  
50 - # Provider-specific configuration so you can fine-tune various  
51 - # backing providers for Vagrant. These expose provider-specific options.  
52 - config.vm.provider "virtualbox" do |vb|  
53 - # Don't boot with headless mode  
54 - # vb.gui = true  
55 - # Use VBoxManage to customize the VM. For example to change memory:  
56 - vb.customize ["modifyvm", :id, "--memory", params_memoria_vm, "--usb", "off", "--audio", "none"]  
57 - end  
58 -  
59 - config.vm.provision "shell",  
60 - args: [File.basename(params_script_sei), File.basename(params_script_sip)],  
61 - inline: <<SCRIPT  
62 - mkdir -p /mnt/sei/ops/mysql/.tmp/  
63 - cp /mnt/sei/db_sei/$1 /mnt/sei/ops/mysql/.tmp/sei_mysql.sql  
64 - cp /mnt/sei/db_sip/$2 /mnt/sei/ops/mysql/.tmp/sip_mysql.sql  
65 - cp /mnt/sei/ops/sei/ConfiguracaoSEI.php /mnt/sei/src/sei/ConfiguracaoSEI.php  
66 - cp /mnt/sei/ops/sei/ConfiguracaoSip.php /mnt/sei/src/sip/ConfiguracaoSip.php  
67 -SCRIPT  
68 -  
69 - # Provisionamento da Máquina Virtual responsável por manter os containers do Docker  
70 - config.vm.provision "docker" do |docker|  
71 -  
72 - # Constrói imagens dos containers utilizados no provicionamento  
73 - docker.build_image "/mnt/sei/ops/solr", args: "-t 'processoeletronico/solr'"  
74 - docker.build_image "/mnt/sei/ops/jod", args: "-t 'processoeletronico/jod'"  
75 - docker.build_image "/mnt/sei/ops/mysql", args: "-t 'processoeletronico/mysql'"  
76 - docker.build_image "/mnt/sei/ops/sei", args: "-t 'processoeletronico/sei'"  
77 -  
78 - # Provisiona docker containers na máquina virtual  
79 - # docker run -it --name sei_data -v /mnt/sei/arquivos:/var/sei/arquivos centos:centos6 true  
80 - # docker.run "sei_data", image: "centos:centos6",  
81 - # args: "-v /mnt/sei/arquivos:/var/sei/arquivos",  
82 - # cmd: "true"  
83 -  
84 - # docker run -d --name sei_db -p 3306:3306 processoeletronico/mysql:latest  
85 - docker.run "sei_db", image: "processoeletronico/mysql:latest",  
86 - daemonize: true,  
87 - args: "-p 3306:3306"  
88 -  
89 - # docker run -d --name sei_solr -p 8983:8983 -v /mnt/sei/src/sei/solr:/mnt/sei/index processoeletronico/solr:latest  
90 - docker.run "sei_solr", image: "processoeletronico/solr:latest",  
91 - daemonize: true,  
92 - args: "-p 8983:8983 -v /mnt/sei/src/sei/solr:/mnt/sei/index"  
93 -  
94 - # docker run -d --name sei_jod -p 8080:8080 processoeletronico/jod:latest  
95 - docker.run "sei_jod", image: "processoeletronico/jod:latest",  
96 - daemonize: true,  
97 - args: "-p 8080:8080"  
98 -  
99 - # docker run -d --name sei_www -p 80:80 --link sei_solr:solr --link sei_db:db --link sei_jod:jod -v /mnt/sei/src:/mnt/sei/src processoeletronico/sei:latest  
100 - docker.run "sei_www", image: "processoeletronico/sei:latest",  
101 - daemonize: true,  
102 - args: "-p 80:80 --link sei_db:db --link sei_solr:solr --link sei_jod:jod -v /mnt/sei/src:/mnt/sei/src"  
103 - end  
104 -  
105 - # Limpeza de arquivos temporários criados durante o provisionamento do sistema  
106 - config.vm.provision "shell", inline: "rm -rf /mnt/sei/ops/mysql/.tmp"  
107 -  
108 - # Inicialização dos containers em caso de reinicialização da máquina host  
109 - config.vm.provision "shell", run: "always", inline: "docker restart sei_solr sei_jod sei_db sei_www"  
110 -end 1 +# -*- mode: ruby -*-
  2 +# vi: set ft=ruby :
  3 +require "yaml"
  4 +
  5 +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
  6 +VAGRANTFILE_API_VERSION = "2"
  7 +
  8 +# Parâmetros de customização do ambiente de desenvolvimento
  9 +params = if File.exists?("Vagrantfile.conf") then YAML::load_file("Vagrantfile.conf") else {} end
  10 +params_source_dir = params["source_dir"] || "../sei"
  11 +params_script_sei = params["script_sei"] || "../sei-db-ref-executivo/sei_2_6_0_BD_Ref_Exec.sql"
  12 +params_script_sip = params["script_sip"] || "../sei-db-ref-executivo/sip_2_6_0_BD_Ref_Exec.sql"
  13 +params_memoria_vm = params["memoria_vm"] || "2048"
  14 +#params_repo_arquivos = params["repositorio_arquivos"] || "../sei-arquivos"
  15 +
  16 +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  17 + # All Vagrant configuration is done here. The most common configuration
  18 + # options are documented and commented below. For a complete reference,
  19 + # please see the online documentation at vagrantup.com.
  20 +
  21 + # Atribuição do hostname da máquina virtual
  22 + config.vm.hostname = "sei-vagrant"
  23 +
  24 + # Every Vagrant virtual environment requires a box to build off of.
  25 + # config.vm.box_download_checksum = "76a2a61de2d89f6cfd4d795e57cc4406"
  26 + # config.vm.box_download_checksum_type = "md5"
  27 + # config.vm.box = "processoeletronico/centos-6.6"
  28 + # config.vm.box = "centos/7"
  29 + config.vm.box = "ubuntu/trusty64"
  30 +
  31 + # Disable automatic box update checking. If you disable this, then
  32 + # boxes will only be checked for updates when the user runs
  33 + # `vagrant box outdated`. This is not recommended.
  34 + # config.vm.box_check_update = true
  35 +
  36 + # Configuração do redirecionamento entre Máquina Virtual e Host
  37 + # Necessário permissões de root para utilizar a porta 80 (> 1024)
  38 + config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache)
  39 + config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)
  40 + config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)
  41 + config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty)
  42 +
  43 + # Diretórios compartilhados com a durante a execução
  44 + config.vm.synced_folder ".", "/mnt/sei/ops"
  45 + config.vm.synced_folder params_source_dir, "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"]
  46 + #config.vm.synced_folder params_repo_arquivos, "/mnt/sei/arquivos", create: true, mount_options: ["dmode=777", "fmode=777"]
  47 + config.vm.synced_folder File.dirname(params_script_sei), "/mnt/sei/db_sei"
  48 + config.vm.synced_folder File.dirname(params_script_sip), "/mnt/sei/db_sip"
  49 +
  50 + # Provider-specific configuration so you can fine-tune various
  51 + # backing providers for Vagrant. These expose provider-specific options.
  52 + config.vm.provider "virtualbox" do |vb|
  53 + # Don't boot with headless mode
  54 + # vb.gui = true
  55 + # Use VBoxManage to customize the VM. For example to change memory:
  56 + vb.customize ["modifyvm", :id, "--memory", params_memoria_vm, "--usb", "off", "--audio", "none"]
  57 + end
  58 +
  59 + config.vm.provision "shell",
  60 + args: [File.basename(params_script_sei), File.basename(params_script_sip)],
  61 + inline: <<SCRIPT
  62 + mkdir -p /mnt/sei/ops/mysql/.tmp/
  63 + cp /mnt/sei/db_sei/$1 /mnt/sei/ops/mysql/.tmp/sei_mysql.sql
  64 + cp /mnt/sei/db_sip/$2 /mnt/sei/ops/mysql/.tmp/sip_mysql.sql
  65 + cp /mnt/sei/ops/sei/ConfiguracaoSEI.php /mnt/sei/src/sei/ConfiguracaoSEI.php
  66 + cp /mnt/sei/ops/sei/ConfiguracaoSip.php /mnt/sei/src/sip/ConfiguracaoSip.php
  67 +SCRIPT
  68 +
  69 + # Provisionamento da Máquina Virtual responsável por manter os containers do Docker
  70 + config.vm.provision "docker" do |docker|
  71 +
  72 + # Constrói imagens dos containers utilizados no provicionamento
  73 + docker.build_image "/mnt/sei/ops/solr", args: "-t 'processoeletronico/solr'"
  74 + docker.build_image "/mnt/sei/ops/jod", args: "-t 'processoeletronico/jod'"
  75 + docker.build_image "/mnt/sei/ops/mysql", args: "-t 'processoeletronico/mysql'"
  76 + docker.build_image "/mnt/sei/ops/sei", args: "-t 'processoeletronico/sei'"
  77 +
  78 + # Provisiona docker containers na máquina virtual
  79 + # docker run -it --name sei_data -v /mnt/sei/arquivos:/var/sei/arquivos centos:centos6 true
  80 + # docker.run "sei_data", image: "centos:centos6",
  81 + # args: "-v /mnt/sei/arquivos:/var/sei/arquivos",
  82 + # cmd: "true"
  83 +
  84 + # docker run -d --name sei_db -p 3306:3306 processoeletronico/mysql:latest
  85 + docker.run "sei_db", image: "processoeletronico/mysql:latest",
  86 + daemonize: true,
  87 + args: "-p 3306:3306"
  88 +
  89 + # docker run -d --name sei_solr -p 8983:8983 -v /mnt/sei/src/sei/solr:/mnt/sei/index processoeletronico/solr:latest
  90 + docker.run "sei_solr", image: "processoeletronico/solr:latest",
  91 + daemonize: true,
  92 + args: "-p 8983:8983 -v /mnt/sei/src/sei/solr:/mnt/sei/index"
  93 +
  94 + # docker run -d --name sei_jod -p 8080:8080 processoeletronico/jod:latest
  95 + docker.run "sei_jod", image: "processoeletronico/jod:latest",
  96 + daemonize: true,
  97 + args: "-p 8080:8080"
  98 +
  99 + # docker run -d --name sei_www -p 80:80 --link sei_solr:solr --link sei_db:db --link sei_jod:jod -v /mnt/sei/src:/mnt/sei/src processoeletronico/sei:latest
  100 + docker.run "sei_www", image: "processoeletronico/sei:latest",
  101 + daemonize: true,
  102 + args: "-p 80:80 --link sei_db:db --link sei_solr:solr --link sei_jod:jod -v /mnt/sei/src:/mnt/sei/src"
  103 + end
  104 +
  105 + # Limpeza de arquivos temporários criados durante o provisionamento do sistema
  106 + config.vm.provision "shell", inline: "rm -rf /mnt/sei/ops/mysql/.tmp"
  107 +
  108 + # Inicialização dos containers em caso de reinicialização da máquina host
  109 + config.vm.provision "shell", run: "always", inline: "docker restart sei_solr && docker restart sei_jod && docker restart sei_db && docker restart sei_www"
  110 +end
Vagrantfile_Distrib
1 -# -*- mode: ruby -*-  
2 -# vi: set ft=ruby :  
3 -  
4 -# All Vagrant configuration is done below. The "2" in Vagrant.configure  
5 -# configures the configuration version (we support older styles for  
6 -# backwards compatibility). Please don't change it unless you know what  
7 -# you're doing.  
8 -Vagrant.configure(2) do |config|  
9 -  
10 - # Box do vagrant contendo o ambiente de desenvolvimento do SEI  
11 - config.vm.box = "processoeletronico/sei-2.5.2"  
12 -  
13 - # Usuários ssh de acesso à máquina virtual  
14 - config.ssh.username = "vagrant"  
15 - config.ssh.password = "vagrant"  
16 -  
17 - # Configuração do diretório local onde deverá estar disponibilizado os códigos-fontes do SEI (sei, sip, infra_php, infra_css, infra_js)  
18 - config.vm.synced_folder ".", "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"]  
19 -  
20 - # Configuração do redirecionamento entre Máquina Virtual e Host  
21 - # Necessário permissões de root para utilizar a porta 80 (> 1024)  
22 - config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache)  
23 - config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)  
24 - config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)  
25 - config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty)  
26 -  
27 - # Inicialização dos containers em caso de reinicialização da máquina host  
28 - config.vm.provision "shell", run: "always", inline: "docker start sei_db sei_solr sei_jod sei_www"  
29 -end 1 +# -*- mode: ruby -*-
  2 +# vi: set ft=ruby :
  3 +
  4 +# All Vagrant configuration is done below. The "2" in Vagrant.configure
  5 +# configures the configuration version (we support older styles for
  6 +# backwards compatibility). Please don't change it unless you know what
  7 +# you're doing.
  8 +Vagrant.configure(2) do |config|
  9 +
  10 + # Box do vagrant contendo o ambiente de desenvolvimento do SEI
  11 + config.vm.box = "processoeletronico/sei-2.5.2"
  12 +
  13 + # Usuários ssh de acesso à máquina virtual
  14 + config.ssh.username = "vagrant"
  15 + config.ssh.password = "vagrant"
  16 +
  17 + # Configuração do diretório local onde deverá estar disponibilizado os códigos-fontes do SEI (sei, sip, infra_php, infra_css, infra_js)
  18 + config.vm.synced_folder ".", "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"]
  19 +
  20 + # Configuração do redirecionamento entre Máquina Virtual e Host
  21 + # Necessário permissões de root para utilizar a porta 80 (> 1024)
  22 + config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache)
  23 + config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)
  24 + config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)
  25 + config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty)
  26 +
  27 + # Inicialização dos containers em caso de reinicialização da máquina host
  28 + config.vm.provision "shell", run: "always", inline: "docker restart sei_solr && docker restart sei_jod && docker restart sei_db && docker restart sei_www"
  29 +end
sei/Dockerfile
1 -###########################################################  
2 -# Dockerfile de construção do container WebApp  
3 -# utilizado pelo SEI e pelo SIP  
4 -#  
5 -# Baseado no CentOS 6.X  
6 -############################################################  
7 -  
8 -# Definição da imagem de base para o CentOS 6.X  
9 -FROM centos:centos6  
10 -  
11 -# Autor e mantenedor do container  
12 -MAINTAINER PEN - Processo Eletrônico Nacional  
13 -  
14 -################## INICIO DA INSTALACAO ######################  
15 -# Instalação do SEI seguindo as recomendações descritas na documentação do SEI  
16 -# Ref: https://processoeletronico.gov.br/projects/sei/wiki  
17 -  
18 -# Instalação do servidor web Apache 2.2, memcache e demais componentes  
19 -RUN yum -y update && \  
20 - yum -y install httpd-2.2.* mysql-5.1.* memcached openssl wget curl unzip gcc java-1.7.0-openjdk libxml2 dos2unix crontabs \  
21 - php-5.3.* php-common php-cli php-pear php-bcmath php-gd php-gmp php-imap php-intl php-ldap php-mbstring php-mysql \  
22 - php-odbc php-pdo php-pecl-apc php-pspell php-zlib php-snmp php-soap php-xml php-xmlrpc php-zts php-devel \  
23 - php-pecl-apc-devel php-pecl-memcache php-calendar php-shmop && \  
24 - yum -y clean all  
25 -  
26 -# Procedimentos para instalação das bibliotecas php-mcrypt  
27 -RUN wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6 && \  
28 - wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm && \  
29 - rpm -ivh epel-release-6-8.noarch.rpm && \  
30 - rm -f epel-release-6-8.noarch.rpm RPM-GPG-KEY-EPEL-6 && \  
31 - yum -y install php-mcrypt  
32 -  
33 -# Configuração do charset do Apache  
34 -RUN echo "AddDefaultCharset iso-8859-1" | tee -a /etc/httpd/conf/httpd.conf  
35 -  
36 -# Correção do bug do VirtualBox relacionado ao Sendfile. http://docs.vagrantup.com/v2/synced-folders/virtualbox.html  
37 -RUN echo "EnableSendfile Off" | tee -a /etc/httpd/conf/httpd.conf  
38 -  
39 -# Instalação do componentes UploadProgress  
40 -RUN pecl install uploadprogress && \  
41 - echo "extension=uploadprogress.so" >> /etc/php.d/uploadprogress.ini  
42 -  
43 -# Configuração dos parâmetros do SEI e SIP  
44 -ADD ConfiguracaoSEI.php /opt/sei/ConfiguracaoSEI.php  
45 -ADD ConfiguracaoSip.php /opt/sip/ConfiguracaoSip.php  
46 -  
47 -# Copia arquivos necessários para a instalação  
48 -ADD sei.ini /etc/php.d/sei.ini  
49 -ADD sei.conf /etc/httpd/conf.d/sei.conf  
50 -  
51 -RUN mkdir -p /var/sei/arquivos && \  
52 - chmod -R 777 /var/sei/arquivos  
53 -  
54 -# Configuração dos serviços de background do Cron  
55 -RUN mkdir /var/log/sei  
56 -RUN sed -i '/session required pam_loginuid.so/c\#session required pam_loginuid.so' /etc/pam.d/crond  
57 -RUN echo "*/5 * * * * root /usr/bin/php -c /etc/php.ini /var/www/html/sei/AgendamentoTarefaSEI.php 2>&1 >> /var/log/sei/agendamento_sei.log" >> /etc/cron.d/sei  
58 -RUN echo "*/5 * * * * root /usr/bin/php -c /etc/php.ini /var/www/html/sip/AgendamentoTarefaSip.php 2>&1 >> /var/log/sei/agendamento_sip.log" >> /etc/cron.d/sei  
59 -  
60 -# Script de inicialização do container entry-point  
61 -ADD entrypoint.sh /entrypoint.sh  
62 -RUN dos2unix /entrypoint.sh && chmod +x /entrypoint.sh  
63 -  
64 -##################### FIM DA INSTALACAO #####################  
65 -  
66 -# Definição do terminal a ser utilizado  
67 -ENV TERM xterm  
68 -  
69 -# Exposição da porta de conexão ao Apache  
70 -EXPOSE 80  
71 -  
72 -# Inicialização dos serviços Apache e Memcache  
73 -CMD ["/entrypoint.sh"] 1 +###########################################################
  2 +# Dockerfile de construção do container WebApp
  3 +# utilizado pelo SEI e pelo SIP
  4 +#
  5 +# Baseado no CentOS 6.X
  6 +############################################################
  7 +
  8 +# Definição da imagem de base para o CentOS 6.X
  9 +FROM centos:centos6
  10 +
  11 +# Autor e mantenedor do container
  12 +MAINTAINER PEN - Processo Eletrônico Nacional
  13 +
  14 +################## INICIO DA INSTALACAO ######################
  15 +# Instalação do SEI seguindo as recomendações descritas na documentação do SEI
  16 +# Ref: https://processoeletronico.gov.br/projects/sei/wiki
  17 +
  18 +# Instalação do servidor web Apache 2.2, memcache e demais componentes
  19 +RUN yum -y update && \
  20 + yum -y install httpd-2.2.* mysql-5.1.* memcached openssl wget curl unzip gcc java-1.7.0-openjdk libxml2 dos2unix crontabs \
  21 + php-5.3.* php-common php-cli php-pear php-bcmath php-gd php-gmp php-imap php-intl php-ldap php-mbstring php-mysql \
  22 + php-odbc php-pdo php-pecl-apc php-pspell php-zlib php-snmp php-soap php-xml php-xmlrpc php-zts php-devel \
  23 + php-pecl-apc-devel php-pecl-memcache php-calendar php-shmop && \
  24 + yum -y clean all
  25 +
  26 +# Procedimentos para instalação das bibliotecas php-mcrypt e xdebuf
  27 +RUN wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6 && \
  28 + wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm && \
  29 + rpm -ivh epel-release-6-8.noarch.rpm && \
  30 + rm -f epel-release-6-8.noarch.rpm RPM-GPG-KEY-EPEL-6 && \
  31 + yum -y install php-mcrypt php-pecl-xdebug
  32 +
  33 +# Configuração do charset do Apache
  34 +RUN echo "AddDefaultCharset iso-8859-1" | tee -a /etc/httpd/conf/httpd.conf
  35 +
  36 +# Correção do bug do VirtualBox relacionado ao Sendfile. http://docs.vagrantup.com/v2/synced-folders/virtualbox.html
  37 +RUN echo "EnableSendfile Off" | tee -a /etc/httpd/conf/httpd.conf
  38 +
  39 +# Instalação do componentes UploadProgress
  40 +RUN pecl install uploadprogress && \
  41 + echo "extension=uploadprogress.so" >> /etc/php.d/uploadprogress.ini
  42 +
  43 +# Configuração dos parâmetros do SEI e SIP
  44 +ADD ConfiguracaoSEI.php /opt/sei/ConfiguracaoSEI.php
  45 +ADD ConfiguracaoSip.php /opt/sip/ConfiguracaoSip.php
  46 +
  47 +# Copia arquivos necessários para a instalação
  48 +ADD sei.ini /etc/php.d/sei.ini
  49 +ADD xdebug.ini /etc/php.d/xdebug.ini
  50 +ADD sei.conf /etc/httpd/conf.d/sei.conf
  51 +
  52 +RUN mkdir -p /var/sei/arquivos && \
  53 + chmod -R 777 /var/sei/arquivos
  54 +
  55 +# Configuração dos serviços de background do Cron
  56 +RUN mkdir /var/log/sei
  57 +RUN sed -i '/session required pam_loginuid.so/c\#session required pam_loginuid.so' /etc/pam.d/crond
  58 +RUN echo "*/5 * * * * root /usr/bin/php -c /etc/php.ini /var/www/html/sei/AgendamentoTarefaSEI.php 2>&1 >> /var/log/sei/agendamento_sei.log" >> /etc/cron.d/sei
  59 +RUN echo "*/5 * * * * root /usr/bin/php -c /etc/php.ini /var/www/html/sip/AgendamentoTarefaSip.php 2>&1 >> /var/log/sei/agendamento_sip.log" >> /etc/cron.d/sei
  60 +
  61 +# Script de inicialização do container entry-point
  62 +ADD entrypoint.sh /entrypoint.sh
  63 +RUN dos2unix /entrypoint.sh && chmod +x /entrypoint.sh
  64 +
  65 +##################### FIM DA INSTALACAO #####################
  66 +
  67 +# Definição do terminal a ser utilizado
  68 +ENV TERM xterm
  69 +
  70 +# Exposição da porta de conexão ao Apache
  71 +EXPOSE 80
  72 +
  73 +# Inicialização dos serviços Apache e Memcache
  74 +CMD ["/entrypoint.sh"]
sei/xdebug.ini 0 → 100644
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
  1 +; Enable xdebug extension module
  2 +zend_extension=/usr/lib64/php/modules/xdebug.so
  3 +xdebug.remote_enable=1
  4 +xdebug.remote_host=localhost
  5 +xdebug.remote_port=9000
  6 +xdebug.remote_handler=dbgp
  7 +xdebug.remote_mode=req
  8 +xdebug.remote_connect_back=1
  9 +xdebug.idekey=default