Hallo Natureshadow,
wie Du meiner Frage entnehmen kannst, ging es mir erst einmal darum, hier zu fragen, ob sich überhaupt irgendjemand mit dem Thema beschäftigt. Und vielleicht ähnliche Erfahrungen gemacht hat und den entscheidenden Kniff hätte mitteilen können. Ich hatte nicht vor, hier ausführliches AlekSIS-Debugging zu betreiben.
Und so richtig schlau geworden bin ich unter aleksis.org nicht, wo ich denn da Hilfe bekomme - aber ich schließe nicht aus, das übersehen zu haben.
Aber gerne schreibe ich auch hier kurz, was der Stand bei mir ist:
Proxmox, CT als Testumgebung mit Ubuntu 22.04er (auch getestet 20.04er) Template hinter einem NGINX im gleichen Netzsegment - so laufen zahlreiche Dienste wie Moodle/Nextcloud/… bei uns.
Installation via Docker
keine Fehler bei der Installation laut Handbuch. Nach erstem docker-compose up -d
fehlte nach docker-ps dann die Maschine, die den Port 8000 als 80 freigibt. Nach einem Neustart erschien dann auch diese:
2e3b39261da7 registry.edugit.org/aleksis/official/aleksis:2022.6 "/usr/bin/dumb-init …" 5 hours ago Up 4 seconds 8000/tcp aleksis_worker_1
f8d776d94da6 registry.edugit.org/aleksis/official/aleksis:2022.6 "/usr/bin/dumb-init …" 5 hours ago Up 4 seconds 8000/tcp aleksis_scheduler_1
9be03f0ccfc4 registry.edugit.org/aleksis/official/aleksis:2022.6 "/usr/bin/dumb-init …" 5 hours ago Up 5 seconds 0.0.0.0:80->8000/tcp, :::80->8000/tcp aleksis_app_1
203240634ecb postgres:14 "docker-entrypoint.s…" 5 hours ago Up 7 seconds 5432/tcp aleksis_db_1
c01b629e0f6c redis:latest "docker-entrypoint.s…" 5 hours ago Up 7 seconds 6379/tcp aleksis_redis_1
Unter keinem der Ports (auf Port 80 oder intern getunnelt Port 8000) erreiche ich irgendetwas - timeout. Ich habe mich (ganz kurz) in den Docker-Containern umgeschaut, finde da bisher aber nur leere oder ältere Log-Dateien.
Installation vial pip3
Zunächst mal nehme ich die Anleitung von edugit, da in der PDF-Datei der entscheidende Block (S. 41 unten vermutlich) bei mir nicht angezeigt wird.
Hier hat zunächst weder unter 20.04 noch 22.04 „chromium“ einen Installations-Kandidaten - aber chromium-browser (sowohl mit snap also auch als deb aus dem Chromium-Beta-Repo probiert) gibt es.
Das lässt sich dann alles installieren. Danach folgt die Installation mit pip3 install aleksis
. Das schlägt fehl:
Collecting mysqlclient<3.0.0,>=2.0.0
Downloading mysqlclient-2.1.1.tar.gz (88 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 88.1/88.1 KB 3.7 MB/s eta 0:00:00
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [16 lines of output]
/bin/sh: 1: mysql_config: not found
/bin/sh: 1: mariadb_config: not found
/bin/sh: 1: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/tmp/pip-install-le1mfi12/mysqlclient_cf87f436754147dabea5ff678c39fdf4/setup.py", line 15, in <module>
metadata, options = get_config()
File "/tmp/pip-install-le1mfi12/mysqlclient_cf87f436754147dabea5ff678c39fdf4/setup_posix.py", line 70, in get_config
libs = mysql_config("libs")
File "/tmp/pip-install-le1mfi12/mysqlclient_cf87f436754147dabea5ff678c39fdf4/setup_posix.py", line 31, in mysql_config
raise OSError("{} not found".format(_mysql_config_path))
OSError: mysql_config not found
mysql_config --version
mariadb_config --version
mysql_config --libs
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Da ja Postgres verwendet wird, habe ich ein wenig gesucht und bin auf den Passus zur Untis-Anbindung gestoßen. Dafür ist die Installation von libmariadb-dev
notwendig - das habe ich einfach mal versucht. Dann lief die Installation der Pakete durch.
aleksis-admin yarn install
und ... collectstatic
ebenfalls ohne Fehlermeldung.
Der Fehler, an dem ich nicht weiter komme, tritt dann beim nächsten Befehl aleksis-admin migrate
auf:
...
Applying untis.0001_initial... OK
Applying untis.0002_auto_20200820_1542... OK
Applying untis.0003_guess_school_id...Traceback (most recent call last):
File "/usr/local/bin/aleksis-admin", line 8, in <module>
sys.exit(aleksis_cmd())
File "/usr/local/lib/python3.10/dist-packages/aleksis/core/__main__.py", line 14, in aleksis_cmd
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.10/dist-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.10/dist-packages/django/core/management/__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.10/dist-packages/django/core/management/base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.10/dist-packages/django/core/management/base.py", line 398, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.10/dist-packages/django/core/management/base.py", line 89, in wrapped
res = handle_func(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/django/core/management/commands/migrate.py", line 244, in handle
post_migrate_state = executor.migrate(
File "/usr/local/lib/python3.10/dist-packages/django/db/migrations/executor.py", line 117, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
File "/usr/local/lib/python3.10/dist-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "/usr/local/lib/python3.10/dist-packages/django/db/migrations/executor.py", line 227, in apply_migration
state = migration.apply(state, schema_editor)
File "/usr/local/lib/python3.10/dist-packages/django/db/migrations/migration.py", line 126, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "/usr/local/lib/python3.10/dist-packages/django/db/migrations/operations/special.py", line 190, in database_forwards
self.code(from_state.apps, schema_editor)
File "/usr/local/lib/python3.10/dist-packages/aleksis/apps/untis/migrations/0003_guess_school_id.py", line 16, in guess_school_id
school_id = vr.school_id_untis
AttributeError: 'NoneType' object has no attribute 'school_id_untis'
Viele Grüße
Thomas