it-swarm-vi.com

Cách cài đặt ứng dụng OSQA Q và A trong Apache

Cách cài đặt ứng dụng OSQA Q và A trong Máy chủ Apache. Tôi đã cài đặt mod_python nhưng tôi vẫn không thể chạy OSQA. Tôi không thể tìm thấy hướng dẫn dễ dàng để cài đặt nó.

6
daron

OSQA là một ứng dụng Django, vì vậy trước tiên bạn sẽ cần cài đặt Django . Bạn cũng có thể cần phải cài đặt các phụ thuộc khác của dự án. (Tôi đã thử nó và phải cài đặt html5lib , chẳng hạn) Ngoài ra, tôi sẽ mạnh mẽ khuyên bạn nên gỡ cài đặt mod_python (trừ khi bạn thực sự cần nó cho một cái gì đó khác) và cài đặt mod_wsgi thay vào đó, vì theo như tôi biết mod_python không được dùng nữa và trên đường hoàn toàn không được biết đến.

Khi bạn đã cài đặt và kích hoạt mod_wsgi trong cấu hình Apache, bạn sẽ cần sử dụng chỉ thị WSGIScriptAlias để bật OSQA.

  1. Khi bạn kiểm tra OSQA từ SVN, bạn sẽ có một thư mục có tên trunk chứa tệp có tên osqa.wsgi.dist. Di chuyển thư mục trunk đó đến một vị trí bạn chọn, có thể ở cùng nơi bạn lưu trữ các tệp trang web khác.
  2. Đảm bảo rằng tất cả các tệp trong trunk (hoặc bất cứ thứ gì bạn đổi tên thành) đều có thể đọc được bởi máy chủ web. (Có lẽ họ đã có)
  3. Đọc qua tệp settings_local.py.dist và thay đổi nó cho phù hợp với nhu cầu của bạn. Ít nhất bạn sẽ cần cung cấp một tên cơ sở dữ liệu và công cụ cơ sở dữ liệu.
  4. Đổi tên settings_local.py.dist thành settings_local.py.
  5. Đổi tên osqa.wsgi.dist thành osqa.wsgi.
  6. Trong tệp cấu hình Apache của bạn, bên trong Máy chủ ảo mà bạn muốn OSQA được phục vụ, hãy thêm đoạn mã sau (tất nhiên được sửa đổi như mô tả bên dưới):

    <IfModule wsgi_module>
        WSGIScriptAlias /osqa /var/www/www.example.com/osqa.wsgi
    </IfModule>
    

    Ở đây /osqa phải là đường dẫn URL mà bạn muốn OSQA khả dụng (có thể là / nếu bạn muốn) và /var/www/www.example.com/osqa.wsgi nên được thay thế bằng đường dẫn đầy đủ đến tệp osqa.wsgi (người bạn đã đổi tên ở bước trước).

  7. Kiểm tra cấu hình Apache của bạn và nếu mọi thứ đều ổn, hãy tải lại Apache. Bạn sẽ có thể truy cập OSQA tại URL bạn đã chọn. Nếu có lỗi xảy ra, thông báo lỗi sẽ cung cấp cho bạn thông tin bạn cần sửa.
6
David Z