METODOLOGIA CLÁSSICA

SciELO Methodology installation on Centos 7

Linux installation

REQUIREMENTS

Hardware Configuration:

8GB RAM minimum

8 vCPU 

150GB HD

CentOS release 7.9

Apache 2.2.34 

PHP 5.2.10 or 5.2.17 (required)

PHP Modules

Installing build subsystem

yum install -y perl make wget gcc libxml2-devel openssl openssl-devel openssl-libs curl libcurl-devel libjpeg-turbo-devel libpng-devel freetype-devel libxslt libxslt-devel expat-devel patch wget glibc.i686 zlib-devel curl-devel

Installing EPEL Repository to install mcrypt

# yum install epel-release
# yum install libmcrypt-devel

Installing Apache 2.2.34 from source

Getting source code

wget -O /usr/src/httpd-2.2.34.tar.gz  https://archive.apache.org/dist/httpd/httpd-2.2.34.tar.gz

Uncompress

# cd /usr/src
# tar -zxvf httpd-2.2.34.tar.gz

Configure

cd httpd-2.2.34
./configure --prefix=/usr --enable-layout=RedHat --enable-mods-shared=all 

Compile and install

make
make install

Installing PHP 5.2.17 from source

It is very important to use this version because php 5.2.17 doesn't work with nealy versions.

Getting source code

wget -O /usr/src/php-5.2.17.tar.gz http://museum.php.net/php5/php-5.2.17.tar.gz

Uncompress 

# cd /usr/src
# tar -zxvf php-5.2.17.tar.gz 
# cd php-5.2.17

Patching                                                            

https://stackoverflow.com/questions/28211039/phpbrew-5-3-10-build-error-dereferencing-pointer-to-incomplete-type/34107461

curl -s https://mail.gnome.org/archives/xml/2012-August/txtbgxGXAvz4N.txt | patch -p0
Result:
patching file ext/dom/node.c
Hunk #1 succeeded at 1950 (offset 55 lines).
patching file ext/dom/documenttype.c
Hunk #1 succeeded at 215 (offset 10 lines).
patching file ext/simplexml/simplexml.c
Hunk #1 succeeded at 1343 (offset -74 lines).

 

Configure

./configure --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --cache-file=../config.cache --with-libdir=lib64 --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-pic --disable-rpath --without-pear --with-bz2 --with-curl --with-exec-dir=/usr/bin --with-freetype-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --without-gdbm --with-gettext --with-iconv --with-jpeg-dir=/usr --without-openssl --with-zlib --with-layout=Redhat --enable-exif --enable-ftp --enable-magic-quotes --enable-sockets --enable-wddx  --without-mime-magic --without-sqlite --with-libxml-dir=/usr --with-apxs2=/usr/sbin/apxs --without-mysql --disable-dom --disable-dba --without-unixODBC --disable-pdo --disable-xmlreader --disable-xmlwriter --disable-json -with-xsl --enable-dom

Compile and install

make
make install

Copie o arquivo php.ini-recommended para /etc/php.ini

# cp php.ini-recommended /etc/php.ini

Ajuste o arquivo, modificando e depois reinicie o Apache:

# vi /etc/php.ini
display_errors = Off
short_open_tag = On

Creating a symbolic link for modules

# ln -s /lib /etc/httpd/lib

Configure Apache

$ echo '
<FilesMatch "\.php$">
  SetHandler application/x-httpd-php
</FilesMatch>
' >> /etc/httpd/conf/httpd.conf

Creating a system unit 

# vi /etc/systemd/system/httpd.service
[Unit]
Description=Apache Web Server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/httpd.pid
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl graceful-stop
ExecReload=/usr/sbin/apachectl graceful
PrivateTmp=true
LimitNOFILE=infinity

[Install]
WantedBy=multi-user.target

Save the file and run the follow commands

# systemctl daemon-reload
# systemctl enable --now httpd

Installation of the SciELO Methodology

Following 

http://docs.scielo.org/projects/scielo-site/en/latest/howtoinstall.html

The process below corresponds to Portugal's branch. If you are from another country it is very important to choose yours. It is important to read the link above to understand what is necessary to change.

For version control we use GitHub, where Tags correspond to the versions of the site.

Check the TAGs here: SciELO’s GitHub

Screenshot at Aug 05 10-36-40.png

Check the branch of the current version by region and country. See the table at the link below:

Branch name for each collection

Screenshot at Aug 05 10-38-13.png

Example:

If there is no branch for your collection, we ask that you let us know.

Download the specific version of the SciELO methodology

There are two ways to download: one through the tarball file and the other through the zip file.

ZIP File

Download:

wget https://github.com/scieloorg/Web/zipball/<versão_da_tag>

Example:

wget https://github.com/scieloorg/Web/archive/master.zip

After extracting the files, a directory will be created with the name Web-master

Web-master

Enter the directory and move the content extracted to "/var/www/scielo”:

Installation of the CISIS package

wget ftp://produtos-scielo:produtos%40scielo@ftp.scielo.br/cisis-product/cisis.zip

Extract the contents in the directory:

cd /var/www/scielo/proc/
unzip cisis.zip

The CISIS directory will look like this:

Delete the downloaded .zip file

To test operation:

mx what

Result:

Installation of the WWWISIS package

cd /var/www/scielo/cgi-bin
wget ftp://produtos-scielo:produtos%40scielo@ftp.scielo.br/cisis-product/wxis.exe

To test:

./wxis.exe hello

Configuring the httpd.conf file

Edit the file:

vi /etc/httpd/conf/httpd.conf

In the end of the file add the line:

# Virtual hosts

Include /etc/httpd/conf.d/vhosts

Enter the directory indicated below:

mkdir /etc/httpd/conf.d/vhosts

Enter the directory indicated below and create the file below:

cd /etc/httpd/conf.d/vhosts

vi vhosts.conf


add the follow content:


NameVirtualHost <server ip>:80


It is important to replace <server ip> to the real ip from machine

In the same directory create another file. The name is related to your instance. For instance, if you are from Bolivia the name will be scielo-org-bo.conf. I will use this name as template:

# vi scielo-org-bo.conf


<VirtualHost *:80>

    ServerName  vm.scielo.br

    Alias /pdf/ /var/www/scielo/bases/pdf/

    Alias /img/fbpe/ /var/www/scielo/htdocs/img/revistas/

    Alias /img/scimago/ /var/www/scielo/bases/scimago/images/

    LimitRequestFieldSize 9000

    LimitRequestLine 9000

    DocumentRoot /var/www/scielo/htdocs

    DirectoryIndex scielo.php index.php index.html index.htm

    <Directory /var/www/scielo/htdocs>

        Options  FollowSymLinks MultiViews

        Order deny,allow

         AcceptPathInfo On

        Allow from all

    </Directory>

    <Directory /var/www/scielo/bases/pdf/>

        Options  FollowSymLinks MultiViews

        Order deny,allow 

         AcceptPathInfo On

        Allow from all

    </Directory>

    <Directory /var/www/scielo/bases/scimago/images/>

        Options  FollowSymLinks MultiViews

        Order deny,allow

         AcceptPathInfo On

        Allow from all

    </Directory>

    <FilesMatch "\.(def)$">

       Order allow,deny

       Allow from all

       Satisfy All

    </FilesMatch>

    ScriptAlias /cgi-bin/ /var/www/scielo/cgi-bin/

    <Directory /var/www/scielo/cgi-bin/>

        AddDefaultCharset ISO-8859-1

        Options  FollowSymLinks MultiViews ExecCGI

         AcceptPathInfo On

        Order deny,allow

        Allow from all

    </Directory>


    ErrorLog "|/usr/sbin/rotatelogs -l /var/www/apache/%Y-%m-%d+scielo-br-error.log 5M"

    CustomLog "| /usr/sbin/rotatelogs -l /var/www/apache/%Y-%m-%d+scielo-br-access.log 5M" combined

</VirtualHost>

Some fields you have to replace:

ServerName - corresponding to the domain name. Example: www.scielo.org.bo

ErrorLog - corresponding to the  log file error. Replace from this template scielo-br to the name of you instance. Example: scielo-org-bo

CustomLog - corresponding to the log file acess. Replace from this template scielo-br to the name of you instance. Example: scielo-org-bo


NOTES: You have to create the directory /var/www/apache to save the files created. Run the command:

mkdir /var/www/apache

Mandatory settings

Configuring the scielo.def.php file

Below we will show the mandatory configurations for the SciELO Methodology to work.
Copy the template file "scielo.def.php.template" to your configuration file "scielo.def.php".

Enter the directory:

cd /var/www/scielo/htdocs/

Copy:

cp scielo.def.php.template  scielo.def.php

Edit the file as shown in the following example:

vi scielo.def.php

This file is separated into blocks [BLOCK_NAME], and by default the configured paths point to “/home/scielo”. It is necessary to replace /home/scielo to /var/www/scielo.

ESC :%s/\/home\/scielo/\/var\/www\/scielo/g

Site identification settings

[SITE_INFO]

SITE_NAME=SciELO - Scientific Electronic Library Online

SHORT_NAME=Scielo Brazil

SITE_AUTHOR=FAPESP - CNPq - FapUNIFESP - BIREME

ADDRESS_1=R. Dr. Diogo de Faria, 1087 cj.810

ADDRESS_2=04037-003 - Sao Paulo/SP

COUNTRY=Brasil

PHONE_NUMBER=+55 11 3369-4080/4085

#FAX_NUMBER=+55 11 5575-8868

E_MAIL=scielo@bireme.br

STANDARD_LANG=en

APP_NAME=scielo

ANALYTICS_CODE=scl

APP_NAME and ANALYTICS_CODE, are parameters provided by the SciELO team.

[SCIELO]

SERVER_SCIELO=vm.scielo.br


[FULLTEXT_SERVICES]

access="http://vm.scielo.br/applications/scielo-org/pages/services/articleRequestGraphicPage.php?pid=PARAM_PID&caller=PARAM_SERVER"

cited_SciELO="http://vm.scielo.br/scieloOrg/php/citedScielo.php?pid=PARAM_PID"

send_mail="http://vm.scielo.br/applications/scielo-org/pages/services/sendMail.php?pid=PARAM_PID&caller=PARAM_SERVER"

Now we will point the block [PATH] to the path of the application, as stated earlier

[PATH]


PATH_DATA=/

PATH_CGI-BIN=/cgi-bin/

PATH_SCRIPTS=ScieloXML/

PATH_GENIMG=/img/

PATH_SERIMG=/img/revistas/

PATH_SERIAL_HTML=/revistas/

PATH_XSL=/var/www/scielo/htdocs/xsl/

PATH_DATABASE=/var/www/scielo/bases/

PATH_SETTINGS=

PATH_PDF=/var/www/scielo/bases/pdf

PATH_TRANSLATION=/var/www/scielo/bases/translation/

PATH_HTDOCS=/var/www/scielo/htdocs/

PATH_OAI=/var/www/scielo/htdocs/oai/

PATH_PROC=/var/www/scielo/proc/

Configuring the iah.def file

Copy the template file “iah.def.php.template” to your configuration file “iah.def.php”.

Enter the directory:

/var/www/scielo/htdocs/iah

