Robert Sauer-Ernst: Forumssoftware - Verständnis

Beitrag lesen

Hallo zusammen,

mit diesem Thread würde ich gerne zusätzliche Infos zum Verständnis der Forumssoftware sammeln.

Auf einem frischen Debianserver haben wir zu Dritt am letzten Dienstag das Forum "aufgesetzt".

Da irgendwo noch "localhost" und "Port 4000" festgenagelt ist, funktionieren die Links zum Teil nicht. Die anderen sind offenbar hart kodiert.

Frage beim jetzigen Stand wäre, ob und wenn ja wie die Datenbank zu konfigurieren ist.

Die Installationsschritte und Anmerkungen wollte ich eigentlich in ein Google-Doc packen, jetzt füge ich sie hier einfach ein, das macht wohl mehr Sinn.

von hinten:

nicht in der doku war:

  • webpack zu installieren (ganz am ende dann)
  • dieser postgres-krempel
  • wie das passwort zu setzen ist bei postgres
  • node14 geht nicht, weil require nicht funktionert

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null ???

apt install gnupg2 wget curl openssh-server git build-essential inotify-tools postgresql

nano /etc/postgresql/11/main/pg_hba.conf -> ipv4 and ipv6 to trust
pg_ctlcluster 11 main start

wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb && 

sudo dpkg -i erlang-solutions_2.0_all.deb

apt update

apt install esl-erlang elixir

nano .profile -> export PATH="$PATH:/usr/lib/elixir/bin"

curl -fsSL https://deb.nodesource.com/setup_12.x | bash -

apt update

apt install nodejs

npm install --global yarn

npm install --global webpack

npm install --global yargs

npm install --global supports-color

git clone https://github.com/ckruse/cforum_ex

cd cforum_ex

yarn install

mix deps.get

mix ecto.gen.repo -r Cforum.Repo

nano config/config.exs -> empty password, user postgres?

mix ecto.reset

mix phx.server

will immer webpack-cli installieren, selbst yarn add -D webpack-cli geht nicht?

random fehler bei ecto.reset:

	[error] GenServer {Oban.Registry, {Oban, {:plugin, Oban.Plugins.Stager}}} terminating
	** (Postgrex.Error) ERROR 42P01 (undefined_table) relation "public.oban_jobs" does not exist
	query: UPDATE "public"."oban_jobs" AS o0 SET "state" = $1 FROM (SELECT so0."id" AS "id", so0."state" AS "state", so0."queue" AS "queue", so0."worker" AS "worker", so0."args" AS "args", so0."meta" AS "meta", so0."tags" AS "tags", so0."errors" AS "errors", so0."attempt" AS "attempt", so0."attempted_by" AS "attempted_by", so0."max_attempts" AS "max_attempts", so0."priority" AS "priority", so0."attempted_at" AS "attempted_at", so0."cancelled_at" AS "cancelled_at", so0."completed_at" AS "completed_at", so0."discarded_at" AS "discarded_at", so0."inserted_at" AS "inserted_at", so0."scheduled_at" AS "scheduled_at" FROM "public"."oban_jobs" AS so0 WHERE (so0."state" IN ('scheduled','retryable')) AND (NOT (so0."queue" IS NULL)) AND (so0."scheduled_at" <= $2) LIMIT $3) AS s1 WHERE (o0."id" = s1."id")
	(ecto_sql 3.5.4) lib/ecto/adapters/sql.ex:751: Ecto.Adapters.SQL.raise_sql_call_error/1
	(ecto_sql 3.5.4) lib/ecto/adapters/sql.ex:684: Ecto.Adapters.SQL.execute/5
	(oban 2.7.2) lib/oban/plugins/stager.ex:100: anonymous fn/1 in Oban.Plugins.Stager.lock_and_stage/1
	(ecto_sql 3.5.4) lib/ecto/adapters/sql.ex:1027: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
	(db_connection 2.4.0) lib/db_connection.ex:1512: DBConnection.run_transaction/4
	(oban 2.7.2) lib/oban/plugins/stager.ex:83: anonymous fn/2 in Oban.Plugins.Stager.handle_info/2
	(telemetry 0.4.3) /root/cforum_ex/deps/telemetry/src/telemetry.erl:272: :telemetry.span/3
	(oban 2.7.2) lib/oban/plugins/stager.ex:82: Oban.Plugins.Stager.handle_info/2
	(stdlib 3.15.1) gen_server.erl:695: :gen_server.try_dispatch/4
	(stdlib 3.15.1) gen_server.erl:771: :gen_server.handle_msg/6
	(stdlib 3.15.1) proc_lib.erl:226: :proc_lib.init_p_do_apply/3
	Last message: :stage
	State: %Oban.Plugins.Stager.State{conf: %Oban.Config{circuit_backoff: 30000, dispatch_cooldown: 5, engine: Oban.Queue.BasicEngine, get_dynamic_repo: nil, log: false, name: Oban, node: "v2202106107005157257", notifier: Oban.PostgresNotifier, plugins: [{Oban.Plugins.Cron, [timezone: "Europe/Berlin", crontab: [{"10 * * * *", Cforum.Jobs.ArchiverJob}, {"0 0 * * *", Cforum.Jobs.ForumStatsJob}, {"0 0 * * *", Cforum.Jobs.CiteArchiverJob}, {"0 1 * * *", Cforum.Jobs.UserCleanupJob}, {"0 2 * * *", Cforum.Jobs.AuditingCleanupJob}, {"0 5 * * *", Cforum.Jobs.YearlingBadgeDistributorJob}, {"0 3 * * *", Cforum.Jobs.DatabaseMaintenanceJob}, {"17 4 * * *", Cforum.Jobs.SendInactivityNotificationMailJob}]]}, {Oban.Plugins.Pruner, [max_age: 36000]}, Oban.Plugins.Stager], prefix: "public", queues: [mails: [limit: 10], background: [limit: 10], media: [limit: 20]], repo: Cforum.Repo, shutdown_grace_period: 15000}, interval: 1000, limit: 5000, lock_key: 1149979440242868003, name: {:via, Registry, {Oban.Registry, {Oban, {:plugin, Oban.Plugins.Stager}}}}, timer: #Reference<0.3476186356.849346561.32058>}

Dank und Gruß,

Bob aus Berlin (BaB)

PS. diese Sammlung aus Installationsbefehlen und Fehlermeldungen, gibt es irgendwie "Shell" als "Quelltextoption"? Habe jetzt einfach "HTML" genommen 😉

PPS. Mit mir zusammen wären jetzt drei Personen da, die sich dem Developerteam anschließen würden.

PPPS. Eine Wikiseite habe ich schon erstellt. Da steht aber noch nix drin ;-)

akzeptierte Antworten