nodeSolidServer / nodeSolidServer/node-solid-server

Improve error handling for invalid setup for directory permissions

Đang mở
#800 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

enhancement
Ngôn ngữ chính
JavaScript
Star
1.8k
Fork
308
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

When I started the server, I got this error:
ERROR You need root privileges to start on this port

It doesn't make sense because I wasn't running on port 80. So debugging it more (added console statements), I found that the true error was the following:

{ Error: EACCES: permission denied, mkdir '/var/www/solid.mysite/config/templates'
    at Object.fs.mkdirSync (fs.js:885:18)
    at mkdirsSync (/usr/lib/node_modules/solid-server/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js:31:9)
    at Object.mkdirsSync (/usr/lib/node_modules/solid-server/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js:37:16)
    at Object.copySync (/usr/lib/node_modules/solid-server/node_modules/fs-extra/lib/copy-sync/copy-sync.js:49:37)
    at ensureDirCopyExists (/usr/lib/node_modules/solid-server/lib/server-config.js:25:8)
    at Object.initTemplateDirs (/usr/lib/node_modules/solid-server/lib/server-config.js:108:29)
    at createApp (/usr/lib/node_modules/solid-server/lib/create-app.js:45:27)
    at Function.createServer (/usr/lib/node_modules/solid-server/lib/create-server.js:15:18)
    at bin (/usr/lib/node_modules/solid-server/bin/lib/start.js:122:17)
    at fs.readFile (/usr/lib/node_modules/solid-server/bin/lib/start.js:41:7)
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir',
  path: '/var/www/solid.mysite/config/templates' }

It should assist the user to fix their permissions not run it in root.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu từ bin/lib/start.js, sau đó lần theo luồng khởi động qua lib/create-server.js, lib/create-app.js và lib/server-config.js, đặc biệt là phần khởi tạo thư mục template. Tái hiện quá trình khởi động với một thư mục không thể được tạo và kiểm tra cách lỗi EACCES được báo cáo. Hoàn thành khi lỗi quyền được báo chính xác thay vì bị báo cáo là lỗi đặc quyền root hoặc lỗi cổng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript, nodejs
Lĩnh vực
backend
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.