ฉันจะติดตั้ง Discourse บน Ubuntu ได้อย่างไร


8

ฉันมีเครื่อง Ubuntu อะไหล่โกหกรอบและฉันต้องการที่จะติดตั้งวาทกรรมเกี่ยวกับมัน

ฉันจะทำสิ่งนี้ได้อย่างไร ฉันใช้ Ubuntu 13.04


1
คำแนะนำจะถือว่าคุณต้องมีคนพเนจรติดตั้ง Ubuntu และเห็นได้ชัดว่ามุ่งเน้นไปที่คนส่วนใหญ่ที่ใช้ Windows หรือ Mac และผู้ที่จะได้รับประโยชน์จาก VM แยกต่างหากเพื่อติดตั้งและเล่นด้วยวาทกรรม ถ้าเซทมี "เครื่องอูบุนตูที่วางอยู่รอบ ๆ " ซึ่งมีการติดตั้ง 13.04 ไว้แล้วเขาสามารถโคลน repo git และตั้งค่าในเครื่องได้
roadmr

นอกจากนี้ยังมีประโยชน์สำหรับเราที่จะมีคำแนะนำเกี่ยวกับ Ubuntu โดยตรงบนเว็บไซต์นี้ หวังว่าจะได้รับจากคนที่ทำสิ่งนี้
เซท

การตั้งค่าสิ่งขึ้นทั้งในประเทศและตนเองเป็นเอกสารที่นี่: github.com/discourse/discourse/blob/master/docs/... อย่างไรก็ตามมันดูค่อนข้างซับซ้อน VM คนจรจัดมีบริการที่จำเป็นทั้งหมด (pgsql, redis) ที่กำหนดค่าไว้ล่วงหน้าแล้วดังนั้นจึงอาจเริ่มต้นได้ง่ายขึ้น
roadmr

@chaskes ไม่จำเป็นอย่างเคร่งครัดดังที่อธิบายไว้ในความคิดเห็นที่สองของฉันคุณสามารถติดตั้งและกำหนดค่าบริการที่จำเป็นด้วยตนเอง มันดูเหมือนว่าใช้ Vagrant ง่ายกว่า
roadmr

คำตอบ:


7

คำแนะนำจะถือว่าคุณต้องมีคนพเนจรติดตั้ง Ubuntu และเห็นได้ชัดว่ามุ่งเน้นไปที่คนส่วนใหญ่ที่ใช้ Windows หรือ Mac และผู้ที่จะได้รับประโยชน์จาก VM แยกต่างหากเพื่อติดตั้งและเล่นด้วยวาทกรรม หาก Seth มี "เครื่องอูบุนตูที่วางอยู่รอบ ๆ " ซึ่งมีการติดตั้ง 13.04 ไว้แล้วเขาสามารถโคลน repo git และตั้งค่าในเครื่องได้

การตั้งค่าสิ่งขึ้นทั้งในประเทศและตนเองเป็นเอกสารที่นี่บน GitHub อย่างไรก็ตามมันดูค่อนข้างซับซ้อน VM คนจรจัดมีบริการที่จำเป็นทั้งหมด (pgsql, redis) ที่กำหนดค่าไว้ล่วงหน้าแล้วดังนั้นจึงอาจเริ่มต้นได้ง่ายขึ้น

ที่กล่าวว่าหากคุณรู้สึกกล้าคุณสามารถทำตามขั้นตอนเหล่านี้เพื่อติดตั้งและกำหนดค่าสิ่งต่าง ๆ บนเครื่อง Ubuntu ในพื้นที่ของคุณ

ข้อจำกัดความรับผิดชอบมันเป็นกระบวนการที่ซับซ้อนที่เกี่ยวข้องกับชิ้นส่วนที่เคลื่อนไหวได้หลายอย่างฉันได้ทดสอบขั้นตอนนี้ในระบบ 13.04 ที่เพิ่งติดตั้งใหม่ แต่ถ้าสิ่งต่าง ๆ ผิดพลาดคุณควรเตรียมพร้อมที่จะแยกแยะข้อความแสดงข้อผิดพลาดและแก้ไขสิ่งต่างๆ คุณควรจะพอใจกับ:

  • การติดตั้งแพ็คเกจ Ubuntu
  • การแก้ไขไฟล์ข้อความ
  • มีความรู้เกี่ยวกับการใช้ commandline ของ Postgres
  • มีความคุ้นเคยน้อยที่สุดกับ Ruby, Rails และ rubygems
  • คอมไพล์บางตัวไม่เจ็บ แต่ใช้สำหรับการโคลนเริ่มต้นเท่านั้น

