Commit 5b82c6346ff8d30e8503ee9244f9cd1314355da2

Authored by Guilherme Andrade Del Cantoni
2 parents f75b41d3 7c9dc085

Ajustes finais do ambiente e início de testes

Vagrantfile
1 1 # -*- mode: ruby -*-
2 2 # vi: set ft=ruby :
3 3  
4   -# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
5 4 VAGRANTFILE_API_VERSION = "2"
6 5  
7 6 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
8 7  
9 8 # Atribuição do hostname da máquina virtual
10 9 config.vm.hostname = "sei-vagrant"
11   -
12 10 config.vm.box = "ubuntu/trusty64"
13 11  
14 12 # Configuração do redirecionamento entre Máquina Virtual e Host
... ... @@ -23,11 +21,12 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
23 21 config.vm.synced_folder ".", "/mnt/sei/ops"
24 22 config.vm.synced_folder "../sei", "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"]
25 23  
  24 + # Configurações padrão da máquina virtual host
26 25 config.vm.provider "virtualbox" do |vb|
27 26 vb.customize ["modifyvm", :id, "--memory", "2048", "--usb", "off", "--audio", "none"]
28 27 end
29 28  
30   - # Provisionamento da Máquina Virtual responsável por manter os containers do Docker
  29 + # Provisionamento da máquina virtual responsável por manter os containers do Docker
31 30 config.vm.provision "docker" do |docker|
32 31  
33 32 # Constrói imagens dos containers utilizados no provicionamento
... ... @@ -35,11 +34,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
35 34 docker.build_image "/mnt/sei/ops/mysql", args: "-t 'processoeletronico/mysql'"
36 35 docker.build_image "/mnt/sei/ops/sei", args: "-t 'processoeletronico/sei'"
37 36 docker.build_image "/mnt/sei/ops/memcached", args: "-t 'processoeletronico/memcached'"
38   - docker.pull_images "schickling/mailcatcher"
39   - #docker.build_image "/mnt/sei/ops/jod", args: "-t 'processoeletronico/jod'"
  37 + docker.build_image "/mnt/sei/ops/fakesmtp", args: "-t 'processoeletronico/fakesmtp'"
  38 + docker.build_image "/mnt/sei/ops/jod", args: "-t 'processoeletronico/jod'"
40 39  
41 40 # docker run -d --name smtp -p 1080:1080 schickling/mailcatcher:latest
42   - docker.run "smtp", image: "schickling/mailcatcher",
  41 + docker.run "smtp", image: "processoeletronico/fakesmtp",
43 42 daemonize: true,
44 43 args: "-p 1080:1080"
45 44  
... ... @@ -58,18 +57,19 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
58 57 daemonize: true,
59 58 args: "-p 8983:8983"
60 59  
  60 + # Container do Jod desativado por questões de otimização
61 61 # docker run -d --name jod -p 8080:8080 processoeletronico/jod:latest
62   - #docker.run "jod", image: "processoeletronico/jod:latest",
63   - # daemonize: true,
64   - # args: "-p 8080:8080"
  62 + docker.run "jod", image: "processoeletronico/jod:latest",
  63 + daemonize: true,
  64 + args: "-p 8080:8080"
65 65  
66   - # docker run -d --name sei -p 80:80 --link solr:solr --link db:db --link memcached:memcached -v /mnt/sei/src:/opt processoeletronico/sei:latest
  66 + # docker run -d --name sei -p 80:80 --link solr:solr --link db:db --link memcached:memcached --link smtp:smtp -v /mnt/sei/src:/opt processoeletronico/sei:latest
67 67 docker.run "sei", image: "processoeletronico/sei:latest",
68 68 daemonize: true,
69   - args: "-p 80:80 --link db:db --link solr:solr --link memcached:memcached --link smtp:smtp -v /mnt/sei/src:/opt"
  69 + args: "-p 80:80 --link db:db --link solr:solr --link memcached:memcached --link smtp:smtp --link jod:jod -v /mnt/sei/src:/opt"
