ملف 'containers/app.yml' غير قابل للكتابة

أنا أتبع هذا الدليل لتثبيت Discourse على مثيل AWS EC2.

أكملت جميع الخطوات باستثناء Elasticache (لا أستخدم Redis منفصل).

بعد الانتهاء من إعداد Discourse، أحتاج إلى تعديل ملف app.yml الخاص بي لتغيير إعدادات RDS وSMTP.

لكنه يظهر أن ملف ‘containers/app.yml’ غير قابل للكتابة.

هل واجه أي شخص هذه المشكلة؟ كيف يمكن حلها؟

هل قمت بفحص مالك ملف app.yml؟

لا، كيف يمكنني معرفة ذلك؟

من سطر الأوامر الخاص بك، انتقل إلى مجلد الحاويات باستخدام الأمر cd واكتب ls -l

عذراً، لا أعرف الكثير عن أوامر Unix. هل يمكنك تزويدي بالأمر الكامل الذي يجب إدخاله لمعرفة مالك ملف app.yml؟

cd /var/discourse/containers && ls -l

ثم

نفّذ whoami

إظهار هذا: -rw-r–r-- 1 root root 3819 Jul 30 10:21 app.yml

نفّذ الأمر whoami
الناتج هو: ubuntu

إليك الأمر. أنت غير مسجل الدخول كمستخدم الجذر (root). والملف مملوك لمستخدم الجذر. لهذا السبب لا يمكنك الكتابة في هذا الملف.

في الواقع، مع EC2، لا يمكنك تسجيل الدخول كمستخدم الجذر مباشرة. الآن، أنت مسجل الدخول كمستخدم ubuntu.

اكتب الأمر sudo su -

حسنًا. في الواقع، اتبعت في البداية الأوامر المذكورة هنا.

لقد جربت هذا الآن: sudo nano app.yml

والآن يمكنني إجراء التعديلات!

هذا رائع. سيتوجب عليك تذكر القيام بذلك في كل مرة تحتاج فيها إلى إجراء تغييرات على مثيلتك.