IT/Sodium/Debian

De SIU
Saltar a: navegación, buscar
Siu-arai iso.png


Instalación en Debian GNU/Linux

Versiones soportadas en Debian

sodium en S.O. PHP libsodium en PHP
Debian 8 (2)
Debian 9 1.0.11 7.0 (*) 1.0.6 (*)
7.1 (0) (1)

Leyendas:

( x.x.x ) se ha probado su integración en dicha versión con los paquetes nativos

( * ) versión nativa y presente en el repositorio de manera oficial

( 0 ) es posible instalarlo vía deb.sury.org, repositorio externo de paquetes PHP para Debian

( 1 ) es posible instalarlo vía PEAR, repositorio de extensiones PHP

( 2 ) version obsoleta/no se tiene mas soporte

Debian 8 Jessie

Esta versión de Debian incorpora paquetes antiguos de PHP, incluso para la librería de sistema operativo Sodium. Por lo que es necesario instalarla desde backports.

ATENCIÓN:El repositorio Backports para Debian 8 Jessie ya no está soportado y fué discontinuado en Julio de 2018. Recomendamos usar Debian 9 Stretch.

PHP 7.0 y 7.1

Para esta versión de Debian, no existen todos los paquetes oficialmente. Se han de recurrir a la configuración de repositorios externos, tales como deb.sury.org y a los backports del mismo Debian.

El primer paso consiste entonces en agregar el repositorio DEB.SURY.ORG como se explica aquí(es un archivo bash que al ser descargado y ejecutado localmente, configura el repositorio).

Lo siguiente es realizar la instalación de los paquetes requeridos (para facilidad se muestra con PHP 7.1, pero es trasladable a PHP 7.0):
apt install apache2 libapache2-mod-php7.1 php7.1-cgi php7.1-cli php7.1-dev php7.1-xml
Se pueden instalar extensiones PHP adicionales, tales como:
apt install php7.1-curl php7.1-mcrypt php7.1-apcu
Luego, deberemos agregar los repositorios de backports para poder instalar una versión mas reciente de Sodium para S.O.
echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list.d/backports.list

Actualizar base de paquetes de apt

apt update
Siguiente, se debe instalar la versión de Sodium del S.O. desde backports:
apt -t jessie-backports install libsodium18 libsodium-dev
Luego, instalar la extensión para PHP de libsodium desde el repositorio PEAR:
pecl install -f libsodium-1.0.6
El paso final es hacer que PHP cargue la extensión para utilizarla. Es posible que sea necesario ejecutar:
echo "extension=libsodium.so" | sudo tee /etc/php/7.1/cli/conf.d/20-libsodium.ini
Para finalizar, hay que asegurarse de que la extensión libsodium está cargada en PHP:
php -m | grep sodium

Debian 9 Strech

Cada versión de PHP es específica para esta versión de Debian, debido a que cuenta con paquetes por defecto que la soportan.

PHP 7.0

Nota: esta versión, es la actualmente mínima recomendada para la instalación de la plataforma SIU-Araí, versión 2.0.
Para esta versión de Debian, la instalación es directamente de los paquetes oficiales disponibles en su repositorio.
apt install libsodium18 php-libsodium

PHP 7.1

Nota: esta versión, es la actualmente mínima recomendada para la instalación de la plataforma SIU-Araí, versión 2.1.
Previamente, tenemos que asegurarnos de que no existan versiones previas de PHP, así como de la extensión libsodium (una versión 2.0.x hoy causa conflictos).
apt remove --purge php-sodium libapache2-mod-php7.0
El primer paso consiste entonces en agregar el repositorio DEB.SURY.ORG como se explica aquí(es un archivo bash que al ser descargado y ejecutado localmente, configura el repositorio). Lo siguiente es realizar la instalación de los paquetes requeridos.
apt install apache2 libapache2-mod-php7.1 php7.1-cgi php7.1-cli php7.1-dev php7.1-xml
Se pueden instalar extensiones PHP adicionales, tales como:
apt install php7.1-curl php7.1-mcrypt php7.1-apcu
El paso siguiente consisten en instalar los headers de la librería Sodium para compilar contra libsodium de S.O la extensión de PHP.
apt install libsodium-dev
Ahora es el momento de descargar y compilar la extensión de Sodium para PHP, teniendo en cuenta que esta debe estar basada en la versión 1.0.x de dicha extensión (la versión 2.0.x es incompatible).
pecl install -f libsodium-1.0.6
Por último, es necesario hacer que PHP cargue la extensión, tanto en CLI como en WEB. Para ello, verificar que se pueda ejecutar correctamente los siguientes comandos:
# para cargar en CLI
echo "extension=libsodium.so" | sudo tee /etc/php/7.1/cli/conf.d/20-libsodium.ini
# para cargar en apache
echo "extension=libsodium.so" | sudo tee /etc/php/7.1/apache2/conf.d/20-libsodium.ini

< Volver