Copy:

cp iah.def.php.template iah.def.php

Edit the file as shown in the following example:

iah.def.php

This file is separated into blocks [BLOCK_NAME], and by default the configured paths point to “/home/scielo”. We will make the move to the location where the application “/var/www/scielo” is, see the examples separated by blocks:

The blocks that must be changed are:

[PATH]

[IAH]

[HEADER]

For instance:

[PATH]

PATH_DATA=/iah/

PATH_CGI-BIN=/var/www/scielo/cgi-bin/iah/

PATH_DATABASE=/var/www/scielo/bases/


[APPEARANCE]

BODY BACKGROUND COLOR=white

BODY BACKGROUND IMAGE=

BODY TEXT COLOR=black

BODY LINK COLOR=blue

BODY VLINK COLOR=blue

BAR BACKGROUND COLOR=#B0C2D5

BAR TEXT COLOR=black

ERROR TEXT COLOR=

WARNING TEXT COLOR=


[HEADER]

LOGO IMAGE=scielog.gif

LOGO TEXT COLOR=

LOGO BACKGROUND COLOR=

LOGO URL=www.scielo.br

HEADER IMAGE=^ponlinep.gif^eonlinee.gif^ionlinei.gif

HEADER TEXT COLOR=

HEADER BACKGROUND COLOR=

HEADER URL=www.scielo.br


[IAH]

MANAGER E-MAIL=scielo@bireme.br

MAINTENANCE=OFF

REVERSE MODE=ON

MULTI-LANGUAGE=ON

LOG_DATABASE=/var/www/scielo/bases/logdia/iahlog



Configuring the article.def file

Copy the template file "article.def.php.template" to your configuration file "article.def.php".

Enter the directory:

/var/www/scielo/htdocs/iah

Copy as directed:

article.def.php.template to article.def.php

Edit the file as shown in the following example:

article.def.php

This file is separated into blocks [BLOCK_NAME], and by default the configured paths point to “/home/scielo”. We will make the move to the location where the application “/var/www/scielo” is, see the examples separated by blocks:

The blocks that must be changed are:

[FILE_LOCATION]

[VARIABLES]


Exemplo:


[FILE_LOCATION]


FILE HEADER.IAH=/var/www/scielo/cgi-bin/iah-styles/header.pft

FILE QUERY.IAH=/var/www/scielo/cgi-bin/iah-styles/query.pft

FILE LIST6003.PFT=/var/www/scielo/cgi-bin/iah-styles/list6003.pft

FILE PROC.PFT=/var/www/scielo/htdocs/pfts/proc_split_mst.pft

FILE iso.pft=/var/www/scielo/cgi-bin/iah-styles/fbiso.pft

FILE abn.pft=/var/www/scielo/cgi-bin/iah-styles/fbabn.pft

FILE van.pft=/var/www/scielo/cgi-bin/iah-styles/fbvan.pft

FILE places.pft=/var/www/scielo/cgi-bin/iah-styles/place-generico.pft

FILE month1.pft=/var/www/scielo/cgi-bin/iah-styles/month1.pft

FILE month2.pft=/var/www/scielo/cgi-bin/iah-styles/month2.pft

FILE scistyle.pft=/var/www/scielo/cgi-bin/iah-styles/scistyle.pft

FILE AHBTOP.HTM=/var/www/scielo/cgi-bin/iah-styles/%lang%/ahbtop.htm

FILE AHLIST.PFT=/var/www/scielo/cgi-bin/iah-styles/%lang%/ahlist.pft

FILE ahlist.pft=/var/www/scielo/cgi-bin/iah-styles/%lang%/ahlist.pft

FILE LATTES.*=%path_database%lattes/lattes.*

FILE citation.xml=/var/www/scielo/cgi-bin/iah-styles/fbisoXML.pft


[VARIABLES]

VARIABLE APP_PATH=/var/www/scielo/

VARIABLE APP_REVISTAS_PATH=/var/www/scielo/htdocs/revistas/

VARIABLE APP_REVISTAS_RELPATH=/revistas/

VARIABLE APP_IMG_REVISTAS_RELPATH=/img/revistas/

VARIABLE APP_IMG_RELPATH=/img/

Configuring the title.def file

Copy the “title.def.php.template” template file to your “title.def.php” configuration file.

Enter the directory:

/var/www/scielo/htdocs/iah

Copy as directed:

title.def.php.template to title.def.php

Edit the file as shown in the following example:

title.def.php

This file is separated into blocks [BLOCK_NAME], and by default the configured paths point to “/ home / scielo”. We will make the move to the location where the application “/var/www/scielo” is, see the examples separated by blocks:

The blocks that must be changed are:


[FILE_LOCATION]

[VARIABLES]


[FILE_LOCATION]


FILE DATABASE.*=%path_database%title/title.*

FILE FULINV.*=%path_database%title/titsrc.*

FILE PREINV.*=%path_database%title/titsrcp.*


FILE HEADER.IAH=/var/www/scielo/cgi-bin/iah-styles/header.pft


FILE scistyle.pft=/var/www/scielo/cgi-bin/iah-styles/scistyle.pft

FILE places.pft=/var/www/scielo/cgi-bin/iah-styles/place-generico.pft

FILE iso.pft=/var/www/scielo/cgi-bin/iah-styles/fbsrc1.pft

FILE van.pft=/var/www/scielo/cgi-bin/iah-styles/fbsrc1.pft

FILE abn.pft=/var/www/scielo/cgi-bin/iah-styles/fbsrc1.pft

FILE issue.*=%path_database%issue/issue.*

FILE facic.*=%path_database%issue/facic.*

FILE artigo.*=%path_database%artigo/artigo.*

FILE author.*=%path_database%artigo/author.*

FILE title.*=%path_database%title/title.*


[VARIABLES]

VARIABLE APP_PATH=/var/www/scielo/

VARIABLE APP_REVISTAS_PATH=/var/www/scielo/htdocs/revistas/

VARIABLE APP_REVISTAS_RELPATH=/revistas/

VARIABLE APP_IMG_REVISTAS_RELPATH=/img/revistas/

VARIABLE APP_IMG_RELPATH=/img/

Configuring php.ini

The php.ini file is located in the standard PHP installation directory, as shown below.

vi /etc/php.ini

When opening the file with an editor, search for the word short_open_tag, it is defined according to the model:

short_open_tag = Off

Change to:

short_open_tag = On

Save the file and restart apache.

Configuration of "hosts" and "Vhost"

Check the IP of the Server that is installing the methodology:

Edit the "hosts" file of the Server and or make the correct notes on your DNS server:

vi /etc/hosts

Add the following line:

<ip_do_servidor>        vm.scielo.br

To test the functioning of wwwisis in the web environment, type in your browser:

http://vm.scielo.br/cgi-bin/wxis.exe?hello

Access the site

vm.scielo.br/scielo.php

Screenshot at Aug 05 10-43-18.png

Gera Padrao Script

Edit the gerapadrão.bat file:

vi /var/www/scielo/proc/GeraPadrao.bat

Changing the following parameters:

Before:

call notepad \scielo\serial\scilista.lst

After:

call notepad \var\www\scielo\serial\scilista.lst

Before:

md \scielo\web\bases-work

After:

md \var\www\scielo\web\bases-work

Before:

call GeraScielo.bat \scielo \scielo\web log\GeraPadrao.log adiciona

After:

call GeraScielo.bat .. .. log\GeraPadrao.log adiciona

Rename the directory:

cd /var/www/scielo

mv serial-modelo serial

Creating user scielo and set permission

This user will be used to update files and processing databases.

# useradd -c "SciELO User Admin" scielo

Set permission to scielo user

I am considering Apache Root Dir is /var/www/scielo

# chown -R scielo. /var/www/scielo/

Fixing Directory and File permissions

# find /var/www/scielo/ -type d -exec chmod 755 {} \;

# find /var/www/scielo/ -type f -exec chmod 644 {} \;

# cd /var/www/scielo/

# find proc/ -name *.bat -exec chmod 755 {} \;

# find proc/ -name *.sh -exec chmod 755 {} \;

# find cgi-bin/ -name *.bat -exec chmod 755 {} \;

# find cgi-bin/ -name *.sh -exec chmod 755 {} \;

# find cgi-bin/ -name *.exe -exec chmod 755 {} \;

# cd proc

# chmod 755  cisis/*

# chmod 755 call

# chmod 755 rem

Possible errors

The error below is common, to fix it we have to change the php.ini file

Screenshot at Aug 05 10-44-14.png

The php.ini file is located in the standard PHP installation directory, as shown below.

vi /etc/php.ini

When opening the file with an editor, search for the word short_open_tag, it is defined according to the model:

short_open_tag = Off

Change to:

short_open_tag = On

Save the file and restart apache.

Paperboy installation

GitHub PaperBoy Repository

What is PaperBoy?

PaperBoy is a utility for sending SciELO data from local website servers for processing and also from servers in a collection for network processing. The utility allows sending bases for processing, images, pdfs, translations and XML's.

 

Prerequisites for the functioning of PaperBoy - Linux

NOTE: The following configuration is for sending bases from the Linux server Production application methodology to the SciELO FTP server.

As described at the beginning of the PaperBoy topic, the installation and configuration of the paperboy on the new server Methodology is necessary for sending bases to the SciELO FTP server, the data sent will go through a normalization process and inserted on the Analytics SciELO website, the data are used as collection metrics.

For the operation of the PaperBoy utility on linux it is important to note that it is not necessary to install prerequisites. By default Python is already included in the Linux distribution, in which case we have the distribution is Centos.

To find the version of the distribution used, run the following command :.

CentOS Linux release 7.7.1908 (Core)

As stated earlier, it is not necessary to install Python since it is installed in the distribution.

To find the version of python installed, run the following command :.

python --version

NOTE:The commands must be executed at the server terminal.

In linux distributions as python is native, the modules are already pre-installed, so we don't need to install the paramiko and pycrypto modules, as we did on windows.

Configuring PaperBoy - Linux

 

In the Methodology server, the use of the PaperBoy utility will be in Docker, as stated above, we do not need to install Python or the modules since python is native to linux distributions.

We need to follow some steps to create the container :.

Configuring PaperBoy for sending bases - Linux

 

#Diretório de origem de coleta dos dados de bases

source_dir=/var/www/scielo

#Diretório do Cisis

cisis_dir=/var/www/scielo/proc/cisis

#Diretório onde fica o arquivo da scilista.lst

scilista=/var/www/scielo/serial/scilista.lst

#Diretório de destino dos dados enviados

destiny_dir=

#Dados do servidor FTP 

#Servidor FTP usado

server=

tipo de servidor ftp

server_type=sftp

#Porta de conexão com o servidor FTP

port=22

#Usuário FTP

user=

#Senha de acesso

password=

NOTE:I removed comments from the config.ini file for explanation purposes.

Below we have the config.ini file already configured with all the necessary parameters for sending the bases.

#Diretório de origem de coleta dos dados de bases

source_dir=/var/www/scielo

#Diretório do Cisis

cisis_dir=/var/www/scielo/proc/cisis

#Diretório onde fica o arquivo da scilista.lst

scilista=/var/www/scielo/serial/scilista.lst

