Askbot - ສ້າງເວທີຖາມ - ຕອບຂອງທ່ານເອງຄືກັບ Stack Overflow


Askbot ແມ່ນໂປແກຼມເປີດທີ່ເປີດກວ້າງ, ງ່າຍດາຍແຕ່ມີພະລັງ, ໄວແລະສາມາດປັບແຕ່ງໄດ້ສູງ ສຳ ລັບສ້າງ ຄຳ ຖາມແລະ ຄຳ ຕອບ (Q&A). ມັນໄດ້ຮັບການດົນໃຈຈາກ StackOverflow ແລະ YahooAnswers, ແລະຂຽນໃນ Python ຢູ່ເທິງສຸດຂອງກອບເວັບ Django.

ມັນອະນຸຍາດໃຫ້ມີ ຄຳ ຖາມແລະຕອບການບໍລິຫານຄວາມຮູ້ທີ່ມີປະສິດຕິພາບ, ດັ່ງນັ້ນອົງກອນຕ່າງໆເຊັ່ນ LibreOffice's & A Forums ກຳ ລັງ ນຳ ໃຊ້ມັນ. Askbot ສາມາດເຮັດວຽກເປັນແອັບພລິເຄຊັນແບບໂດດດ່ຽວຫລືສາມາດປະສົມປະສານກັບແອັບango Django ທີ່ມີຢູ່ຂອງທ່ານຫຼືເວບໄຊທ໌ອື່ນໆ.

ໃນບົດສອນນີ້ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການຕິດຕັ້ງ AskBot ໃນ CentOS 7. ເພື່ອເຮັດໃຫ້ການສິດສອນຄົບຖ້ວນ, ທ່ານຈະຕ້ອງມີການຕິດຕັ້ງເຄື່ອງແມ່ຂ່າຍທີ່ ໜ້ອຍ ທີ່ສຸດຂອງ CentOS 7 ໂດຍມີການເຂົ້າເຖິງຮາກ.

ຂັ້ນຕອນທີ 1: ຕິດຕັ້ງການເພິ່ງພາອາໃສທີ່ຕ້ອງການ

ພວກເຮົາຈະເລີ່ມຕົ້ນໂດຍການຕິດຕັ້ງຄວາມເພິ່ງພາອາໃສທີ່ຕ້ອງການເຊັ່ນ: ເຄື່ອງມືການພັດທະນາໂດຍການໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ໃນສະຖານີ.

# yum group install 'Development Tools'

ຫລັງຈາກນັ້ນພວກເຮົາຈະຕິດຕັ້ງ Epel repository, ຖ້າມັນບໍ່ໄດ້ຕິດຕັ້ງຢູ່ໃນລະບົບຂອງທ່ານ.

# yum install epel-release

ສຸດທ້າຍ, ພວກເຮົາຈະຕິດຕັ້ງບາງສ່ວນຂອງຄວາມເພິ່ງພາອາໃສຂອງ python ທີ່ຕ້ອງການເພື່ອຕໍ່ມາ AskBot.

# yum install python-pip python-devel python-six

ໃນກໍລະນີ python-pip ບໍ່ໄດ້ຖືກຕິດຕັ້ງກັບ ຄຳ ສັ່ງຂ້າງເທິງ, ທ່ານສາມາດຕິດຕັ້ງມັນດ້ວຍການໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" && python get-pip.py

ຂັ້ນຕອນທີ 2: ຕິດຕັ້ງຖານຂໍ້ມູນ PostgreSQL

AskBot ຮຽກຮ້ອງໃຫ້ມີຖານຂໍ້ມູນທີ່ມັນຈະເກັບຂໍ້ມູນຂອງມັນ. ມັນໃຊ້ PostgreSQL, ດັ່ງນັ້ນພວກເຮົາຈະຕ້ອງໄດ້ຕິດຕັ້ງມັນແລະ ກຳ ນົດມັນຢູ່ໃນລະບົບຂອງພວກເຮົາ.

ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອ ສຳ ເລັດການຕິດຕັ້ງ.

# yum -y install postgresql-server postgresql-devel postgresql-contrib

ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ເລີ່ມຕົ້ນ PostgreSQL ກັບ.

# postgresql-setup initdb