70 70 end
71 71  
72 72 # Inicialização dos containers em caso de reinicialização da máquina host
73 73 # A inicialização é realizada de forma sequencial para evitar conflito no mapeamento de volumes no Docker
74   - config.vm.provision "shell", run: "always", inline: "docker restart solr && docker restart memcached && docker restart smtp && docker restart db && docker restart sei"
  74 + config.vm.provision "shell", run: "always", inline: "docker restart jod && docker restart solr && docker restart memcached && docker restart smtp && docker restart db && docker restart sei"
75 75 end
... ...
Vagrantfile_Distrib
... ... @@ -2,7 +2,7 @@
2 2 # vi: set ft=ruby :
3 3  
4 4 unless Vagrant.has_plugin?("vagrant-vbguest")
5   - raise "\n\nAmbiente de desenvolvimento não pode ser criado não foi encontrado o plugin vagrant-vbguest.\n"+
  5 + raise "\n\nAmbiente de desenvolvimento não pode ser criado pois não foi encontrado o plugin vagrant-vbguest.\n"+
6 6 "Para solucionar o problema, execute o seguinte comando no diretório raiz do projeto.\n\n"+
7 7 "> vagrant plugin install vagrant-vbguest \n\n"
8 8 end
... ... @@ -17,7 +17,7 @@ Vagrant.configure(2) do |config|
17 17 config.ssh.password = "vagrant"
18 18  
19 19 # Configuração do diretório local onde deverá estar disponibilizado os códigos-fontes do SEI (sei, sip, infra_php, infra_css, infra_js)
20   - config.vm.synced_folder ".", "/opt", mount_options: ["dmode=777", "fmode=777"]
  20 + config.vm.synced_folder ".", "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"]
21 21  
22 22 # Configuração do redirecionamento entre Máquina Virtual e Host
23 23 # Necessário permissões de root para utilizar a porta 80 (> 1024)
... ... @@ -28,5 +28,6 @@ Vagrant.configure(2) do |config|
28 28 config.vm.network :forwarded_port, guest: 1080, host: 1080 # MailCatcher
29 29  
30 30 # Inicialização dos containers em caso de reinicialização da máquina host
31   - config.vm.provision "shell", run: "always", inline: "docker restart solr && docker restart memcached && docker restart smtp && docker restart db && docker restart sei"
  31 + config.vm.provision "shell", run: "always", inline: "docker restart jod && docker restart solr && docker restart memcached && docker restart smtp && docker restart db && docker restart sei"
  32 +
32 33 end
... ...
fakesmtp/Dockerfile 0 → 100644
... ... @@ -0,0 +1,10 @@
  1 +##############################################################################
  2 +# Dockerfile de construção do container WebApp utilizado pelo SEI e pelo SIP #
  3 +##############################################################################
  4 +
  5 +FROM schickling/mailcatcher
  6 +
  7 +MAINTAINER PEN - Processo Eletrônico Nacional
  8 +
  9 +EXPOSE 1080
  10 +
... ...
jod/Dockerfile
... ... @@ -2,17 +2,17 @@
2 2 # Dockerfile de construção do container JOD utilizado pelo SEI e pelo SIP #
3 3 ###########################################################################
4 4  
5   -# Definição da imagem de base para o CentOS 6.X
  5 +# Definição da imagem de base para o OpenJDK 8
6 6 FROM openjdk:8
7 7  
8 8 # Autor e mantenedor do container
9 9 MAINTAINER PEN - Processo Eletrônico Nacional
10 10  
11   -ENV TERM xterm
12   -
13 11 ################## INICIO DA INSTALACAO ######################
14 12 # Instalação do JOD Converter seguindo as recomendações descritas na documentação do SEI
15 13  
  14 +ENV TERM xterm
  15 +
16 16 # Instalação da api de serviços de conversão de documentos
17 17 COPY jodconverter-tomcat-2.2.2.zip /opt/
18 18  
... ...
jod/install.sh
... ... @@ -4,7 +4,7 @@ set -e
4 4  
5 5 # Instalação do pacote Java JDK e utilitários utilizados no provisionamento
6 6 apt-get -y update
7   -apt-get install -y --no-install-recommends wget unzip dos2unix libreoffice
  7 +apt-get install -y --no-install-recommends wget unzip libreoffice
