Commit bb9e13f2e9eba029e26024006a3e65c071159709
1 parent
732feb2a
Exists in
sei-v3.0.0-oracle-dockerimages
and in
3 other branches
Configuração do XDebug no servidor de aplicação
Showing
4 changed files
with
222 additions
and
212 deletions
Show diff stats
Vagrantfile
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"] |
@@ -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 |