bobintetley / asm3
このプログラムは GNU General Public Licence v3 の条項に従っています。詳細はこのディレクトリの LICENSE ファイルを見てください。 sheltermanager3 deb パッケージを使用している場合、これらの依存関係はすでに設定されており、あなたに代わってインストールします。
- apt-get install make python3 python3-webpy python3-pil python3-mysqldb python3-psycopg2
必須ではない余分なパッケージです。
- apt-get install python3-memcache memcached (マルチプロセス・セッション用)
- apt-get install imagemagick (PDF を拡大縮小/圧縮してストレージを節約)
- apt-get install imagemagick (PDF を拡大縮小/圧縮してストレージを節約)
- apt-get (マルチプロセス・セッション用のキャッシュ用)wkhtmltopdf (HTML ドキュメント テンプレートから PDF を作成する)
- apt-get install python3-xhtml2pdf (HTML ドキュメント テンプレートから PDF を作成する Python の lib)
- apt-getget install python3-reportlab (宛名ラベルPDF作成用)
- apt-get install python3-requests (他の出版サービスへのHTTP通信に必要)
- apt-get install python3-boto3 (Amazon S3メディアストレージに必要)
- pip/pip3 install strike (Stripe による支払い要求用)
構築に必要なパッケージです。 静電気チェッカー、インストーラー、マニュアル。
- apt-get install exuberant-ctags nodejs npm pychecker python3-sphinxpython3-sphinx-rtd-theme texlive-latex-base texlive-latex-extra latexmk
Node と npm は古いブラウザ用の javascript コードをトランスタイルしたり javascript ファイルをリントするために使用されています。
- npm install
Debian を使用していて開発を行いたい場合、必要な依存関係をインストールする便利な方法として “make deps” を使用することが可能です。
Debian python3-webpy
Debian Buster (そしておそらく Ubuntu) で現在 python3-webpy としてパッケージされている web.py のバージョンには欠陥があります。 静的なコンテンツを提供することができず、mod_wsgi や uwsgi などでアプリケーションを展開した場合のみ動作します。
手動で修正するには、/usr/lib/python3/dist-packages/web/httpserver.py を編集して新しい行 self.directory = os.html を追加することで可能です。getcwd() を initfunction の一番下の 198 行目に追加してください。
開発環境では、ポート 5000 でテストインスタンスを起動できます。
make test
Logging
ASM はデフォルトで Unix syslog USER 機能 (ほとんどのインストールでは /var/log/user.log) に記録します。 これは、設定で変更できます。
Configuring ASM
あなたが debian パッケージを使用した場合、ファイル /etc/asm3.conf
そうでない場合、 scripts/asm3.conf.example を /etc/asm3.conf にコピーしてください。
以下の値を設定します:
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)
MySQLまたはPOSTGRESQLを使用している場合、CREATE DATABASEを発行してデータベースがすでに存在していることを確認します(ただしスキーマは空でもよいです)。
ASM は設定ファイルを見つけるまで次の順序で探します:
- 環境変数 ASM3_CONF
- 内の $INSTALL_DIR/asm3.conf (asm3 python モジュールのインストール先)
- 内の $HOME/.asm3.conf (asm3を実行しているユーザのホームディレクトリ)
- In /etc/asm3.conf
Set up Apache/WSGI
アプリケーションを提供するApacheをセットアップしてください。
バージョン 44 の Debian パッケージは libapache2-mod-wsgi-py3 を依存関係に持ち、まだ Apache 2 が利用可能でない場合、それをインストールします。
古いバージョンでは、以下の内容で Apache をインストールします:
apt-get install apache2 libapache2-mod-wsgi-py3
バージョン 44 では、パッケージはサイトファイル /etc/apache2/sites-available/asm3.conf も含みます:
WSGIScriptAlias /asm3 /usr/lib/sheltermanager3/code.py/Alias /asm3/static /usr/lib/sheltermanager3/static<Directory /usr/lib/sheltermanager3> Require all granted</Directory>
古いバージョンでは、このファイルを手で作成しなければなりません。
Apache がインストールされ、サイト ファイルが作成されたら、ASM を有効にするために次のコマンドを実行します:
a2enmod wsgia2ensite asm3service apache2 restart
これで http://localhost/asm3
Creating the default database
ASM サービス開始後、http://localhost/asm3/databas でデータベース スキーマを作成します (まだデータベースが設定されていなければ http://localhost/asm3 だけで転送されるでしょう)。
Daily tasks
ASM には、毎日実行する必要のあるルーチンのバッチがあります。 これらのルーチンには、動物の年齢、シェルターでの時間などの非正規化データの再計算、待機リストの更新、外部へのデータの公開などが含まれます。
これらを実行するには、環境が以前と同様に設定されていることを確認し、python3 cron.py all
特定のタスクのみを実行するモードパラメータに関する詳細については、cron.py ファイルを参照してください。