Diskursas – modernus bendruomenės diskusijų forumas


Discourse yra nemokama, atvirojo kodo, moderni, turtinga funkcijų ir puiki, į bendruomenę orientuota forumo programinė įranga. Tai galinga, patikima ir lanksti platforma, kurioje yra daug įrankių bendruomenės diskusijoms.

Jis skirtas kurti bendruomenės diskusijų platformas, adresatų sąrašą ar pokalbių kambarį jūsų komandai, klientams, gerbėjams, globėjams, auditorijai, vartotojams, advokatams, rėmėjams ar draugams, o svarbiausia, kad jis sklandžiai integruojamas su kitomis jūsų sukurtomis internetinėmis platformomis.

Diskurso ypatybės:

  • Tai paprasta naudoti, paprasta ir plokščia.
  • Jame yra įmontuotas mobilusis išdėstymas; yra programų, skirtų Android ir iOS.
  • Jis pateikiamas su visais šiuolaikiniais forumo įrankiais ir yra labai išplečiamas naudojant papildinius.
  • Palaiko ir privačius viešus pokalbius.
  • Palaiko ieškomas diskusijas.
  • Tinkinkite jo išvaizdą naudodami HTML ir CSS temas.
  • Palaiko pranešimus el. paštu ir atsakymus el. paštu.
  • Palaiko įvairius autentifikavimo metodus, tokius kaip socialiniai tinklai, vienkartinis prisijungimas arba oAuth 2.0.
  • Palaiko jaustukus ir ženklelius.
  • Jį galima integruoti su WordPress, Google Analytics, Zendesk, Patreon, Slack, Matomo ir kt.
  • Siūlo žiniatinklio kabliukus ir paprastas JSON pagrįstas išsamias API, kad būtų galima toliau integruoti.
  • Leidžia vartotojams pažymėti sprendimus kaip oficialų atsakymą.
  • Leidžia vartotojams balsuoti už mėgstamiausias idėjas.
  • Taip pat leidžia vartotojams bendradarbiauti redaguoti naudojant visą peržiūrų istoriją.
  • Palaiko temų priskyrimą sau ar kitiems.
  • Palaikomas atnaujinimas vienu spustelėjimu, greitas ir tikslus palaikymas bei daug kitų funkcijų.

Mes naudojame Discourse nuo paskutinių dvejų metų, kad palaikytume mūsų „Linux“ skaitytuvus. Prieš įdiegdami „Linux“ sistemoje, galite peržiūrėti tiesioginę demonstraciją šiuo URL.

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

Reikalavimai:

  1. Specialus VPS su registruotu domeno vardu
  2. „CentOS 7“ serveris su minimaliu diegimu
  3. Ubuntu 16.04 serveris arba Ubuntu 18.04 serveris su minimaliu diegimu

Discourse yra atvirojo kodo projektas, kurį galima įdiegti jūsų pasirinktame VPS serveryje.

Šiame straipsnyje paaiškinsime, kaip įdiegti ir konfigūruoti Discourse Forum naudojant oficialiai palaikomą metodą, t. y. naudojant Docker vaizdą CentOS 7 VPS arba Ubuntu VPS serveris.

1 veiksmas: įdiekite naujausią „Git“ ir „Docker“ versiją

1. Yra sukurtas scenarijus, skirtas įdiegti naujausias Docker ir Git versijas jūsų serveryje, atsisiųsti ir paleisti, kaip parodyta.

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

Jei scenarijus jūsų sistemoje nepavyksta dėl vienos ar kitos priežasties, vykdykite šias komandas, kad įdiegtumėte naujausias Git ir Docker versijas (iš oficialios saugyklos):

Įdiekite „Docker“ ir „Git“ „Debian“/„Ubuntu“.

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

Įdiekite „Docker“ ir „Git“ „CentOS/RHEL“.

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. Įdiegus Docker Ubuntu/Debian, jis automatiškai paleidžiamas skiltyje Sistema , galite patikrinti jo aptarnavimo būseną naudodami šią komandą.

sudo systemctl status docker

Naudodami CentOS/RHEL paleiskite ir įgalinkite Docker ir peržiūrėkite jo būseną.

systemctl start docker
systemctl enable docker
systemctl status docker

2 veiksmas: įdiekite Discourse Linux serveryje

3. Tada sukurkite katalogą /var/discourse ir į jį klonuokite oficialų Discourse Docker vaizdą naudodami šias komandas.

----------- 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. Dabar paleiskite Diskurso sąrankos scenarijų naudodami šią komandą.

sudo ./discourse-setup 
OR
./discourse-setup 

Paleidus aukščiau pateiktą komandą, scenarijus bandys patvirtinti jūsų sistemos reikalavimus. Tada jūsų bus paprašyta atsakyti į šiuos klausimus, pateikti teisingas reikšmes ir vėliau jas suderinti, kad būtų automatiškai sugeneruotas app.yml konfigūracijos failas.

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 ]: 

Kai konfigūracijos failas bus atnaujintas, jis pradės atsisiųsti Diskurso pagrindinį vaizdą. Visa sąranka gali užtrukti nuo 10 minučių iki pusvalandžio, atsižvelgiant į interneto ryšio greitį; tiesiog atsisėskite ir palaukite, kol viskas bus baigta.

