Base de conocimientos
1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Esta guía explica cómo trabajar sin el módulo PECL SSH2 client
no disponible en los alojamientos web y servidores cloud Infomaniak, utilizando en su lugar la biblioteca phpseclib
, que funciona en PHP nativo sin requerir ninguna extensión específica.
Prólogo
- El uso de
PECL SSH2 client
provoca errores comoNo compatible key exchange algorithms found
oUnable to exchange encryption keys
en su última versión disponible. Phpseclib
permite:- La autenticación SSH por contraseña o clave privada.
- La ejecución de comandos remotos.
- La transferencia de archivos seguros (SFTP).
- La gestión de las claves SSH.
Usar phpseclib
Para integrar una conexión SSH en un script PHP, use phpseclib
de la siguiente manera:
use phpseclib3\Net\SSH2;
use phpseclib3\Crypt\PublicKeyLoader;
$ssh = new SSH2('domain.xyz');
$key = PublicKeyLoader::load(file_get_contents('/path/to/private_key'));
if (!$ssh->login('utilisateur', $key)) {
exit('Authentication Failed');
}
echo $ssh->exec('ls -la');
Esta guía trata sobre el módulo Apache mod_auth_mysql
que permite la autenticación de usuarios y la autorización de acceso a través de una base de datos MySQL.
Con un alojamiento compartido
El módulo mod_auth_mysql
no está disponible con los alojamientos compartidos; hay que considerar un Servidor Cloud o usar scripts PHP y sesiones.
Esta guía explica cómo acceder a InnoDB en Infomaniak.
Utilizar el motor de almacenamiento MySQL InnoDB
Tan pronto como su alojamiento Infomaniak le da acceso a las bases de datos MySQL / MariaDB, InnoDB está disponible al mismo tiempo (antes MyISAM).
InnoDB ofrece funcionalidades avanzadas como las transacciones ACID, los bloqueos a nivel de fila, los índices de texto completo, etc. Puede aprovechar estas funcionalidades utilizando instrucciones SQL adecuadas en sus consultas.
Infomaniak se enorgullece de asegurar los datos gracias a un enfoque integral y diversificado de la seguridad. Para los denunciantes, la empresa ha implementado un dispositivo interno que permite señalar irregularidades de manera segura y anónima, sin temor a represalias. Este mecanismo de protección es conocido y accesible para todos los empleados, fortaleciendo así la transparencia y la responsabilidad dentro de la organización.
Infomaniak demuestra su compromiso con medidas concretas y efectivas para proteger a quienes señalan anomalías.
Esta guía trata sobre YAZ una biblioteca de software utilizada para implementar el protocolo Z39.50
, un protocolo de búsqueda y recuperación de información que permite la comunicación entre diferentes sistemas de bibliotecas (SIGB) como PMB ampliamente utilizado en Francia.
Infomaniak para una gestión eficiente de las bibliotecas
En los Alojamientos Web de Infomaniak, PMB es compatible y YAZ está activado por defecto.
Sin embargo, si encuentras errores como Call to undefined function yaz_connect()
será necesario abrir puertos a través del Manager. El puerto 210
es el puerto estándar utilizado para las comunicaciones Z39.50
, pero no dudes en consultar la documentación de tus aplicaciones.
Para los antiguos planes de alojamiento de Infomaniak, es necesario considerar un cambio de oferta.
El acceso a los comandos del sistema who
y users
está prohibido para los usuarios LDAP en todos los servidores Infomaniak.
Esta guía explica cómo especificar un archivo que se cargará antes de la página deseada o al principio de cada script PHP ejecutado en su servidor, incluido como si se hubiera llamado con la función require()
, pero de manera más global utilizando la directiva auto_prepend_file
de PHP.
Prólogo
- Por ejemplo, para declarar los encabezados de un sitio web, es posible crear un archivo
headers.php
que contenga funciones PHPheader()
y que se prepend al principio de cada archivo PHP…- … a través de un archivo
.user.ini
(propio de una carpeta), - … o a través de la configuración del sitio del Manager (global) como se explica a continuación.
- … a través de un archivo
Incluir un archivo globalmente desde el Manager
Para acceder a la gestión del sitio web:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto correspondiente:
- Haga clic en Gestionar bajo Configuración avanzada:
- Haga clic en la pestaña PHP / Apache.
- Complete la línea correspondiente ingresando la ruta del archivo a incluir.
- Haga clic en el botón para guardar:
Después de definir esta directiva, todas las páginas PHP en su servidor incluirán automáticamente el archivo especificado antes de ejecutar su propio código.
Los encabezados definidos en un archivo .htaccess
solo son válidos para el contenido no PHP (es decir, estático).
Infomaniak utiliza php-fpm
que recibe los diferentes encabezados a través de apache fast_cgi
. En la RFC de cgi_www el encabezado Strict-Transport-Security
no forma parte de los encabezados pasados a través de CGI y la documentación de Apache lo confirma. Consulte esta otra RFC.
⚠️ Para obtener ayuda adicional contacte a un socio o lanza una oferta gratuita — también descubre el rol del proveedor de alojamiento.
Esta guía le ayudará, por ejemplo, si desea desplegar un paquete como pymysql
y este requiere una versión de Python superior a la ofrecida en su alojamiento.
Prólogo
- Anaconda es una distribución libre y de código abierto de los lenguajes de programación Python. Esta distribución tiene como objetivo simplificar la gestión de paquetes y el despliegue.
- Se recomienda usar conda que viene con una versión reciente de python y se instala en el espacio del usuario, de modo que no haya conflictos con el sistema python (como en un entorno virtual, que siempre requiere una instalación del sistema de la versión deseada).
- Consulte la documentación oficial.
⚠️ Para obtener ayuda adicional contacte a un socio o lanza una oferta gratuita — también descubre el rol del proveedor de alojamiento.
Descargar el instalador
uid165116@od-12345:~$ wget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.10.3-Linux-x86_64.sh
--2021-07-28 18:21:10-- https://repo.anaconda.com/miniconda/Miniconda3-py37_4.10.3-Linux-x86_64.sh
Resolving repo.anaconda.com (repo.anaconda.com)... 2606:4700::6810:8303, 2606:4700::6810:8203, 104.16.131.3, ...
Connecting to repo.anaconda.com (repo.anaconda.com)|2606:4700::6810:8303|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 89026327 (85M) [application/x-sh]
Saving to: ‘Miniconda3-py37_4.10.3-Linux-x86_64.sh’
Miniconda3-py37_4.10.3-Linux-x86_64.sh 100% [==============================================>] 84.90M 203MB/s in 0.4s
18:21:11 (100 MB/s) - ‘Miniconda3-py37_4.10.3-Linux-x86_64.sh’ saved [89026327/89026327]
Verificar el hash
uid165116@od-12345:~$ test $(md5sum Miniconda3-py37_4.10.3-Linux-x86_64.sh | awk '{print $1}') == "9f186c1d86c266acc47dbc1603f0e2ed" && echo "OK"
OK
Iniciar la instalación
uid165116@od-12345:~$ bash Miniconda3-py37_4.10.3-Linux-x86_64.sh -b
PREFIX=/home/clients/fc84cbbf6dcbd6dd76b15d3e56c1789f/miniconda3
Unpacking payload ...
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/clients/fc84cbbf6dcbd6dd76b15d3e56c1789f/miniconda3
added / updated specs:
- _libgcc_mutex==0.1=main
- _openmp_mutex==4.5=1_gnu
- brotlipy==0.7.0=py37h27cfd23_1003
- ca-certificates==2021.7.5=h06a4308_1
- certifi==2021.5.30=py37h06a4308_0
- cffi==1.14.6=py37h400218f_0
- chardet==4.0.0=py37h06a4308_1003
- conda-package-handling==1.7.3=py37h27cfd23_1
- conda==4.10.3=py37h06a4308_0
- cryptography==3.4.7=py37hd23ed53_0
- idna==2.10=pyhd3eb1b0_0
- ld_impl_linux-64==2.35.1=h7274673_9
- libffi==3.3=he6710b0_2
- libgcc-ng==9.3.0=h5101ec6_17
- libgomp==9.3.0=h5101ec6_17
- libstdcxx-ng==9.3.0=hd4cf53a_17
- ncurses==6.2=he6710b0_1
- openssl==1.1.1k=h27cfd23_0
- pip==21.1.3=py37h06a4308_0
- pycosat==0.6.3=py37h27cfd23_0
- pycparser==2.20=py_2
- pyopenssl==20.0.1=pyhd3eb1b0_1
- pysocks==1.7.1=py37_1
- python==3.7.10=h12debd9_4
- readline==8.1=h27cfd23_0
- requests==2.25.1=pyhd3eb1b0_0
- ruamel_yaml==0.15.100=py37h27cfd23_0
- setuptools==52.0.0=py37h06a4308_0
- six==1.16.0=pyhd3eb1b0_0
- sqlite==3.36.0=hc218d9a_0
- tk==8.6.10=hbc83047_0
- tqdm==4.61.2=pyhd3eb1b0_1
- urllib3==1.26.6=pyhd3eb1b0_1
- wheel==0.36.2=pyhd3eb1b0_0
- xz==5.2.5=h7b6447c_0
- yaml==0.2.5=h7b6447c_0
- zlib==1.2.11=h7b6447c_3
The following NEW packages will be INSTALLED:
_libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
_openmp_mutex pkgs/main/linux-64::_openmp_mutex-4.5-1_gnu
brotlipy pkgs/main/linux-64::brotlipy-0.7.0-py37h27cfd23_1003
ca-certificates pkgs/main/linux-64::ca-certificates-2021.7.5-h06a4308_1
certifi pkgs/main/linux-64::certifi-2021.5.30-py37h06a4308_0
cffi pkgs/main/linux-64::cffi-1.14.6-py37h400218f_0
chardet pkgs/main/linux-64::chardet-4.0.0-py37h06a4308_1003
conda pkgs/main/linux-64::conda-4.10.3-py37h06a4308_0
conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.7.3-py37h27cfd23_1
cryptography pkgs/main/linux-64::cryptography-3.4.7-py37hd23ed53_0
idna pkgs/main/noarch::idna-2.10-pyhd3eb1b0_0
ld_impl_linux-64 pkgs/main/linux-64::ld_impl_linux-64-2.35.1-h7274673_9
libffi pkgs/main/linux-64::libffi-3.3-he6710b0_2
libgcc-ng pkgs/main/linux-64::libgcc-ng-9.3.0-h5101ec6_17
libgomp pkgs/main/linux-64::libgomp-9.3.0-h5101ec6_17
libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.3.0-hd4cf53a_17
ncurses pkgs/main/linux-64::ncurses-6.2-he6710b0_1
openssl pkgs/main/linux-64::openssl-1.1.1k-h27cfd23_0
pip pkgs/main/linux-64::pip-21.1.3-py37h06a4308_0
pycosat pkgs/main/linux-64::pycosat-0.6.3-py37h27cfd23_0
pycparser pkgs/main/noarch::pycparser-2.20-py_2
pyopenssl pkgs/main/noarch::pyopenssl-20.0.1-pyhd3eb1b0_1
pysocks pkgs/main/linux-64::pysocks-1.7.1-py37_1
python pkgs/main/linux-64::python-3.7.10-h12debd9_4
readline pkgs/main/linux-64::readline-8.1-h27cfd23_0
requests pkgs/main/noarch::requests-2.25.1-pyhd3eb1b0_0
ruamel_yaml pkgs/main/linux-64::ruamel_yaml-0.15.100-py37h27cfd23_0
setuptools pkgs/main/linux-64::setuptools-52.0.0-py37h06a4308_0
six pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
sqlite pkgs/main/linux-64::sqlite-3.36.0-hc218d9a_0
tk pkgs/main/linux-64::tk-8.6.10-hbc83047_0
tqdm pkgs/main/noarch::tqdm-4.61.2-pyhd3eb1b0_1
urllib3 pkgs/main/noarch::urllib3-1.26.6-pyhd3eb1b0_1
wheel pkgs/main/noarch::wheel-0.36.2-pyhd3eb1b0_0
xz pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
yaml pkgs/main/linux-64::yaml-0.2.5-h7b6447c_0
zlib pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3
Preparing transaction: done
Executing transaction: done
installation finished.
Iniciar conda
uid165116@od-12345:~$ source <(~/miniconda3/bin/conda shell.bash hook)
Instalar pymysql (por ejemplo)
(base) uid165116@od-12345:~$ python3 -V
Python 3.7.10
(base) uid165116@od-12345:~$ pip3 install pymysql --user
Collecting pymysql
Downloading PyMySQL-1.0.2-py3-none-any.whl (43 kB)
|████████████████████████████████| 43 kB 892 kB/s
Installing collected packages: pymysql
Successfully installed pymysql-1.0.2
Esta guía trata sobre la instalación de extensiones PHP en Hébergements Web Infomaniak.
Uso de extensiones PHP Zend
- Zend Guard Loader es una extensión PHP que permite ejecutar scripts PHP cifrados a través de Zend Guard.
- Zend Guard Loader viene instalado de serie para PHP <= 5.6 en todos los alojamientos web y no está disponible para las versiones de PHP >= 5.6.
- Desde PHP 5.3.x, el módulo Zend Optimizer ha sido reemplazado por ZendGuardLoader
- La extensión ZendOPCache requiere un Servidor Cloud configurado con PHP 5.5 mínimo
Jelastic Cloud es una plataforma como servicio (PaaS) que permite crear fácilmente entornos de desarrollo bajo demanda. Esta solución es muy ventajosa en el caso de que su consumo de recursos (CPU, RAM) varíe mucho según las épocas del año.
Un Servidor Cloud permite gestionar aplicaciones y sitios web tan fácilmente como un alojamiento compartido, ofreciéndote la ventaja de poder instalar software adicional según tus necesidades. Esta solución es muy ventajosa si tu consumo de recursos (CPU, RAM) es estable y previsible.
Un VPS Cloud o VPS Lite permite gestionar todo su servidor con la distribución Linux de su elección. Se requieren sólidas competencias técnicas. Esta solución es muy ventajosa si su consumo de recursos (CPU, RAM) es estable y previsible.
En los tres casos, disfruta de recursos completamente dedicados que puedes ajustar libremente según tus necesidades.
Tenga también en cuenta la oferta Public Cloud.