Okwu – Nzukọ ọgbara ọhụrụ maka mkparita ụka obodo


Okwu bụ free, mepere emepe, ọgbara ọhụrụ, atụmatụ bara ụba na dị ịrịba ama ogbako nzuko software. Ọ bụ ikpo okwu dị ike, nke a pụrụ ịdabere na ya na nke na-agbanwe agbanwe nke na-abịa na ọtụtụ ngwaọrụ maka mkparịta ụka obodo.

Emebere ya maka iwulite nyiwe mkparịta ụka obodo, ndepụta nzipu ozi ma ọ bụ ọnụ ụlọ nkata maka otu gị, ndị ahịa, ndị na-akwado ya, ndị na-ege gị ntị, ndị ọrụ, ndị na-akwado, ndị na-akwado ma ọ bụ ndị enyi na nke kachasị mkpa, ọ na-ejikọta ya na nyiwe ndị ọzọ hibere n'ịntanetị.

  • Ọ dị mfe iji, dị mfe ma dị larịị.
  • Ọ na-abịa na okirikiri ekwentị arụnyere arụnyere; nwere ngwa maka gam akporo na iOS.
  • Ọ na-abịa na ngwa nzụkọ ọgbara ọhụrụ ma bụrụ nke a na-agbapụ nke ukwuu site na plugins.
  • Na-akwado ma mkparịta ụka ọha na eze mgbasa ozi nkeonwe.
  • Na-akwado mkparịta ụka enwere ike ịchọ.
  • Hazie ọdịdị ya site na iji isiokwu HTML na CSS.
  • Na-akwado ọkwa email na nzaghachi email.
  • Na-akwado ụzọ nyocha dị iche iche dị ka netwọk mmekọrịta, otu akara, ma ọ bụ oAuth 2.0.
  • Na-akwado emojis na baajị.
  • Enwere ike ijikọ ya na WordPress, Google Analytics, Zendesk, Patreon, Slack, Matomo, na ndị ọzọ.
  • Na-enye nko webụ yana API dị mfe nke dabere na JSON maka nbata n'ihu.
  • Na-enye ndị ọrụ ohere akara azịza dị ka azịza gọọmentị.
  • Na-enye ndị ọrụ ohere ịtụpụta echiche ọkacha mmasị.
  • Na-enyekwa ndị ọrụ ohere ijikọ aka dezie ya na akụkọ nlegharị anya zuru oke.
  • Na-akwado ikenye onwe gị ma ọ bụ ndị ọzọ isiokwu.
  • Na-akwado nkwalite otu-pịa, na-abịa na nkwado ngwa ngwa na nke ziri ezi yana ọtụtụ atụmatụ ndị ọzọ.

Anyị na-eji Okwu kemgbe afọ abụọ gara aga maka ịkwado ndị na-agụ Linux anyị, ị nwere ike lelee Live Demo na URL na-esote tupu ịwụnye ya na sistemụ Linux.

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

  1. VPS raara onwe ya nye nwere aha ngalaba edebanyere aha
  2. Ihe nkesa CentOS 7 nwere obere wụnye
  3. Ihe nkesa Ubuntu 16.04 ma ọ bụ ihe nkesa Ubuntu 18.04 nwere ntinye ntakịrị

Okwu bụ ọrụ mepere emepe nke enwere ike ibunye na sava VPS nke nhọrọ gị.

N'isiokwu a, anyị ga-akọwa otu esi etinye ma hazie Nkwukọrịta Okwu site na usoro akwadoro ya bụ iji Docker oyiyi na CentOS 7 VPS ma ọ bụ Ubuntu VPS.

Kwụpụ 1: Wụnye ụdị Git na Docker kacha ọhụrụ

1. Enwere edemede akwadoro iji wụnye ụdị Docker na Git kachasị ọhụrụ na sava gị, budata ma mee ya dịka egosiri.

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

Ọ bụrụ na edemede ahụ daa na sistemụ gị maka otu ihe ma ọ bụ nke ọzọ, mee iwu ndị a ka ịwụnye ụdị Git na Docker kachasị ọhụrụ (site na ebe nchekwa gọọmentị):

$ 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. Ozugbo ị wụnye docker, na Ubuntu/Debian, ọ na-akpalite ịmalite ịmalite n'okpuru Systemd, ị nwere ike ịlele ọkwa ọrụ ya site na iwu na-esonụ.

$ sudo systemctl status docker

Na CentOS/RHEL, bido wee mee Docker wee lelee ọkwa ya.

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

Kwụpụ 2: Wụnye Okwu na Linux Server

3. Ọzọ mepụta ndekọ /var/okwu wee mechie onyonyo okwu Docker n'ime ya site na iji iwu ndị a.

----------- 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. Ugbu a na-eji iwu na-esonụ na-agba ọsọ edemede nhazi okwu.

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

Ozugbo ịmechara iwu a dị n'elu, edemede ahụ ga-anwa ịkwado sistemụ gị maka ihe achọrọ. Mgbe ahụ, a ga-ajụ gị ka ị zaa ajụjụ ndị a, nye ụkpụrụ ziri ezi ma kwekọọ na ha ma emechaa mepụta faịlụ nhazi app.yml akpaaka.

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

