Diskurso - Usa ka Modernong Forum alang sa Panaghisgot sa Komunidad


Ang diskurso usa ka libre, open source, moderno, adunahan sa feature ug talagsaon nga community-oriented nga forum software. Kini usa ka gamhanan, kasaligan, ug flexible nga plataporma nga adunay daghang mga himan alang sa mga diskusyon sa komunidad.

Gidisenyo kini alang sa pagtukod sa mga plataporma sa diskusyon sa komunidad, listahan sa pag-mail o chat room alang sa imong team, kustomer, fans, patrons, audience, user, advocates, supporters, o mga higala ug labaw sa tanan, kini hapsay nga naghiusa sa uban sa imong natukod nga online platform.

  • Kini sayon gamiton, usa ka yano ug patag.
  • Kini adunay usa ka built-in nga mobile layout; adunay mga app para sa Android ug iOS.
  • Kini adunay tanan nga moderno nga mga himan sa forum ug labi nga mapadako pinaagi sa mga plugins.
  • Nagsuporta sa duha ka pribado nga ad publiko nga panag-istoryahanay.
  • Nagsuporta sa pagpangita sa mga diskusyon.
  • Ipasibo ang hitsura ug pagbati niini gamit ang HTML ug CSS nga tema.
  • Nagsuporta sa mga pahibalo sa email ug mga tubag sa email.
  • Nagsuporta sa lain-laing pamaagi sa pag-authenticate sama sa mga social network, single sign on, o oAuth 2.0.
  • Nagsuporta sa mga emoji ug badge.
  • Mahimo kining i-integrate sa WordPress, Google Analytics, Zendesk, Patreon, Slack, Matomo, ug uban pa.
  • Nagtanyag og mga webhook ug yanong JSON nga nakabase sa komprehensibong mga API para sa dugang nga paghiusa.
  • Nagtugot sa mga tiggamit sa pagmarka sa mga solusyon isip opisyal nga tubag.
  • Gitugotan ang mga tiggamit sa pagboto sa mga paborito nga ideya.
  • Gitugotan usab ang mga tiggamit nga magtinabangay nga mag-edit uban ang tibuuk nga kasaysayan sa pagbag-o.
  • Nagsuporta sa paghatag ug mga topiko sa imong kaugalingon o sa uban.
  • Nagsuporta sa usa ka pag-klik nga pag-upgrade, ug adunay dali ug tukma nga suporta, ug daghang uban pang mga bahin.

Gigamit namon ang Discourse sukad sa miaging duha ka tuig alang sa pagsuporta sa among mga magbabasa sa Linux, mahimo nimong susihon ang Live Demo sa mosunod nga URL sa wala pa kini i-install sa sistema sa Linux.

Live Demo URL: http://linuxsay.com/

  1. Usa ka dedikado nga VPS nga adunay rehistradong domain name
  2. Usa ka CentOS 7 Server nga adunay Minimal nga Pag-install
  3. Usa ka Ubuntu 16.04 Server o Ubuntu 18.04 Server nga adunay Minimal nga Pag-install

Ang diskurso usa ka open source nga proyekto nga mahimong i-deploy sa VPS server nga imong gusto.

Sa kini nga artikulo among ipasabut kung giunsa ang pag-install ug pag-configure sa Discourse Forum pinaagi sa usa ka opisyal nga gisuportahan nga pamaagi ie gamit ang imahe sa Docker sa usa ka CentOS 7 VPS o Ubuntu VPS server.

Lakang 1: I-install ang Pinakabag-ong Bersyon sa Git ug Docker

1. Adunay usa ka script nga giandam sa pag-instalar sa pinakabag-o nga mga bersyon sa Docker ug Git sa imong server, i-download ug ipadagan kini sama sa gipakita.

# wget -qO- https://get.docker.com/ | sh

Kung ang script mapakyas sa imong sistema sa usa ka rason o sa lain, padagana ang mosunod nga mga sugo aron i-install ang pinakabag-o nga bersyon sa Git ug Docker (gikan sa opisyal nga repositoryo):

$ sudo apt install git apt-transport-https ca-certificates curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial  stable"
$ sudo apt update
$ sudo apt install docker-ce
# yum install -y git yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce

2. Sa higayon nga imong na-install ang docker, sa Ubuntu/Debian, kini ma-trigger sa auto-start ubos sa Systemd, mahimo nimong susihon ang status sa serbisyo niini gamit ang mosunod nga sugo.

$ sudo systemctl status docker

Sa CentOS/RHEL, sugdi ug i-enable ang Docker ug tan-awa ang status niini.

# systemctl start docker
# systemctl enable docker
# systemctl status docker

Lakang 2: I-install ang Discourse sa Linux Server

3. Sunod paghimo ug direktoryo /var/discourse ug i-clone ang opisyal nga Discourse Docker Image ngadto niini gamit ang mosunod nga mga sugo.

----------- On Debian/Ubuntu ----------- 
$ sudo mkdir /var/discourse
$ sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse
$ cd /var/discourse

----------- On CentOS/RHEL -----------
# mkdir /var/discourse
# git clone https://github.com/discourse/discourse_docker.git /var/discourse
# cd /var/discourse

4. Karon padagana ang Discourse setup script gamit ang mosunod nga sugo.

$ sudo ./discourse-setup 
OR
# ./discourse-setup 

Kung gipadagan ang mando sa ibabaw, ang script mosulay sa pag-validate sa imong sistema alang sa mga kinahanglanon. Dayon hangyoon ka sa pagtubag sa mosunod nga mga pangutana, paghatag sa husto nga mga bili ug pagpahiuyon kanila sa ulahi aron awtomatik nga makamugna og app.yml configuration file.