ตกลงไปเลย

ติดตั้งแพ็คเกจที่ต้องการ:

sudo apt-get install git ruby ruby-bundler build-essential libxml2-dev libxslt1-dev redis-server postgresql libpq-dev postgresql-contrib-9.1

สร้างฐานข้อมูล postgresql และให้สิทธิ์แก่ผู้ใช้ที่กำลังเรียกใช้วาทกรรม (ฉันจะถือว่าชื่อ "john" อาจเป็นหรือควรเป็นชื่อผู้ใช้ของคุณ ):

sudo -u postgres createdb discourse_development
sudo -u postgres psql -c "create user john with password 'whatever' "
sudo -u postgres psql -c "grant all privileges on database discourse_development to john"
#This is a bit of postgresql magic to add the required hstore and pg_trgm extensions
sudo -u postgres psql discourse_development -c "create extension hstore; create extension pg_trgm"

โคลนที่เก็บ:

git clone https://github.com/discourse/discourse
cd discourse

ใช้ Bundler เพื่อติดตั้งพลอยทับทิมและการพึ่งพารวมถึงราง:

bundle install

คุณอาจพบปัญหาการพึ่งพาที่นี่เนื่องจากอาจจำเป็นต้องใช้แพ็คเกจอื่นเพื่อสร้างส่วนขยายดั้งเดิม หากคุณได้รับข้อความสีเหลืองพร้อมข้อผิดพลาดในขั้นตอนนี้ให้ดูที่ข้อความแสดงข้อผิดพลาดเพื่อดูว่าจะติดตั้งแพคเกจใด (ด้วย apt-get)

กำหนดค่าข้อมูลฐานข้อมูล (postgres และ redis):

cp config/redis.yml.sample config/redis.yml
cp config/database.yml.sample config/database.yml
# Now edit config/database.yml and in the discourse_development section add
# username: john
# password: whatever
# Follow the format for the other entries (adapter:, database:)

เรียกใช้การย้ายข้อมูลเพื่อเริ่มต้นฐานข้อมูลจากนั้นทำการขยาย:

bundle exec rake db:migrate
bundle exec rake db:seed_fu
sudo -u postgres psql discourse_development < pg_dumps/production-image.sql

จากนั้นเปิดตัวเว็บเซิร์ฟเวอร์การพัฒนา:

bundle exec rails s

ในที่สุดเปิดเบราว์เซอร์ของคุณและเชื่อมต่อกับเซิร์ฟเวอร์ dev ท้องถิ่นที่

http://localhost:3000

น่าเสียดายที่นี่ไม่ได้ผลสำหรับฉัน ฉันพบข้อผิดพลาดกับคำสั่งบันเดิลทั้งหมด ดูเหมือนว่าเกิดจากการเปลี่ยนแปลงของวาทกรรมตั้งแต่คุณโพสต์เส้นทาง ฉันอาจลองอีกครั้งและอาจไม่ .. ฉันจะแจ้งให้คุณทราบว่าเกิดอะไรขึ้น
เซท

ดีฉันกำจัดและลองอีกครั้งและทำตามคำแนะนำที่คล้ายกันที่นี่: 2buntu.com/1332/installing-discourse-on-ubuntuฉันไม่แน่ใจจริงๆว่าทำไมผู้ที่ทำงาน ..
เซท

อิมเมจ Vagrant เป็นการตั้งค่าที่แนะนำสำหรับการพัฒนาเนื่องจากจะช่วยให้คุณเริ่มการทดสอบได้อย่างง่ายดาย
MikeyB

6

การปรับใช้คลาวด์ (พร้อม Juju)

หากคุณมีผู้ให้บริการคลาวด์และต้องการข้ามการกระโดดด้วยตนเองจำนวนมากคุณสามารถใช้เสน่ห์ Juju ได้ !

หลังจากที่คุณบูตสภาพแวดล้อมสำเร็จให้รันสิ่งต่อไปนี้:

juju deploy cs:~marcoceppi/discourse
juju deploy postgresql

จากนั้นสร้างความสัมพันธ์

juju add-relation discourse postgresql:db-admin

การสนทนาต้องการdb-adminการเข้าถึงระดับเพื่อเปิดใช้งานปลั๊กอิน hstore ในที่สุดเปิดเผยวาทกรรม:

juju expose discourse

