Commit 78ec197bd8a4a5fed30895fd813eeb0acf6d1d04
Exists in
master
and in
1 other branch
Merge branch 'Atualizacao_pre_1.0.4b' into 'master'
Atualizacao pre 1.0.4b See merge request !3
Showing
1 changed file
with
62 additions
and
41 deletions
Show diff stats
INSTALL.txt
1 | -# OCR Server 1.0.4 - (c) Agencia Nacional de Telecomunicacoees | |
1 | +# OCR Server 1.0.4b - (c) Agencia Nacional de Telecomunicacoees | |
2 | 2 | # |
3 | 3 | # This script monitors a set of input directories for PDF files |
4 | 4 | # once a new file is detected, it is processes through tesseract OCR |
... | ... | @@ -23,6 +23,7 @@ |
23 | 23 | # 1.0.2 Fix bug when counting cores for AMD processors |
24 | 24 | # 1.0.3 Added better image type detection |
25 | 25 | # 1.0.4 Fix: added ubuntu init script |
26 | +# 1.0.4b Centos 6.9 | |
26 | 27 | # |
27 | 28 | # TODO: - Changes get_imgs and OCR processing to enable pages with more than one image -- it |
28 | 29 | # would not work on previous versions that assumed #pages = #imgs. Version 1.1 counts them |
... | ... | @@ -38,7 +39,7 @@ |
38 | 39 | # |
39 | 40 | # |
40 | 41 | # O servidor OCR depende dos seguintes componentes: |
41 | -# - Perl 5.10.1, com seguintes módulos: | |
42 | +# - Perl 5.10.1, com seguintes módulos: | |
42 | 43 | # - File::Find::Rule |
43 | 44 | # - File::Basename |
44 | 45 | # - File::Copy |
... | ... | @@ -49,48 +50,56 @@ |
49 | 50 | # - IPC::Open3 |
50 | 51 | # - IO::Select |
51 | 52 | # - POSIX |
52 | -# - Tesseract-ocr 3.05, com dicionários inglês e português | |
53 | +# - Tesseract-ocr 3.05, com dicionários inglês e português | |
53 | 54 | # - Pdftk 2.02 |
54 | 55 | # - Poppler-utils 0.42.0 |
55 | 56 | # - Cpdf 2.1 |
56 | 57 | # - ImageMagick 6.7.2-7 |
57 | 58 | # |
58 | -# Na ausência deles na distribuição do sistema operacional, o uso de versões antigas desses componentes podem comprometer o correto funcionamento do sistema | |
59 | -# Dessa forma, pode ser necessário compilar os componentes faltantes, assim como as bibliotecas necessárias para o seu correto funcionamento. | |
60 | -# Esse arquivo contem informações quanto aos procedimentos para instalar e configurar o sistema pressupondo o pior caso, qual seja, a necessidade de compilação dos componentes. | |
59 | +# Na ausência deles na distribuição do sistema operacional, o uso de versões antigas desses componentes podem comprometer o correto funcionamento do sistema | |
60 | +# Dessa forma, pode ser necessário compilar os componentes faltantes, assim como as bibliotecas necessárias para o seu correto funcionamento. | |
61 | +# Esse arquivo contem informações quanto aos procedimentos para instalar e configurar o sistema pressupondo o pior caso, qual seja, a necessidade de compilação dos componentes. | |
61 | 62 | # |
62 | -## ATENÇÃO: se algum componente abaixo não estiver disponível no repositório padrão para o Linux utilizado, deve-se proceder com a compilação da versão mais recente do componente disponibilizado em outros repositórios para que seja instalado no Linux a ser utilizado. | |
63 | +## ATENÇÃO: se algum componente abaixo não estiver disponÃvel no repositório padrão para o Linux utilizado, deve-se proceder com a compilação da versão mais recente do componente disponibilizado em outros repositórios para que seja instalado no Linux a ser utilizado. | |
63 | 64 | # |
64 | -# Configure o script, alterando as variáveis no arquivo '/usr/local/bin/ocr': | |
65 | +# Configure o script, alterando as variáveis no arquivo '/usr/local/bin/ocr': | |
65 | 66 | # |
66 | -# @BASE_DIRS: Lista de diretórios base para a busca de arquivos --> cada diretório base irá ter sua própria instância do script | |
67 | -# @SUB_DIRS: Subdiretórios de entrada, saída, backup do arquivos originais, temporário e de arquivos com erro | |
68 | -# $MAX_FILES: Número máximo de arquivos a serem processados simultaneamente por diretório de entrada (default: 2) | |
69 | -# $MAX_PGS: Número máximo de páginas que podem ser processadas simultanemante por arquivo de entrada (default: no. de CPUs) | |
70 | -# Essas variáveis controlam o número máximo de instâncias de processos simultâneas = Num. de diretorios X MAX_FILES X MAX_PGS. | |
71 | -# Recomenda-se que o equipamento tenha em torno de 1,5 GB de RAM para cada core de CPU de forma a evitar swap. Se isso não for possível, pode ser reduzido o número de processos ou arquivos simultâneos. | |
72 | -# A configuração do servidor pode ser dimensionada com base no tempo desejado para processamento de grandes arquivos (> 100 páginas). Cada página tem sua própria thread de processamento, até o limite de $MAX_PGS, cujo default é o no. de cores de CPU. Em média cada página demora em torno de 18 segundos em uma CPU Xeon E5 4670@2.6GHz. Assim, com 16 CPUs, o desempenho agregado é em torno de 1,2 segundos por página. | |
67 | +# @BASE_DIRS: Lista de diretórios base para a busca de arquivos --> cada diretório base irá ter sua própria instância do script | |
68 | +# @SUB_DIRS: Subdiretórios de entrada, saÃda, backup do arquivos originais, temporário e de arquivos com erro | |
69 | +# $MAX_FILES: Número máximo de arquivos a serem processados simultaneamente por diretório de entrada (default: 2) | |
70 | +# $MAX_PGS: Número máximo de páginas que podem ser processadas simultanemante por arquivo de entrada (default: no. de CPUs) | |
71 | +# Essas variáveis controlam o número máximo de instâncias de processos simultâneas = Num. de diretorios X MAX_FILES X MAX_PGS. | |
72 | +# Recomenda-se que o equipamento tenha em torno de 1,5 GB de RAM para cada core de CPU de forma a evitar swap. Se isso não for possÃvel, pode ser reduzido o número de processos ou arquivos simultâneos. | |
73 | +# A configuração do servidor pode ser dimensionada com base no tempo desejado para processamento de grandes arquivos (> 100 páginas). Cada página tem sua própria thread de processamento, até o limite de $MAX_PGS, cujo default é o no. de cores de CPU. Em média cada página demora em torno de 18 segundos em uma CPU Xeon E5 4670@2.6GHz. Assim, com 16 CPUs, o desempenho agregado é em torno de 1,2 segundos por página. | |
73 | 74 | # |
74 | -# Para operação multi instância, basta instalar quantos servidores forem necessários e eles podem ter acesso aos mesmos diretórios de entrada que podem ser compartilhamentos SAMBA/CIFS/Windows ou NFS. | |
75 | +# Para operação multi instância, basta instalar quantos servidores forem necessários e eles podem ter acesso aos mesmos diretórios de entrada que podem ser compartilhamentos SAMBA/CIFS/Windows ou NFS. | |
75 | 76 | # |
76 | 77 | # |
77 | -# ----------------------- COMPILAÇÃO dos pré requisitos (obs.: os comandos de devem ser executados como root) | |
78 | +# ----------------------- COMPILAÇÃO dos pré requisitos (obs.: os comandos de devem ser executados como root) | |
78 | 79 | # |
79 | 80 | # |
80 | -# Compilando os pré-requisitos: máquina de COMPILAÇÃO APENAS | |
81 | +# Compilando os pré-requisitos: máquina de COMPILAÇÃO APENAS | |
81 | 82 | # |
82 | -# RedHat 6.7: | |
83 | -yum -y install autoconf make gcc-java gcc gcc-c++ subversion pkg-config automake libtool yasm cmake git libgcj | |
83 | +# RedHat 6.7 e Centos 6.9: | |
84 | +yum -y install autoconf make gcc-java gcc gcc-c++ subversion pkg-config automake libtool yasm cmake git libgcj unzip | |
84 | 85 | yum -y install libtiff-devel libpng-devel openjpeg-devel libjpeg-turbo-devel giflib-devel libwebp-devel zlib-devel libicu-devel pango-devel cairo-devel fontconfig-devel gettext-devel |
85 | 86 | cd /tmp |
86 | 87 | wget http://www.itzgeek.com/msttcore-fonts-2.0-3.noarch.rpm |
87 | 88 | rpm -Uvh msttcore-fonts-2.0-3.noarch.rpm |
88 | 89 | rm -f msttcore-fonts-2.0-3.noarch.rpm |
89 | 90 | |
91 | +# Centos 6.9 | |
92 | +# \_ autoconf-archive | |
93 | +wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/pelliott11:/autoconf-archive/CentOS_CentOS-6/noarch/autoconf-archive-2012.04.07-7.3.noarch.rpm | |
94 | +rpm -i autoconf-archive-2012.04.07-7.3.noarch.rpm | |
95 | +rm autoconf-archive-2012.04.07-7.3.noarch.rpm | |
96 | +# \_ GCC 4.8 | |
97 | +wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo | |
98 | +yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++ devtoolset-2-gcj | |
99 | + | |
90 | 100 | # Ubuntu 14.04 Server: |
91 | 101 | apt-get install build-essential cmake libtool yasm pkg-config subversion git libgcj14 |
92 | 102 | apt-get install libtiff-dev libpng-dev libopenjpeg-dev libjpeg8-dev libjpeg-turbo8-dev libjpeg-dev libgif-dev zlib1g-dev libicu-dev libpango1.0-dev libcairo2-dev libfontconfig1-dev libgettextpo-dev |
93 | -apt-get install | |
94 | 103 | apt-get install ttf-mscorefonts-installer |
95 | 104 | |
96 | 105 | # Ambas plataformas: |
... | ... | @@ -115,50 +124,62 @@ wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip |
115 | 124 | unzip pdftk-2.02-src.zip |
116 | 125 | rm -f pdftk-2.02-src.zip |
117 | 126 | |
118 | -# Tesseract, versão 3.05-dev ou superior | |
127 | +# pdftk, versão 2.02 ou superior | |
128 | +cd pdftk-2.02-dist/pdftk && make -f Makefile.Redhat all install && cd ../.. | |
129 | + | |
130 | +# Centos 6.9 | |
131 | +# \_ Cria um novo shell usando o GCC 4.8 por default | |
132 | +scl enable devtoolset-2 bash | |
133 | + | |
134 | +# Tesseract, versão 3.05-dev ou superior | |
119 | 135 | # Bibliotecas para o Tesseract: Leptonica e Libav |
120 | -cd leptonica && ./autobuild && ./configure && make -j 8 all install && cd .. | |
136 | +cd leptonica && ./autobuild && ./configure && make all install && cd .. | |
121 | 137 | |
122 | -cd libav && ./configure --enable-sram && make -j8 all install && cd .. | |
138 | +# Para compilação do Tesseract após a compilação do leptonica | |
139 | +export PKG_CONFIG_PATH=/usr/lib:/usr/local/lib:/usr/local/src/leptonica/ | |
140 | + | |
141 | +cd libav && ./configure --enable-sram && make all install && cd .. | |
123 | 142 | |
124 | 143 | # Tesseract |
125 | -cd tesseract && ./autogen.sh && ./configure && make -j 8 all install && cd .. | |
144 | +cd tesseract && ./autogen.sh && ./configure && make all install && cd .. | |
126 | 145 | cp -avR tessdata/* /usr/local/share/tessdata/ |
127 | 146 | |
128 | -# cpdf, versão 2.1 ou superior | |
147 | +# cpdf, versão 2.1 ou superior | |
129 | 148 | cd ocaml && ./configure && make world.opt && make install && cd .. |
130 | 149 | mkdir -p /usr/local/man/man5 |
150 | +# lib-findlib -- pode dar erro na instalação de páginas de man... é seguro ignorar, ou basta criar os diretórios faltantes e tentar novamente | |
131 | 151 | cd lib-findlib && ./configure && make all && make install && cd .. |
132 | 152 | cd camlpdf && sed -i.bak s/\(uint32\)/\(uint32_t\)/g flatestubs.c && make && make install && cd .. |
133 | 153 | cd cpdf-source && make all && make install && cp cpdf /usr/local/bin && cd .. |
134 | 154 | |
135 | -# pdftk, versão 2.02 ou superior | |
136 | -cd pdftk-2.02-dist/pdftk && make -f Makefile.Redhat all install && cd ../.. | |
155 | +# poppler-utils, versão 0.42.0 ou superior | |
156 | +cd poppler && ./autogen.sh && ./configure && make all install && cd .. | |
137 | 157 | |
138 | -# poppler-utils, versão 0.42.0 ou superior | |
139 | -cd poppler && ./autogen.sh && LIBOPENJPEG_LIBS=-l/usr/local/lib/libopenjp2.so LIBOPENJPEG_CFLAGS=-I/usr/local/include ./configure --enable-libopenjpeg=openjpeg2 && make all install && cd .. | |
158 | +# Centos 6.9 | |
159 | +# \_ Termina o shell usando o GCC 4.8 por default | |
160 | +exit | |
140 | 161 | |
141 | -# ----------------------- INSTALAÇÃO (obs.: os comandos de devem ser executados como root) | |
162 | +# ----------------------- INSTALAÇÃO (obs.: os comandos de devem ser executados como root) | |
142 | 163 | |
143 | -## Comandos adicionais para configuração do módulo: | |
164 | +## Comandos adicionais para configuração do módulo: | |
144 | 165 | |
145 | -# Criação do usuário | |
166 | +# Criação do usuário | |
146 | 167 | adduser ocr |
147 | 168 | |
148 | -# Copie os arquivos ocr ocr-* para os diretórios corretos, conforme o sistema operacional | |
169 | +# Copie os arquivos ocr ocr-* para os diretórios corretos, conforme o sistema operacional | |
149 | 170 | cp ./usr/local/bin/ocr /usr/local/bin |
150 | -cp ./usr/local/etc/init.d/ocr-redhat /etc/init.d/ocr (OU) | |
151 | -cp ./usr/local/etc/init.d/ocr-ubuntu /etc/init.d/ocr | |
152 | 171 | |
153 | -# Auto start (RedHat 6.7) | |
172 | +# Auto start (RedHat 6.7 e CentOs 6.9) | |
173 | +cp ./usr/local/etc/init.d/ocr-redhat /etc/init.d/ocr | |
154 | 174 | mv /etc |
155 | 175 | chkconfig --add ocr |
156 | 176 | chkconfig --level 2345 ocr on |
157 | 177 | |
158 | 178 | # Auto start (Ubuntu 14.04) |
179 | +cp ./usr/local/etc/init.d/ocr-ubuntu /etc/init.d/ocr | |
159 | 180 | update-rd.d ocr defaults |
160 | 181 | |
161 | -# Create pkg | |
182 | +# Create pkg -- para instalação em outras máquinas sem a necessidade de novas compilações | |
162 | 183 | cd /home/ocr |
163 | 184 | tar cvozf pkg-ocr.tgz /usr/local/bin /usr/local/lib* /usr/local/man/ /usr/local/sbin/ /usr/local/share/ /usr/local/etc /usr/local/include/ /home/ocr/ocr* /etc/init.d/ocr /etc/rc*.d/*ocr |
164 | 185 | su |
... | ... | @@ -167,9 +188,9 @@ su |
167 | 188 | cd / |
168 | 189 | tar xovzf pkg-ocr.tgz |
169 | 190 | |
170 | -# Instalando pré-requisitos RUNTIME em servidores adicionais | |
191 | +# Instalando pré-requisitos RUNTIME em servidores adicionais | |
171 | 192 | |
172 | -# Redhat 6.7 | |
193 | +# Redhat 6.7 e CentOS 6.9 | |
173 | 194 | yum -y install perl-File-Find-Rule-Perl perl-File-Touch libtiff libpng openjpeg-libs libjpeg-turbo giflib zlib libicu pango cairo fontconfig ImageMagick gettext libwebp |
174 | 195 | yum -y install libtiff libpng openjpeg libjpeg-turbo giflib libwebp zlib libicu pango cairo fontconfig gettext |
175 | 196 | |
... | ... | @@ -177,5 +198,5 @@ yum -y install libtiff libpng openjpeg libjpeg-turbo giflib libwebp zlib libicu |
177 | 198 | apt-get install libfile-find-rule-perl libfile-find-rule-perl-perl libtiff5 libpng12-0 libopenjpeg2 libjpeg-turbo8 libgif4 zlib1g libicu52 libpango1.0-0 libcairo2 fontconfig imagemagick gettext libwebp5 # libgcj14 |
178 | 199 | apt-get install libtiff5 libpng12-0 libopenjpeg2 libjpeg8 libjpeg-turbo8 libjpeg8 zlib1g libpango1.0-0 libcairo2 libfontconfig1 libgettextpo0 |
179 | 200 | |
180 | -# Inicie o serviço com | |
201 | +# Inicie o serviço com | |
181 | 202 | service ocr start | ... | ... |