ຖ້າທຸກຢ່າງ ດຳ ເນີນໄປຕາມປົກກະຕິ, ທ່ານຄວນຈະເຫັນສິ່ງຕໍ່ໄປນີ້:

Initializing database ... OK

ຂັ້ນຕອນຕໍ່ໄປຂອງພວກເຮົາແມ່ນການເລີ່ມຕົ້ນ PostgreSQL ແລະເຮັດໃຫ້ມັນເລີ່ມຕົ້ນໃສ່ເກີບ:

# systemctl start postgresql
# systemctl enable postgresql

ດຽວນີ້ເຊີບເວີຖານຂໍ້ມູນຂອງພວກເຮົາ ກຳ ລັງເຮັດວຽກຢູ່, ພວກເຮົາຈະເຂົ້າສູ່ລະບົບເປັນຜູ້ ນຳ ໃຊ້ postgres ເພື່ອສ້າງຖານຂໍ້ມູນ ສຳ ລັບການຕິດຕັ້ງ AskBot ຂອງພວກເຮົາ.

# su - postgres

ຫຼັງຈາກນັ້ນໃຫ້ໃຊ້:

$ psql

ຕອນນີ້ທ່ານເປັນຜູ້ກະຕຸ້ນ PostgreSQL, ພ້ອມທີ່ຈະສ້າງຖານຂໍ້ມູນ, ຜູ້ໃຊ້ຖານຂໍ້ມູນຂອງພວກເຮົາແລະໃຫ້ສິດທິພິເສດຂອງຜູ້ໃຊ້ໃນຖານຂໍ້ມູນ ໃໝ່. ສ້າງຖານຂໍ້ມູນໂດຍການໃຊ້ ຄຳ ສັ່ງຂ້າງລຸ່ມ, ຮູ້ສຶກບໍ່ເສຍຄ່າເພື່ອປ່ຽນຊື່ຖານຂໍ້ມູນຕາມຄວາມຕ້ອງການຂອງທ່ານ:

postgres=# create database askbot_db;

ຕໍ່ໄປສ້າງຜູ້ໃຊ້ຖານຂໍ້ມູນ. ປ່ຽນ“ password_here” ດ້ວຍລະຫັດຜ່ານທີ່ແຂງແຮງ:

postgres=# create user askbot_user with password 'password_here';

ໃຫ້ສິດທິພິເສດແກ່ຜູ້ໃຊ້ໃນ askbot_db:

postgres=# grant all privileges on database askbot_db to askbot_user;

ຕໍ່ໄປພວກເຮົາຈະຕ້ອງແກ້ໄຂການຕັ້ງຄ່າຂອງ PostgreSQL ເພື່ອປ່ຽນວິທີການກວດສອບຂອງພວກເຮົາໃຫ້ເປັນ md5. ເພື່ອເຮັດສິ່ງນີ້, ໃຫ້ ນຳ ໃຊ້ບັນນາທິການຕົວ ໜັງ ສືທີ່ທ່ານມັກແລະແກ້ໄຂ /var/lib/pgsql/data/pg_hba.conf:

# vim /var/lib/pgsql/data/pg_hba.conf

ການຕັ້ງຄ່າຄວນມີລັກສະນະດັ່ງນີ້:

ຕໍ່ໄປຊ່ວຍປະຢັດການປ່ຽນແປງແລະເລີ່ມ PostgreSQL:

# systemctl restart postgresql

ຂັ້ນຕອນທີ 3: ຕິດຕັ້ງ AskBot Forum

ສຸດທ້າຍພວກເຮົາສາມາດ ດຳ ເນີນການຕິດຕັ້ງ AskBot. ເລີ່ມຕົ້ນໂດຍການສ້າງຜູ້ໃຊ້ ໃໝ່ ໃນລະບົບຂອງທ່ານ. ພວກເຮົາຈະໂທຫາມັນ askbot:

# useradd -m -s /bin/bash askbot

ຕັ້ງລະຫັດຜ່ານ ສຳ ລັບຜູ້ໃຊ້ ໃໝ່:

# passwd askbot

ຕໍ່ໄປພວກເຮົາຈະຕ້ອງເພີ່ມຜູ້ໃຊ້ເຂົ້າໃນກຸ່ມລໍ້ຢູ່ໃນລະບົບ:

# usermod -a -G wheel askbot