8 8 apt-get -y clean all
9 9  
10 10 # Instalação da api de serviços de conversão de documentos
... ... @@ -12,7 +12,6 @@ unzip /opt/jodconverter-tomcat-2.2.2.zip -d /opt
12 12 rm /opt/jodconverter-tomcat-2.2.2.zip
13 13  
14 14 # Script de inicialização do container entry-point
15   -dos2unix /entrypoint.sh
16 15 chmod +x /entrypoint.sh
17 16  
18 17 exit 0
... ...
mysql/Dockerfile
1 1 ############################################################
2   -# Dockerfile de construção do container do MySQL
3   -# utilizado pelo SEI e pelo SIP
4   -#
5   -# Baseado no CentOS 6.X
  2 +# Dockerfile de construção do container do MySQL utilizado pelo SEI e pelo SIP
6 3 ############################################################
7 4  
8 5 # Definição da imagem de base para o CentOS 6.X
... ... @@ -14,40 +11,14 @@ MAINTAINER PEN - Processo Eletrônico Nacional
14 11 ################## INICIO DA INSTALACAO ######################
15 12 # Instalação do MySQL seguindo as recomendações descritas na documentação do SEI
16 13  
  14 +ENV TERM xterm
17 15 ENV MYSQL_ALLOW_EMPTY_PASSWORD 'yes'
18   -#ENV MYSQL_DATABASE 'sei'
19   -#ENV MYSQL_USER 'sei_user'
20   -#ENV MYSQL_PASSWORD 'sei_user'
21   -
22   -# Cópia dos backups dos bancos de dados do SEI e SIP
23   -#ADD sei-db-ref-executivo/mysql/sei_2_6_0_BD_Ref_Exec.sql /opt/sei_mysql.sql
24   -#ADD sei-db-ref-executivo/mysql/sip_2_6_0_BD_Ref_Exec.sql /opt/sip_mysql.sql
25 16  
  17 +COPY install.sh /install.sh
26 18 COPY 1-preinstall.sql /tmp/1-preinstall.sql
27   -COPY sei-db-ref-executivo/mysql/sei_2_6_0_BD_Ref_Exec.sql /tmp/2-sei_mysql.sql
28   -COPY sei-db-ref-executivo/mysql/sip_2_6_0_BD_Ref_Exec.sql /tmp/3-sip_mysql.sql
  19 +COPY sei-db-ref-executivo/mysql/sei_3_0_0_BD_Ref_Exec.sql /tmp/2-sei_mysql.sql
  20 +COPY sei-db-ref-executivo/mysql/sip_3_0_0_BD_Ref_Exec.sql /tmp/3-sip_mysql.sql
29 21 COPY 4-posinstall.sql /tmp/4-posinstall.sql
30 22  
31   -#ADD my.cnf /etc/my.cnf
32   -#ADD install.sh /install.sh
33   -
34   -# Instalação do MySQL 5.7 e demais componentes
35   -#RUN bash install.sh
36   -
37   -RUN cat /tmp/1-preinstall.sql > /docker-entrypoint-initdb.d/install.sql && \
38   - echo "USE sei;" >> /docker-entrypoint-initdb.d/install.sql && \
39   - cat /tmp/2-sei_mysql.sql >> /docker-entrypoint-initdb.d/install.sql && \
40   - echo "USE sip;" >> /docker-entrypoint-initdb.d/install.sql && \
41   - cat /tmp/3-sip_mysql.sql >> /docker-entrypoint-initdb.d/install.sql && \
42   - cat /tmp/4-posinstall.sql >> /docker-entrypoint-initdb.d/install.sql
43   -
44   -##################### FIM DA INSTALACAO #####################
45   -
46   -# Definição do terminal a ser utilizado
47   -#ENV TERM xterm
48   -
49   -# Exposição da porta de conexão ao MySQL Server
50   -#EXPOSE 3306
  23 +RUN bash /install.sh
