Kërkesat
Konfiguro skedarin e shkëmbimit
Instaloni Docker
Instaloni Diskursin
Konfiguro diskursin
Bootstrap dhe filloni Diskursin
Hapni Diskursin në shfletuesin tuaj
Zgjidhja e problemeve
Discourse është një zgjidhje e re e forumit me burim të hapur, e cila është e thjeshtë, e pastër dhe e drejtpërdrejtë. Ai zbatohet me Ruby on Rails, një bazë të dhënash Postgres dhe një memorie të serverit Redis. Ky tutorial përshkruan se si të instaloni Discourse në një Vultr VPS me CentOS 7.
Kërkesat
- Vultr VPS me minimum 1 GB RAM.
- CentOS 7 x64 i instaluar në VPS.
Konfiguro skedarin e shkëmbimit
Duhet të konfiguroni shkëmbimin për një VPS RAM 1 GB. Nëse VPS-ja juaj ka më shumë se 1 GB RAM, mund ta kaloni këtë hap. Ne do të krijojmë një skedar këmbimi 2 GB për 1 GB RAM VPS.
Krijo skedarin e shkëmbimit.
dd if=/dev/zero of=/swapfile bs=1M count=2048
mkswap /swapfile
chmod 600 /swapfile
Ndryshoni fstab për të shtuar skedarin swap në tabelën e sistemeve të skedarëve.
Hapni fstab me vi:
vi /etc/fstab
Shtoni rreshtin e mëposhtëm në skedar:
/swapfile swap swap defaults 0 0
Cakto politikën e përdorimit të shkëmbimit. Përdorni skedarin swap vetëm kur memoria e sistemit është e ulët.
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
Aktivizo skedarin e shkëmbimit.
mount -a
swapon -a
Kontrolloni gjendjen e skedarit të shkëmbimit.
swapon -s
Nëse skedari i shkëmbimit është aktivizuar, do të shihni informacionin e mëposhtëm.
Filename Type Size Used Priority
/swapfile file 2097148 0 -1
Instaloni Docker
Drejtoni komandën më poshtë për të instaluar Docker në CentOS 7.
yum install docker
Nëse e keni çaktivizuar SELinux, është më mirë ta çaktivizoni edhe në docker.
vi /etc/sysconfig/docker
Komentoni rreshtin 4.
#OPTIONS='--selinux-enabled'
Filloni shërbimin docker.
systemctl start docker
systemctl enable docker
Ju lutemi vini re se nëse rindizni murin e zjarrit, do t'ju duhet gjithashtu rinisja e dokerit. Sepse firewalld do të heqë zinxhirin docker nga iptables kur të riniset.
Instaloni Diskursin
Krijoni një dosje me emrin discoursenën /vardhe klononi depon e Diskursit.
mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
Shkoni te discoursedosja.
cd /var/discourse
Kopjoni skedarin e shabllonit të konfigurimit të Diskursit në dosjen e kontejnerëve.
cp samples/standalone.yml containers/app.yml
Hapni app.ymlme vi.
vi containers/app.yml
Nëse jeni duke përdorur një VPS 1 GB, caktoni bufferin e përbashkët db si 128 MB në app.yml.
db_shared_buffers: "128MB"
Ndrysho UNICORN_WORKERSnë 2 për një shembull RAM 1 GB.
## With 2GB we recommend 3-4 workers, with 1GB only 2
UNICORN_WORKERS: 2
Vendosni adresën tuaj të emailit për llogarinë e administratorit. Do t'ju duhet ky email për të regjistruar llogarinë e administratorit në forumin tuaj të Diskursit.
DISCOURSE_DEVELOPER_EMAILS: 'you@youremail.com'
Vendosni emrin e domenit për Diskursin. Për shembull, ne e vendosëm si discourse.example.com, që do të thotë se do të ishte i aksesueshëm në URL http://discourse.example.com/.
## TODO: The domain name this Discourse instance will respond to
DISCOURSE_HOSTNAME: 'discourse.example.com'
Konfiguro serverin tuaj të postës për Diskursin.
Nëse serveri juaj i postës është në të njëjtin server me Discourse, konfiguroni atë si më poshtë.
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
Nëse përdorni një server SMTP në distancë, ju lutemi modifikoni app.ymlsi më poshtë.
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)
Ruani dhe dilni app.yml.
Bootstrap dhe filloni Diskursin
Ekzekutoni komandën më poshtë për të nisur Diskursin.
./launcher bootstrap app
Pasi të ketë përfunduar procesi i bootstrapping, filloni Discourse.
./launcher start app
Hapni Diskursin në shfletuesin tuaj
Në kompjuterin tuaj të klientit, futni emrin e domenit që keni konfiguruar për Discourse in app.yml. Ju do të shihni shembullin tuaj të Diskursit.
Zgjidhja e problemeve
- Si parazgjedhje, Docker do të dëgjojë në portin 80. Nëse porta 80 është përdorur tashmë nga Nginx ose Apache, ju duhet ta zhvendosni atë shërbim në një port tjetër; ose ndryshoni Docker në një port tjetër. Për shembull, ndryshoni "80:80" në "8080:80" për
app.ymlta bërë Docker të dëgjojë në portin 8080.
- Në 1 GB RAM VPS, mund të dështojë të përditësojë Diskursin në versionin e ri dhe do të shihni një "502 Bad Gateway" kur të hyni në Discourse. Zgjidhja e thjeshtë për këtë çështje është të vraponi
./launcher rebuild apppër të rindërtuar shembullin tuaj të Diskursit.