ຕອນນີ້ພວກເຮົາຈະໃຊ້ pip ເພື່ອຕິດຕັ້ງຊຸດ virtualenv:

# pip install virtualenv six

ຕອນນີ້ພວກເຮົາຈະເຂົ້າເປັນຜູ້ໃຊ້ askbot ແລະສ້າງສະພາບແວດລ້ອມເສມືນ ໃໝ່:

# su - askbot
$ virtualenv tecmint/
New python executable in /home/askbot/tecmint/python
Installing setuptools, pip, wheel...
done.

ຂັ້ນຕອນຕໍ່ໄປແມ່ນການກະຕຸ້ນສະພາບແວດລ້ອມເສມືນດ້ວຍ ຄຳ ສັ່ງຕໍ່ໄປນີ້:

# source tecmint/bin/activate

ຕອນນີ້ພວກເຮົາພ້ອມແລ້ວທີ່ຈະຕິດຕັ້ງ AskBot ຜ່ານ pip.

# pip install six askbot psycopg2

ການຕິດຕັ້ງອາດຈະໃຊ້ເວລາສອງສາມນາທີ. ເມື່ອມັນແລ້ວ, ພວກເຮົາສາມາດທົດສອບການຕິດຕັ້ງຂອງພວກເຮົາໃນໄດເລກະທໍລີຊົ່ວຄາວ. ໃຫ້ແນ່ໃຈວ່າບໍ່ໃຫ້ຕັ້ງຊື່ຖານຂໍ້ມູນທີ່ askbot.

# mkdir forum_test && cd forum_test

ຕໍ່ໄປພວກເຮົາຈະເລີ່ມຕົ້ນໂຄງການ AskBot ໃໝ່ ດ້ວຍ:

# askbot-setup

ທ່ານຈະຖືກຖາມສອງສາມ ຄຳ ຖາມທີ່ທ່ານຈະຕ້ອງເລືອກໄດເລກະທໍລີຕິດຕັ້ງ - ໃຊ້ “.” (ໂດຍບໍ່ຕ້ອງອ້າງອີງ) ເພື່ອເລືອກໄດເລກະທໍລີປະຈຸບັນ. ຕໍ່ໄປທ່ານຈະຕ້ອງໃສ່ຊື່ຖານຂໍ້ມູນທີ່ຖືກກະກຽມໄວ້ກ່ອນ, ຜູ້ໃຊ້ຖານຂໍ້ມູນແລະລະຫັດຜ່ານຂອງມັນ.

ຕໍ່ໄປພວກເຮົາຈະຜະລິດເອກະສານຄົງທີ່ ສຳ ລັບ Django ດ້ວຍ:

# python manage.py collectstatic

ຕໍ່ໄປພວກເຮົາສ້າງຖານຂໍ້ມູນ:

# python manage.py syncdb

ແລະສຸດທ້າຍເລີ່ມຕົ້ນ server ດ້ວຍ:

# python manage.py runserver 127.0.0.1:8080

ເມື່ອທ່ານເຂົ້າໄປທີ່ໂປແກຼມທ່ອງເວັບຂອງທ່ານໄປທີ່ <ລະຫັດ http://127.0.0.1:8080 - ທ່ານຄວນຈະເຫັນອິນເຕີເຟດ askbot.

ຫມົດເທົ່ານີ້! Askbot ແມ່ນແຫຼ່ງເປີດ, ງ່າຍດາຍ, ໄວແລະຕອບສະ ໜອງ ຄຳ ຖາມແລະ ຄຳ ຕອບທີ່ ເໝາະ ສົມ (Q&A). ມັນສະ ໜັບ ສະ ໜູນ ຄຳ ຖາມແລະຕອບການບໍລິຫານຄວາມຮູ້ທີ່ມີປະສິດຕິພາບ. ຖ້າທ່ານພົບຂໍ້ຜິດພາດໃດໆໃນລະຫວ່າງການຕິດຕັ້ງຫລືມີ ຄຳ ຖາມອື່ນໆທີ່ກ່ຽວຂ້ອງ, ໃຫ້ໃຊ້ແບບຟອມ ຄຳ ຕິຊົມດ້ານລຸ່ມເພື່ອຕິດຕໍ່ຫາພວກເຮົາ.