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 ;-)