bobintetley / asm3

Ez a program a GNU General Public Licence v3 feltételei alá tartozik.A részletekért lásd a LICENSE fájlt ebben a könyvtárban.

Függőségek

Ha Debian alapú rendszert használsz (pl.: Ubuntu), akkor a következő telepíti az ASM futtatásához szükséges összes szoftvert. Ha a thesheltermanager3 deb csomagot használod, akkor az már rendelkezik ezeknek a függőségekkel, és telepíti őket helyetted.

  • apt-get install make python3 python3-webpy python3-pil python3-mysqldb python3-psycopg2

Extra, nem kötelező csomagok:

  • apt-get install python3-memcache memcached (multiprocess sessionökhöz)
  • apt-get install imagemagick (a PDF-ek méretezéséhez/tömörítéséhez a tárhely megtakarításához)
  • apt-get installget install wkhtmltopdf (PDF létrehozásához HTML dokumentum sablonokból)
  • apt-get install python3-xhtml2pdf (tiszta Python lib a PDF létrehozásához HTML dokumentum sablonokból)
  • apt-get install python3-reportlab (levelezési címke PDF-ek létrehozásához)
  • apt-get install python3-requests (más publikációs szolgáltatásokkal való HTTP kommunikációhoz szükséges)
  • apt-get install python3-boto3 (Amazon S3 médiatároláshoz szükséges)
  • pip/pip3 install stripe (a Stripe-on keresztül történő fizetésbekéréshez)

Az építéshez szükséges csomagok, Statikus ellenőrök, telepítők és kézikönyvek:

  • apt-get install exuberant-ctags nodejs npm pychecker python3-sphinxpython3-sphinx-rtd-theme texlive-latex-base texlive-latex-extra latexmk

Node és npm a javascript kód átfordításához a régebbi böngészők számára és a javascript fájlok színezésére. Az összes build time javascript függőség telepítéséhez futtasd ezt a parancsot a forrásmappában:

  • npm install

Ha Debian-t használsz és fejlesztést szeretnél végezni, akkor a “make deps”-t használhatod kényelmes módon a szükséges függőségek telepítéséhez.

Debian python3-webpy

A web.py jelenleg python3-webpy néven csomagolt verziója a Debian Busterben (és esetleg Ubuntuban)hibás. Nem tud statikus tartalmat kiszolgálni, és csak akkor fog működni, ha mod_wsgi, uwsgi, stb. segítségével telepíted az alkalmazásodat.

Kézzel javíthatod a hibát, ha szerkeszted a/usr/lib/python3/dist-packages/web/httpserver.py állományt, és hozzáadod az új sorokatelf.directory = os.getcwd() sort a 198. sorban az initfunkció alján, így:

class StaticApp(SimpleHTTPRequestHandler): """WSGI application for serving static files.""" def __init__(self, environ, start_response): self.headers = self.environ = environ self.start_response = start_response self.directory = os.getcwd()

Nincs szükséged erre a javításra, ha az alkalmazásodat úgy telepíted, hogy azApache segítségével fusson, ahogy ajánlott, ez csak az önálló szerver futtatására vonatkozik viacode.py parancssorból.

Egy fejlesztőkörnyezetben indíthat egy tesztpéldányt az 5000-es porton:

make test

Naplózás

Az ASM alapértelmezés szerint a Unix syslog USER létesítménybe (/var/log/user.log a legtöbb telepítésnél)naplózik. Ez megváltoztatható a konfigurációban.

ASM konfigurálása

Ha a debian csomagot használta, szerkessze az /etc/asm3.conf

Ha nem, másolja a scripts/asm3.conf.example fájlt az /etc/asm3 állományba.conf, majd szerkessze meg.

A következő értékeket állítsa be:

asm3_dbtype = (POSTGRESQL, MYSQL or SQLITE)asm3_dbhost = (hostname of your server)asm3_dbport = (port of your server if using tcp)asm3_dbusername = asm3_dbpassword = asm3_dbname = (name of the database, can be file path if type is SQLITE)

Ha MySQL-t vagy POSTGRESQL-t használ, győződjön meg róla, hogy kiadott egy CREATE DATABASE-t, és az adatbázis már létezik (a séma azonban lehet üres).

Az ASM a következő sorrendben keresi a konfigurációs fájlját, amíg nem talál egyet:

  1. Az ASM3_CONF nevű környezeti változóban
  2. A $INSTALL_DIR/asm3.conf (az a mappa, ahová az asm3 python modulok telepítve vannak)
  3. A $HOME/.asm3.conf (az asm3-at futtató felhasználó otthoni könyvtára)
  4. In /etc/asm3.conf

Apache/WSGI beállítása

Az Apache beállítása az alkalmazás kiszolgálására.

A 44-es verziójú Debian csomagban a libapache2-mod-wsgi-py3 függőségként szerepel, és telepíti az Apache 2-t, ha még nem áll rendelkezésre.

Régebbi verziók esetén telepítse az Apache-ot:

apt-get install apache2 libapache2-mod-wsgi-py3

A 44-es verziótól kezdve a csomag tartalmaz egy site fájlt/etc/apache2/sites-available/asm3.conf a következő tartalommal:

WSGIScriptAlias /asm3 /usr/lib/sheltermanager3/code.py/Alias /asm3/static /usr/lib/sheltermanager3/static<Directory /usr/lib/sheltermanager3> Require all granted</Directory>

Régebbi verziók esetén ezt a fájlt kézzel kell létrehoznia.

Amikor az Apache telepítve van, és megvan a site fájl, az ASM aktiválásához futtassa:

a2enmod wsgia2ensite asm3service apache2 restart

Az ASM-et most már a http://localhost/asm3

Az alapértelmezett adatbázis létrehozása

Az ASM szolgáltatás elindítása után látogasson el a http://localhost/asm3/databas oldalra az adatbázis séma létrehozásához (ha csak a http://localhost/asm3-re kattint, akkor oda irányít, ha még nincs adatbázis beállítva).

Napi feladatok

Az ASM-nek van egy csomó rutinja, amelyet minden nap el kell végezni. Ezeket néhány órával azelőtt kell futtatni, hogy az emberek elkezdenék a napi adatbevitelt.

Ezek a rutinok tartalmazzák a denormált adatok újraszámítását, mint például az állatok kora, a menhelyen töltött idő, a várólista frissítését és az adatok külső közzétételét.

Futtatásukhoz győződjön meg arról, hogy a környezetet a korábbiak szerint állította be, és futtassa apython3 cron.py all

A cron.py fájlban további információkat talál a csak a specifikus feladatok futtatásához szükséges üzemmódparaméterekről.

A Debian csomag automatikusan hozzáadja a napi feladatokat az /etc/cron.daily

állományhoz.