SystemZ | 2018-11-16 18:15:08 UTC | #1
Jeśli chciałbyś mieć takie forum jak forum.lvlup.pro to użyj tego prostego poradnika :)
Potrzebujemy VPSa który będzie używać pełnej wirtualizacji czyli np. KVM, Xen lub Hyper-V
W tym poradniku będzie użyty VPS z oferty KVM Game Pro
https://lvlup.pro/oferta/vps-kvm-game-pro/
nawet bez użycia Cloudflare powinien wytrzymać małe ataki DDoS którymi czasami padają fora.
Wystarczy nam pakiet z 2GB RAM.
Oprócz VPSa potrzebujemy pewnego konta pocztowego wysyłającego emaile.
Wiadomości email są kluczowe dla działania forum np. aby uzyskać dostęp administratora oraz aby nowi użytkownicy mogli aktywować konto.
Oczywiście nie chcemy aby nasze emaile trafiały do spamu jak to ma miejsce w sporej ilości przypadków stron dlatego skorzystamy z jednego z pewnych dostawców wysyłki email którzy się w tym specjalizują.
Przykładowi dostawcy:
W tym poradniku użyjemy Mailgun ze względu na banalną konfigurację, przeciętne forum nie zużyje całego limitu 10k :)
Ostatnia z potrzebnych rzeczy to nazwa pod którą będzie nasze forum.
Więcej można przeczytać w tym wątku
https://forum.lvlup.pro/t/domena/39
Zanim zaczniemy konfigurować forum na VPS utwórzmy oraz aktywujmy konto na mailgun.com
Po dodaniu domeny oraz wymaganych wpisów w strefie DNS według instrukcji w panelu mailgun.com wchodzimy w panelu w swoją domenę/subdomenę a następnie klikamy Manage SMTP credentials
umożliwi nam to stworzenie osobnego loginu i hasła dostępu do skrzynki używanej na forum.
Gdy jesteśmy już w tej zakładce klikamy New SMTP Credential
Uzupełniamy następnie:
Login
- np. forum
Password
- najlepiej długie i losowe hasło nie używane nigdzie indziej
Confirm Password
- powtarzamy to co wyżej
Zapisujemy sobie dane który tu wpisaliśmy i klikamy Create Credential
.
Gotowe, mamy już dane potrzebne do konfiguracji forum :)
Po zamówieniu i opłaceniu usługi otrzymujemy dane na maila:
Mając teraz IP VPSa dodajemy do strefy DNS wpis A z IP VPS, instrukcje znajdziesz w wątku o domenie
https://forum.lvlup.pro/t/domena/39
Włączamy VPS i logujemy się według instrukcji:
https://forum.lvlup.pro/t/laczenie-sie-przez-ssh-do-vps/22
Następnie dla uproszczenia logujemy się od razu na konto root
sudo su
Należy wprowadzić swoje hasło użytkownika user
Aby ściągnąć pliki Discourse należy mieć zainstalowany system zarządzania wersjami git
Do edycji pliku konfiguracyjnego użyjemy łatwego w obsłudze edytora nano.
apt-get install git nano
Prawdopodobnie takie narzędzia będą już wcześniej zainstalowane ale nie zaszkodzi się upewnić :)
Docker to nowoczesne narzędzie które zarządza kontenerami czyli w dużym uproszczeniu małymi VPSami które zawierają wszystko co potrzeba, dzięki czemu uruchomienie i aktualizacja nawet skomplikowanych aplikacji jest bardzo prosta.
Wystarczy jedna komenda
wget -qO- https://get.docker.com/ | sh
Po około minucie Docker jest zainstalowany i możemy przystąpić do instalacji Discourse
Tworzymy katalog w którym będą pliki forum, następnie ściągamy do niego potrzebne pliki.
Ostatnia komenda kopiuje przykładową domyślną konfigurację tak abyśmy mogli szybko zacząć pracę nad forum nie wczytując się w każdą zmienną konfiguracji
mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
cp samples/standalone.yml containers/app.yml
Odpalamy edytor i zmieniamy kilka rzeczy w konfiguracji przed instalacją forum
nano /var/discourse/containers/app.yml
Ukaże nam się mniej więcej takie okno edytora.
Szybkie wprowadzenie jak z niego korzystać:
Ctrl
+ W
Szukanie
Ctrl
+ X
Zapis
Ctrl
+ X
Wyjście
y
a potem Enter
Potwierdzenie jednej z powyższych operacji
DISCOURSE_DEVELOPER_EMAILS: '[email protected]'
Zamiast [email protected]
wpisujemy swój adres email na który chcemy otrzymywać wiadomości z forum, również te dotyczące naszej funkcji admina czyli np. informacje o aktualizacjach. Pierwsze konto admina będzie miało taki adres email i musisz mieć dostęp do tej skrzynki aby to potwierdzić.
DISCOURSE_HOSTNAME: 'discourse.example.com'
Tu discourse.example.com
zamieniamy na naszą domenę lub subdomenę pod którym chcemy aby pojawiło się forum czyli np. mojefajneforum.pl lub mojeforum.hostmc.pl
Potrzebujemy jeszcze ustawić trzy linie konfiguracji, upewnijmy się że każda z nich usunięty znak #
, są to
- DISCOURSE_SMTP_ADDRESS
tu wpisujemy smtp.mailgun.org
- DISCOURSE_SMTP_USER_NAME
wpisujemy ustalony wcześniej w mailgun login
- DISCOURSE_SMTP_PASSWORD
miejsce dla ustalonego wcześniej hasła w mailgun
Okej, mamy co trzeba, teraz zapiszemy i wyjdziemy z edytora.
Wciskamy Ctrl + O a następnie Enter
Teraz Ctrl + X i właśnie wróciliśmy do wiersza poleceń.
Teraz możemy uruchomić właściwą instalację forum
./launcher bootstrap app
Proces ten trwa około 4-10min
Gdy wszystko się już zainstaluje można przystąpić do uruchomienia forum.
./launcher start app
Forum powinno być już dostępne pod naszym wybranym adresem.
Wszystko jest skonfigurowane tak że przy restarcie VPSa forum włączy się automatycznie.
Ten poradnik jest spolszczoną, uproszczoną i skróconą formą oficjalnego poradnika instalacji dostępnego tu:
https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md
anon82750602 | 2016-08-05 21:33:11 UTC | #2
Miałem napisać. Fajnie ;)
Nieznajomy11 | 2016-12-01 22:13:39 UTC | #3
Postępowałem zgodnie z poradnikiem, ale przy uruchamianiu:
[code]Unable to find image ‘localdiscourse/app:latest’ locally
Pulling repository docker.io/localdiscourse/app
/usr/bin/docker: Error: image local_discourse/app:latest not found.
See ‘/usr/bin/docker run –help’.
[/code]
SystemZ | 2016-12-02 11:24:38 UTC | #4
Przy uruchamianiu czyli przy tym kroku?
./launcher bootstrap app
Nieznajomy11 | 2016-12-02 18:30:25 UTC | #5
Nie, przy start app - ale robiąc z oryginalnym poradnikiem wyszło na to, że discourse koliduje z Apache
SystemZ | 2016-12-03 14:29:09 UTC | #6
Pewnie że koliduje, nginx który jest proxy dla Discourse też korzysta z portu 80 jak Apache :P
Szymon | 2016-12-04 21:27:02 UTC | #7
@SystemZ mocno obciąża te forum serwer (patrząc na twój przykład) w zależności od ilości osób na forum? Ile mniej więcej zajmuje aktualna baza danych forum dla lvlup?
SystemZ | 2016-12-06 11:33:19 UTC | #8
Na początku wystarcza pakiet KVM Game Pro 2GB RAM, tak jak teraz to dla komfortu lepiej mieć pakiet 4GB RAM.
Obecnie skompresowany pełny backup forum wraz z obrazkami i zrzutem bazy to ponad 300MB.
Szymon | 2016-12-06 15:49:04 UTC | #9
W konfiguracji można znaleźć link do [url=https://meta.discourse.org/t/running-other-websites-on-the-same-machine-as-discourse/17247]tego tematu[/url].
Tam wszystko jest opisane. Tylko jakbyś chciał zrobić proxy z apache to ja nie wiem jak. Korzystam z nginx’a.
koweq | 2016-12-18 15:40:15 UTC | #10
Czy na OpenVZ będzie działało @SystemZ?
Nieznajomy11 | 2016-12-18 17:44:47 UTC | #11
Będzie problem z Dockerem.
koweq | 2016-12-18 18:02:39 UTC | #12
@Nieznajomy11 da się to rozwiązać?
Nieznajomy11 | 2016-12-18 18:05:01 UTC | #13
Jeśli dobrze pamiętam, to obecnie mamy OpenVZ 6 więc:
https://openvz.org/DockerinsideCT
Ewentualnie masz tam też link do 7, ale to chyba nie na te VPS ;)
Niestety nie wiem jak to się ma w praktyce, czy to dobrze działa.
koweq | 2016-12-19 15:48:04 UTC | #14
niestety ten poradnik nie działa. Niby mam tego centosa, robie zgodnie z poradnikiem ale podczas komendy “docker daemon -s vfs” pokazuje coś takiego:
WARN[0000] Your Linux kernel version 2.6.32-48-pve can be unstable running docker. Please upgrade your kernel to 3.10.0.
INFO[0000] Graph migration to content-addressability took 0.00 seconds
WARN[0000] Running modprobe nf_nat failed with message: `, error: exit status 1
INFO[0000] Firewalld running: false
FATA[0000] Error starting daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain: iptables failed: iptables --wait -t nat -N DOCKER: iptables v1.4.21: can't initialize iptables table
nat’: Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
SystemZ | 2016-12-19 17:27:33 UTC | #15
Na OpenVZ bym odpuścił Dockera, to będzie zawsze proteza.
Na KVM to działa jako powinno.
koweq | 2016-12-19 18:19:21 UTC | #16
Tylko że to będzie hajs wyrzucony w błoto.
Niby według poradnika podesłanego przez @Nieznajomy11 powinno działać a nie działa.
Ktoś wie czemu?
P.S: WordPress też potrzebuje dockera?
EDIT: przeczytałem że docker potrzebuje kernela 042stab105.4 i funkcji (?)tun, veth bridge. Czy tego, nie wiem, brakuje? Czy cuś?
Nieznajomy11 | 2016-12-19 20:04:38 UTC | #17
SystemZ wysyłał już na shoutboxie:
https://forum.lvlup.pro/t/najnowszy-kernel/321/8?u=systemz
koweq | 2016-12-19 20:07:40 UTC | #18
Czyli ten poradnik co go podesłałeś nie może działać?
liamdj23 | 2016-12-19 20:08:54 UTC | #19
Ja mam Wordpressa na OpenVZ i działa, więc chyba go nie potrzebuje :slight_smile:
Nieznajomy11 | 2016-12-19 20:26:48 UTC | #20
Wygląda na to, że w tym przypadku nie można tego użyć :<
koweq | 2016-12-19 20:39:17 UTC | #21
Kurczę, a znacie inny silnik forumowy podobny do discoursa który nie potrzebowałby dockera?
koweq | 2016-12-19 20:55:05 UTC | #22
Szukając rozwiązania mojego problemu (nadal chcę discoursa) na forum meta.discourse.org znalazłem takie cuś: https://github.com/nahtnam2/dontdockmebro
Wskazano to jako rozwiązanie problemu
I teraz się zapytam: co to jest i czy powinno działać.
SystemZ | 2016-12-20 09:13:32 UTC | #23
Ten skrypt ma ponad 2 lata, przy tempie w jakim rozwija się Discourse to wątpię żeby jeszcze działał.
Nie ładowałbym się w niewspierane konfigurację bo potem pełno problemów nawet jak by ruszyło, przykładowo Ci może paść przy aktualizacji gdyż skrypty do wdrożenia to też integralna część pisania kodu tego projektu czyli ciągle się zmienia.
Użyj jak człowiek KVM i tyle. Można wbijać gwóźdź wkrętakiem ale po co jak jest młotek?
Jest procedura przejścia z OpenVZ na KVM, możesz też kupić osobnego VPS pod to.
https://forum.lvlup.pro/t/przejscie-z-oferty-openvz-na-kvm/588
Nieznajomy11 | 2016-12-20 09:21:35 UTC | #24
Jest jeszcze nodeBB, ale nie wiem, jak z dockerem.
koweq | 2016-12-20 10:40:41 UTC | #25
Niestety KVM jest jak dla mnie za drogie. Pakiet 2Gb kosztuje dychę więcej niż 4GB OpenVZ. A nawet jeśli zdecydowałbym się na KVM to czy 2GB utrzyma Wordpressa + Discourse + 0,5GB MC i być może jeszcze kilka slotów TSa?
koweq | 2016-12-20 12:31:27 UTC | #26
Wygląda na to że nodebb nie potrzebuje dockera. Jeśli tak to super! ;)
Jeśli nodebb zadziała zrobię poradnik jak go zainstalować
SystemZ | 2016-12-20 17:02:09 UTC | #27
Coś za coś, nie da się zjeść ciastka i mieć ciastka ;)
Ekstra, czekam na poradnik odnośnie NodeBB.
Niech każdy może zainstalować to czego potrzebuje :slight_smile:
Szymon | 2016-12-28 14:02:57 UTC | #28
Mam na serwerze Discourse. Trochę się zdziwiłem jak zobaczyłem, że Docker mi zjada dokładnie 4.2G dysku. Maciej jakieś sposoby na ograniczenie zjadanego dysku przez Dockera (mam VPS KVM tylko z 10GB)?
Nieznajomy11 | 2016-12-28 15:50:52 UTC | #29
W zależności od RAID, jedna maszyna MC-32 ma domyślnie około 240 GB pojemności całkowitej dysku SSD. Nie jest to dużo i ciężko tutaj dzielić :>
anon82750602 | 2016-12-28 21:48:56 UTC | #30
NodeBB używałem na KVM, ale nie wymaga dockera, więc spoko instaluj :slight_smile:
Tylko że ja używałem jeszcze wersji 0.8.x nie wiem jak teraz to wygląda ;v
SystemZ | 2016-12-30 18:07:02 UTC | #31
Generalnie Discourse wraz z Dockerem trochę zjadają i trzeba się z tym liczyć.
Proponuję usunąć stare obrazy po aktualizacjach komendą /var/discourse/launcher cleanup app
Po akceptacji przez y
skrypt wyszuka stare nieużywane obrazy i je usunie. Jeśli używasz innych aplikacji na Docker trzeba uważać aby nie usunęło też naszych plików niezwiązanych z forum.
Przykład użycia:
/var/discourse/launcher cleanup app
The following command will
- Delete all docker images for old containers
- Delete all stopped and orphan containers
Are you sure (Y/n): y
Starting Cleanup (bytes free 6519496)
Finished Cleanup (bytes free 9029336)
Jak widać jedno odpalenie i przywróciło to nam około 2,5GB miejsca po niedawnej aktualizacji.
kjakkonrad | 2018-11-06 21:52:08 UTC | #32
hej mam apache na porcie 80
Pytanko jak to zainstalować na moim serwerku :D
Pytanko czy da się użyć do mailingu gmail’a przecież tam tez chyba można serwer SMTP skonfigurować D:
error | 2018-11-07 06:49:13 UTC | #33
[quote=”kjakkonrad, post:32, topic:19”]
hej mam apache na porcie 80
Pytanko jak to zainstalować na moim serwerku
[/quote]
Jeśli na tym samym VPSie masz jakąś stronę to https://meta.discourse.org/t/running-other-websites-on-the-same-machine-as-discourse/17247?sourcetopicid=27954
Jeśli na tej maszynie ma być tylko discourse, po prostu wyłącz apache service apache stop
:grin:
kjakkonrad | 2018-11-16 16:04:03 UTC | #34
potrzebuje WWW bo własnie wgrywam sklepik, do tego strona i forum :D
SP24 | 2018-11-16 18:03:05 UTC | #35
Ja polecam ten poradnik https://www.digitalocean.com/community/tutorials/how-to-install-discourse-on-ubuntu-16-04. Co prawda jest on po angielsku, ale myślę, że teraz każdy powinien znać angielski. A tak poza tym to twój poradnik nie jest zły (po prostu pokazuję alternatywę dla osób którym coś nie działa)
anon10657637 | 2018-11-16 19:37:31 UTC | #36
Ale przecież:
[quote=”SystemZ, post:1, topic:19”]
Ten poradnik jest spolszczoną, uproszczoną i skróconą formą oficjalnego poradnika instalacji dostępnego tu
[/quote]
W dodatku w tym co podlinkowałeś piszę wyraźnie:
An Article from Discourse
Źródło jest jedno i to samo.
Dyskurs | 2020-02-07 13:37:10 UTC | #37
Cześć. Mam kilka pytań.
1. Instalował ktoś Discourse na nazwa.pl VPS Start (Konkretnie na Ubuntu ale jeżeli na innym jest łatwiej to okej)?
2. Da się zainstalować Discourse pod nazwą forum.strona.pl w taki sposób aby na stronie strona.pl był WordPress a na forum.strona.pl Discourse?
3. Da się zainstalować kilka Discoursów z kilkoma WP na jednym VPS?
4. Aby zainstalować Discourse potrzebny jest mail płatny tak? Czy może to być mail z home.pl? Mają akurat tanie, czy sam taki mail wystarczy czy trzeba ten mail jeszcze podłączyć do mailgun.com, bo jakiś tam mail przy rejestracji trzeba wpisać, jaki? Czy samo mailgun.com wystarczy?
5. Czy można ominąć zakup maila w ten sposób, że instaluję na VPS serwer pocztowy do którego podepnę domenę na której będzie stał Discourse aby mieć maila np. [email protected] ?
Od kilku dni próbuję zainstalować to wszystko i z góry napiszę, że przejrzałem już wszystkie tutoriale, robię to pierwszy raz, jak na razie udało mi się…
Zainstalowałem Discourse korzystając z mailjet w którym podpiąłem gmaila ale nie przyszedł mi żaden mail z Discoursa aby aktywować konto admina. Czytałem na stronie, że z gmila nie dochodzą.
TheMultii | 2020-02-07 14:12:59 UTC | #38
Czemu chcesz użyć płatnego maila? poste.io jest darmowym, prostym i najłatwiejszym rozwiązaniem. Możesz podpiąć jakikolwiek inny darmowy mail, który już posiadasz, o ile będziesz potrafił wpisać do Discourse’a dane do SMTP. 🤔
(Chociaż gmail chyba wymaga gdzieś w ustawieniach, by zezwolić na takowe użycie)
Dyskurs | 2020-02-07 16:07:57 UTC | #39
Właśnie próbowałem zainstalować forum zgodnie z tym poradnikiem z samej góry oraz przy pomocy sparkpost.
Forum się zainstalowało ale nie w subdomenie jak chciałem tylko pod domeną główną, podczas tworzenia konta admina nie przechodzi dalej, żaden też mail nie wpływa na gmaila.
finish-installation/confirm-email - ta strona nie ładuje się.
Także gdzie może być błąd? Instalowałem na świeżym i zaktualizowanym Ubuntu 18.04 i serwerze VPS Start z nazwa.pl
TheMultii | 2020-02-07 16:32:58 UTC | #40
[quote=”Dyskurs, post:39, topic:19”]
Forum się zainstalowało ale nie w subdomenie jak chciałem tylko pod domeną główną
[/quote]
W takim wypadku, coś popsułeś przy instalacji.
Tu masz napisane o tym na githubie Discourse’a
[quote=”SystemZ, post:1, topic:19”]
Tu discourse.example.com
zamieniamy na naszą domenę lub subdomenę pod którym chcemy aby pojawiło się forum czyli np. mojefajneforum.pl lub mojeforum.hostmc.pl
[/quote]
A dostęp do “mniej bezpiecznych aplikacji” w Gmailu włączysz/przeczytasz o tym tutaj:
https://support.google.com/accounts/answer/6010255?hl=en
error | 2020-02-08 08:37:24 UTC | #41
[quote=”Dyskurs, post:37, topic:19”]
Da się zainstalować Discourse pod nazwą forum.strona.pl w taki sposób aby na stronie strona.pl był WordPress a na forum.strona.pl Discourse?
[/quote]
Da się
[quote=”Dyskurs, post:37, topic:19”]
a się zainstalować kilka Discoursów z kilkoma WP na jednym VPS?
[/quote]
Tak, pod warunkiem że będziesz mieć wystarczającą ilość zasobów (Discourse lubi RAM)
[quote=”Dyskurs, post:37, topic:19”]
Aby zainstalować Discourse potrzebny jest mail płatny tak?
[/quote]
No… niekoniecznie. Ważne, żebyś miał dane do serwera SMTP
[quote=”Dyskurs, post:37, topic:19”]
Czy można ominąć zakup maila w ten sposób, że instaluję na VPS serwer pocztowy do którego podepnę domenę na której będzie stał Discourse aby mieć maila np. [email protected] ?
[/quote]
Można też tak
TG_Pjoter | 2021-04-12 14:02:29 UTC | #42
Serio mailgun jest teraz płatny? Nie mogę dodać domeny.
Damian28w | 2021-04-12 14:10:31 UTC | #43
Poradnik jest z 2016 roku wiec ma już 5 lat, od tej pory mogło sie sporo pozmieniać.
ja obszedłem to tak że na jednym VPS mam forum a na drugim pocztę z poradnika @KrEdEnS
TG_Pjoter | 2021-04-12 14:14:35 UTC | #44
Podesłałbyś mi link do jego poradnika?
Edit: Już mam.