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 @@ |
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 | ... | ... |