Base di conoscenze
1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Questa guida spiega come lavorare senza il modulo PECL SSH2 client
non disponibile sugli hosting Web e Server Cloud Infomaniak, utilizzando invece la libreria phpseclib
, che funziona in PHP nativo senza richiedere estensioni specifiche.
Premessa
- L'uso di
PECL SSH2 client
provoca errori di tipoNo compatible key exchange algorithms found
oUnable to exchange encryption keys
nella sua ultima versione disponibile. Phpseclib
consente di:- Effettuare l'autenticazione SSH tramite password o chiave privata.
- Eseguire comandi remoti.
- Trasferire file sicuri (SFTP).
- Gestire le chiavi SSH.
Utilizzare phpseclib
Per integrare una connessione SSH in uno script PHP, utilizzare phpseclib
come segue:
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');
Questa guida riguarda il modulo Apache mod_auth_mysql
che consente l'autenticazione degli utenti e l'autorizzazione all'accesso tramite un database MySQL.
Con un hosting condiviso
Il modulo mod_auth_mysql
non è disponibile con gli hosting condivisi; è necessario considerare un Server Cloud o utilizzare script PHP e sessioni.
Questa guida spiega come accedere a InnoDB su Infomaniak.
Utilizzare il motore di archiviazione MySQL InnoDB
Non appena il tuo hosting Infomaniak ti dà accesso ai database MySQL / MariaDB, InnoDB è disponibile contemporaneamente (precedentemente MyISAM).
InnoDB offre funzionalità avanzate come le transazioni ACID, i blocchi a livello di riga, gli indici di testo completo, ecc. È possibile sfruttare queste funzionalità utilizzando istruzioni SQL appropriate nelle vostre query.
Infomaniak pone un punto d'onore nel garantire la sicurezza dei dati grazie a un approccio integrale e diversificato alla sicurezza. Per i whistleblower, l'azienda ha implementato un dispositivo interno che consente di segnalare irregolarità in modo sicuro e anonimo, senza timore di ritorsioni. Questo meccanismo di protezione è noto e accessibile a tutti i dipendenti, rafforzando così la trasparenza e la responsabilità all'interno dell'organizzazione.
Infomaniak dimostra il suo impegno con misure concrete ed efficaci per proteggere chi segnala anomalie.
Questa guida riguarda YAZ una libreria software utilizzata per implementare il protocollo Z39.50
, un protocollo di ricerca e recupero delle informazioni che consente la comunicazione tra diversi sistemi di gestione delle biblioteche (SGB) come PMB ampiamente utilizzato in Francia.
Infomaniak per una gestione efficace delle biblioteche
Su gli Hosting Web Infomaniak, PMB è supportato e YAZ è attivato per impostazione predefinita.
Tuttavia, se riscontri errori come Call to undefined function yaz_connect()
sarà necessario aprire le porte tramite il Manager. La porta 210
è la porta standard utilizzata per le comunicazioni Z39.50
, ma non esitare a consultare la documentazione delle tue applicazioni.
Per le vecchie formule di hosting Infomaniak, è necessario considerare un cambio di offerta.
L'accesso ai comandi di sistema who
e users
è vietato agli utenti LDAP su tutti i server Infomaniak.
Questa guida ti aiuterà, ad esempio, se desideri distribuire un pacchetto come pymysql
e questo richiede una versione di python superiore a quella offerta sul tuo hosting.
Premessa
- Anaconda è una distribuzione libera e open source dei linguaggi di programmazione Python. Questa distribuzione mira a semplificare la gestione dei pacchetti e il deployment.
- È consigliabile utilizzare conda, fornito con una versione recente di python e che si installa nello spazio utente, in modo che non ci siano conflitti con il sistema python (come in un ambiente virtuale, che richiede sempre un'installazione di sistema della versione desiderata).
- Consultate la documentazione ufficiale.
⚠️ Per ulteriori assistenza contattate un partner o lanciate gratuitamente una richiesta di offerta — scoprite anche il ruolo dell'hosting provider.
Scaricare l'installatore
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]
Verificare l'hash
uid165116@od-12345:~$ test $(md5sum Miniconda3-py37_4.10.3-Linux-x86_64.sh | awk '{print $1}') == "9f186c1d86c266acc47dbc1603f0e2ed" && echo "OK"
OK
Avviare l'installazione
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.
Avviare conda
uid165116@od-12345:~$ source <(~/miniconda3/bin/conda shell.bash hook)
Installare pymysql (ad esempio)
(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
Questa guida spiega come specificare un file che verrà caricato prima della pagina desiderata o all'inizio di ogni script PHP eseguito sul tuo server, incluso come se fosse stato chiamato con la funzione require()
, ma in modo più globale utilizzando la direttiva auto_prepend_file
di PHP.
Premessa
- Ad esempio, per dichiarare gli header di un sito web, è possibile creare un file
headers.php
che contiene le funzioni PHPheader()
e che sia prepend all'inizio di ogni file PHP…- … tramite un file
.user.ini
(proprio di una cartella), - … o tramite la configurazione del sito del Manager (globale) come spiegato di seguito.
- … tramite un file
Includere un file globalmente dal Manager
Per accedere alla gestione del sito web:
- Clicca qui per accedere alla gestione del tuo prodotto su Manager Infomaniak (hai bisogno di aiuto?).
- Clicca direttamente sul nome attribuito al prodotto interessato:
- Fai clic su Gestisci sotto Impostazioni avanzate:
- Fai clic sulla scheda PHP / Apache.
- Completate la riga interessata inserendo il percorso del file da includere.
- Clicca sul pulsante per salvare:
Dopo aver definito questa direttiva, tutte le pagine PHP sul tuo server includeranno automaticamente il file specificato prima di eseguire il proprio codice.
Gli header definiti in un file .htaccess
sono validi solo per il contenuto non PHP (quindi statico).
Infomaniak utilizza php-fpm
che riceve i vari headers tramite apache fast_cgi
. Nella RFC di cgi_www l'header Strict-Transport-Security
non fa parte degli headers passati tramite CGI e la documentazione Apache lo conferma. Prendete visione di questa altra RFC.
⚠️ Per ulteriori assistenza contattate un partner o lanciate gratuitamente una richiesta di offerta — scoprite anche il ruolo dell'hosting provider.
Questa guida riguarda l'installazione di estensioni PHP su Hébergements Web Infomaniak.
Utilizzo di estensioni PHP Zend
- Zend Guard Loader è un'estensione PHP che consente di eseguire script PHP cifrati tramite Zend Guard.
- Zend Guard Loader è installato di default per PHP <= 5.6 su tutti gli hosting web e non è disponibile per le versioni di PHP >= 5.6.
- Da PHP 5.3.x, il modulo Zend Optimizer è stato sostituito da ZendGuardLoader
- L'estensione ZendOPCache richiede un Serveur Cloud configurato con PHP 5.5 minimo
Jelastic Cloud è una piattaforma in quanto servizio (PaaS) che permette di creare facilmente ambienti di sviluppo al volo. Questa soluzione è molto vantaggiosa nel caso in cui il consumo delle risorse (CPU, RAM) varia molto in base ai periodi dell'anno.
Un Serveur Cloud consente di gestire applicazioni e siti web con la stessa facilità di un hosting condiviso, offrendovi il vantaggio di poter installare software aggiuntivi secondo le vostre esigenze. Questa soluzione è molto vantaggiosa se il consumo delle risorse (CPU, RAM) è stabile e prevedibile.
Un VPS Cloud o VPS Lite permette di gestire l'intero server con la distribuzione Linux di tua scelta. Sono richieste solide competenze tecniche. Questa soluzione è molto vantaggiosa se il consumo delle risorse (CPU, RAM) è stabile e prevedibile.
In tutti e tre i casi, beneficia di risorse interamente dedicate che puoi regolare liberamente in base alle tue esigenze.
Prendete anche visione dell'offerta Public Cloud.