KÉRDÉSE VAN?
Friss SQLite verzió telepítése osztott tárhelyen
SQLite verzió ellenőrzése
A megosztott tárhelyen tapasztalható, hogy a különböző SQL adatbázis opciók verziói elég régiek. Például, ha telepíteni próbálta a Django programot, és az alapértelmezett SQLite adatbázis használatával futtatta a telepítést, akkor előfordulhat, hogy az alábbi hibát kapta:
$ python manage.py migrate
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
És valóban, ha megnézzük az SQLite verziót, kiderül, hogy az nagyon elavult (az SQLite 3.7.17 2013-05-20-án jelent meg):
$ sqlite3 --version
3.7.17
A megoldás az hogy az SQLite újabb verzióját telepítjük, azonban a megosztott kiszolgálón nincs rendszergazdai hozzáférésünk (nyilvánvaló okból), ezért a hagyományos telepítési módszerek nem működnek. Ezért felmerül a kérdés: hogyan telepíthet egy újabb SQLite verziót rendszergazdai hozzáférési jogok nélkül?
Nos, valójában sokkal egyszerűbb, mint amilyennek hangzik!
Friss verzió telepítése
A telepítés lépései alább találhatóak meg:
- Töltsük le a legfrissebb SQLite verziót, és tömörítsük ki (az SQLite letöltési oldalán ellenőrizhető a legújabb verzió, és frissíthetőek a parancsok a tényleges verziószámmal):
$ cd ~ $ wget https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz $ tar xvfz sqlite-autoconf-3360000.tar.gz
- Konfiguráljuk és telepítsük az SQLite új verzióját a .local mappába (az utolsó parancs futtatása eltarthat egy ideig):
$ cd sqlite-autoconf-3360000 $ ./configure --prefix=$HOME/.local $ make && make install
- Következő lépésként mondjuk meg a szervernek, hogy hol található az új SQLite verzió:
$ echo "alias sqlite3="$HOME/.local/bin/sqlite3"" >> ~/.bashrc $ echo "export LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc $ source ~/.bashrc
- Az előző lépés segítségével beállítottuk az sqlite3 shell parancsot, hogy az új telepítésre mutasson, ezért ellenőrizzük:
$ sqlite3 --version 3.36.0
- A 3. lépésben azt is beállítottuk, hogy hol keressük az SQLite könyvtárakat, amikor Pythonba importáljuk őket, ezért ellenőrizzük, hogy a Python betölti-e a megfelelő SQLite verziót (győződjön meg arról, hogy a python parancs a Python3 verzióra mutat):
$ python -c 'import sqlite3; print(sqlite3.sqlite_version)' 3.36.0
Ha még mindig a régi verziót mutatja, ellenőrizze, hogy a .bashrc fájlban az LD_LIBRARY_PATH környezeti változója az újonnan telepített SQLite könyvtár mappájára mutat (ebben az esetben .local/lib).
Innentől a tárhelyén elérhető a legújabb SQLite verzió és kihasználhatóak az új verzió előnyei abban az esetben, ha a Python alkalmazása csak helyben fut a szerveren. Abban az esetben a Passenger segítségével szeretné használni éles környezetben a frissen telepített SQLite alkalmazást akkor el kell végeznie a következő lépéseket is.
Éles környezeti beállítások
A tárhelyszolgáltatástól függően előfordulhat, hogy össze kell kapcsolnia az LD_LIBRARY_PATH környezeti változót az élesben használt szerverrel (vagy közvetlenül hozzá kell adnia a .htaccess fájljához). Például a cPanelt használó megosztott tárhely szolgáltatások esetében a Phusion Passenger szerver futtatja a Node.js, Ruby vagy Python alkalmazásokat, így tisztában kell lennie az LD_LIBRARY_PATH környezeti változó új értékével. A cPanelben ez egy nagyon egyszerű beállítás:
- navigáljon az alkalmazás beállításaihoz (Python környezetek létrehozásához vagy szerkesztéséhez a Passenger számára írja be a python kifejezést a keresősávba, és nyomja meg az Enter billentyűt)
- hozzon létre vagy szerkesszen egy Python környezetet, lépjen a beállítások aljára, és adja hozzá a változót:
- kattintson a „Mentés” gombra a jobb felső sarokban
- abban az esetben, ha az Passenger szerver már futott, indítsa újra (kattintson az „Újraindítás” gombra).
Passenger szerver innentől most már tisztában van az LD_LIBRARY_PATH környezeti változó helyével, és tudja, hogyan kell importálni a legújabb SQLite verziót.