Dockerfile
3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
###########################################################
# Dockerfile de construção do container WebApp
# utilizado pelo SEI e pelo SIP
#
# Baseado no CentOS 6.X
############################################################
# Definição da imagem de base para o CentOS 6.X
FROM centos:centos6
# Autor e mantenedor do container
MAINTAINER PEN - Processo Eletrônico Nacional
################## INICIO DA INSTALACAO ######################
# Instalação do SEI seguindo as recomendações descritas na documentação do SEI
# Ref: https://processoeletronico.gov.br/projects/sei/wiki
# Instalação do servidor web Apache 2.2, memcache e demais componentes
RUN yum -y update && \
yum -y install httpd-2.2.* mysql-5.1.* memcached openssl wget curl unzip gcc java-1.7.0-openjdk libxml2 dos2unix crontabs \
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 \
php-odbc php-pdo php-pecl-apc php-pspell php-zlib php-snmp php-soap php-xml php-xmlrpc php-zts php-devel \
php-pecl-apc-devel php-pecl-memcache php-calendar php-shmop && \
yum -y clean all
# Procedimentos para instalação das bibliotecas php-mcrypt
RUN wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6 && \
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm && \
rpm -ivh epel-release-6-8.noarch.rpm && \
rm -f epel-release-6-8.noarch.rpm RPM-GPG-KEY-EPEL-6 && \
yum -y install php-mcrypt
# Configuração do charset do Apache
RUN echo "AddDefaultCharset iso-8859-1" | tee -a /etc/httpd/conf/httpd.conf
# Correção do bug do VirtualBox relacionado ao Sendfile. http://docs.vagrantup.com/v2/synced-folders/virtualbox.html
RUN echo "EnableSendfile Off" | tee -a /etc/httpd/conf/httpd.conf
# Instalação do componentes UploadProgress
RUN pecl install uploadprogress && \
echo "extension=uploadprogress.so" >> /etc/php.d/uploadprogress.ini
# Configuração dos parâmetros do SEI e SIP
ADD ConfiguracaoSEI.php /opt/sei/ConfiguracaoSEI.php
ADD ConfiguracaoSip.php /opt/sip/ConfiguracaoSip.php
# Copia arquivos necessários para a instalação
ADD sei.ini /etc/php.d/sei.ini
RUN mkdir -p /var/sei/arquivos && \
chmod -R 777 /var/sei/arquivos
# Configuração dos serviços de background do Cron
RUN mkdir /var/log/sei
RUN sed -i '/session required pam_loginuid.so/c\#session required pam_loginuid.so' /etc/pam.d/crond
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
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
# Script de inicialização do container entry-point
ADD entrypoint.sh /entrypoint.sh
RUN dos2unix /entrypoint.sh && chmod +x /entrypoint.sh
##################### FIM DA INSTALACAO #####################
# Exposição da porta de conexão ao Apache
EXPOSE 80
# Inicialização dos serviços Apache e Memcache
CMD ["/entrypoint.sh"]