51 24  
52   -# Inicialização do serviço
53   -#CMD ["/usr/bin/mysqld_safe", "--bind-address=0.0.0.0"]
... ...
mysql/install.sh
... ... @@ -2,38 +2,21 @@
2 2  
3 3 set -e
4 4  
5   -echo "Inicialização do banco de dados"
6   -/entrypoint.sh
  5 +# Constroi script de restauração da base de dados do sistema
  6 +cat /tmp/1-preinstall.sql > /docker-entrypoint-initdb.d/install.sql
7 7  
8   -echo "Criação dos bancos de dados do sistema"
9   -mysql -e "CREATE DATABASE IF NOT EXISTS 'sei';"
10   -mysql -e "CREATE DATABASE IF NOT EXISTS 'sip';"
  8 +# Script de restauração da base de dados do SEI
  9 +echo "USE sei;" >> /docker-entrypoint-initdb.d/install.sql
  10 +cat /tmp/2-sei_mysql.sql >> /docker-entrypoint-initdb.d/install.sql
11 11  
12   -# Criação dos usuários utilizados na conexão com SEI e SIP
13   -mysql -e "CREATE USER 'sip_user'@'%' IDENTIFIED BY 'sip_user'" sip
14   -mysql -e "CREATE USER 'sei_user'@'%' IDENTIFIED BY 'sei_user'" sei
15   -mysql -e "GRANT ALL PRIVILEGES ON sip.* TO 'sip_user'@'%'" sip
16   -mysql -e "GRANT ALL PRIVILEGES ON sei.* TO 'sei_user'@'%'" sei
  12 +#Script de restauração da base de dados do SIP
  13 +echo "USE sip;" >> /docker-entrypoint-initdb.d/install.sql
  14 +cat /tmp/3-sip_mysql.sql >> /docker-entrypoint-initdb.d/install.sql
17 15  
18   -# Restauração dos bancos de dados
19   -mysql sei < /opt/sei_mysql.sql
20   -mysql sip < /opt/sip_mysql.sql
21   -rm -f /opt/sei_mysql.sql /opt/sip_mysql.sql
22   -
23   -# Atualização dos parâmetros do SEI e do SIP
24   -mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sip
25   -mysql -e "update sistema set pagina_inicial='http://localhost/sip' where sigla='SIP';" sip
26   -mysql -e "update sistema set pagina_inicial='http://localhost/sei/inicializar.php', web_service='http://localhost/sei/controlador_ws.php?servico=sip' where sigla='SEI';" sip
27   -mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sei
28   -
29   -# Temp: Remove registros de auditoria presentes na base de referência
30   -mysql -e "delete from auditoria_protocolo;" sei
31   -
32   -# Configuração para utilizar autenticação nativa do SEI/SIP
33   -mysql -e "update orgao set sin_autenticar='N' where id_orgao=0;" sip
34   -
35   -# Atribuição de permissões de acesso externo para o usuário root, senha root
36   -mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;"
  16 +# Aplica ajustes nas tabelas de sistema e órgão do SIP e SEI
  17 +cat /tmp/4-posinstall.sql >> /docker-entrypoint-initdb.d/install.sql
37 18  
  19 +# Correção de problema com o registro de log de documentos contendo imagens
  20 +echo "max_allowed_packet=268435456" >> /etc/my.cnf
38 21  
39 22 exit 0
... ...
mysql/my.cnf
... ... @@ -1,26 +0,0 @@
1   -[mysqld]
2   -#
3   -# Remove leading # and set to the amount of RAM for the most important data
4   -# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
5   -# innodb_buffer_pool_size = 128M
6   -#
7   -# Remove leading # to turn on a very important data integrity option: logging
8   -# changes to the binary log between backups.
9   -# log_bin
10   -#
11   -# Remove leading # to set options mainly useful for reporting servers.
12   -# The server defaults are faster for transactions and fast SELECTs.
13   -# Adjust sizes as needed, experiment to find the optimal values.
14   -# join_buffer_size = 128M
15   -# sort_buffer_size = 2M
16   -# read_rnd_buffer_size = 2M
17   -datadir=/var/lib/mysql
18   -socket=/var/lib/mysql/mysql.sock
19   -
20   -# Disabling symbolic-links is recommended to prevent assorted security risks
21   -symbolic-links=0
22   -
23   -max_allowed_packet=268435456
24   -
25   -log-error=/var/log/mysqld.log
26   -pid-file=/var/run/mysqld/mysqld.pid
sei/Dockerfile
1 1 ###########################################################
2   -# Dockerfile de construção do container WebApp
3   -# utilizado pelo SEI e pelo SIP
4   -#
5   -# Baseado no CentOS 6.X
  2 +# Dockerfile de construção do container WebApp utilizado pelo SEI e pelo SIP
