Zahtjevi
Postavite swap datoteku
Instalirajte Docker
Instalirajte Discourse
Konfigurirajte diskurs
Bootstrap i pokrenite Discourse
Otvorite Discourse u svom pregledniku
Rješavanje problema
Discourse je novo forumsko rješenje otvorenog koda koje je jednostavno, čisto i jasno. Implementiran je s Ruby on Rails, Postgres bazom podataka i Redis predmemorom poslužitelja. Ovaj vodič opisuje kako instalirati Discourse na Vultr VPS s CentOS-om 7.
Zahtjevi
- Vultr VPS s minimalno 1 GB RAM-a.
- CentOS 7 x64 instaliran na VPS.
Postavite swap datoteku
Morate postaviti zamjenu za VPS od 1 GB RAM-a. Ako vaš VPS ima više od 1 GB RAM-a, možete preskočiti ovaj korak. Napravit ćemo zamjensku datoteku od 2 GB za 1 GB RAM VPS.
Stvorite swap datoteku.
dd if=/dev/zero of=/swapfile bs=1M count=2048
mkswap /swapfile
chmod 600 /swapfile
Uredite fstab da dodate swap datoteku u tablicu sustava datoteka.
Otvori fstab pomoću vi:
vi /etc/fstab
Dodajte sljedeći redak u datoteku:
/swapfile swap swap defaults 0 0
Postavite politiku korištenja zamjene. Swapfile koristite samo kada je memorija sustava mala.
sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | tee -a /etc/sysctl.conf
sysctl vm.vfs_cache_pressure=60
echo vm.vfs_cache_pressure = 60 | tee -a /etc/sysctl.conf
Omogućite zamjensku datoteku.
mount -a
swapon -a
Provjerite stanje swap datoteke.
swapon -s
Ako je swap datoteka omogućena, vidjet ćete sljedeće informacije.
Filename Type Size Used Priority
/swapfile file 2097148 0 -1
Instalirajte Docker
Pokrenite naredbu u nastavku da biste instalirali Docker na CentOS 7.
yum install docker
Ako ste onemogućili SELinux, bolje ga je onemogućiti i u dockeru.
vi /etc/sysconfig/docker
Komentirajte redak 4.
#OPTIONS='--selinux-enabled'
Pokrenite docker uslugu.
systemctl start docker
systemctl enable docker
Imajte na umu da ako ponovno pokrenete firewalld, također ćete trebati ponovno pokrenuti docker. Budući da će firewalld ukloniti docker lanac iz iptablesa kada se ponovno pokrene.
Instalirajte Discourse
Stvorite mapu discoursepod nazivom /vari klonirajte spremište Discourse.
mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
Idite u discoursemapu.
cd /var/discourse
Kopirajte datoteku predloška konfiguracije Discourse u mapu kontejnera.
cp samples/standalone.yml containers/app.yml
Otvorite app.ymlpomoću vi.
vi containers/app.yml
Ako koristite VPS od 1 GB, postavite dijeljeni međuspremnik db na 128 MB u app.yml.
db_shared_buffers: "128MB"
Promijenite UNICORN_WORKERSna 2 za instancu od 1 GB RAM-a.
## With 2GB we recommend 3-4 workers, with 1GB only 2
UNICORN_WORKERS: 2
Postavite svoju adresu e-pošte za administratorski račun. Trebat će vam ova e-poruka za registraciju administratorskog računa na vašem diskursnom forumu.
DISCOURSE_DEVELOPER_EMAILS: 'you@youremail.com'
Postavite naziv domene za Discourse. Na primjer, postavili smo ga kao discourse.example.com, što znači da će biti dostupan na URL-u http://discourse.example.com/.
## TODO: The domain name this Discourse instance will respond to
DISCOURSE_HOSTNAME: 'discourse.example.com'
Konfigurirajte svoj poslužitelj e-pošte za Discourse.
Ako je vaš poslužitelj e-pošte na istom poslužitelju s Discourseom, konfigurirajte ga na sljedeći način.
DISCOURSE_SMTP_ADDRESS: smtp.example.com # (mandatory)
DISCOURSE_SMTP_PORT: 587 # (optional)
DISCOURSE_SMTP_USER_NAME: YOUR_EMAIL_ACCOUNT # (optional)
DISCOURSE_SMTP_PASSWORD: YOURPASSWORD # (optional)
DISCOURSE_SMTP_ENABLE_START_TLS: flase # (optional, default true)
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
Ako koristite udaljeni SMTP poslužitelj, uredite app.ymlkako slijedi.
DISCOURSE_SMTP_ADDRESS: smtp.example.com # (mandatory)
DISCOURSE_SMTP_PORT: 587 # (optional)
DISCOURSE_SMTP_USER_NAME: your@example.com # (optional)
DISCOURSE_SMTP_PASSWORD: YOURPASSWORD # (optional)
DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
Spremite i izađite app.yml.
Bootstrap i pokrenite Discourse
Pokrenite naredbu u nastavku da pokrenete Discourse.
./launcher bootstrap app
Nakon dovršetka procesa pokretanja, pokrenite Discourse.
./launcher start app
Otvorite Discourse u svom pregledniku
Na svom klijentskom računalu unesite naziv domene koji ste konfigurirali za Discourse u app.yml. Vidjet ćete vlastitu instancu Diskursa.
Rješavanje problema
- Prema zadanim postavkama, Docker će slušati na portu 80. Ako je port 80 već koristio Nginx ili Apache, morate tu uslugu premjestiti na drugi port; ili promijenite Docker na drugi port. Na primjer, promijenite "80:80" u "8080:80"
app.ymlkako bi Docker slušao port 8080.
- Na VPS-u od 1 GB RAM-a možda neće uspjeti ažurirati Discourse na novu verziju, a vidjet ćete "502 Bad Gateway" kada pristupate Discourseu. Jednostavno rješenje za ovaj problem je pokrenuti
./launcher rebuild appda biste obnovili svoju instancu Discourse.