Điểm:0

CSS, JS, ... không được tạo bởi drush site:install

lá cờ gq

Cài đặt Drupal không thành công sau các bước sau trên hộp Debian (cơ sở dữ liệu đã được tạo và cấp đặc quyền cho người dùng cụ thể):

(người dùng) $ nhà soạn nhạc tạo dự án drupal/dự án được đề xuất myproject
# ... hỏi xem có thể cài đặt trình soạn thảo/trình cài đặt, drupal/core-composer-scaffold và drupal/core-project-message không, trả lời Có 
# ... đưa ra 2 cảnh báo về việc học thuyết/phản ánh và webmozart/path-util đã lỗi thời
(người dùng) $ cd dự án của tôi
(người dùng) $ nhà soạn nhạc nhà soạn nhạc yêu cầu drush/drush
(người dùng) $ drush site:install --locale=fr
# ... yêu cầu thông tin đăng nhập MySql
# ... hiển thị thông tin đăng nhập của người dùng quản trị.

Mọi thứ chạy trơn tru không có thông báo lỗi, chỉ có 3 câu hỏi và 2 cảnh báo được đề cập ở trên.

Tuy nhiên, sau khi chạy các lệnh đó, theo tài liệu cài đặt Drupal (https://www.drupal.org/docs/develop/using-composer/using-composer-to-install-drupal-and-manage-dependencies#s-install-drupal-using-the-command-line) trang web phải có thể truy cập được qua web. Tuy nhiên, khi tôi duyệt qua đường dẫn đã định cấu hình (DocumentRoot được đặt thành thư mục "web") tôi nhận được một trang chưa được tạo kiểu (giao diện giống với CSS không áp dụng trong trang web drupal 8 , nhưng bảng định kiểu href là đặt thành "/").

Nếu tôi sử dụng đường dẫn cài đặt qua web thay vì chạy Drush, thì mọi thứ sẽ chạy tốt ngoại trừ những phiền toái nhỏ với cài đặt quyền trong 'web/trang web/mặc định'.

So sánh cả hai thư mục "web" cho thấy rằng (ngoài những khác biệt không đáng kể do các giá trị băm khác nhau) không có thư mục "css", "js", "ngôn ngữ" hay "php" nào được tạo và điền trong "web/sites/default/files" được cài đặt Drush danh mục.

Tôi đang làm gì sai? Tôi không thể tìm thấy sự trợ giúp nào trong tài liệu Drupal cũng như googling xung quanh.

  • Drupal : 9.3.9
  • Nhà soạn nhạc : 2.2.9
  • Drush : 11.0.7

Cảm ơn trước

lá cờ cn
Nó rất có thể là quyền. Bạn cài đặt với một người dùng, sau đó phân phối trên web với một người dùng khác không thể ghi vào các thư mục mà người dùng đầu tiên đã tạo trong quá trình cài đặt. Đảm bảo `www-data` hoặc tương đương có thể ghi vào thư mục tệp và thư mục tmp
phep avatar
lá cờ gq
@Clive cảm ơn nhận xét của bạn nhưng như đã nêu trong câu hỏi của tôi, sự cố chỉ xảy ra khi toàn bộ quá trình cài đặt được chạy từ dòng lệnh, rõ ràng là với cùng một người dùng, do đó không thể có vấn đề về quyền. Vấn đề phổ biến mà bạn mô tả liên quan đến cài đặt qua web nhưng vấn đề này chạy tốt trong trường hợp của tôi.
lá cờ cn
Làm thế nào bạn có được một unstyled page thông qua dòng lệnh? Những gì bạn đã mô tả vẫn cho thấy rõ ràng vấn đề về quyền. Chạy `sudo -u www-data touch docroot/sites/default/files/test.txt` để đảm bảo. Nếu bạn gặp lỗi perms trên op đó, có thể bạn đã tìm thấy sự cố
phep avatar
lá cờ gq
@Clive Tôi đã chỉnh sửa câu hỏi để cố gắng làm rõ hơn rằng sự cố xảy ra khi quá trình cài đặt được thực hiện bằng lời gọi Drush, chứ không phải bằng cách đi qua "core/install.php". Như đã nêu, nếu tôi cài đặt bằng giao diện web, tôi không gặp vấn đề gì nghiêm trọng. Thay vào đó, những điều đó xảy ra khi tôi sử dụng `drush site:install`. Theo tài liệu, việc chạy lệnh này tương đương với việc thực hiện quy trình web thông thường (ý tôi là duyệt đến core/install.php, ... Bây giờ đã rõ ràng hơn chưa?
lá cờ ru
Drush không tạo bất kỳ tệp JS hoặc CSS hoặc bộ đệm nào, điều này xảy ra theo yêu cầu bằng cách truy cập các trang trong trình duyệt. Và nếu những thứ đó không được tạo theo yêu cầu, thì đó gần như chắc chắn là do quyền. Và ngay cả cài đặt web *chạy tốt ngoại trừ những phiền toái nhỏ **với cài đặt quyền trong 'web/sites/default'***
lá cờ cn
Đúng, tôi vật lộn với những thiết lập này ngày này qua ngày khác, nó rất quen thuộc với tôi :) Tôi nghĩ rằng tôi đã thấy sự nhầm lẫn ở đâu - các thư mục css/js/php không được tạo bởi quá trình cài đặt trang web, chúng được tạo bởi một yêu cầu web tiếp theo. Vì vậy, bạn cài đặt qua web, thư mục `file` thuộc sở hữu của `www-data` và trong yêu cầu web tiếp theo, `www-data` có thể ghi vào thư mục đó. Khi bạn cài đặt thông qua CLI, `file` thuộc sở hữu của `foo_user`, thì khi yêu cầu web tiếp theo chạy, `www-data` không thể ghi vào thư mục đó vì `foo_user` sở hữu nó
phep avatar
lá cờ gq
Cảm ơn bạn @Clive và @Hudri đã dành thời gian trả lời, nhưng bạn có thể vui lòng cho tôi biết sau đó chạy `drush site:install` để làm gì không nếu một người vẫn cần đi theo cách `core/install.php` sau đó . Tôi nghĩ rằng drush chính xác sẽ cho phép chúng tôi cài đặt và định cấu hình trang web Drupal theo cách có thể lặp lại và viết được.
lá cờ cn
Bạn đã thành công, đó chính xác là những gì `site:install` làm - bạn không cần truy cập core/install.php sau đó (thực sự là bạn không thể, nó sẽ cho bạn biết rằng trang web đã được cài đặt). Trừ khi đây là một trường hợp cạnh dựa trên một cái gì đó không hiển thị trong ngữ cảnh cho đến nay, các kiểu gần như chắc chắn bị thiếu vì máy chủ web không thể ghi vào các trang/mặc định/tệp. Tôi vừa đăng một câu trả lời chi tiết cả hai quy trình, hy vọng điều đó sẽ giúp làm sáng tỏ nó
leymannx avatar
lá cờ ne
Chỉ để hoàn thiện: trong cả hai trường hợp, tệp .htaccess tồn tại trong web/ và RewriteBase không được ghi chú?
Điểm:0
lá cờ cn

Các thư mục bạn đã đề cập không được tạo bởi quá trình cài đặt trang, chúng được tạo bởi một yêu cầu trang tới chính trang Drupal kết quả.

Khi bạn cài đặt thông qua giao diện người dùng, điều này sẽ xảy ra:

  • Drupal được cài đặt
  • các trang web/mặc định/tệp được tạo và sở hữu bởi máy chủ web (thường dữ liệu www)
  • Bạn được chuyển hướng đến giao diện người dùng của trang web, Drupal tạo nội dung và cố gắng duy trì chúng ở trang/mặc định/tệp
  • Yêu cầu đang chạy như dữ liệu www, thư mục được sở hữu bởi dữ liệu www, vì vậy tất cả các tệp tốt đều được tạo.

Khi bạn cài đặt qua CLI, nó hơi khác một chút:

  • Drupal được cài đặt
  • trang web/mặc định/tệp được tạo và sở hữu bởi người dùng mà bạn đã điều hành thuốc ngủ như, mà thường không phải là dữ liệu www (nếu đúng như vậy, bạn không nên gặp những vấn đề này).
  • Bạn truy cập trang web trong trình duyệt, Drupal tạo nội dung và cố gắng duy trì chúng ở trang/mặc định/tệp
  • Yêu cầu đang chạy như dữ liệu www, nhưng thư mục thuộc sở hữu của người dùng của bạn, vì vậy không có xúc xắc - tệp nào không được tạo.

Cấp cao, câu trả lời là đảm bảo dữ liệu www có thể ghi vào thư mục trang web/mặc định/tệp sau khi bạn cài đặt qua CLI. Các Bảo vệ quyền và quyền sở hữu tệp tài liệu có một số gợi ý về cách bạn có thể thực hiện điều này.

phep avatar
lá cờ gq
Bạn có thể vui lòng cho tôi biết chính xác ý của bạn trong bước thứ 3 của quy trình cài đặt CLI mà bạn mô tả khi bạn nói "Bạn truy cập trang web trong trình duyệt" không? Bạn có nghĩa là bất kỳ URL (liên quan đến trang web) hoặc một số _end cụ thể của URL_ cài đặt không? Và trong trường hợp này, tôi lặp lại câu hỏi của mình: việc sử dụng đường dẫn Drush là gì? Dù sao cũng cảm ơn, tôi đánh giá cao sự giúp đỡ của bạn.
lá cờ cn
Ý tôi là bất kỳ URL nào trên giao diện người dùng của trang web, không phải một URL cụ thể. Khi tính năng tổng hợp CSS/JS được bật (theo mặc định sau khi cài đặt), các tệp tổng hợp được tạo theo yêu cầu khi một trang được truy cập và được lưu vào bộ nhớ đệm từ đó. Vấn đề hiện tại của bạn dường như là không thể ghi các tệp tổng hợp và các bước bạn đã vạch ra để đạt được điểm này hỗ trợ ý tưởng đó
phep avatar
lá cờ gq
Cảm ơn vì sự kiên nhẫn của bạn. Rất tiếc, đầu mối cơ bản như vậy không có trong tài liệu Drupal. Tôi phải thừa nhận rằng cho đến nay tôi chưa bao giờ đi qua con đường của một ứng dụng web chờ đợi kết nối không được nhắm mục tiêu/không được xác thực đầu tiên để hoàn tất quá trình cài đặt của nó ;-).
lá cờ cn
Nó bỏ qua vì việc tạo tài sản được coi là động, nó không phải là một phần của quá trình cài đặt. Nhưng tôi hiểu ý bạn, thật khó hiểu nếu bạn chưa làm điều đó hàng trăm lần trước đây

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.