6 3 ############################################################
7 4  
8 5 # Definição da imagem de base para o CentOS 6.X
... ... @@ -13,62 +10,34 @@ MAINTAINER PEN - Processo Eletrônico Nacional
13 10  
14 11 ################## INICIO DA INSTALACAO ######################
15 12 # Instalação do SEI seguindo as recomendações descritas na documentação do SEI
16   -# Ref: https://processoeletronico.gov.br/projects/sei/wiki
17 13  
18   -# Instalação do servidor web Apache 2.2, memcache e demais componentes
19   -RUN yum install -y epel-release && \
20   - yum -y update && \
21   - yum -y install httpd-2.2.* mysql-5.1.* memcached openssl wget curl unzip gcc java-1.7.0-openjdk libxml2 dos2unix crontabs \
22   - 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 \
23   - php-odbc php-pdo php-pecl-apc php-pspell php-zlib php-snmp php-soap php-xml php-xmlrpc php-zts php-devel \
24   - php-pecl-apc-devel php-pecl-memcache php-calendar php-shmop php-intl \
25   - php-mcrypt php-pecl-xdebug \
26   - supervisor gearmand libgearman libgearman-devel php-pecl-gearman && \
27   - yum -y clean all
28   -
29   -
30   -# Configuração do charset do Apache
31   -RUN echo "AddDefaultCharset iso-8859-1" | tee -a /etc/httpd/conf/httpd.conf
  14 +ENV TERM xterm
32 15  
33   -# Correção do bug do VirtualBox relacionado ao Sendfile. http://docs.vagrantup.com/v2/synced-folders/virtualbox.html
34   -RUN echo "EnableSendfile Off" | tee -a /etc/httpd/conf/httpd.conf
  16 +COPY install.sh /install.sh
35 17  
36   -# Instalação do componentes UploadProgress
37   -RUN pecl install uploadprogress && \
38   - echo "extension=uploadprogress.so" >> /etc/php.d/uploadprogress.ini
  18 +RUN bash /install.sh
39 19  
40 20 # Configuração dos parâmetros do SEI e SIP
41   -ADD ConfiguracaoSEI.php /opt/sei/ConfiguracaoSEI.php
42   -ADD ConfiguracaoSip.php /opt/sip/ConfiguracaoSip.php
  21 +COPY ConfiguracaoSEI.php /ConfiguracaoSEI.php
  22 +COPY ConfiguracaoSip.php /ConfiguracaoSip.php
43 23  
44 24 # Copia arquivos necessários para a instalação
45   -ADD sei.ini /etc/php.d/sei.ini
46   -ADD xdebug.ini /etc/php.d/xdebug.ini
47   -ADD sei.conf /etc/httpd/conf.d/sei.conf
  25 +COPY sei.ini /etc/php.d/sei.ini
  26 +COPY xdebug.ini /etc/php.d/xdebug.ini
  27 +COPY sei.conf /etc/httpd/conf.d/sei.conf
48 28  
49 29 # Configuração do Gearman e Supervisor, componentes necessários para a integração do SEI com Processo Eletrônico Nacional
50   -ADD supervisord.conf /etc/supervisord.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 "0 * * * * 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 "0 * * * * 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
  30 +COPY supervisord.conf /etc/supervisord.conf
60 31  
61 32 # Script de inicialização do container entry-point
62   -ADD entrypoint.sh /entrypoint.sh
63   -RUN dos2unix /entrypoint.sh && chmod +x /entrypoint.sh
  33 +COPY entrypoint.sh /entrypoint.sh
  34 +RUN chmod +x /entrypoint.sh
