From e867009a9a0d35a4771ec316131ccef635c68807 Mon Sep 17 00:00:00 2001 From: Guilherme Andrade Del Cantoni Date: Sun, 6 Nov 2016 03:04:45 -0200 Subject: [PATCH] Mundaça de container base para o mysql --- mysql/Dockerfile | 16 ++++++++++------ mysql/install.sh | 57 +++++++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 57 insertions(+), 16 deletions(-) diff --git a/mysql/Dockerfile b/mysql/Dockerfile index 492441b..65e822d 100644 --- a/mysql/Dockerfile +++ b/mysql/Dockerfile @@ -3,7 +3,7 @@ ############################################################ # Definição da imagem de base para o CentOS 6.X -FROM mysql/mysql-server:5.6 +FROM centos:centos6 # Autor e mantenedor do container MAINTAINER PEN - Processo Eletrônico Nacional @@ -12,13 +12,17 @@ MAINTAINER PEN - Processo Eletrônico Nacional # Instalação do MySQL seguindo as recomendações descritas na documentação do SEI ENV TERM xterm -ENV MYSQL_ALLOW_EMPTY_PASSWORD 'yes' + COPY install.sh /install.sh -COPY 1-preinstall.sql /tmp/1-preinstall.sql -COPY sei-db-ref-executivo/mysql/sei_3_0_0_BD_Ref_Exec.sql /tmp/2-sei_mysql.sql -COPY sei-db-ref-executivo/mysql/sip_3_0_0_BD_Ref_Exec.sql /tmp/3-sip_mysql.sql -COPY 4-posinstall.sql /tmp/4-posinstall.sql +COPY sei-db-ref-executivo/mysql/sei_3_0_0_BD_Ref_Exec.sql /tmp/sei_mysql.sql +COPY sei-db-ref-executivo/mysql/sip_3_0_0_BD_Ref_Exec.sql /tmp/sip_mysql.sql RUN bash /install.sh +# Exposição da porta de conexão ao MySQL Server +EXPOSE 3306 + +# Inicialização do serviço +CMD ["/usr/bin/mysqld_safe", "--bind-address=0.0.0.0"] + diff --git a/mysql/install.sh b/mysql/install.sh index 94e795e..97c0672 100644 --- a/mysql/install.sh +++ b/mysql/install.sh @@ -2,22 +2,59 @@ set -e -# Constroi script de restauração da base de dados do sistema -cat /tmp/1-preinstall.sql > /docker-entrypoint-initdb.d/install.sql +yum update -y -# Script de restauração da base de dados do SEI -echo "USE sei;" >> /docker-entrypoint-initdb.d/install.sql -cat /tmp/2-sei_mysql.sql >> /docker-entrypoint-initdb.d/install.sql +yum install -y wget -#Script de restauração da base de dados do SIP -echo "USE sip;" >> /docker-entrypoint-initdb.d/install.sql -cat /tmp/3-sip_mysql.sql >> /docker-entrypoint-initdb.d/install.sql +# Instalar o MySQL 5.6 +wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm +rpm -ivh mysql-community-release-el6-5.noarch.rpm +yum -y install mysql-server -# Aplica ajustes nas tabelas de sistema e órgão do SIP e SEI -cat /tmp/4-posinstall.sql >> /docker-entrypoint-initdb.d/install.sql +# Inicialização do diretório de armazenamento do MySQL. +# PS: Utilizando configuração insegura apenas para propósito de desenvolvimento +rm -rf /var/lib/mysql/* +chown -R mysql:mysql /var/lib/mysql +#mysqld --user=mysql --initialize-insecure +mysql_install_db --user=mysql --datadir="/var/lib/mysql" --rpm --keep-my-cnf + +# Inicialização do banco de dados +/etc/init.d/mysqld start + +# Criação dos bancos de dados do sistema +mysqladmin create sip +mysqladmin create sei + +# Criação dos usuários utilizados na conexão com SEI e SIP +mysql -e "CREATE USER 'sip_user'@'%' IDENTIFIED BY 'sip_user'" sip +mysql -e "CREATE USER 'sei_user'@'%' IDENTIFIED BY 'sei_user'" sei +mysql -e "GRANT ALL PRIVILEGES ON sip.* TO 'sip_user'@'%'" sip +mysql -e "GRANT ALL PRIVILEGES ON sei.* TO 'sei_user'@'%'" sei + +# Restauração dos bancos de dados +mysql sei < /tmp/sei_mysql.sql +mysql sip < /tmp/sip_mysql.sql +rm -f /tmp/sei_mysql.sql /tmp/sip_mysql.sql + +# Atualização dos parâmetros do SEI e do SIP +mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sip +mysql -e "update sistema set pagina_inicial='http://localhost/sip' where sigla='SIP';" sip +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 +mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sei + +# Remove registros de auditoria presentes na base de referência +mysql -e "delete from auditoria_protocolo;" sei + +# Configuração para utilizar autenticação nativa do SEI/SIP +mysql -e "update orgao set sin_autenticar='N' where id_orgao=0;" sip + +# Atribuição de permissões de acesso externo para o usuário root, senha root +mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;" # Correção de problema com o registro de log de documentos contendo imagens echo "max_allowed_packet=268435456" >> /etc/my.cnf echo "sql-mode=NO_ENGINE_SUBSTITUTION" >> /etc/my.cnf +yum clean -y all + exit 0 -- libgit2 0.21.2