5. Kai sąranka bus baigta, sudėtinis rodinys Diskursas turėtų būti parengtas ir paleistas. Norėdami tai patikrinti, patikrinkite visus veikiančius docker konteinerius naudodami šią komandą.

sudo docker container ls -a
OR
docker container ls -a

3 veiksmas: sukonfigūruokite „Nginx“ diskusijų konteineriui

6. Atlikdami šį veiksmą, dabar galite sukonfigūruoti Nginx žiniatinklio serverį ir atvirkštinį tarpinį serverį (atminkite, kad tai žiniatinklio serveris, esantis už sudėtinio rodinio ribų), kad jie veiktų prieš jūsų >Diskursų konteineris. Tai leidžia paleisti kitas svetaines ar programas kartu su Discourse konteineriu tame pačiame serveryje.

Pirmiausia sustabdykite veikiantį diskurso konteinerį naudodami šią komandą.

sudo ./launcher stop app
OR
./launcher stop app

7. Tada pakeiskite diskurso sudėtinio rodinio konfigūracijos failą /var/discourse/containers/app.yml, kad nustatytumėte, kad jis klausytis specialaus failo, išskyrus prievadą 80.

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

Tada pakeiskite skiltį šablonas, kaip parodyta toliau.

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"

Ir pakomentuokite skiltį expose, kaip parodyta ekrano kopijoje.

8. Tada turite sukonfigūruoti Nginx serverio bloką, kad tarpinio serverio užklausos būtų pateiktos Diskusui, esančioje /etc/nginx/conf.d /discourse.conf arba /etc/nginx/sites-enabled/discourse.conf failą.

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

Pridėkite šiuos nustatymus (vietoj forum.tecmint.lan naudokite savo domeno pavadinimą).

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šsaugokite pakeitimus ir išeikite iš failo. Tada patikrinkite, ar „Nginx“ žiniatinklio serverio konfigūracijoje nėra sintaksės klaidų. Jei viskas gerai, paleiskite žiniatinklio serverį.

sudo nginx -t
sudo systemctl start nginx
OR
systemctl start nginx

9. Dabar laikas iš naujo sukurti Discourse sudėtinį rodinį, kad būtų pritaikyti neseniai atlikti pakeitimai (taip bus pašalintas senas sudėtinis rodinys), taip pat iš naujo paleisti „Nginx“ paslaugą, kad būtų aptiktas ankstesnis serveris.

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

4 veiksmas: pasiekite Discourse Forum žiniatinklio vartotojo sąsają

10. Kai viskas sukonfigūruota, galite pasiekti Diskursą iš žiniatinklio naršyklės naudodami domeno pavadinimą, kurį nustatėte aukščiau (mūsų atveju naudojome netikrą domeną, vadinamą forum.tecmint.lan).

Taip pat naudojome failą /etc/hosts vietiniam DNS konfigūravimui testavimo sistemoje (kur 192.168.8.105 yra serverio adresas vietiniame tinkle).

Įveskite šį URL, kad pasiektumėte Diskusą, ir spustelėkite Registruotis, kad sukurtumėte naują administratoriaus paskyrą.

http://forum.tecmint.lan

11. Tada pasirinkite naudotiną el. pašto adresą (jei nustatydami diskursą nurodėte daugiau nei vieną), naudotojo vardą ir slaptažodį, tada spustelėkite Registruotis, kad sukurtumėte naują administratorių sąskaitą.

12. Tada paskyros patvirtinimo el. laiškas bus išsiųstas el. pašto adresu, kurį pasirinkote atlikdami ankstesnį veiksmą (jei nustatydami diskursą nurodėte daugiau nei vieną). Jei nepavyksta gauti el. laiško, įsitikinkite, kad el. pašto sistema veikia tinkamai (įdiekite pašto serverį „postfix“) arba patikrinkite pašto šiukšlių aplanką.

Spustelėkite patvirtinimo nuorodą, kad atidarytumėte puslapį „Pasveikinimas pokalbyje“. Tada suaktyvinkite paskyrą, nustatykite numatytąsias Diskurso parinktis, pvz., vartojamą kalbą, pasiekite Discourse administratoriaus paskyrą ir administruokite diskusijų forumą.

Papildomos informacijos galite rasti Discourse svetainėje: https://www.discourse.org/

Tai kol kas viskas! Discourse yra atvira, moderni ir daug funkcijų turinti bendruomenės diskusijų programinė įranga su daugybe įrankių. Naudokite toliau pateiktą komentarų formą, jei norite pasidalinti su diegimo procesu susijusiais klausimais arba pateikti savo mintis apie šią nuostabią forumo programinę įrangą.

Jei ieškote, kas įdiegtų Discourse bendruomenės forumo programinę įrangą, apsvarstykite mus, nes siūlome platų Linux paslaugų asortimentą už teisingus minimalius tarifus ir 14 dienų nemokamą palaikymą el. paštu. Pateikite diegimo užklausą dabar.