Ozugbo emelitere faịlụ nhazi ahụ, ọ ga-amalite nbudata onyonyo ntọala okwu. Nhazi niile nwere ike were nkeji iri ruo ọkara elekere, dabere na ọsọ njikọ ịntanetị gị; naanị nọdụ ala chere ka ọ mechaa.

5. Mgbe emechara nhazi ahụ, akpa okwu kwesịrị ịdị na-arụ ọrụ. Iji nyochaa ya, lelee arịa docker niile na-agba ọsọ site na iji iwu a.

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

Kwụpụ 3: Hazie Nginx maka akpa okwu

6. N'ime usoro a, ị nwere ike hazie sava weebụ Nginx ma tụgharịa proxy (rịba ama na nke a bụ sava weebụ n'èzí akpa) iji na-agba ọsọ n'ihu akpa okwu gị. Nke a na-enye gị ohere ịmekọ webụsaịtị ma ọ bụ ngwa ndị ọzọ yana akpa okwu n'otu sava ahụ.

Buru ụzọ kwụsị akpa okwu na-agba ọsọ site na iji iwu a.

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

7. Ọzọ, gbanwee faịlụ nhazi okwu gị /var/discourse/containers/app.yml ka ịtọ ya ka ọ gee ntị na faịlụ pụrụ iche, na-abụghị ọdụ ụgbọ mmiri 80.

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

Mgbe ahụ, gbanwee ngalaba demplate dị ka egosiri n'okpuru.

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"

Wepụtakwa ngalaba expose dị ka egosiri na nseta ihuenyo.

8. Ọzọ, ịkwesịrị ịhazi ngọngọ ihe nkesa Nginx ka ọ bụrụ arịrịọ proxy maka Okwu na /etc/nginx/conf.d/discourse.conf or /etc/nginx/sites-enabled/discourse.conf file.

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

Tinye ntọala ndị a na ya, (jiri aha ngalaba nke gị kama 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;
        }
}

Chekwaa mgbanwe ndị ahụ wee pụọ na faịlụ ahụ. Lelee nhazi nkesa weebụ Nginx maka njehie syntax ọ bụla, ọ bụrụ na ọ dị mma, malite sava weebụ.

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

9. Ugbu a bụ oge iji wughachi akpa okwu iji tinye mgbanwe ndị e mere n'oge na-adịbeghị anya (nke a ga-ewepụ ihe ochie), ma malitegharịa ọrụ Nginx iji chọpụta ihe nkesa dị elu.

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

Kwụpụ 4: Nweta Forum Webụsaịtị UI

10. Ozugbo a haziri ihe niile, ị nwere ike ịnweta Okwu site na ihe nchọgharị weebụ site na ngalaba aha ị debere n'elu (maka anyị, anyị ejirila ngalaba dummy a na-akpọ forum.tecmint.lan).

Anyị ejirila faịlụ /etc/hosts hazie DNS mpaghara na sistemụ nnwale (ebe 192.168.8.105 bụ adreesị ihe nkesa na netwọkụ mpaghara).

Pịnye URL ndị a ka ịnweta Okwu wee pịa Debanye aha ka ịmepụta akaụntụ nchịkwa ọhụrụ.

http://forum.tecmint.lan

11. Ọzọ, họrọ email ị ga-eji (ọ bụrụ na ị kọwapụtara ihe karịrị otu mgbe ị na-ahazi okwu), aha njirimara na paswọọdụ, wee pịa Register iji mepụta akaụntụ nchịkwa ọhụrụ.

12. Ọzọ, a ga-eziga email nkwenye akaụntụ na adreesị ozi-e ị họọrọ (ọ bụrụ na ị nyere ihe karịrị otu mgbe ị na-edozi okwu) na nzọụkwụ gara aga. Ọ bụrụ na ị nwetaghị email ahụ, hụ na sistemụ email gị na-arụ ọrụ nke ọma (wụnye ihe nkesa ozi postfix) ma ọ bụ lelee folda spam gị.

Pịa na njikọ nkwenye iji nweta ibe 'Nnọọ Okwu'. Wee mee ka akaụntụ gị rụọ ọrụ, hazie nhọrọ ndabara okwu dị ka asụsụ ị ga-eji, nweta akaụntụ nchịkwa okwu gị wee hazie ọgbakọ mkparịta ụka gị.

Ị nwere ike ịchọta ozi ndị ọzọ na webụsaịtị Okwu: https://www.discourse.org/

Nke ahụ bụ ihe niile ugbu a! Okwu bụ ngwa mkparita ụka obodo mepere emepe, ọgbara ọhụrụ yana atụmatụ nwere ọtụtụ ngwa ọrụ. Jiri ụdị nkọwa dị n'okpuru ka ị kesaa ajụjụ ọ bụla gbasara usoro nrụnye ma ọ bụ nye anyị echiche gị gbasara ngwanrọ forum a dị ịtụnanya.

Ọ bụrụ na ị na-achọ onye ịwụnye sọftụwia ọgbakọ ọgbakọ mkparịta ụka, tụlee anyị, n'ihi na anyị na-enye ọtụtụ ọrụ Linux na ọnụego kacha nta na nkwado ụbọchị 14 n'efu site na email. Rịọ nwụnye Ugbu a.