#Diretório de destino dos dados enviados

destiny_dir=

Observação:. Não configuramos o destino dos dados uma vez que o usuário de ftp já possui o acesso ao diretório da coleção.

#Dados do servidor FTP 

server=ftp.scielo.br

server_type=ftp

port=21

user=scielo.bo

password=blabla

NOTE:I removed comments from the config.ini file for explanation purposes.

 

How to upgrade SciELO Methodology

To upgrade SciELO Methodology you have to download the latest code from our GitHub Repository. Before updating, check what version is your website. For instance, we are going to check the version from SciELO ZA: http://www.scielo.org.za/versionOverview.txt

Screenshot at Aug 05 10-49-44.png

The first line that shows is the version. Click here to check which version SciELO Methodology is: https://github.com/scieloorg/Web/tags

Screenshot at Aug 05 10-50-14.png

From this moment, SciELO code is in 5.44.1 and SciELO ZA is in 5.37. To upgrade we have to download the branch from SciELO ZA. Each collection has its own branch. To check yours, click in the bottom master and select the branch scielo_<acron from your collection>. In this example we selecting the scielo_sza

Screenshot at Aug 05 10-50-50.png

After selecting the branch click in the bottom right corner code and select Download ZIP:

Screenshot at Aug 05 10-51-31.png

After downloading the zip package you have to send it to the Linux Server. You can use WinSCP to send it.

The other alternative is download it directly from the link https://github.com/scieloorg/Web/archive/refs/heads/scielo_sza.zip using wget command. If your collection isn't sza you have to change the acronym from this link.

$ cd /tmp

$ wget https://github.com/scieloorg/Web/archive/refs/heads/scielo_sza.zip

$ unzip scielo_sza.zip

$ rsync -Cravp /tmp/Web-scielo_sza/htdocs/ /var/www/scielo/htdocs/

$ rsync -Cravp /tmp/Web-scielo_sza/cgi-bin/ /var/www/scielo/cgi-bin/

$ rsync -Cravp /tmp/Web-scielo_sza/proc/ /var/www/scielo/proc/

Fixing permissions 

Once you have upgrade the directories you have to fix the permissions.

find /var/www/scielo/ -type d -exec chmod 755 {} \;

find /var/www/scielo/ -type f -exec chmod 644 {} \;

cd /var/www/scielo/

find proc/ -name *.bat -exec chmod 755 {} \;

find proc/ -name *.sh -exec chmod 755 {} \;

find cgi-bin/ -name *.bat -exec chmod 755 {} \;

find cgi-bin/ -name *.sh -exec chmod 755 {} \;

find cgi-bin/ -name *.exe -exec chmod 755 {} \;

cd proc