64 35  
65 36 ##################### FIM DA INSTALACAO #####################
66 37  
67   -# Definição do terminal a ser utilizado
68   -ENV TERM xterm
69   -
70 38 # Exposição da porta de conexão ao Apache
71 39 EXPOSE 80
72 40  
73 41 # Inicialização dos serviços Apache e Memcache
74 42 CMD ["/entrypoint.sh"]
  43 +
... ...
sei/entrypoint.sh
1 1 #!/usr/bin/env bash
2 2  
  3 +echo "127.0.0.1 sei_www" >> /etc/hosts
3 4 echo "127.0.0.1 sip_www" >> /etc/hosts
4 5  
5   -# Configura localização correta da infra_php
6   -#if [ -d /mnt/sei/src/infra/infra_php ]; then dir_infra_php="/mnt/sei/src/infra/infra_php"; else dir_infra_php="/mnt/sei/src/infra_php"; fi
7   -#ln -sf $dir_infra_php /var/www/html/
8   -
9   -# Configura localização correta da infra_js
10   -#if [ -d /mnt/sei/src/infra/infra_js ]; then dir_infra_js="/mnt/sei/src/infra/infra_js"; else dir_infra_js="/mnt/sei/src/infra_js"; fi
11   -#ln -sf $dir_infra_js /var/www/html/
12   -
13   -# Configura localização correta da infra_css
14   -#if [ -d /mnt/sei/src/infra/infra_css ]; then dir_infra_css="/mnt/sei/src/infra/infra_css"; else dir_infra_css="/mnt/sei/src/infra_css"; fi
15   -#ln -sf $dir_infra_css /var/www/html/
16   -
17 6 # Atribuição dos parâmetros de configuração do SEI
18 7 if [ -f /opt/sei/config/ConfiguracaoSEI.php ] && [ ! -f /opt/sei/config/ConfiguracaoSEI.php~ ]; then
19 8 mv /opt/sei/config/ConfiguracaoSEI.php /opt/sei/config/ConfiguracaoSEI.php~
... ... @@ -32,25 +21,19 @@ if [ ! -f /opt/sip/config/ConfiguracaoSip.php ]; then
32 21 cp /ConfiguracaoSip.php /opt/sip/config/ConfiguracaoSip.php
33 22 fi
34 23  
35   -# Criação do diretório padrão de upload de arquivos
36   -#SEI
37   -chown -R www-data.www-data /opt/sei
38   -chown -R www-data.www-data /opt/infra
39   -chown -R www-data.www-data /opt/sip
  24 +# Ajustes de permissões diversos
40 25 chmod +x /opt/sei/bin/wkhtmltopdf-amd64
41 26 chmod -R 777 /opt/sei/temp
42 27 chmod -R 777 /opt/sip/temp
43 28 chmod -R 777 /var/sei/arquivos
44 29  
45   -# Inicialização do serviço de cache
46   -#/etc/init.d/memcached start
47   -
48 30 # Inicialização das rotinas de agendamento
49   -service cron start
  31 +/etc/init.d/rsyslog start
  32 +/etc/init.d/crond start
50 33  
51 34 # Inicialização do Gearman e Supervisor, componentes para integração com Processo Eletrônico Nacional
52   -gearmand &
53   -service supervisor start
  35 +/etc/init.d/gearmand start
  36 +/etc/init.d/supervisord start
54 37  
55 38 # Inicialização do servidor web
56   -apache2-foreground
  39 +/usr/sbin/httpd -DFOREGROUND
... ...
sei/install.sh
... ... @@ -2,20 +2,27 @@
2 2  
3 3 set -e
4 4  
5   -apt-get -y update
  5 +yum install -y epel-release && yum -y update
