Puisque toutes les versions de SQLite peuvent être facilement installées localement sur vos comptes d'hébergement mutualisé, il est très fréquent de constater que la version disponible par défaut est plus ancienne que vos besoins.
Voici les étapes pour installer une version plus récente :
1. Téléchargez la dernière version de SQLite et extrayez-la. Vous pouvez consulter la page de téléchargement de SQLite pour obtenir la dernière version (n'oubliez pas de mettre à jour les commandes suivantes avec le numéro de version réel) :
$ cd ~
$ wget https://www.sqlite.org/2022/sqlite-autoconf-3400000.tar.gz
$ tar xvfz sqlite-autoconf-3400000.tar.gz
2. Configurez et installez la nouvelle version de SQLite dans le dossier .local (l'exécution de la dernière commande peut prendre un certain temps) :
$ cd sqlite-autoconf-3400000
$ ./configure --prefix=$HOME/.local
$ make && make install
3. Indiquez au serveur où rechercher la nouvelle version de SQLite :
$ echo "alias sqlite3="$HOME/.local/bin/sqlite3"" >> ~/.bashrc
$ echo "export LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
$ source ~/.bashrc
4. L'étape précédente a "remappé" la commande shell sqlite3 pour pointer vers la nouvelle installation, vérifions :
$ sqlite3 --version
3.40.0
5. Si vous utilisez Python : À l'étape 3, nous avons également déclaré où rechercher les bibliothèques SQLite lorsqu'elles sont importées en Python. Vérifions donc que Python charge la bonne version SQLite (assurez-vous que la commande python pointe vers une version Python3) :
$ python -c 'import sqlite3; print(sqlite3.sqlite_version)'
3.40.0
S'il affiche toujours l'ancienne version, assurez-vous de vérifier que la variable d'environnement LD_LIBRARY_PATH dans votre fichier .bashrc pointe vers le dossier de la bibliothèque SQLite (dans ce cas .local/lib).
Vous pouvez désormais profiter des avantages de la dernière version de SQLite, dans le cas où votre application Python (ou d'autres langages) ne s'exécute que localement sur le serveur. Cependant, si vous envisagez de l'exécuter à l'aide d'un serveur de production tel que Phusion Passenger, continuez à lire.
Configuration en production (avec Phusion Passenger) :
C'est le serveur Phusion Passenger exécute vos applications Node.js, Ruby ou Python, il doit donc connaître la nouvelle valeur de la variable d'environnement LD_LIBRARY_PATH. Dans cPanel, c'est une configuration très simple :
- Accédez aux paramètres de l'application (pour créer ou modifier des environnements pour Passenger)
- Créez ou modifiez un environnement, allez au bas des paramètres et ajoutez la variable :
- Cliquez sur le bouton "Enregistrer" dans le coin supérieur droit
- Dans le cas où le serveur Passenger était déjà en cours d'exécution, redémarrez-le (cliquez sur le bouton "Redémarrer")
Le serveur Passenger est maintenant conscient de la variable d'environnement LD_LIBRARY_PATH et sait comment importer la dernière version de SQLite.
Référence: https://eeinte.ch/stream/install-latest-sqlite-version-shared-hosting/