Orfeo 6.x con CentOS 7

Descripción

El proceso de instalacion de Orfeo 5.5 sobre un CentOS? 7 (vale tambien para RedHat?  o Scientific Linux)

Prerequistos

PHP 5.4   y quite el selinux ..y pongalo en disabled o le va  a fregar

Instalación

1.  Preparo el sistema

Arrancamos con una configuracion MINIMA de Centos con acceso ssh y actualizado
$> yum -y update
$> yum -y install net-tools bzip2 nmap pwgen lynx

– Agregamos el repositorio de EPEL y REMI que tiene miles de cosas que hace falta

$> rpm -Uvh    https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$> rpm -Uvh   http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

Edite el archivo /etc/yum.repos.d/remi-php73.repo  y ponga enable=1

$> yum -y update

2. Configure el firewall antes que todo

Averigue las zonas

$> firewall-cmd –get-active-zones

Averigue que servicios tiene

$> firewall-cmd –zone=public –list-all

Agregue los que necesitamos

$> firewall-cmd –zone=public –permanent –add-service=http
$> firewall-cmd –zone=public –permanent –add-service=https
$> firewall-cmd –zone=public –permanent –add-port=2222/tcp
$> firewall-cmd –reload

3. Apache y PHP

$> yum install php httpd mod_ssl
$> systemctl enable httpd

Por defecto Centos 7 monta php5.4 . si quiere cambiar a otro . .siga este howto https://computingforgeeks.com/how-to-install-php-7-3-on-centos-7-fedora/

Ahora siga

$> yum -y install php-cgi php-gd php-imap php-ldap php-mcrypt php-ldap php-intl php-xmlrpc php-xsl php-pgsql php-mysql php-rrd php-soap php-http php-pear-XML-Parser php-pear-Auth-SASL  php-pear-Net-SMTP
$> yum -y install php-pear-Net-Socket php-pear-Date php-pear-File php-pear-Log php-pear-Mail php-pear-Mail-Mime  php-mbstring php-pear-Net-LDAP2 php-pear-Text-CAPTCHA php-pear-Validate
$> yum -y install  php-pear-XML-RPC php-pear-XML-RPC2  php-pear-HTTP-Request php-pear-XML-RSS php-mssql php-adodb php-pspell
$> yum -y install  zip unzip lynx
$> yum -y install unoconv poppler-utils

Solo de desparche ponga un phpinfo() en el /var/www/html para que certifique que funciona

4. PostgreSQL

El siguiente pedazo es instalar postgres .. en esencia no es mucho solo haga

$> yum -y install postgresql-server perl-DBD-Pg pg_top phpPgAdmin
$> systemctl enable postgresql
$> postgresql-setup initdb
$> chmod 777 /tmp
$> chmod +t /tmp

Pero para poderlo ver debe cambiar la configuracion en /etc/httpd/conf.d/phpPgAdmin.conf y cambiar Require local por Require all granted y ya puede hacer http://direccion/phpPgAdmin

Ahora siga el howto de PostgreSQL para crear el usuario  orfeo_usr  y la base de datos orfeo_odb.  No de acceso remoto, ya no es necesario

En /var/lib/pgsql/data/pg_hba.conf comente la linea de IPV6 y cambien el ident por md5 para que puede conectarse contraseña

5. El servicio de unoconv

Se necesita este servicio corriendo para la conversion de documentos.  Esto se puede hacer de varias formas pero la mas elegante es convertirlo en servicio siguiendo

https://docs.moodle.org/all/es/Universal_Office_Converter_(unoconv)

Los pasos a seguir del proceso anterior:

$> sudo su
$> vim /etc/systemd/system/unoconv.service

Agrege el siguiente script

[Unit]
Description=Unoconv listener for document conversions
Documentation=https://github.com/dagwieers/unoconv
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
Environment=»UNO_PATH=/lib/libreoffice/program»
ExecStart?=/usr/bin/unoconv –listener
Restart=on-abort
StartLimitInterval?=60
StartLimitBurst?=10

[Install]
WantedBy?=multi-user.target

Incluirlo en la secuencia de arranque

$> sudo systemctl daemon-reload
$> sudo systemctl enable unoconv.service
$> sudo systemctl start unoconv.service

O a lo machaco .. ponerlo en el /etc/rc.local .

$> unoconv –listener &

OJO unoconv necesta los fuentes.

OJO El directorio de libreoffice UNOPATH son diferentes para RH y DEB.

Copiese el directorio de Skina de ftp/pub/linux/downloads/escritorio/fonts/skina a /usr/share/fonts

6. El usuario ftporfeo para skinascan

OJO debe ser grupo primario apache

Configuración

1. Configure php

Asegure que en /etc/php.ini  este
short_open_tag = On

Asegure que apache tiene /etc/httpd/conf/httpd.conf
Reinicie apache   $> service httpd restart

2. Montar Orfeo

Descomprima el tar.gz de la ultima version estable en en /var/ww/html. En el ultimo estandar se esta colocando orfeo-5.8  como directorio

2.1 Archivo de configuracion

Copie config.php-dist   config.php y editelo con los parametros adecuado (suele ser en principio la contraseña del la BD ).

2.2 Cree la estructura del la BD  ..

$>  su -c «/usr/bin/psql -q orfeo_odb < $dir_instala/instalacion/sql/create_db_postgres.sql»  postgres

2.3 Archivo de configuracion de Apache

cp orfeo/instalacion/orfeo.apache /etc/httpd/conf.d/orfeo.conf

Corrijalo por si tiene algun cambio ..  como orfeo-5.8

2.4 Archivo de cron (tareas recurrentes)

cp orfeo/instalacion/orfeo.crontab /etc/cron.d/orfeo

2.5 Asegure los permisos de la bodega

chown apache:apache bodega include/tcpdf/cache tmp

http://direccion/orfeo/instalacion/carpeta_bodega.php?anoCrear=2019

Y LISTO ..de este lado

Trucos

1. Asegure phpPgAdmin

No es bueno dejarlo al publico, toca limitarlo a algo como

Require ip 192.168.8.0/24
Require host 10.11.11.1

Problemas

1. No me conecta ni phpPgAdmin ni Orfeo

Seguro es SELINUX. Tiene que darle

setsebool -P httpd_can_network_connect_db on

Y ahi debe funcionar

Ojo que phpPgAdmin sufre de lo mismo. El server debe ser 127.0.0.1 .. ..por socket nolo logra

2. no consigo php-pspell

En algunas instalaciones no se deja usar pspell ..  .. entonces toca bajarlo de Centos ..

$> wget ftp://ftp.pbone.net/mirror/ftp.centos.org/7.5.1804/os/x86_64/Packages/aspell-0.60.6.1-9.el7.x86_64.rpm

Si no esta ahi busquelo en http://rpm.pbone.net/index.php3?stat=26&dist=94&size=701952&name=aspell-0.60.6.1-9.el7.x86_64.rpm

$> yum -y install php-pspell

Me falta conseguir

php-net-nntp

3. Unoconv se me esta muriendo

He optado por poner en algunos caso monit para que lo mantenga arriba

check process unoconv
matching «unoconv»
start program = «/bin/systemctl start unoconv.service»
stop program = «/bin/systemctl stop unoconv.service»

Referencias

FIN