Ugrás a fő tartalomra

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:

  1. 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
  2. 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
  3. 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
  4. 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
    
  5. 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.