6 6  
7   -apt-get -y install mysql-client wget unzip openjdk-7-jre bzip2 cron \
8   - php5-common php-pear php5-gd php5-intl php5-ldap php5-mysql php5-memcached php5-curl php5-json php5-dev php5-xdebug php5-mcrypt \
9   - php-calendar php-soap php-gettext php-pclzip php-file \
10   - libapache2-mod-php5filter
  7 +wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
  8 +wget https://centos6.iuscommunity.org/ius-release.rpm
  9 +rpm -Uvh ius-release*.rpm
  10 +
  11 +yum -y update
  12 +
  13 +yum -y install httpd24u mysql56u memcached openssl wget curl unzip gcc java-1.7.0-openjdk libxml2 crontabs
  14 +
  15 +# Instalação do PHP e demais extenções necessárias para o projeto
  16 +yum -y install php56u php56u-common php56u-cli php56u-pear php56u-bcmath php56u-gd php56u-gmp php56u-imap php56u-intl php56u-ldap php56u-mbstring php56u-mysqli \
  17 + php56u-odbc php56u-pdo php56u-pecl-apc php56u-pspell php56u-zlib php56u-snmp php56u-soap php56u-xml php56u-xmlrpc php56u-zts php56u-devel \
  18 + php56u-pecl-apc-devel php56u-pecl-memcache php56u-calendar php56u-shmop php56u-intl php56u-mcrypt php56u-pecl-xdebug
11 19  
12 20 # Instalação do componentes UploadProgress
13   -pecl install uploadprogress
14   -echo "extension=uploadprogress.so" > /etc/php5/mods-available/uploadprogress.ini
  21 +pecl install uploadprogress && \
  22 +echo "extension=uploadprogress.so" >> /etc/php.d/uploadprogress.ini
15 23  
16   -# Instalação do Supervisor e Gearman para suporte à integração com o PEN
17   -apt-get -y install supervisor
18   -apt-get -y install gearman libgearman7 php5-gearman
  24 +# Instalação de componentes para teste do Barramento de Seriços do PEN
  25 +yum -y install supervisor gearmand libgearman libgearman-devel php56u-pecl-gearman
19 26  
20 27 # Configuração de permissão do diretório de arquivos
21 28 mkdir -p /var/sei/arquivos && \
... ... @@ -23,9 +30,12 @@ chmod -R 777 /var/sei/arquivos
23 30  
24 31 # Configuração dos serviços de background do Cron
25 32 mkdir /var/log/sei
26   -echo "0 * * * * root /usr/bin/php -c /etc/php.ini /opt/sei/scripts/AgendamentoTarefaSEI.php 2>&1 >> /var/log/sei/agendamento_sei.log" >> /etc/cron.d/sei
27   -echo "0 * * * * root /usr/bin/php -c /etc/php.ini /opt/sip/scripts/AgendamentoTarefaSip.php 2>&1 >> /var/log/sip/agendamento_sip.log" >> /etc/cron.d/sip
  33 +sed -i '/session required pam_loginuid.so/c\#session required pam_loginuid.so' /etc/pam.d/crond
  34 +echo "0 * * * * root /usr/bin/php -c /etc/php.ini /opt/sei/scripts/AgendamentoTarefaSEI.php 2>&1 >> /var/log/sei/agendamento_sei.log" > /etc/cron.d/sei
  35 +echo "0 * * * * root /usr/bin/php -c /etc/php.ini /opt/sip/scripts/AgendamentoTarefaSip.php 2>&1 >> /var/log/sip/agendamento_sip.log" > /etc/cron.d/sip
28 36 echo "00 01 * * * root rm -rf /opt/sei/temp/*" >> /etc/cron.d/sei
29 37 echo "00 01 * * * root rm -rf /opt/sip/temp/*" >> /etc/cron.d/sip
30 38  
  39 +yum -y clean all
  40 +