การกำหนดค่าและคำเตือนอื่น ๆ ที่สามารถพบได้ในREADME เสน่ห์ของ ตัวเลือกเหล่านี้รวมถึงการกำหนดค่าผู้ดูแลระบบที่จะดึงแหล่งที่มาของวาทกรรมการตรึงเวอร์ชันและตัวเลือกการปรับแต่งอื่น ๆ

ข้อจำกัดความรับผิดชอบฉันเป็นผู้เขียนของเสน่ห์นี้


1
ฉันชอบคำตอบนี้ดีกว่าของฉัน :) (Juju FTW) สิ่งเดียวที่ฉันกังวลก็คือคุณกำลังพูดว่า "ถ้าคุณมีผู้ให้บริการคลาวด์" แต่ OP ระบุว่าเขามีเครื่อง Ubuntu สำรองอยู่ คุณสามารถให้หรือชี้ไปที่คำแนะนำเกี่ยวกับวิธีตั้งค่าเครื่องโดดเดี่ยวนี้ในฐานะผู้ให้บริการ juju ได้หรือไม่? (อาจตั้งค่าเป็นผู้ให้บริการในพื้นที่ฉันได้ทำสิ่งนี้ด้วยความสำเร็จหลายระดับ) จากนั้นจะเป็นวิธีที่ง่ายที่สุดในการปรับใช้วาทกรรม
roadmr

5

โลหะเปลือย

ฉันเพิ่งเสร็จสิ้นบทความอธิบายกระบวนการที่แน่นอนนี้

โดยสรุปคุณจะต้อง:

  • ติดตั้งและกำหนดค่า PostgreSQL
  • ติดตั้ง Redis และ Ruby 1.9.3+
  • โคลนที่เก็บ Discourse Git
  • ทำการกำหนดค่าที่เหมาะสม การเปลี่ยนแปลง
  • วิ่ง bundle exec rails server

สิ่งนี้ล้าสมัยและขาดหลายขั้นตอน
Sam Saffron

4

ตัวโครงการเองยังมีเอกสารเกี่ยวกับวิธีการติดตั้งบน Ubuntu โดยใช้ Docker (ซึ่งเป็นวิธีเดียวที่รองรับอย่างเป็นทางการ):

สำหรับการพัฒนาคุณสามารถใช้โปรแกรมนี้ซึ่งเป็นคำสั่งเดียวอย่างง่ายหลังจากคุณติดตั้ง Docker


คำแนะนำที่เชื่อมโยงเป็นคำแนะนำอย่างเป็นทางการสำหรับการปรับใช้การผลิต หากคุณมีข้อเสนอแนะหรือข้อเสนอแนะโปรดแจ้งให้เราทราบ!
MikeyB

0

ที่ Bitnami เรามีเครื่องมือติดตั้ง Linux สำหรับ Discourse และเครื่องเสมือนบน Ubuntu และอิมเมจคลาวด์สำหรับ Amazon, Azure คุณสามารถตรวจสอบได้ที่หน้าคำอธิบายของ Bitnami

(ข้อจำกัดความรับผิดชอบฉันเป็นหนึ่งในนักพัฒนาของ Bitnami :)


0

คุณสามารถใช้Cloud 66 EasyDeploy

Cloud 66 EasyDeploy

ซึ่งหมายความว่าคุณสามารถปรับใช้ Discourse บน AWS, DigitalOcean, Rackspace, Linode หรือ Joyent ด้วยการคลิกเพียงไม่กี่ครั้ง (และได้รับมากขึ้นเช่นการสำรองข้อมูล DB, การปรับขนาดและการตรวจสอบด้วย!)

การปฏิเสธความรับผิด: ฉันทำงานกับ Cloud 66


1
คุณสามารถให้คำแนะนำในการทำสิ่งนี้ภายในคำตอบของคุณ
เซท

บริการนี้ไม่มีค่าใช้จ่ายหรือไม่
jokerdino

สิ่งที่คุณต้องทำเพื่อปรับใช้ Discourse ด้วย Cloud 66 คือการสมัครบัญชีที่ cloud66.com และใช้ Git URL เพื่อสร้างสแต็กใหม่ กระบวนการทั้งหมดเป็นตัวช่วยสร้างดังนั้นควรตรงไปตรงมามากและคุณสามารถค้นหาความช่วยเหลือทั่วไปของ Cloud 66 Stack ได้ที่help.cloud66.com/getting-started/your-first-stack.html
Khash

คุณสามารถค้นหาข้อมูลเกี่ยวกับคุณสมบัติและราคาได้ที่ www.cloud66.com
Khash
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.