Discourse es un software de debate de próxima generación de código abierto escrito en JavaScript y Ruby on Rails. Discourse está construido por el equipo detrás de las redes Stack Exchange y Stack Overflow.
Hoy, lo guiaremos a través del proceso de instalación y configuración de Discourse en Ubuntu 12.04 LTS.
Inicie sesión en su servidor usando SSH
ssh username@hostname
Actualice el sistema e instale todos los paquetes necesarios.
~ # ❯❯❯ sudo apt-get -y update && apt-get -y upgrade ~ # ❯❯❯ sudo apt-get -y install build-essential libssl-dev libyaml-dev git libtool \ libxslt-dev libxml2-dev libpq-dev gawk curl pngcrush \ imagemagick python-software-properties sed
Crear un nuevo usuario de Discourse:
~ # ❯❯❯ sudo adduser --shell /bin/bash --gecos 'Discourse application' discourse ~ # ❯❯❯ sudo install -d -m 755 -o discourse -g discourse /var/www/discourse ~ # ❯❯❯ sudo usermod -a -G sudo discourse
Instale la última versión de PostgreSQL y cree un usuario de base de datos de discurso
~ # ❯❯❯ sudo apt-get -y install postgresql postgresql-contrib ~ # ❯❯❯ sudo -u postgres createuser -s discourse ~ # ❯❯❯ sudo -u postgres psql -c "alter user discourse password 'DiscoursePazzW0rt';"
Instalar la última versión de Redis
~ # ❯❯❯ sudo add-apt-repository -y ppa:rwky/redis ~ # ❯❯❯ sudo apt-get update ~ # ❯❯❯ sudo apt-get install -y redis-server
Instalar la última versión de Nginx
~ # ❯❯❯ sudo add-apt-repository -y ppa:nginx/stable ~ # ❯❯❯ sudo apt-get update ~ # ❯❯❯ sudo apt-get install -y nginx
Establezca los procesos_trabajadores en la cantidad de procesadores en su sistema. Para averiguar la cantidad de procesadores en su sistema y configurar los procesos_trabajadores, ejecute el siguiente comando:
~ # ❯❯❯ sudo sed -i "0,/^worker_processes/ s/^worker_processes .*$/worker_processes `grep -c processor /proc/cpuinfo`;/" /etc/nginx/nginx.conf
Instalar un servidor de correo
~ # ❯❯❯ sudo apt-get install -y postfix
Para obtener instrucciones más detalladas sobre cómo configurar un servidor de correo, haga clic aquí
Cambiar al usuario de discurso
~ # ❯❯❯ sudo su - discourse
Instalar Ruby usando RVM
discourse@rh:~$ \curl -s -S -L https://get.rvm.io | bash discourse@rh:~$ source ~/.rvm/scripts/rvm discourse@rh:~$ rvm install ruby
Para verificar que todo se haya hecho correctamente, use el comando "ruby -v".
El resultado debe ser similar al siguiente:
discourse@rh:~$ ruby --version ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]
Instalar paquete
discourse@rh:~$ gem install bundler
Configurar Bluepill
gem install bluepill discourse@rh:~$ echo 'alias bluepill="NOEXEC_DISABLE=1 bluepill --no-privileged -c ~/.bluepill"' >> ~/.bashrc discourse@rh:~$ source ~/.bashrc discourse@rh:~$ rvm wrapper $(rvm current) bootup bluepill discourse@rh:~$ rvm wrapper $(rvm current) bootup bundle
agregar Bluepill a crontab
crontab -e @reboot RUBY_GC_MALLOC_LIMIT=90000000 RAILS_ROOT=/var/www/discourse RAILS_ENV=production NUM_WEBS=2 /home/discourse/.rvm/bin/bootup_bluepill --no-privileged -c ~/.bluepill load /var/www/discourse/config/discourse.pill
Descargar el último código de Discourse
discourse@rh:~$ cd /var/www/discourse discourse@rh:~$ git clone git://github.com/discourse/discourse.git . # do not forget the dot at the end discourse@rh:~$ bundle install --deployment --without test
Configurar Discurso
Copie los archivos de configuración de ejemplo
discourse@rh:~$ cp config/discourse_quickstart.conf config/discourse.conf discourse@rh:~$ cp config/discourse.pill.sample config/discourse.pill
Edite el archivo speech.conf
vim config/discourse.conf
- Cambie el nombre de host (por ejemplo:suSub.dominio.org)
- Establezca la contraseña para el usuario de Speech DB:db_password (por ejemplo:DiscoursePazzW0rt)
- Establecer las opciones de configuración de correo
Inicializar la base de datos de Discourse
cd /var/www/discourse discourse@rh:~$ createdb discourse_prod discourse@rh:~$ RUBY_GC_MALLOC_LIMIT=90000000 RAILS_ENV=production bundle exec rake db:migrate discourse@rh:~$ RUBY_GC_MALLOC_LIMIT=90000000 RAILS_ENV=production bundle exec rake assets:precompile
Iniciar Discurso
RUBY_GC_MALLOC_LIMIT=90000000 RAILS_ROOT=/var/www/discourse RAILS_ENV=production NUM_WEBS=2 bluepill --no-privileged -c ~/.bluepill load /var/www/discourse/config/discourse.pill
Configurar Nginx
discourse@rh:~$ sudo cp /var/www/discourse/config/nginx.global.conf /etc/nginx/conf.d/local-server.conf discourse@rh:~$ sudo cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/sites-available/discourse.conf discourse@rh:~$ sudo ln -s /etc/nginx/sites-available/discourse.conf /etc/nginx/sites-enabled/discourse.conf discourse@rh:~$ sudo vim /etc/nginx/sites-enabled/discourse.conf # change the server_name (ex: yourSub.domain.org) discourse@rh:~$ sudo /etc/init.d/nginx restart
Cree una cuenta de administrador
Abra el navegador de su elección, navegue hasta su dominio (p. ej., suSub.dominio.org), haga clic en Iniciar sesión y cree una nueva cuenta.
Volver al indicador de shell
cd /var/www/discourse discourse@rh:~$ RAILS_ENV=production bundle exec rails c 2.1.0 :001 > me = User.find_by_username_or_email('[email protected]') 2.1.0 :002 > me.activate 2.1.0 :003 > me.admin = true 2.1.0 :004 > me.save 2.1.0 :004 > SiteSetting.site_contact_username = me.username
Eso es todo. Se crea la cuenta de administrador y ahora puede comenzar a usar su nuevo foro.
Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS de Linux, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo instalen en su servidor por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.