Comment installer Discourse sur Ubuntu?


8

J'ai une machine Ubuntu de rechange qui traîne et je voudrais y installer Discourse .

Comment puis-je faire cela? J'utilise Ubuntu 13.04.


1
Les instructions supposent que vous avez besoin de vagabonds pour installer Ubuntu, et sont apparemment destinées aux personnes utilisant principalement Windows ou Mac et qui bénéficieraient d'une machine virtuelle distincte pour installer et jouer avec le discours. Si Seth a une "machine ubuntu qui traîne" avec 13.04 déjà installé, il peut simplement cloner le dépôt git et le configurer localement.
roadmr

De plus, il est utile pour nous d'avoir des instructions concernant Ubuntu directement sur ce site. Avec un peu de chance, donné par quelqu'un qui l'a fait.
Seth

La configuration des choses localement et manuellement est documentée ici: github.com/discourse/discourse/blob/master/docs/… . Cependant, cela semble un peu complexe, la machine virtuelle vagabonde a tous les services nécessaires (pgsql, redis) déjà préconfigurés, il peut donc être plus facile de commencer.
roadmr

@chaskes ce n'est pas strictement requis, comme décrit dans mon deuxième commentaire, vous pouvez installer et configurer manuellement les services nécessaires. Il semble que l'utilisation de Vagrant soit plus facile.
roadmr

Réponses:


7

Les instructions supposent que vous avez besoin de vagabonds pour installer Ubuntu, et sont apparemment destinées aux personnes utilisant principalement Windows ou Mac et qui bénéficieraient d'une machine virtuelle distincte pour installer et jouer avec le discours. Si Seth a une "machine Ubuntu qui traîne" avec 13.04 déjà installée, il peut simplement cloner le dépôt git et le configurer localement.

La configuration des choses localement et manuellement est documentée ici sur GitHub . Cependant, cela semble un peu complexe, la machine virtuelle vagabonde a tous les services nécessaires (pgsql, redis) déjà préconfigurés, il peut donc être plus facile de commencer.

Cela dit, si vous vous sentez courageux, vous pouvez suivre ces étapes pour installer et configurer des choses sur votre machine Ubuntu locale.

Avertissement, il est une procédure complexe qui implique de nombreuses pièces mobiles, je l' ai testé cette procédure sur un système fraîchement installé 13,04 mais si les choses tournent mal, vous devez être prêt à déchiffrer les messages d'erreur et les choses fixes. Vous devez être à l'aise avec:

  • Installation du package Ubuntu.
  • Édition de fichiers texte.
  • Avoir une certaine connaissance de l'utilisation de Postgres en ligne de commande.
  • Être peu familier avec Ruby, Rails et rubygems.
  • Certains git ne font pas de mal, mais ils ne sont utilisés que pour la phase de clonage initiale

OK, c'est parti

Installez les packages nécessaires:

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

Créez une base de données postgresql et accordez des autorisations à l'utilisateur qui va exécuter le discours (je suppose qu'il s'appelle "john", il pourrait / devrait être votre nom d'utilisateur):

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"

Clonez le référentiel:

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

Utilisez Bundler pour installer des gemmes rubis et des dépendances, y compris des rails:

bundle install

Vous pouvez rencontrer des problèmes de dépendance ici, car d'autres packages peuvent être nécessaires pour créer des extensions natives. Si vous obtenez du texte jaune avec des erreurs à cette étape, consultez les messages d'erreur pour savoir quels packages installer (avec apt-get).

Configurez les données de la base de données (postgres et 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:)

Exécutez les migrations pour initialiser la base de données, puis amorcez-la:

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

puis lancez le serveur web de développement:

bundle exec rails s

Enfin, ouvrez votre navigateur et connectez-vous au serveur de développement local à

http://localhost:3000

Malheureusement, cela n'a pas fonctionné pour moi. J'ai des erreurs avec toutes les commandes du bundle. Ils semblent être causés par des changements apportés au discours depuis que vous avez publié les instructions. Je vais peut-être réessayer et je ne le ferai peut-être pas. Je vous ferai savoir ce qui se passe.
Seth

