Trong phần tiếp theo, chúng ta sẽ xem xét về Askbot. Đây là một phần mềm mã nguồn mở được sử dụng để tạo các diễn đàn internet định hướng câu hỏi và câu trả lời. Trang web bắt đầu hoạt động vào tháng 2009 năm XNUMX, và ban đầu tương tự như Stack Overflow hoặc Yahoo! Các câu trả lời. Nó chủ yếu được phát triển và duy trì bởi Evgeny fadeev.
Askbot là một nền tảng câu hỏi và câu trả lời (Q&A) mã nguồn mở dựa trên Python và Django. Với Askbot, bất kỳ người dùng nào cũng có thể tạo nền tảng câu hỏi và câu trả lời của riêng họ. Trong các dòng tiếp theo, chúng ta sẽ xem cách Askbot có thể được cài đặt trên Ubuntu 20.04 hoặc 18.04.
Nhờ phần mềm này, bất kỳ người dùng nào cũng có thể tạo một diễn đàn kiến thức câu hỏi và trả lời hiệu quả, trong đó các câu trả lời hay nhất sẽ được hiển thị đầu tiên, được phân loại theo các thẻ. Nó cũng bao gồm quyền kiểm soát của người dùng với các hệ thống phần thưởng, mang lại cho người dùng nghiệp lực khi đăng thông tin tốt và phù hợp.
Làm thế nào để cài đặt Askbot trên Ubuntu 20.04?
Cài đặt điều kiện tiên quyết
Để cài đặt Askbot, trước hết chúng ta phải cài đặt trong hệ thống của chúng tôi một số gói cần thiết để hoạt động chính xác. Chúng tôi sẽ chỉ cần mở một thiết bị đầu cuối (Ctrl + Alt + T) và thực hiện các lệnh:
sudo apt update; sudo apt install python-dev python-setuptools python3-pip python3-psycopg2 libpq-dev
Cài đặt PostgreSQL
Bây giờ chúng ta đã cài đặt các gói trước đó, hãy cài đặt PostgreSQL. Để thực hiện việc này, trong một terminal (Ctrl + Alt + T), lệnh để thực thi sẽ như sau:
sudo apt install postgresql postgresql-client
Sau khi cài đặt PostgreSQL, các lệnh sau có thể được sử dụng để bắt đầu và kiểm tra trạng thái của bạn:
sudo systemctl start postgresql.service sudo systemctl status postgresql.service
Tạo mật khẩu người dùng PostgreSQL
Sau khi cài đặt PostgreSQL, đó là một ý tưởng hay tạo hoặc thay đổi mật khẩu người dùng Postgres mặc định. Để thực hiện việc này, chúng ta chỉ cần chạy lệnh sau trong bash shell:
sudo passwd postgres
Lệnh trên sẽ yêu cầu chúng tôi tạo mật khẩu mới cho người dùng postgres. Sau khi đặt mật khẩu mới, mỗi khi chúng tôi muốn truy cập shell tương tác PostgreSQL, chúng tôi sẽ được yêu cầu nhập mật khẩu vừa nhập.
Tạo cơ sở dữ liệu PostgreSQL
Bây giờ PostgreSQL đã được cài đặt, chúng ta sẽ phải sử dụng các lệnh sau để kết nối chúng tôi với bảng điều khiển shell của bạn. Thao tác này sẽ yêu cầu chúng tôi viết mật khẩu mà chúng tôi đã viết ở bước trước:
su - postgres psql
Trong bảng điều khiển shell, chúng ta sẽ nhập dòng lệnh sau để tạo một cơ sở dữ liệu mới có tên là yêu cầu:
create database askbot;
Tại thời điểm này, điều tiếp theo chúng ta sẽ cần làm là tạo một cơ sở dữ liệu người dùng có tên hỏi người dùng với một mật khẩu mới. Chúng tôi sẽ đạt được điều này bằng cách viết:
create user askbotusuario with password 'tu-contraseña';
Tiếp theo, chúng ta sẽ phải cấp cho hỏi người dùng toàn quyền truy cập vào cơ sở dữ liệu của yêu cầu. Sau đó, chúng ta chỉ cần thoát khỏi trình bao:
grant all privileges on database askbot to askbotusuario;
\q exit
Sau khi tạo cơ sở dữ liệu và người dùng ở trên, hãy chỉnh sửa tệp cấu hình PostgreSQL và bật xác thực md5. Chúng tôi có thể làm điều này với trình soạn thảo yêu thích của chúng tôi.
sudo vim /etc/postgresql/12/main/pg_hba.conf
Bên trong tệp, ở cuối tệp, chúng tôi sẽ chỉnh sửa các dòng được đánh dấu trong ảnh chụp màn hình sau màn hình để tham khảo md5.
Sau khi chỉnh sửa file trên, chúng ta lưu lại và thoát ra ngoài. Bây giờ chúng ta sẽ phải khởi động lại PostgreSQL với lệnh:
sudo systemctl restart postgresql
Cài đặt Askbot
Để cài đặt Askbot, chúng tôi sẽ cần tạo một tài khoản người dùng chuyên dụng. Chúng ta có thể đạt được điều này bằng cách thực hiện các lệnh sau để tạo một tài khoản mới có tên là yêu cầu:
sudo useradd -m -s /bin/bash askbot sudo passwd askbot
Sau đó chúng ta sẽ đảm bảo người dùng có thể chạy sudo dưới dạng root:
sudo usermod -a -G sudo askbot
Khi chúng ta hoàn thành, chúng ta sẽ thực hiện lệnh khác này trong thiết bị đầu cuối để cài đặt môi trường ảo Python (virtualenv):
sudo pip install virtualenv six
Khi kết thúc quá trình cài đặt, chúng tôi sẽ chuyển sang tài khoản của yêu cầu:
su - askbot
Chúng ta tiếp tục tạo ra một môi trường ảo mới cho yêu cầu:
virtualenv askbot
Bước tiếp theo sẽ là chuyển sang môi trường ảo và kích hoạt nó:
cd askbot source bin/activate
Sau đó chúng tôi sẽ cài đặt các mô-đun Askbot, Six và PostgreSQL:
pip install --upgrade pip pip install six==1.10.0 pip install askbot==0.11.1 psycopg2
Sau khi cài đặt, chúng tôi sẽ tạo một thư mục gọi là miapp cho askbot và định cấu hình nó:
mkdir miapp cd miapp askbot-setup
Lệnh cấu hình sẽ yêu cầu các chi tiết của môi trường, như bạn có thể thấy trong ảnh chụp màn hình sau:
Sau đó chúng tôi sẽ hoàn thành cấu hình đang chạy các lệnh:
cd askbot_site/ python manage.py collectstatic python manage.py migrate
Khởi chạy ứng dụng
Bây giờ cho khởi động máy chủ ứng dụng, trong terminal (Ctrl + Alt + T), chúng ta sẽ sử dụng lệnh:
python manage.py runserver --insecure 0.0.0.0:8080
Tại thời điểm này chúng ta sẽ có thể truy cập ứng dụng của mình qua url:
http://localhost:8080
Chúng tôi cũng có thể đăng nhập vào chương trình phụ trợ với tư cách là quản trị viên bằng url sau. Mặc dù chúng tôi sẽ phải sử dụng thông tin đăng nhập quản trị viên:
http://localhost:8080/admin
Nếu bạn không thể đăng nhập vào chương trình phụ trợ với tư cách là quản trị viên, bạn có thể tạo tài khoản quản trị viên cấp cao bằng cách chạy lệnh trong thiết bị đầu cuối (Ctrl + Alt + T):
python manage.py createsuperuser
Sau đó, chúng tôi có thể sử dụng thông tin đăng nhập mới được tạo để vào phần phụ trợ quản trị viên:
Đối với các cá nhân và doanh nghiệp muốn tạo một diễn đàn hỏi đáp, Askbot có thể hữu ích. Để biết thêm thông tin về dự án này, người dùng có thể tham khảo trang web chính thức hoặc trong của bạn kho lưu trữ trên GitHub.