Hostname for your Discourse? [discourse.example.com]: forum.tecmint.lan 
Email address for admin account(s)? [[email ]: admin.tecmint.lan
SMTP server address? [smtp.example.com]: smtp.tecmint.lan
SMTP port? [587]: 587
SMTP user name? [[email ]: [email 
SMTP password? []: password-here
Let's Encrypt account email? (ENTER to skip) [[email ]: 

Sa higayon nga ma-update ang configuration file, magsugod kini sa pag-download sa Discourse base image. Ang tibuok setup mahimong molungtad gikan sa 10 minutos ngadto sa tunga sa oras, depende sa imong internet connection speed; lingkod lang ug hulata nga makompleto.

5. Sa diha nga ang setup makompleto, ang Discourse sudlanan kinahanglan nga moandar. Aron mapamatud-an kini, susiha ang tanan nga nagdagan nga mga sudlanan sa docker gamit ang mosunud nga mando.

$ sudo docker container ls -a
OR
# docker container ls -a

Lakang 3: I-configure ang Nginx para sa Discourse Container

6. Niini nga lakang, mahimo nimong i-configure ang Nginx web server ug reverse proxy (timan-i nga kini ang web server sa gawas sa sudlanan) aron modagan atubangan sa imong Discourse container. Gitugotan ka niini nga magpadagan sa ubang mga website o app kauban ang sulud sa Discourse sa parehas nga server.

Ihunong una ang pagdagan nga sudlanan sa diskurso gamit ang mosunod nga mando.

$ sudo ./launcher stop app
OR
# ./launcher stop app

7. Sunod, usba ang imong discourse container configuration file /var/discourse/containers/app.yml aron i-set kini sa pagpaminaw sa usa ka espesyal nga file, gawas sa port 80.

$ sudo vim containers/app.yml
OR
# vim containers/app.yml

Dayon usba ang template nga seksyon sama sa gipakita sa ubos.

templates:
  - "templates/cron.template.yml"
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/sshd.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"

Ug ikomento ang expose nga seksyon sama sa gipakita sa screenshot.

8. Sunod, kinahanglan nimong i-configure ang Nginx server block sa proxy requests para sa Discourse sa /etc/nginx/conf.d/discourse.conf o /etc/nginx/sites-enabled/discourse.conf file.

$ sudo vim /etc/nginx/conf.d/discourse.conf
OR
# vim /etc/nginx/conf.d/discourse.conf

Idugang kini nga mga setting niini, (gamita ang imong kaugalingong domain name imbes nga forum.tecmint.lan).

server {
        listen 80;
        server_name  forum.tecmint.lan;

        location / {
                proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
        }
}

I-save ang mga pagbag-o ug paggawas sa file. Unya susiha ang Nginx web server configuration alang sa bisan unsang syntax error, kung okay ra, sugdi ang web server.

$ sudo nginx -t
$ sudo systemctl start nginx
OR
# systemctl start nginx

9. Karon na ang panahon sa pagtukod pag-usab sa Discourse nga sudlanan aron magamit ang bag-o nga gihimo nga mga pagbag-o (kini magtangtang sa daan nga sudlanan), ug usab i-restart ang serbisyo sa Nginx aron mahibal-an ang upstream server.

$ sudo ./launcher rebuild app
$ sudo systemctl restart nginx
OR
# ./launcher rebuild app
# systemctl restart nginx

Lakang 4: Pag-access sa Discourse Forum Web UI

10. Sa dihang ma-configure na ang tanan, mahimo nimong ma-access ang Discourse gikan sa web browser pinaagi sa domain name nga imong gibutang sa ibabaw (alang sa among kaso, migamit kami og dummy domain nga gitawag og forum.tecmint.lan).

Gigamit usab namo ang /etc/hosts file aron i-configure ang lokal nga DNS sa testing system (diin ang 192.168.8.105 mao ang server address sa lokal nga network).

I-type ang mosunod nga URL aron ma-access ang Discourse ug i-klik ang Register aron makahimo og bag-ong admin account.

http://forum.tecmint.lan

11. Sunod, pagpili og email nga gamiton (sa kaso nga imong gipiho labaw pa sa usa samtang nag-set up sa diskurso), username ug password, dayon i-klik ang Register aron makahimo og bag-ong admin account.

12. Sunod, usa ka email sa pagkumpirma sa account ipadala sa email address nga imong gipili (kung naghatag ka labaw sa usa samtang nag-set up sa diskurso) sa miaging lakang. Kung mapakyas ka sa pagdawat sa email, nan siguroha nga ang imong email system nagtrabaho sa husto (i-install ang postfix mail server) o susiha ang imong spam folder.

Pag-klik sa link sa pagkumpirma aron makuha ang panid sa 'Discourse Welcome'. Dayon i-activate ang imong account, i-setup ang Discourse default nga mga opsyon sama sa lenggwahe nga gamiton, access sa imong Discourse admin account ug i-administer ang imong discussion forum.

Makapangita ka ug dugang nga impormasyon gikan sa Discourse website: https://www.discourse.org/

Kana lang sa pagkakaron! Ang diskurso usa ka bukas, moderno ug puno sa feature nga software sa diskusyon sa komunidad nga adunay daghang mga himan. Gamita ang porma sa komentaryo sa ubos aron ipaambit ang bisan unsang mga pangutana bahin sa proseso sa pag-install o ihatag kanamo ang imong mga hunahuna bahin niining talagsaon nga software sa forum.

Kung nangita ka ug usa ka tawo nga mag-install sa Discourse community forum software, hunahunaa kami, tungod kay nagtanyag kami daghang mga serbisyo sa Linux sa patas nga minimum nga rate nga adunay 14-adlaw nga libre nga suporta pinaagi sa email. Paghangyo sa Pag-instalar Karon.