chmod 755  cisis/*

chmod 755 call

chmod 755 rem

References

The following descriptions were based on the existing document:

http://docs.scielo.org/projects/scielo-site/en/latest/howtoinstall.html

SciELO Web (Português)

english | español

SciELO Web é a aplicação web da Metodologia SciELO.

SciELO PC Programs fazem parte desta metodologia.

Guias de instalação

Pré requisitos

Manual de instalação dos pré-requisitos do aplicativo. ver

Instalação

Manual de instalação do aplicativo. ver

Configurações Especiais (XML Google, DOAJ, Crossref DOI, SCIMAGO, etc). ver

Atualização

Manual de atualização do site SciELO. ver

Mailing List

SciELO-Dev

Essa é a lista de discussão da equipe de Tecnologia do SciELO. Nessa lista você poderá fazer perguntas, discutir sobre ocorrências, problemas, sugestões e melhorias para os produtos SciELO. Todos profissionais de TI do projeto SciELO devem se inscrever nessa lista.

http://groups.google.com/group/scielo-dev

Como se inscrever:

Para inscrever envie um email sem conteúdo para: scielo-dev+subscribe@googlegroups.com

Como cancelar a incrição:

Para cancelar a inscrição envie um email sem conteúdo para: scielo-dev+unsubscribe@googlegroups.com

Como enviar emails para a lista:

Para enviar emails utilizar o seguinte email: scielo-dev@googlegroups.com

O conteúdo dessa lista pode ser consultado na web, e fortemente recomendada a pesquisa no conteúdo da lista antes de enviar emails com dúvidas pois tais dúvidas já podem ter sido esclarecidas

SciELO Web (Español)

english | português

Es la aplicación web de la Metodología SciELO.

También relacionados:

Guias de instalación

Prérequisitos

Manual de instalación de los prerequisitos del aplicativo. ver

Instalación

Manual de instalación del aplicativo. ver

Configuraciones Especiales (XML Google, DOAJ, Crossref DOI, SCIMAGO, etc). ver

Troubleshootings ver

Actualización

Manual de actualización del aplicativo. ver

Mailing Lists

SciELO-Dev

This is the list where the SciELO IT Team can use to discuss about questions and issues, problems and suggestions of enhancements for the SciELO products. This includes current and future features, release schedules, and simply developer discussion of various related topics. All SciELO IT Managers should be subscribed to this list.

http://groups.google.com/group/scielo-dev

How to subscribe:

To subscribe, send an e-mail to this list: scielo-dev+subscribe@googlegroups.com

How to unsubscribe:

To unsubscribe, send an e-mail to this list: scielo-dev+unsubscribe@googlegroups.com

How to send a e-mail do SciELO Dev:

To send an e-mail to this list: scielo-dev@googlegroups.com

The archives for this list can also be browsed online.

Procesamiento y actualización de sitios Venezuela (Español)


Visión geral

O objetivo deste documento é explicar de forma simples os procedimentos necessários para a submissão de bases, processamento do site de homologação e atualização do site de produção.


Objetivo


Envio de bases a través de PaperBoy


En el servidor local de Windows, Paperboy ya está instalado y configurado para enviar bases y activos digitales, llamado "paperboy.bat"

image-1631274707285.33.02.png

Simplemente haciendo doble clic en el acceso directo comenzará a enviar las bases.

El atajo "paperboy.bat" ejecuta una serie de comandos:

El siguiente comando establece la variable con la configuración del "Paperboy"

set PAPERBOY_SETTINGS_FILE=config.ini

image-1631275655145.33.31.png

A continuación tenemos el comando para enviar las bases, el log de ejecución se dirige a un archivo:

paperboy_delivery_to_server -m > paperboy.log 2>&1

image-1631275690290.34.51.png


Acceso remoto al servidor


Para realizar el acceso remoto al servidor es necesario hacer una breve introducción al portal de acceso remoto que utilizamos.

Acceda a la siguiente URL para iniciar sesión en el portal:

https://200.136.72.71:4443/

Si aparece una pantalla de "Privacy error", simplemente haga clic en Avanzado, luego haga clic en "Proceed to 200.136.72.71(unsafe)"

image-1631279550764.11.59.png

image-1631279612866.13.23.png

Se le dirigirá al portal, donde se le pedirá que inicie sesión y contraseña (Sophos Portal Access), los datos de inicio de sesión se enviaron por correo electrónico a la persona responsable.

Screen Shot 2021-09-10 at 10.14.07.png

Después de iniciar sesión, haga clic en el icono llamado SCIELOVE (SSH) Connect.

image-1631279912609.17.19.png

Ao clicar no ícone uma senha será solicitada(Senha Acesso VM), os dados para login foram enviado via e-mail para o responsável. 

Al hacer clic en el icono se solicitará una contraseña (Password VM Access), los datos de inicio de sesión se enviaron vía e-mail al responsable.

image-1631280064007.20.54.png

O site de produção e o site de homologação foram criados utilizando containers, dessa forma temos os dois sites no mesmo servidor.


Recoger bases para procesamiento


El primer paso es acceder al contenedor del sitio de homologación:

docker exec -it hml-ve-scielo-org bash

image-1631287077111.17.42.png

Para recolectar las bases necesitamos acceder al directorio donde está el script:

cd /var/www/scielo/proc/

En este directorio tenemos el script "coleta_bases.sh",

image-1631287137837.18.40.png

En la imagen de abajo podemos ver que el directorio "Serial" está vacío:

image-1631287219998.20.10.png


Para ejecutar el script, siga los pasos:

./coleta_bases.sh

El script le dirá al FTP de SciELO y recogerá las bases, previamente enviadas por Paperboy.

image-1631282384968.58.37.png

image-1631287306076.21.32.png

Ahora tenemos que validar si las bases fueron recogido:

image-1631287355108.22.16.png

Con las bases recogido, sigamos adelante y comencemos a procesar en el sitio web de homologación


Procesamiento y validación en el sitio de homologación


Para comenzar a procesar tenemos que estar en el directorio correcto:

cd /var/www/scielo/proc

image-1631288116604.35.04.png

El procesamiento se realiza ejecutando el siguiente comando:

./GeraPadrao.bat

image-1631291601936.33.03.png

Después del procesamiento, podemos consultar el registro y validar si el sitio ha sido actualizado:

GeraPadra.log

Pudimos consultar el log en:

/var/www/hml_scielo/proc/log

Una forma de buscar posibles errores que ocurrieron durante el procesamiento es ejecutar el siguiente comando:

En el directorio proc, ejecute el siguiente comando:

cat log/GeraPadrao.log |grep ERRO

Si el resultado del comando está vacío es una señal de que no tuvimos errores de procesamiento, ahora tenemos que validar si el sitio fue actualizado.

Verifique la actualización en el sitio web de homologación de la colección

homolog-ve.scielo.org

image-1631387449048.10.04.png

Antes del procesamiento, el sitio solo tenía las bases del modelo:

image-1631387295943.37.54.png

Después de procesar el sitio se actualizó:

image-1631387428179.09.32.png


Actualización del sitio web de producción


Para actualizar el sitio de producción, usaremos un script que copia las bases del sitio de aprobación.


Informaciones importantes


El script de actualización del sitio se encuentra en el directorio:

/var/www/scielove/scripts

Tenemos un directorio separado para almacenar los registros de actualización y reversión del sitio:

/var/www/scielove/logs-update-sitio/


Screen Shot 2021-11-03 at 08.32.10.png

Empecemos la actualización accediendo de forma remota al servidor, (se puede consultar en "Acceso remoto al servidor")

Una vez en el servidor, vayamos al directorio donde se encuentra el script update_bases.sh


cd scripts/

Screen Shot 2021-11-03 at 08.31.21.png

Para actualizar el sitio, usemos el siguiente comando a continuación:

nohup sh -x update_bases.sh update &>/var/www/scielove/logs-update-sitio/update_bases_03112021.log &

Screen Shot 2021-11-03 at 08.41.42.png


Nota importante


En el comando anterior informamos la ruta donde se almacena el log y el nombre con la fecha del log, para cada actualización debemos informar la fecha, esta práctica es importante cuando es necesario analizar logs, en un posible error que puede ocurrir en una actualización, a continuación daré algunos ejemplos:

Tenemos una actualización del sitio web el 4 de noviembre de 2021

nohup sh -x update_bases.sh update &>/var/www/scielove/logs-update-sitio/update_bases_04112021.log &

Tenemos otra actualización del sitio, pero ahora el 10 de enero de 2022

nohup sh -x update_bases.sh update &>/var/www/scielove/logs-update-sitio/update_bases_10012022.log &

Consulta de registros durante la actualización


Podemos seguir los registros usando el siguiente comando:

tail -f /var/www/scielove/logs-update-sitio/update_bases_03112021.log &

Screen Shot 2021-11-03 at 08.43.02.png

Screen Shot 2021-11-03 at 09.19.04.png


Explicando el comando del sitio de actualización


nohup sh -x update_bases.sh update &>/var/www/scielove/logs-update-sitio/update_bases_03112021.log &
nohup Parámetro para insertar el comando en segundo plano
sh -x Parámetro utilizado para la ejecución del script 
update_bases Script que usaremos para actualizar el sitio web
update Parámetros para actualizar el sitio web
rollback Parámetros para revertir la actualización
& carácter utilizado en la formación del comando para ejecutar el script en segundo plano.
> Parámetro que indica hacia dónde vamos a dirigir la salida de ejecución del registro
/var/www/scielove/logs-update-sitio/ directorio donde se almacenan los registros de actualización
update_bases_03112021.log archivo de actualización del sitio web
rollback_bases_03112021.log archivo de rollback del sitio web
& carácter utilizado en la formación del comando para ejecutar el script en segundo plano.

Enlace esencial donde tenemos el script update_bases.sh a analizar

registro de actualización

Screen Shot 2021-11-09 at 19.43.07.png

Fin de actualización

Screen Shot 2021-11-09 at 19.47.43.png


Screen Shot 2021-11-09 at 19.36.43.png


Si es necesario, pudimos revertir la actualización de la siguiente manera:

nohup sh -x update_bases.sh rollback &>/var/www/scielove/logs-update-sitio/rollback_bases_03112021.log &

Screen Shot 2021-11-09 at 20.02.50.png

Este procedimiento revertirá las bases del sitio antes del proceso de actualización descrito en Consulta de registros durante la actualización.





SciELO Web (English)

português | español

SciELO Web is the web application of SciELO Methodology.

SciELO PC Programs are also part of this methodology.

Install Guide

Requirements

Requirements installation guide. read

Install

SciELO Web Installation guide. read

Special Configs (XML Google, DOAJ, Crossref DOI, SCIMAGO, etc). read

Update

Update Guide from SciELO Web Site. read

Mailing List

SciELO-Dev

This is the list where the SciELO IT Team can use to discuss about questions and issues, problems and suggestions of enhancements for the SciELO products. This includes current and future features, release schedules, and simply developer discussion of various related topics. All SciELO IT Managers should be subscribed to this list.

http://groups.google.com/group/scielo-dev

How to subscribe:

To subscribe, send an e-mail to this list: scielo-dev+subscribe@googlegroups.com

How to unsubscribe:

To unsubscribe, send an e-mail to this list: scielo-dev+unsubscribe@googlegroups.com

How to send a e-mail do SciELO Dev:

To send an e-mail to this list: scielo-dev@googlegroups.com

The archives for this list can also be browsed online.

Classic SciELO Website with Docker

HOW TO CONFIGURE LINUX SERVER WITH DOCKER

Installing docker-compose

 sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
 sudo chmod +x /usr/local/bin/docker-compose
 sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
 docker-compose --version

Installing Docker

O pacote de instalação do Docker disponível no repositório oficial do Rocky Linux 9 pode não ser a versão mais recente. 
Para obter a versão mais recente e melhor, instale o Docker do repositório oficial do Docker. 
Esta seção mostra como fazer exatamente isso.

Mas primeiro, vamos atualizar o banco de dados de pacotes:

sudo dnf check-update

Em seguida, adicione o repositório oficial do Docker:

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Embora não haja um repositório específico do Rocky Linux do Docker, o Rocky Linux é baseado no CentOS e pode usar o mesmo repositório. Com o repositório adicionado, instale o Docker, que é composto de três pacotes:

sudo dnf install docker-ce docker-ce-cli containerd.io

Após a conclusão da instalação, inicie o daemon do Docker:

sudo systemctl start docker

Verifique se está em execução:

sudo systemctl status docker

A saída deve ser semelhante à seguinte, mostrando que o serviço está ativo e em execução:

Output
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2016-05-01 06:53:52 CDT; 1 weeks 3 days ago
     Docs: https://docs.docker.com
 Main PID: 749 (docker)

Creating the file  docker-compose.yml

version: '2'

services:
  metodologia:
    image: infrascielo/classic-site:latest
    environment:
      INSTANCE_NAME: scielo_br
      USER_SUPERVISOR: root
      PASS_SUPERVISOR: toor
      SITE_NAME: www.scielo.br
      USER_FTP: usuario ftp
      PASSWD_FTP: clave del usuario ftp
      USER_PASS: scielo123
      GIT_BRANCH_NAME: scielo_scl
    volumes:
      - /var/www/scielo:/var/www/scielo
      - /var/www/apache:/var/www/apache
      - /etc/localtime:/etc/localtime
    ports:
      - "80:80"
      - "2222:22"
    restart: always
Necessaries changes:

Please change the variables bellow:

INSTANCE_NAME: This field must be change to the website's domain with undescore. For instance: scielo.org.ve muste be scielo_org_ve

PASS_SUPERVISOR: You have to choose a new password. The default is toor. Never leave the default value.

SITE_NAME: This field corresponding to your website.

USER_FTP: This field must be filled up with the user created by SciELO Brasil. If you don't have, you have to request to SciELO Brasil.

PASSWD_FTP: This field must be filled up with the password from ftp user create by SciELO Brasil.

USER_PASS: This field is the password from the user scielo used to do ssh

GIT_BRANCH_NAME: Each SciELO Collection has its own branch. If you don't have, please use the default scielo_scl or request your. If you don't know yours, please visit GitHub SciELO

Required variables: INSTANCE_NAME, SITE_NAME and GIT_BRANCH_NAME

Volumes changes:

The path /var/www/scielo is the source of your installation.

- /var/www/scielo:/var/www/scielo

The path /var/www/apache is where will be stored the Apache Logs
- /var/www/apache:/var/www/apache

The path /etc/localtime is the file to keep the clock equal from the server.
- /etc/localtime:/etc/localtime

How to start the container
docker-compose up -d
how to stop the container
docker-compose down
How to list all containers running
docker-compose ps

How to upgrade databases, Images and PDFs from SciELO Methodology

En el Servidor Windows ejecute el programa CMD entre en la carpeta C:\var\www\scielo\proc digite:

GeraPadrao.bat

Espere hasta que termine. Para analizar la generación de las bases hay una carpeta en  C:\var\www\scielo\proc\log  Busque el archivo log  GeraPadrao.log

Obs.: La generación de las bases está condicionada a la existencia de las bases en la carpeta C:\var\www\scielo\serial y un fichero C:\var\www\scielo\serial\scilista.lst. El fichero scilista.lst sigue el padrón: Acrónimo volumen y número 

Ejemplo:

maskay v6n1
sophia  n22

Una vez que se ve en el navegador el resultado del procesamiento ya es posible enviar las bases, imágenes y pdfs para el servidor de desarrollo. Para enviar los ficheros necesarios usamos el script C:\PAPERBOY\paperboy.bat. El resultado del envío es salvo en C:\PAPERBOY\logs\paperboy-scielo.log

Una vez que enviamos bases, imágenes y pdfs para el servidor de desarrollo tenemos que procesar las bases en el formato linux.

Sigue los pasos:

$ cd /var/www/scielo/proc/
Ejecute:
$./GeraPadrao.bat

Cuando finalize verifique se el sitio http://your.domain.scielo este actualizado

Si sí vamos enviar las bases procesadas desde este contenedor.

Ejecute el comando exit para salir desde el contenedor

$exit

Es importante que la instrucción ahora sea hecha usando el usuário scielo, pues no funciona con el usuario root

#su - scielo

Scripts para actualización

atualiza-bases-scielo.sh

#!/bin/bash
# Script: function.sh - Criação das funções que será utilizado pelo script update_bases.sh
#         para atualizar os arquivos da instância SciELO processada.
# Mantenedor: Rondineli Saad e Fábio Batalha
# Criado em: 08/05/2019
# Versão: 11
# Funcao para atualizar bases:-->
#                               |->$1 Coleção
#                               |->$2 Diretório em /rancher/scielo_ve_data/
#
DIR_INSTANCIA_ORIG="/var/www/scielo"
DIR_INSTANCIA_DEST="/var/www/scielo"
DIR_BASES="artigo areasgeo issue title related cited iah scimago img lattes medline newissue translation"
DATA_ATUAL=`date  +"%d-%m-%Y-%H_%m_%S"`
IP_SERVER="192.168.2.19"

update(){
        echo "Update ScieLO Data"

if [ -e update_bases_scielo-novo.log ]
        then
                mv update_bases_scielo-novo.log update_bases_scielo-novo-${DATA_ATUAL}.log
fi

for j in $DIR_BASES
do
        echo "RSYNC - BASES"
        echo "$j"
        ssh ${IP_SERVER} mkdir ${DIR_INSTANCIA_DEST}/bases-new/${j}
        rsync  -Cravp -e 'ssh' ${DIR_INSTANCIA_OIRG}/bases/${j}/  ${IP_SERVER}:${DIR_INSTANCIA_DEST}/bases-new/${j}/ 2>> update_bases_scielo_br-novo.log
done

echo "Atualizando os pdfs"
rsync  -Cravp -e 'ssh' ${DIR_INSTANCIA_ORIG}/bases/pdf/  ${IP_SERVER}:${DIR_INSTANCIA_DEST}/bases/pdf/ 2>> update_bases_scielo-novo.log


echo "Copiando Páginas Secundárias"
rsync -Cravp -e 'ssh' ${DIR_INSTANCIA_ORIG}/htdocs/img/revistas/  ${IP_SERVER}:${DIR_INSTANCIA_DEST}/htdocs/img/revistas/ 2>> update_bases_scielo-novo.log
rsync -Cravp -e 'ssh' ${DIR_INSTANCIA_ORIG}/htdocs/revistas/      ${IP_SERVER}:${DIR_INSTANCIA_DEST}/htdocs/revistas/ 2>> update_bases_scielo_br.log

#echo "--->Execução do Script de Distribuição da base e Movimentação das bases"
ssh ${IP_SERVER} sh /var/www/educa_fcc_org_br/scripts/data-scielo.sh update  2>> update_bases_scielo-novo.log

echo "-----> FIM: Termino do envio da Bases, PDF, Páginas Secundária e execução do updateScielo-data-MOVE.sh" 2>> update_bases_scielo-novo.log
}

rollback(){
ssh ${IP_SERVER} sh /var/www/scielo/scripts/data-scielo.sh rollback  2>> update_bases_scielo-novo.log
}

case "$1" in
        update)
                update
                ;;
        rollback)
                rollback
                ;;
        *)
                echo "Option not valid: update, rollback"
                ;;
esac

data-scielo.sh

#!/bin/sh
update(){
  rm -rf /var/www/scielo/bases-old/*
  cd /var/www/scielo/bases
  mv areasgeo artigo  cited  iah  img  issue  lattes  medline  newissue related  title translation scimago /var/www/scielo/bases-old/
  mv /var/www/scielo/bases-new/* /var/www/scielo/bases/
  echo "---->FIM: SciELO Atualizado com êxito\!" 
}

rollback(){
  rm -rf /var/www/scielo/bases-failed/*
  cd /var/www/scielo/bases
  mv areasgeo artigo  cited  iah  img  issue  lattes  medline  newissue related  title translation scimago /var/www/scielo/bases-failed
  cd /var/www/scielo/bases-old/
  mv areasgeo artigo  cited  iah  img  issue  lattes  medline  newissue related  title translation scimago /var/www/scielo/bases
}

case "$1" in
        update)
                update
                ;;
        rollback)
                rollback
                ;;
        *)
                echo "Option not valid: update, rollback"
                ;;
esac

Para actualizar el servidor de producción con las nuevas bases procesadas haga:

Ejecute:
$./atualiza-bases-scielo.sh update
Si en el sitio no aparece ninguna revista o si quieres volver a la base antigua, ejecute:
$./atualiza-bases-scielo.sh rollback

Como comprimir los Logs Apaches del servidor de producción y enviar para el servidor FTP de SciELO

Cómo ejecutar el script de compactación de logs:
Manualmente: 
/usr/bin/docker exec -ti root_metodologia_1 /bin/bash /scripts/compacta_log.sh
Cómo crear el servicio systemd para enviar los logs de Apache automáticamente

Descargue el fichero modelo en el servidor de producción usando el usuário root:

#cd /etc/systemd/system/
#wget https://gist.githubusercontent.com/rondinelisaad/f0eca737640b60b88138ddc686afaa2d/raw/0348b32b5338fff3c1d1610821768c31f637fc2c/compacta.service

Sigue el contenido del fichero /etc/systemd/system/compacta.service

[Unit]
Description=Compactación de los LOGs Apaches
Documentation=
After=docker.service
Requires=docker.service

[Service]
TimeoutSec=0

ExecStart=/bin/sh -c '\
   /usr/bin/docker exec -ti metodologia_metodologia_1 /bin/bash /scripts/compacta_log.sh'

[Install]
WantedBy=multi-user.target 

Descargue el segundo fichero:

#cd /etc/systemd/system/
# wget https://gist.githubusercontent.com/rondinelisaad/743813e0be3315220bcdf35acf971157/raw/6b8cac576126ed366120f3c536a3d27da4003926/compacta.timer

Sigue el contenido del fichero  /etc/systemd/system/compacta.timer:

[Unit]
Description=Execute backup every day at midnight

[Timer]
OnCalendar=*-*-* 00:00:00
Unit=compacta.service

[Install]
WantedBy=multi-user.target

Iniciar los servicios:

#systemctl enable compacta.timer
#systemctl start compacta.timer

Valide si el script está agendado:

# systemctl is-enabled compacta.timer

Ejecute manualmente el servicio:

# systemctl start compacta

Configurando el paperboy para enviar una vez por semana las bases iso

Es importante que configure una vez por semana y siempre después del procesamiento de las bases.

Descargue el fichero config.ini en el servidor de desarrollo

#cd /root
#wget https://raw.githubusercontent.com/scieloorg/paperboy/master/config.ini-TEMPLATE
# mv config.ini-TEMPLATE config.ini

Configure el fichero con las credenciales del servidor ftp.scielo.br. Sigue con deberia configurarlo:

[app:main]

## Full path to the source directory where the SciELO site is installed. It must 
## contains the directories proc, bases, htdocs, cgi-bin, serial.
source_dir=/var/www/scielo

## Full path to the CISIS utilitaries. It is usually installed on the directory
## proc/cisis of the SciELO Site.
cisis_dir=/var/www/scielo/proc/cisis

## Full path to the scilista.lst file. It is usually available at the directory
## and file serial/scilista.lst
scilista=/var/www/scielo/serial/scilista.lst

## Full path to the destiny folder in the server side. It is usually the path
## to the SciELO Site in the server. When sending data to SciELO is must be 
## commented or empty on the FTP will login the user to the correct path.
#destiny_dir=

## FTP or SFTP credentials
## The protocol will be defined by the server_type ['ftp', 'sftp']
server=ftp.scielo.br
server_type=ftp
port=21
user=usuario ftp
password=clave

Manualmente ejecute:

docker run --rm -v /var/www/scielo:/var/www/scielo -v ~/config.ini:/app/config.ini scieloorg/paperboy:stable paperboy_delivery_to_scielo

Configurando systemd

#cd /etc/systemd/system
#wget https://gist.githubusercontent.com/rondinelisaad/a4c25bd876de186b43938dd2148f9a7c/raw/53418856574f9b3fe1910951b6c94376e0769f9d/paperboy.service
#wget https://gist.githubusercontent.com/rondinelisaad/154aa2249f6bfb2b992a207f25f357c4/raw/b319904234abd11fd46721a3b8a9d83eece3ff32/paperboy.timer
#systemctl enable paperboy.timer
#systemctl start paperboy.timer
#systemctl is-enabled paperboy.timer 
#systemctl list-timers

Como actualizar la versión del código de la metodologia SciELO

Accender al nuestro repositório Git (https://github.com/scieloorg/web)

Cambiar al Branch de vuestra collección

image-1630350810792.png

image-1630350824882.png

Haga download del fichero ZIP

image-1630350858065.png

En el servidor Linux, baje el fichero zip  en una carpeta temporária y ejecute los comandos abajo:

Ojos: Para el ejemplo abajo usamos el branch scielo_ecu. O sea, se vuestra collección no es de Ecuador no la use. Busque por la tuya.

cd /tmp
wget https://github.com/scieloorg/Web/archive/scielo_ecu.zip
unzip scielo_ecu.zip
La carpeta Web-scielo_ecu fue creada
cd Web-scielo_ecu
rsync -Cravp cgi-bin/ /var/www/scielo/cgi-bin/
rsync -Cravp proc/ /var/www/scielo/proc/
rsync -Cravp htdocs/ /var/www/scielo/htdocs/

Una vez actualizado valide la versión. Ojo: Para el ejemplo abajo usamos el sitio del Ecuador. O sea, replaze por lo tuyo.

http://scielo.senescyt.gob.ec/versionOverview.txt

Ojo: La versión deberá ser igual a la que está em https://github.com/scieloorg/Web/blob/ecu/htdocs/versionOverview.txt

No es necesario reiniciar el Docker.

Enlaces de Referencias:

https://www.certdepot.net/rhel7-use-systemd-timers/


SciELO Methodology installation on Rocky 8

Linux installation

REQUIREMENTS

Hardware Configuration:

8GB RAM minimum

8 vCPU 

150GB HD

Rocky Linux release 8.4 (Green Obsidian)

Apache 2.2.34 

PHP 5.2.10 or 5.2.17 (required)

PHP Modules

Installing build subsystem

yum install -y perl make wget gcc libxml2-devel openssl openssl-devel openssl-libs curl libcurl-devel libjpeg-turbo-devel libpng-devel freetype-devel libxslt libxslt-devel expat-devel patch wget glibc.i686 zlib-devel curl-devel

Installing EPEL Repository to install mcrypt

# yum install epel-release
# yum install libmcrypt-devel

Installing Apache 2.2.34 from source

Getting source code

wget -O /usr/src/httpd-2.2.34.tar.gz  https://archive.apache.org/dist/httpd/httpd-2.2.34.tar.gz

Uncompress

# cd /usr/src
# tar -zxvf httpd-2.2.34.tar.gz

Configure

cd httpd-2.2.34
./configure --prefix=/usr --enable-layout=RedHat --enable-mods-shared=all 

Compile and install

make
make install

Installing PHP 5.2.17 from source

It is very important to use this version because php 5.2.17 doesn't work with nealy versions.

Getting source code

wget -O /usr/src/php-5.2.17.tar.gz http://museum.php.net/php5/php-5.2.17.tar.gz --no-check-certificate

Uncompress 

# cd /usr/src
# tar -zxvf php-5.2.17.tar.gz 
# cd php-5.2.17

Patching                                                            

https://stackoverflow.com/questions/28211039/phpbrew-5-3-10-build-error-dereferencing-pointer-to-incomplete-type/34107461

curl -s https://mail.gnome.org/archives/xml/2012-August/txtbgxGXAvz4N.txt | patch -p0
Result:
patching file ext/dom/node.c
Hunk #1 succeeded at 1950 (offset 55 lines).
patching file ext/dom/documenttype.c
Hunk #1 succeeded at 215 (offset 10 lines).
patching file ext/simplexml/simplexml.c
Hunk #1 succeeded at 1343 (offset -74 lines).

 

Configure

./configure --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --cache-file=../config.cache --with-libdir=lib64 --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-pic --disable-rpath --without-pear --with-bz2 --with-curl --with-exec-dir=/usr/bin --with-freetype-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --without-gdbm --with-gettext --with-iconv --with-jpeg-dir=/usr --without-openssl --with-zlib --with-layout=Redhat --enable-exif --enable-ftp --enable-magic-quotes --enable-sockets --enable-wddx  --without-mime-magic --without-sqlite --with-libxml-dir=/usr --with-apxs2=/usr/sbin/apxs --without-mysql --disable-dom --disable-dba --without-unixODBC --disable-pdo --disable-xmlreader --disable-xmlwriter --disable-json -with-xsl --enable-dom

Compile and install

make
make install

Copie o arquivo php.ini-recommended para /etc/php.ini

# cp php.ini-recommended /etc/php.ini

Ajuste o arquivo, modificando e depois reinicie o Apache:

# vi /etc/php.ini
display_errors = Off
short_open_tag = On

Creating a symbolic link for modules

# ln -s /lib /etc/httpd/lib

Configure Apache

$ echo '
<FilesMatch "\.php$">
  SetHandler application/x-httpd-php
</FilesMatch>
' >> /etc/httpd/conf/httpd.conf

Creating a system unit 

# vi /etc/systemd/system/httpd.service
[Unit]
Description=Apache Web Server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/httpd.pid
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl graceful-stop
ExecReload=/usr/sbin/apachectl graceful
PrivateTmp=true
LimitNOFILE=infinity

[Install]
WantedBy=multi-user.target

Save the file and run the follow commands

# systemctl daemon-reload
# systemctl enable --now httpd

Installation of the SciELO Methodology

Following 

http://docs.scielo.org/projects/scielo-site/en/latest/howtoinstall.html

The process below corresponds to Portugal's branch. If you are from another country it is very important to choose yours. It is important to read the link above to understand what is necessary to change.

For version control we use GitHub, where Tags correspond to the versions of the site.

Check the TAGs here: SciELO’s GitHub

Screenshot at Aug 05 10-36-40.png

Check the branch of the current version by region and country. See the table at the link below:

Branch name for each collection

Screenshot at Aug 05 10-38-13.png

Example:

If there is no branch for your collection, we ask that you let us know.

Download the specific version of the SciELO methodology

There are two ways to download: one through the tarball file and the other through the zip file.

ZIP File

Download:

wget https://github.com/scieloorg/Web/zipball/<versão_da_tag>

Example:

wget https://github.com/scieloorg/Web/archive/master.zip

After extracting the files, a directory will be created with the name Web-master

Web-master

Enter the directory and move the content extracted to "/var/www/scielo”:

Installation of the CISIS package

wget ftp://produtos-scielo:produtos%40scielo@ftp.scielo.br/cisis-product/cisis.zip

Extract the contents in the directory:

cd /var/www/scielo/proc/
unzip cisis.zip

The CISIS directory will look like this:

Delete the downloaded .zip file

To test operation:

mx what

Result:

Installation of the WWWISIS package

cd /var/www/scielo/cgi-bin
wget ftp://produtos-scielo:produtos%40scielo@ftp.scielo.br/cisis-product/wxis.exe

To test:

./wxis.exe hello

Configuring the httpd.conf file

Edit the file:

vi /etc/httpd/conf/httpd.conf

In the end of the file add the line:

# Virtual hosts

Include /etc/httpd/conf.d/vhosts

Enter the directory indicated below:

mkdir /etc/httpd/conf.d/vhosts

Enter the directory indicated below and create the file below:

cd /etc/httpd/conf.d/vhosts

vi vhosts.conf


add the follow content:


NameVirtualHost <server ip>:80


It is important to replace <server ip> to the real ip from machine

In the same directory create another file. The name is related to your instance. For instance, if you are from Bolivia the name will be scielo-org-bo.conf. I will use this name as template:

# vi scielo-org-bo.conf


<VirtualHost *:80>

    ServerName  vm.scielo.br

    Alias /pdf/ /var/www/scielo/bases/pdf/

    Alias /img/fbpe/ /var/www/scielo/htdocs/img/revistas/

    Alias /img/scimago/ /var/www/scielo/bases/scimago/images/

    LimitRequestFieldSize 9000

    LimitRequestLine 9000

    DocumentRoot /var/www/scielo/htdocs

    DirectoryIndex scielo.php index.php index.html index.htm

    <Directory /var/www/scielo/htdocs>

        Options  FollowSymLinks MultiViews

        Order deny,allow

         AcceptPathInfo On

        Allow from all

    </Directory>

    <Directory /var/www/scielo/bases/pdf/>

        Options  FollowSymLinks MultiViews

        Order deny,allow 

         AcceptPathInfo On

        Allow from all

    </Directory>

    <Directory /var/www/scielo/bases/scimago/images/>

        Options  FollowSymLinks MultiViews

        Order deny,allow

         AcceptPathInfo On

        Allow from all

    </Directory>

    <FilesMatch "\.(def)$">

       Order allow,deny

       Allow from all

       Satisfy All

    </FilesMatch>

    ScriptAlias /cgi-bin/ /var/www/scielo/cgi-bin/

    <Directory /var/www/scielo/cgi-bin/>

        AddDefaultCharset ISO-8859-1

        Options  FollowSymLinks MultiViews ExecCGI

         AcceptPathInfo On

        Order deny,allow

        Allow from all

    </Directory>


    ErrorLog "|/usr/sbin/rotatelogs -l /var/www/apache/%Y-%m-%d+scielo-br-error.log 5M"

    CustomLog "| /usr/sbin/rotatelogs -l /var/www/apache/%Y-%m-%d+scielo-br-access.log 5M" combined

</VirtualHost>

Some fields you have to replace:

ServerName - corresponding to the domain name. Example: www.scielo.org.bo

ErrorLog - corresponding to the  log file error. Replace from this template scielo-br to the name of you instance. Example: scielo-org-bo

CustomLog - corresponding to the log file acess. Replace from this template scielo-br to the name of you instance. Example: scielo-org-bo


NOTES: You have to create the directory /var/www/apache to save the files created. Run the command:

mkdir /var/www/apache

Mandatory settings

Configuring the scielo.def.php file

Below we will show the mandatory configurations for the SciELO Methodology to work.
Copy the template file "scielo.def.php.template" to your configuration file "scielo.def.php".

Enter the directory:

cd /var/www/scielo/htdocs/

Copy:

cp scielo.def.php.template  scielo.def.php

Edit the file as shown in the following example:

vi scielo.def.php

This file is separated into blocks [BLOCK_NAME], and by default the configured paths point to “/home/scielo”. It is necessary to replace /home/scielo to /var/www/scielo.

ESC :%s/\/home\/scielo/\/var\/www\/scielo/g

Site identification settings

[SITE_INFO]

SITE_NAME=SciELO - Scientific Electronic Library Online

SHORT_NAME=Scielo Brazil

SITE_AUTHOR=FAPESP - CNPq - FapUNIFESP - BIREME

ADDRESS_1=R. Dr. Diogo de Faria, 1087 cj.810

ADDRESS_2=04037-003 - Sao Paulo/SP

COUNTRY=Brasil

PHONE_NUMBER=+55 11 3369-4080/4085

#FAX_NUMBER=+55 11 5575-8868

E_MAIL=scielo@bireme.br

STANDARD_LANG=en

APP_NAME=scielo

ANALYTICS_CODE=scl

APP_NAME and ANALYTICS_CODE, are parameters provided by the SciELO team.

[SCIELO]

SERVER_SCIELO=vm.scielo.br


[FULLTEXT_SERVICES]

access="http://vm.scielo.br/applications/scielo-org/pages/services/articleRequestGraphicPage.php?pid=PARAM_PID&caller=PARAM_SERVER"

cited_SciELO="http://vm.scielo.br/scieloOrg/php/citedScielo.php?pid=PARAM_PID"

send_mail="http://vm.scielo.br/applications/scielo-org/pages/services/sendMail.php?pid=PARAM_PID&caller=PARAM_SERVER"

Now we will point the block [PATH] to the path of the application, as stated earlier

[PATH]


PATH_DATA=/

PATH_CGI-BIN=/cgi-bin/

PATH_SCRIPTS=ScieloXML/

PATH_GENIMG=/img/

PATH_SERIMG=/img/revistas/

PATH_SERIAL_HTML=/revistas/

PATH_XSL=/var/www/scielo/htdocs/xsl/

PATH_DATABASE=/var/www/scielo/bases/

PATH_SETTINGS=

PATH_PDF=/var/www/scielo/bases/pdf

PATH_TRANSLATION=/var/www/scielo/bases/translation/

PATH_HTDOCS=/var/www/scielo/htdocs/

PATH_OAI=/var/www/scielo/htdocs/oai/

PATH_PROC=/var/www/scielo/proc/

Configuring the iah.def file

Copy the template file “iah.def.php.template” to your configuration file “iah.def.php”.

Enter the directory:

/var/www/scielo/htdocs/iah

Copy:

cp iah.def.php.template iah.def.php

Edit the file as shown in the following example:

iah.def.php

This file is separated into blocks [BLOCK_NAME], and by default the configured paths point to “/home/scielo”. We will make the move to the location where the application “/var/www/scielo” is, see the examples separated by blocks:

The blocks that must be changed are:

[PATH]

[IAH]

[HEADER]

For instance:

[PATH]

PATH_DATA=/iah/

PATH_CGI-BIN=/var/www/scielo/cgi-bin/iah/

PATH_DATABASE=/var/www/scielo/bases/


[APPEARANCE]

BODY BACKGROUND COLOR=white

BODY BACKGROUND IMAGE=

BODY TEXT COLOR=black

BODY LINK COLOR=blue

BODY VLINK COLOR=blue

BAR BACKGROUND COLOR=#B0C2D5

BAR TEXT COLOR=black

ERROR TEXT COLOR=

WARNING TEXT COLOR=


[HEADER]

LOGO IMAGE=scielog.gif

LOGO TEXT COLOR=

LOGO BACKGROUND COLOR=

LOGO URL=www.scielo.br

HEADER IMAGE=^ponlinep.gif^eonlinee.gif^ionlinei.gif

HEADER TEXT COLOR=

HEADER BACKGROUND COLOR=

HEADER URL=www.scielo.br


[IAH]

MANAGER E-MAIL=scielo@bireme.br

MAINTENANCE=OFF

REVERSE MODE=ON

MULTI-LANGUAGE=ON

LOG_DATABASE=/var/www/scielo/bases/logdia/iahlog



Configuring the article.def file

Copy the template file "article.def.php.template" to your configuration file "article.def.php".

Enter the directory:

/var/www/scielo/htdocs/iah

Copy as directed:

article.def.php.template to article.def.php

Edit the file as shown in the following example:

article.def.php

This file is separated into blocks [BLOCK_NAME], and by default the configured paths point to “/home/scielo”. We will make the move to the location where the application “/var/www/scielo” is, see the examples separated by blocks:

The blocks that must be changed are:

[FILE_LOCATION]

[VARIABLES]


Exemplo:


[FILE_LOCATION]


FILE HEADER.IAH=/var/www/scielo/cgi-bin/iah-styles/header.pft

FILE QUERY.IAH=/var/www/scielo/cgi-bin/iah-styles/query.pft

FILE LIST6003.PFT=/var/www/scielo/cgi-bin/iah-styles/list6003.pft

FILE PROC.PFT=/var/www/scielo/htdocs/pfts/proc_split_mst.pft

FILE iso.pft=/var/www/scielo/cgi-bin/iah-styles/fbiso.pft

FILE abn.pft=/var/www/scielo/cgi-bin/iah-styles/fbabn.pft

FILE van.pft=/var/www/scielo/cgi-bin/iah-styles/fbvan.pft

FILE places.pft=/var/www/scielo/cgi-bin/iah-styles/place-generico.pft

FILE month1.pft=/var/www/scielo/cgi-bin/iah-styles/month1.pft

FILE month2.pft=/var/www/scielo/cgi-bin/iah-styles/month2.pft

FILE scistyle.pft=/var/www/scielo/cgi-bin/iah-styles/scistyle.pft

FILE AHBTOP.HTM=/var/www/scielo/cgi-bin/iah-styles/%lang%/ahbtop.htm

FILE AHLIST.PFT=/var/www/scielo/cgi-bin/iah-styles/%lang%/ahlist.pft

FILE ahlist.pft=/var/www/scielo/cgi-bin/iah-styles/%lang%/ahlist.pft

FILE LATTES.*=%path_database%lattes/lattes.*

FILE citation.xml=/var/www/scielo/cgi-bin/iah-styles/fbisoXML.pft


[VARIABLES]

VARIABLE APP_PATH=/var/www/scielo/

VARIABLE APP_REVISTAS_PATH=/var/www/scielo/htdocs/revistas/

VARIABLE APP_REVISTAS_RELPATH=/revistas/

VARIABLE APP_IMG_REVISTAS_RELPATH=/img/revistas/

VARIABLE APP_IMG_RELPATH=/img/

Configuring the title.def file

Copy the “title.def.php.template” template file to your “title.def.php” configuration file.

Enter the directory:

/var/www/scielo/htdocs/iah

Copy as directed:

title.def.php.template to title.def.php

Edit the file as shown in the following example:

title.def.php

This file is separated into blocks [BLOCK_NAME], and by default the configured paths point to “/ home / scielo”. We will make the move to the location where the application “/var/www/scielo” is, see the examples separated by blocks:

The blocks that must be changed are:


[FILE_LOCATION]

[VARIABLES]


[FILE_LOCATION]


FILE DATABASE.*=%path_database%title/title.*

FILE FULINV.*=%path_database%title/titsrc.*

FILE PREINV.*=%path_database%title/titsrcp.*


FILE HEADER.IAH=/var/www/scielo/cgi-bin/iah-styles/header.pft


FILE scistyle.pft=/var/www/scielo/cgi-bin/iah-styles/scistyle.pft

FILE places.pft=/var/www/scielo/cgi-bin/iah-styles/place-generico.pft

FILE iso.pft=/var/www/scielo/cgi-bin/iah-styles/fbsrc1.pft

FILE van.pft=/var/www/scielo/cgi-bin/iah-styles/fbsrc1.pft

FILE abn.pft=/var/www/scielo/cgi-bin/iah-styles/fbsrc1.pft

FILE issue.*=%path_database%issue/issue.*

FILE facic.*=%path_database%issue/facic.*

FILE artigo.*=%path_database%artigo/artigo.*

FILE author.*=%path_database%artigo/author.*

FILE title.*=%path_database%title/title.*


[VARIABLES]

VARIABLE APP_PATH=/var/www/scielo/

VARIABLE APP_REVISTAS_PATH=/var/www/scielo/htdocs/revistas/

VARIABLE APP_REVISTAS_RELPATH=/revistas/

VARIABLE APP_IMG_REVISTAS_RELPATH=/img/revistas/

VARIABLE APP_IMG_RELPATH=/img/

Configuring php.ini

The php.ini file is located in the standard PHP installation directory, as shown below.

vi /etc/php.ini

When opening the file with an editor, search for the word short_open_tag, it is defined according to the model:

short_open_tag = Off

Change to:

short_open_tag = On

Save the file and restart apache.

Configuration of "hosts" and "Vhost"

Check the IP of the Server that is installing the methodology:

Edit the "hosts" file of the Server and or make the correct notes on your DNS server:

vi /etc/hosts

Add the following line:

<ip_do_servidor>        vm.scielo.br

To test the functioning of wwwisis in the web environment, type in your browser:

http://vm.scielo.br/cgi-bin/wxis.exe?hello

Access the site

vm.scielo.br/scielo.php

Screenshot at Aug 05 10-43-18.png

Gera Padrao Script

Edit the gerapadrão.bat file:

vi /var/www/scielo/proc/GeraPadrao.bat

Changing the following parameters:

Before:

call notepad \scielo\serial\scilista.lst

After:

call notepad \var\www\scielo\serial\scilista.lst

Before:

md \scielo\web\bases-work

After:

md \var\www\scielo\web\bases-work

Before:

call GeraScielo.bat \scielo \scielo\web log\GeraPadrao.log adiciona

After:

call GeraScielo.bat .. .. log\GeraPadrao.log adiciona

Rename the directory:

cd /var/www/scielo

mv serial-modelo serial

Creating user scielo and set permission

This user will be used to update files and processing databases.

# useradd -c "SciELO User Admin" scielo

Set permission to scielo user

I am considering Apache Root Dir is /var/www/scielo

# chown -R scielo. /var/www/scielo/

Fixing Directory and File permissions

# find /var/www/scielo/ -type d -exec chmod 755 {} \;

# find /var/www/scielo/ -type f -exec chmod 644 {} \;

# cd /var/www/scielo/

# find proc/ -name *.bat -exec chmod 755 {} \;

# find proc/ -name *.sh -exec chmod 755 {} \;

# find cgi-bin/ -name *.bat -exec chmod 755 {} \;

# find cgi-bin/ -name *.sh -exec chmod 755 {} \;

# find cgi-bin/ -name *.exe -exec chmod 755 {} \;

# cd proc

# chmod 755  cisis/*

# chmod 755 call

# chmod 755 rem

Possible errors

The error below is common, to fix it we have to change the php.ini file

Screenshot at Aug 05 10-44-14.png

The php.ini file is located in the standard PHP installation directory, as shown below.

vi /etc/php.ini

When opening the file with an editor, search for the word short_open_tag, it is defined according to the model:

short_open_tag = Off

Change to:

short_open_tag = On

Save the file and restart apache.

Paperboy installation

GitHub PaperBoy Repository

What is PaperBoy?

PaperBoy is a utility for sending SciELO data from local website servers for processing and also from servers in a collection for network processing. The utility allows sending bases for processing, images, pdfs, translations and XML's.

 

Prerequisites for the functioning of PaperBoy - Linux

NOTE: The following configuration is for sending bases from the Linux server Production application methodology to the SciELO FTP server.

As described at the beginning of the PaperBoy topic, the installation and configuration of the paperboy on the new server Methodology is necessary for sending bases to the SciELO FTP server, the data sent will go through a normalization process and inserted on the Analytics SciELO website, the data are used as collection metrics.

For the operation of the PaperBoy utility on linux it is important to note that it is not necessary to install prerequisites. By default Python is already included in the Linux distribution, in which case we have the distribution is Centos.

To find the version of the distribution used, run the following command :.

CentOS Linux release 7.7.1908 (Core)

As stated earlier, it is not necessary to install Python since it is installed in the distribution.

To find the version of python installed, run the following command :.

python --version

NOTE:The commands must be executed at the server terminal.

In linux distributions as python is native, the modules are already pre-installed, so we don't need to install the paramiko and pycrypto modules, as we did on windows.

Configuring PaperBoy - Linux

 

In the Methodology server, the use of the PaperBoy utility will be in Docker, as stated above, we do not need to install Python or the modules since python is native to linux distributions.

We need to follow some steps to create the container :.

Configuring PaperBoy for sending bases - Linux

 

#Diretório de origem de coleta dos dados de bases

source_dir=/var/www/scielo

#Diretório do Cisis

cisis_dir=/var/www/scielo/proc/cisis

#Diretório onde fica o arquivo da scilista.lst

scilista=/var/www/scielo/serial/scilista.lst

#Diretório de destino dos dados enviados

destiny_dir=

#Dados do servidor FTP 

#Servidor FTP usado

server=

tipo de servidor ftp

server_type=sftp

#Porta de conexão com o servidor FTP

port=22

#Usuário FTP

user=

#Senha de acesso

password=

NOTE:I removed comments from the config.ini file for explanation purposes.

Below we have the config.ini file already configured with all the necessary parameters for sending the bases.

#Diretório de origem de coleta dos dados de bases

source_dir=/var/www/scielo

#Diretório do Cisis

cisis_dir=/var/www/scielo/proc/cisis

#Diretório onde fica o arquivo da scilista.lst

scilista=/var/www/scielo/serial/scilista.lst

#Diretório de destino dos dados enviados

destiny_dir=

Observação:. Não configuramos o destino dos dados uma vez que o usuário de ftp já possui o acesso ao diretório da coleção.

#Dados do servidor FTP 

server=ftp.scielo.br

server_type=ftp

port=21

user=scielo.bo

password=blabla

NOTE:I removed comments from the config.ini file for explanation purposes.

 

How to upgrade SciELO Methodology

To upgrade SciELO Methodology you have to download the latest code from our GitHub Repository. Before updating, check what version is your website. For instance, we are going to check the version from SciELO ZA: http://www.scielo.org.za/versionOverview.txt

Screenshot at Aug 05 10-49-44.png

The first line that shows is the version. Click here to check which version SciELO Methodology is: https://github.com/scieloorg/Web/tags

Screenshot at Aug 05 10-50-14.png

From this moment, SciELO code is in 5.44.1 and SciELO ZA is in 5.37. To upgrade we have to download the branch from SciELO ZA. Each collection has its own branch. To check yours, click in the bottom master and select the branch scielo_<acron from your collection>. In this example we selecting the scielo_sza

Screenshot at Aug 05 10-50-50.png

After selecting the branch click in the bottom right corner code and select Download ZIP:

Screenshot at Aug 05 10-51-31.png

After downloading the zip package you have to send it to the Linux Server. You can use WinSCP to send it.

The other alternative is download it directly from the link https://github.com/scieloorg/Web/archive/refs/heads/scielo_sza.zip using wget command. If your collection isn't sza you have to change the acronym from this link.

$ cd /tmp

$ wget https://github.com/scieloorg/Web/archive/refs/heads/scielo_sza.zip

$ unzip scielo_sza.zip

$ rsync -Cravp /tmp/Web-scielo_sza/htdocs/ /var/www/scielo/htdocs/

$ rsync -Cravp /tmp/Web-scielo_sza/cgi-bin/ /var/www/scielo/cgi-bin/

$ rsync -Cravp /tmp/Web-scielo_sza/proc/ /var/www/scielo/proc/

Fixing permissions 

Once you have upgrade the directories you have to fix the permissions.

find /var/www/scielo/ -type d -exec chmod 755 {} \;

find /var/www/scielo/ -type f -exec chmod 644 {} \;

cd /var/www/scielo/

find proc/ -name *.bat -exec chmod 755 {} \;

find proc/ -name *.sh -exec chmod 755 {} \;

find cgi-bin/ -name *.bat -exec chmod 755 {} \;

find cgi-bin/ -name *.sh -exec chmod 755 {} \;

find cgi-bin/ -name *.exe -exec chmod 755 {} \;

cd proc

chmod 755  cisis/*

chmod 755 call

chmod 755 rem

References

The following descriptions were based on the existing document:

http://docs.scielo.org/projects/scielo-site/en/latest/howtoinstall.html

INSTALAR ROCKY LINUX NO VMWARE

AJUSTE NECESSÁRIO NA PROPRIEDADE DA VM

Em VM Options > Boot Options > Desmaque o Enabled do Secure Boot

image-1636747396835.png

image-1636747535960.png

image-1636747621662.png

image-1636747659237.png

Clique em Network & Host Name

image-1636747693658.png

Clique no botão ON para pegar IP automaticamente e em Host Name adicione o nome FQDN da VM

image-1636747789440.png

Clique no botão Configure para atribuir um IP fixo:

image-1636747927369.png

image-1636748003742.png

image-1636748029972.png

Clique no botão DONE

image-1636748062431.png

Clique em Time & Date e selecione a cidade igual a imagem abaixo. Por fim clique em Done

image-1636748095301.png

image-1636748137526.png

Clique em Installation Destination

image-1636748182582.png

Clique em Custom e no botão Done

image-1636748224477.png

Aparecerá a tela abaixo:

image-1636748250935.png

image-1636748293562.png

Agora precisamos fazer os ajustes nos volumes existentes. Iremos seguir a prática do CIS Benckmarks Red Hat Enterprise 8. Segundo o CIS é importante que os volumes abaixo seja criado como partições separadas:

/home

/var/tmp

/var/log

/var/log/audit

/tmp

Levando em consideração que temos um disco de 100GB o espaço ficará distribuído da seguinte forma:

/home -> 5 GB

/var -> 20 GB

/var/tmp -> 5 GB

/var/log -> 20 GB

/var/log/audit -> 5GB

/tmp - 10GB

/ -> 30 GB

Como adicionar uma partição? Clique em "+":

image-1636748738289.png

Clique em Add mount point. Repita isso para todas as partições definidas.

A estrutura ficou assim:

image-1636748946583.png

Cliqu em Done

image-1636749001486.png

Clique em Accept Changes

image-1636749040086.png

Clique em Software Selection

image-1636749079463.png

Selecione Minimal Install e marque os itens como está na imagem:

image-1636749137752.png

Clique em Done

image-1636749164872.png

Selecione Root Password

image-1636749208730.png

Clique em Done

image-1636749232382.png

Clique em User Creation

image-1636749281486.png

Clique em Done

image-1636749340471.png

Clique em Begin Installation

image-1636749377028.png

E por fim, clique em Reboot System

image-1636749880340.png

Agora login via ssh e execute o update

[root@old ~]# yum update -y

Desative o selinux

[root@old ~]# vi /etc/selinux/config
Altere de:
SELINUX=enforcing
Para
SELINUX=permissive

INSTALAR O VMWARE TOOLS

Clique em Install VMware Tools

image-1636750468191.png

Clique em MOUNT

image-1636750517729.png

Agora via ssh execute

[root@old vmware-tools-distrib]# yum install policycoreutils-python-utils -y
[root@old ~]# mount -t iso9660 /dev/cdrom /mnt
[root@old ~]# cd /mnt
[root@old mnt]# cp VMwareTools-10.3.23-17030940.tar.gz /tmp
[root@old mnt]# cd /tmp/
[root@old tmp]# tar -zxvf VMwareTools-10.3.23-17030940.tar.gz 
[root@old tmp]# cd vmware-tools-distrib/
[root@old vmware-tools-distrib]# ./vmware-install.pl 
A previous installation of VMware Tools has been detected.

The previous installation was made by the tar installer (version 4).

Keeping the tar4 installer database format.

You have a version of VMware Tools installed.  Continuing this install will 
first uninstall the currently installed version.  Do you wish to continue? 
(yes/no) [yes] 

INPUT: [yes]  default

Uninstalling the tar installation of VMware Tools.


ValueError: O contexto de arquivo para /usr/sbin/vmtoolsd não está definido
semanageFcontext: unable to set SELinux fcontext - command: "semanage fcontext 
-d /usr/sbin/vmtoolsd"
There was an error configuring the SELinux security context for VMware Tools.  
Please make certain that SELinux is configured correctly.

Stopping services for VMware Tools

Parando vmware-tools (via systemctl):                      [  OK  ]

The removal of VMware Tools 10.3.23 build-17030940 for Linux completed 
successfully.

Installing VMware Tools.

In which directory do you want to install the binary files? 
[/usr/bin] 
INPUT: [/usr/bin]  default

What is the directory that contains the init directories (rc0.d/ to rc6.d/)? 
[/etc/rc.d] 

INPUT: [/etc/rc.d]  default

What is the directory that contains the init scripts? 
[/etc/rc.d/init.d] 

INPUT: [/etc/rc.d/init.d]  default

In which directory do you want to install the daemon files? 
[/usr/sbin] 

INPUT: [/usr/sbin]  default

In which directory do you want to install the library files? 
[/usr/lib/vmware-tools] 

INPUT: [/usr/lib/vmware-tools]  default

The path "/usr/lib/vmware-tools" does not exist currently. This program is 
going to create it, including needed parent directories. Is this what you want?
[yes] 

INPUT: [yes]  default

In which directory do you want to install the documentation files? 
[/usr/share/doc/vmware-tools] 

INPUT: [/usr/share/doc/vmware-tools]  default

The path "/usr/share/doc/vmware-tools" does not exist currently. This program 
is going to create it, including needed parent directories. Is this what you 
want? [yes] 

INPUT: [yes]  default

The installation of VMware Tools 10.3.23 build-17030940 for Linux completed 
successfully. You can decide to remove this software from your system at any 
time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl".

Before running VMware Tools for the first time, you need to configure it by 
invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want 
this program to invoke the command for you now? [yes] 

INPUT: [yes]  default

Initializing...


Making sure services for VMware Tools are stopped.

Parando vmware-tools (via systemctl):                      [  OK  ]


The module vmci has already been installed on this system by another installer 
or package and will not be modified by this installer.

The module vsock has already been installed on this system by another installer
or package and will not be modified by this installer.

The module vmxnet3 has already been installed on this system by another 
installer or package and will not be modified by this installer.

The module pvscsi has already been installed on this system by another 
installer or package and will not be modified by this installer.

The module vmmemctl has already been installed on this system by another 
installer or package and will not be modified by this installer.

The VMware Host-Guest Filesystem allows for shared folders between the host OS 
and the guest OS in a Fusion or Workstation virtual environment.  Do you wish 
to enable this feature? [no] 

INPUT: [no]  default

The vmxnet driver is no longer supported on kernels 3.3 and greater. Please 
upgrade to a newer virtual NIC. (e.g., vmxnet3 or e1000e)

The vmblock enables dragging or copying files between host and guest in a 
Fusion or Workstation virtual environment.  Do you wish to enable this feature?
[no] 

INPUT: [no]  default


Skipping configuring automatic kernel modules as no drivers were installed by 
this installer.

Do you want to enable Guest Authentication (vgauth)? [yes] 

INPUT: [yes]  default

No X install found.


Skipping rebuilding initrd boot image for kernel as no drivers to be included 
in boot image were installed by this installer.

The configuration of VMware Tools 10.3.23 build-17030940 for Linux for this 
running kernel completed successfully.

You must restart your X session before any mouse or graphics changes take 
effect.

To enable advanced X features (e.g., guest resolution fit, drag and drop, and 
file and text copy/paste), you will need to do one (or more) of the following:
1. Manually start /usr/bin/vmware-user
2. Log out and log back into your desktop session
3. Restart your X session.

Warning no default label for /tmp/vmware-block-restore-68272.0/tmp_file
Enjoy,

--the VMware team

Procesamiento y actualización de sitios Venezuela - Nuevo(Español)


Visión geral

O objetivo deste documento é explicar de forma simples os procedimentos necessários para a submissão de bases, processamento do site de homologação e atualização do site de produção.


Objetivo


Envio de bases a través de PaperBoy


En el servidor local de Windows, Paperboy ya está instalado y configurado para enviar bases y activos digitales, llamado "paperboy.bat"

image-1631274707285.33.02.png

Simplemente haciendo doble clic en el acceso directo comenzará a enviar las bases.

El atajo "paperboy.bat" ejecuta una serie de comandos:

El siguiente comando establece la variable con la configuración del "Paperboy"

set PAPERBOY_SETTINGS_FILE=config.ini

image-1631275655145.33.31.png

A continuación tenemos el comando para enviar las bases, el log de ejecución se dirige a un archivo:

paperboy_delivery_to_server -m > paperboy.log 2>&1

image-1631275690290.34.51.png


Acceso remoto al servidor

image.png

image.png

Procesamiento y validación en el sitio de homologación

El primer paso es acceder al contenedor del sitio de homologación:

docker exec -it hml-ve-scielo-org bash

image-1631287077111.17.42.png

Para comenzar a procesar tenemos que estar en el directorio correcto:

cd /var/www/scielo/proc

image-1631288116604.35.04.png

El procesamiento se realiza ejecutando el siguiente comando:

./GeraPadrao.bat

image-1631291601936.33.03.png

Después del procesamiento, podemos consultar el registro y validar si el sitio ha sido actualizado:

GeraPadra.log

Pudimos consultar el log en:

/var/www/hml_scielo/proc/log

Una forma de buscar posibles errores que ocurrieron durante el procesamiento es ejecutar el siguiente comando:

En el directorio proc, ejecute el siguiente comando:

cat log/GeraPadrao.log |grep ERRO

Si el resultado del comando está vacío es una señal de que no tuvimos errores de procesamiento, ahora tenemos que validar si el sitio fue actualizado.

Verifique la actualización en el sitio web de homologación de la colección

homolog-ve.scielo.org

image-1631387449048.10.04.png

Antes del procesamiento, el sitio solo tenía las bases del modelo:

image-1631387295943.37.54.png

Después de procesar el sitio se actualizó:

image-1631387428179.09.32.png


Actualización del sitio web de producción

Para actualizar el sitio de producción, usaremos un script que copia las bases del sitio de aprobación.

Informaciones importantes

El script de actualización del sitio se encuentra en el directorio:

/var/www/scripts

Tenemos un directorio separado para almacenar los registros de actualización y reversión del sitio:

/var/www/scripts/logs-update-sitio/


Screen Shot 2021-11-03 at 08.32.10.png

Empecemos la actualización accediendo de forma remota al servidor, (se puede consultar en "Acceso remoto al servidor")

Una vez en el servidor, vayamos al directorio donde se encuentra el script update_bases.sh


cd /var/www/scripts/

Screen Shot 2021-11-03 at 08.31.21.png

Para actualizar el sitio, usemos el siguiente comando a continuación:

nohup sh -x update_bases.sh update &>/var/www/scripts/logs-update-sitio/update_bases_03112021.log &

Screen Shot 2021-11-03 at 08.41.42.png

Nota importante


En el comando anterior informamos la ruta donde se almacena el log y el nombre con la fecha del log, para cada actualización debemos informar la fecha, esta práctica es importante cuando es necesario analizar logs, en un posible error que puede ocurrir en una actualización, a continuación daré algunos ejemplos:

Tenemos una actualización del sitio web el 4 de noviembre de 2021

nohup sh -x update_bases.sh update &>/var/www/ve_scielo_org/logs-update-sitio/update_bases_04112021.log &

Tenemos otra actualización del sitio, pero ahora el 10 de enero de 2022

nohup sh -x update_bases.sh update &>//var/www/ve_scielo_org/logs-update-sitio/update_bases_10012022.log &

Consulta de registros durante la actualización


Podemos seguir los registros usando el siguiente comando:

tail -f /var/www/ve_scielo_org/logs-update-sitio/update_bases_03112021.log &

Screen Shot 2021-11-03 at 08.43.02.png

Screen Shot 2021-11-03 at 09.19.04.png


Explicando el comando del sitio de actualización


nohup sh -x update_bases.sh update &>/var/www/scielove/logs-update-sitio/update_bases_03112021.log &
nohup Parámetro para insertar el comando en segundo plano
sh -x Parámetro utilizado para la ejecución del script 
update_bases Script que usaremos para actualizar el sitio web
update Parámetros para actualizar el sitio web
rollback Parámetros para revertir la actualización
& carácter utilizado en la formación del comando para ejecutar el script en segundo plano.
> Parámetro que indica hacia dónde vamos a dirigir la salida de ejecución del registro
/var/www/scielove/logs-update-sitio/ directorio donde se almacenan los registros de actualización
update_bases_03112021.log archivo de actualización del sitio web
rollback_bases_03112021.log archivo de rollback del sitio web
& carácter utilizado en la formación del comando para ejecutar el script en segundo plano.

Enlace esencial donde tenemos el script update_bases.sh a analizar

registro de actualización

Screen Shot 2021-11-09 at 19.43.07.png

Fin de actualización

Screen Shot 2021-11-09 at 19.47.43.png


Screen Shot 2021-11-09 at 19.36.43.png


Si es necesario, pudimos revertir la actualización de la siguiente manera:

nohup sh -x update_bases.sh rollback &>/var/www/scielove/logs-update-sitio/rollback_bases_03112021.log &

Screen Shot 2021-11-09 at 20.02.50.png

Este procedimiento revertirá las bases del sitio antes del proceso de actualización descrito en Consulta de registros durante la actualización.