31 41 exit 0
... ...
sei/supervisord.conf
1 1  
  2 +[supervisord]
  3 +http_port=/var/tmp/supervisor.sock ; (default is to run a UNIX domain socket server)
  4 +;http_port=127.0.0.1:9001 ; (alternately, ip_address:port specifies AF_INET)
  5 +;sockchmod=0700 ; AF_UNIX socketmode (AF_INET ignore, default 0700)
  6 +;sockchown=nobody.nogroup ; AF_UNIX socket uid.gid owner (AF_INET ignores)
  7 +;umask=022 ; (process file creation umask;default 022)
  8 +logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
  9 +logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB)
  10 +logfile_backups=10 ; (num of main logfile rotation backups;default 10)
  11 +loglevel=info ; (logging level;default info; others: debug,warn)
  12 +pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
  13 +nodaemon=false ; (start in foreground if true;default false)
  14 +minfds=1024 ; (min. avail startup file descriptors;default 1024)
  15 +minprocs=200 ; (min. avail process descriptors;default 200)
  16 +
  17 +;nocleanup=true ; (don't clean up tempfiles at start;default false)
  18 +;http_username=user ; (default is no username (open system))
  19 +;http_password=123 ; (default is no password (open system))
  20 +;childlogdir=/tmp ; ('AUTO' child log dir, default $TEMP)
  21 +;user=chrism ; (default is current user, required if root)
  22 +;directory=/tmp ; (default is not to cd during start)
  23 +;environment=KEY=value ; (key value pairs to add to environment)
  24 +
  25 +[supervisorctl]
  26 +serverurl=unix:///var/tmp/supervisor.sock ; use a unix:// URL for a unix socket
  27 +;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
  28 +;username=chris ; should be same as http_username if set
  29 +;password=123 ; should be same as http_password if set
  30 +;prompt=mysupervisor ; cmd line prompt (default "supervisor")
  31 +
  32 +; The below sample program section shows all possible program subsection values,
  33 +; create one or more 'real' program: sections to be able to control them under
  34 +; supervisor.
  35 +
  36 +;[program:theprogramname]
  37 +;command=/bin/cat ; the program (relative uses PATH, can take args)
  38 +;priority=999 ; the relative start priority (default 999)
  39 +;autostart=true ; start at supervisord start (default: true)
  40 +;autorestart=true ; retstart at unexpected quit (default: true)
  41 +;startsecs=10 ; number of secs prog must stay running (def. 10)
  42 +;startretries=3 ; max # of serial start failures (default 3)
  43 +;exitcodes=0,2 ; 'expected' exit codes for process (default 0,2)
  44 +;stopsignal=QUIT ; signal used to kill process (default TERM)
  45 +;stopwaitsecs=10 ; max num secs to wait before SIGKILL (default 10)
  46 +;user=chrism ; setuid to this UNIX account to run the program
  47 +;log_stdout=true ; if true, log program stdout (default true)
  48 +;log_stderr=true ; if true, log program stderr (def false)
  49 +;logfile=/var/log/cat.log ; child log path, use NONE for none; default AUTO
  50 +;logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
  51 +;logfile_backups=10 ; # of logfile backups (default 10)
  52 +
2 53 [program:sei_processar_pendencias]
3 54 command=/usr/bin/php -c /etc/php.ini /var/www/html/sei/modulos/pen/rn/ProcessarPendenciasRN.php
4 55 numprocs=1
5 56 directory=/var/www/html/sei/
6 57 autostart=true
7 58 autorestart=true
  59 +log_stderr=true
8 60 stdout_logfile=/tmp/sei.log
9 61 stdout_logfile_maxbytes=1MB
10 62 stderr_logfile=/tmp/sei_error.log
... ... @@ -16,6 +68,7 @@ numprocs=1
16 68 directory=/var/www/html/sei/
17 69 autostart=true
18 70 autorestart=true
  71 +log_stderr=true
19 72 stdout_logfile=/tmp/sei.log
20 73 stdout_logfile_maxbytes=1MB
21 74 stderr_logfile=/tmp/sei_error.log
... ...
solr/Dockerfile
... ... @@ -2,17 +2,16 @@
2 2 # Dockerfile de construção do container Solr utilizado pelo SEI e pelo SIP #
3 3 ############################################################################
4 4  
5   -# Definição da imagem de base para o CentOS 6.X
  5 +# Definição da imagem de base para o OpenJDK 8
6 6 FROM openjdk:8
7 7  
8 8 # Autor e mantenedor do container
9 9 MAINTAINER PEN - Processo Eletrônico Nacional
10 10  
11   -# Definição do terminal a ser utilizado
12   -ENV TERM xterm
13   -
14 11 ################## INICIO DA INSTALACAO ######################
15 12  
  13 +ENV TERM xterm
  14 +
16 15 # Obtenção do pacote de instalação do Solr 4.0
17 16 COPY install.sh /install.sh
18 17 COPY solr-6.1.0.tgz /tmp/
... ...