Eh bien, j'ai purgé et essayé à nouveau et j'ai suivi les instructions similaires ici: 2buntu.com/1332/installing-discourse-on-ubuntu Je ne sais vraiment pas pourquoi cela a fonctionné ..
Seth

L'image Vagrant est la configuration recommandée pour le développement car elle vous permet de lancer et d'exécuter des tests avec un minimum d'effort.
MikeyB

6

Déploiement cloud (avec Juju)

Si vous avez un fournisseur de cloud et que vous souhaitez sauter de nombreux sauts manuels, vous pouvez utiliser le charme Juju !

Après avoir correctement démarré un environnement, exécutez ce qui suit:

juju deploy cs:~marcoceppi/discourse
juju deploy postgresql

Ensuite, créez des relations

juju add-relation discourse postgresql:db-admin

Le discours nécessite db-adminun accès de niveau afin d'activer le plugin hstore. Enfin, exposez le discours:

juju expose discourse

La configuration et d'autres mises en garde peuvent être trouvées dans le README du Charm . Ces options incluent la configuration des administrateurs, où récupérer la source Discourse, l'épinglage de version et d'autres options de réglage.

Avertissement, je suis l'auteur de ce charme.


1
En fait, j'aime mieux cette réponse que la mienne :) (Juju FTW). Ma seule préoccupation serait que vous disiez "si vous avez un fournisseur de cloud", mais l'OP mentionne clairement qu'il n'a qu'une machine Ubuntu de rechange qui traîne. Pourriez-vous peut-être fournir ou indiquer des instructions sur la façon de configurer cette machine isolée en tant que fournisseur de juju? (peut-être l'installer en tant que fournisseur local, je l'ai fait avec plus ou moins de succès). Cela ressemblerait alors à la manière la plus simple de déployer le discours.
roadmr

5

Metal à nu

Je viens de terminer un article décrivant ce processus exact

En résumé, vous devez:

  • Installer et configurer PostgreSQL
  • Installez Redis et Ruby 1.9.3+
  • Clonez le référentiel Discourse Git
  • Faites la configuration appropriée. changements
  • Courir bundle exec rails server

Ceci est obsolète et manque de nombreuses étapes.
Sam Saffron

4

Le projet lui-même contient également de la documentation sur l'installation sur Ubuntu à l'aide de Docker (qui est le seul moyen officiellement pris en charge):

Pour le développement, vous pouvez utiliser ce programme qui est une simple commande unique après avoir installé Docker.


Les instructions liées sont la recommandation officielle pour les déploiements de production. Si vous avez des commentaires ou des suggestions, faites-le nous savoir!
MikeyB

0

Chez Bitnami, nous avons des installateurs complètement Linux pour les machines virtuelles basées sur Discourse et Ubuntu et des images cloud pour Amazon, Azure. Vous pouvez le vérifier sur la page Discours Bitnami

(Avertissement, je suis l'un des développeurs de Bitnami :)


0

Vous pouvez utiliser Cloud 66 EasyDeploy

Cloud 66 EasyDeploy

Ce qui signifie que vous pouvez ensuite déployer Discourse sur AWS, DigitalOcean, Rackspace, Linode ou Joyent en quelques clics (et obtenir beaucoup plus comme les sauvegardes DB, la mise à l'échelle et la surveillance!)

AVERTISSEMENT: je travaille pour Cloud 66.


1
Pourriez-vous fournir des instructions pour ce faire dans votre réponse?
Seth

Ce service est-il gratuit?
jokerdino

Tout ce que vous devez faire pour déployer Discourse avec Cloud 66 est de vous inscrire à un compte sur cloud66.com et d'utiliser l'URL Git pour créer une nouvelle pile. L'ensemble du processus est un assistant, il devrait donc être très simple et vous pouvez trouver l'aide générale de Cloud 66 Stack sur help.cloud66.com/getting-started/your-first-stack.html
Khash

Vous pouvez trouver des informations sur les fonctionnalités et les prix sur www.cloud66.com
Khash
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.