# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::/0 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
بسبب القاعدة local all postgres peer، أدى الأمر أعلاه إلى حدوث خطأ: Peer authentication failed for user "postgres"
فكرة الحل: تغيير peer إلى trust، للسماح لجميع الأوامر المحلية بالمرور. أي أن جميع الأوامر لن تحتاج إلى مصادقة بعد الآن (ولا تحتاج إلى إدخال كلمة مرور).
الخطوات المحددة:
نسخ /etc/postgresql/15/main/pg_hba.conf من الحاوية إلى الجهاز المحلي
مرحبًا، على الرغم من أن كل شيء يبدو أنه يعمل بعد اتباع هذا الدليل على جهاز Ubuntu 26.04، إلا أنه لا يبدو أن أي بريد إلكتروني يتم إرساله.
لقد قمت بتشغيل d/mailhog في نافذة طرفية مخصصة، وأرى فيها كود HTML/CSS للبريد الإلكتروني المرسَل بعد تسجيل مستخدم تجريبي، لكن المستخدم لا يستقبل أي شيء على عنوان البريد الإلكتروني الذي قدمته…
هذه ليست تثبيتًا للإصدار الإنتاجي، لذا لن تُرسل أي رسائل بريد إلكتروني عبر الإنترنت. ولإرسالها، تحتاج إلى تثبيت كامل للإصدار الإنتاجي وأيضًا خدمة بريد إلكتروني متوافقة (والتي تتطلب في أيامنا هذه عادةً أموالًا حقيقية، إذ إن إدارة الثقة تكلف ثمنًا ).
nastee@station ~/vendsrc/discourse > ./d/boot_dev --init
استخدام المصدر في: /home/nastee/vendsrc/discourse
استخدام البيانات في: /home/nastee/vendsrc/discourse/data/postgres
الإصدار: جاري السحب من discourse/discourse_dev
.....
التلخيص: sha256:e118af085d4be0486d4d9bfa83ac1c519d9975bed9a08180d10d5ad7c508632c
الحالة: تم تنزيل صورة أحدث لـ discourse/discourse_dev:release
docker.io/discourse/discourse_dev:release
f517752802e70b8a9110972bb3ddc0e9343d0c430603e4a9ae3eacc5ec69a2cf
جاري تثبيت المكتبات...
حدث خطأ أثناء محاولة الكتابة إلى `/src/Gemfile.lock`. ومن المرجح أنك بحاجة إلى منح صلاحيات الكتابة لهذا المسار.
قمت بتعيين أذونات الملف إلى 777 (مكروه)، وفعلت ذلك، فأصبح بإمكانه تثبيت المكتبات الآن، لكن عملية docker exec التالية تحاول الكتابة إلى مجلد المصدر ولا تستطيع ذلك لأنه لا يعمل كمستخدمي، لذا أحصل على:
EACCES EACCES: تم رفض الإذن، open '/src/_tmp_82_62be1aeb82e80c1d1054dac8bdbc5923'
حسناً، لماذا لا؟ sudo chmod 4777 . حيث . هو مجلد المصدر الذي قمت باستنساخه وأعمل فيه d/
مما قادني إلى:
EACCES خطأ أثناء محاولة إنشاء رابط رمزي لـ "../../../node_modules/.pnpm/prettier@3.8.1/node_modules/prettier" إلى "/src/docs/developer-guides/node_modules/prettier". حدث الخطأ أثناء محاولة إنشاء المجلد الأب للهدف الرابط الرمزي. التفاصيل: خطأ: EACCES: تم رفض الإذن، mkdir '/src/docs/developer-guides/node_modules'
بعد الاصطدام بمشكلة أذونات أخرى والاستسلام لـ chmod 777 -R .
وانتهى الأمر في النهاية بـ:
فشل الاتصال بالخادم عبر المقبس "/var/run/postgresql/.s.PGSQL.5432": لا يوجد ملف أو دليل