Cómo instalar Diaspora Descentralized Social Media en Debian 10

Inicie los servicios Redis y PostgreSQL

Diaspora es una red social distribuida, consciente de la privacidad y de código abierto. Consiste en un grupo de nodos de propiedad y despliegue independientes que interoperan para crear la red. Diaspora es una red social que se centró en tres filosofías, descentralización, libertad y privacidad.

En este tutorial, le mostraremos cómo instalar la red social distribuida Diaspora en Debian Buster 10. Instalaremos Diaspora con el servidor web Nginx y el servidor de base de datos PostgreSQL. Además, aseguraremos la instalación de Diaspora usando SSL Letsencrypt.

requisitos previos

  • Debian destructor 10
  • M√≠nimo 2 GB de RAM
  • Privilegios de ra√≠z

¬ŅQue haremos?

  • Instalar dependencias de paquetes
  • Crear un nuevo usuario de PostgreSQL para Diaspora
  • Crear nuevo usuario
  • Instalar Ruby con RVM (Administrador de versiones de Ruby)
  • Instalar y configurar la red social descentralizada Diaspora
  • Configurar Diaspora como un servicio de Systemd
  • Configure Nginx como un proxy inverso para la di√°spora
  • Pruebas

Paso 1: instalar las dependencias de los paquetes

Primero, instalaremos algunas dependencias de paquetes para nuestra instalación de Diaspora, incluido el servidor web PostgreSQL, Redis y Nginx.

Instale las dependencias de los paquetes usando el comando apt a continuación.

sudo apt-get install build-essential cmake gnupg2 libssl-dev libcurl4-openssl-dev libxml2-dev libxslt-dev imagemagick ghostscript curl libmagickwand-dev git libpq-dev redis-server nodejs postgresql

Una vez que se complete toda la instalación, inicie los servicios PostgreSQL, Nginx y Redis, luego agréguelos todos al arranque del sistema.

systemctl start redis-server
systemctl enable redis-server

systemctl start postgresql
systemctl enable postgresql


Como resultado, algunas dependencias de paquetes para la instalación de Diaspora se instalaron en Debian Buster 10.

Inicie los servicios Redis y PostgreSQL

Paso 2: crear un nuevo usuario de PostgreSQL para Diaspora

En este paso, cambiaremos la contrase√Īa del usuario ‘postgres’ predeterminado y crearemos un nuevo usuario de PostgreSQL para Diaspora.

Inicie sesi√≥n en el shell de PostgreSQL usando el comando ‘psql’ a continuaci√≥n.

sudo -i -u postgres psql

Cambie la contrase√Īa del usuario predeterminado ‘postgres’ usando la siguiente consulta.

\password postgres

Ahora escriba su nueva contrase√Īa y repita, y la contrase√Īa para el usuario predeterminado ‘postgres‘ ha sido configurado.

A continuaci√≥n, cree un nuevo usuario ‘di√°spora’ con el privilegio ‘CREADODB‘ para crear una base de datos utilizando la consulta de PostgreSQL a continuaci√≥n.

CREATE USER diaspora WITH CREATEDB PASSWORD 'yourpassword';

Escribe ‘SALIDA‘ para cerrar sesi√≥n en el shell de PostgreSQL.

Crear nueva base de datos para la di√°spora

Como resultado, se ha creado el nuevo usuario de PostgreSQL para Diaspora.

Paso 3 – Crear un nuevo usuario

Despu√©s de crear el usuario de la base de datos PostgreSQL, crearemos un nuevo usuario del sistema llamado ‘diaspora’ y lo agregaremos al grupo sudo.

Cree un nuevo usuario llamado ‘diaspora’ y configure la contrase√Īa con el siguiente comando.

adduser --disabled-login Diaspora
passwd diaspora

Ahora agregue el usuario ‘di√°spora’ al grupo ‘sudo’.

usermod -a -G sudo diaspora

Como resultado, el usuario de la ‘di√°spora’ podr√° ejecutar el comando ‘sudo’ para obtener los privilegios de root.

Crear di√°spora de usuarios del sistema

Paso 4: instale RVM y Ruby

Antes de continuar, inicie sesi√≥n en el usuario ‘di√°spora’ usando el siguiente comando.

su - diaspora

A continuaci√≥n, instalaremos RVM (Ruby Version Manager) e instalaremos Ruby 2.6 para el usuario ‘diaspora’.

Agregue la clave GPGP para los paquetes RVM usando el siguiente comando.

gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Importar clave GPG para paquetes RVM

Ahora instale el RVM (Ruby Version Manager) usando el siguiente comando.

curl -sSL https://get.rvm.io | bash -s stable

Escriba su contrase√Īa para el usuario ‘di√°spora’ y presione Entrar.

Una vez completada toda la instalación, cargue el script rvm en su servidor.

source /home/diaspora/.rvm/scripts/rvm

Como resultado, puede ejecutar el comando rvm para instalar Ruby.

Instalar RVM Ruby Version Manager

Instale Ruby 2.6 usando el comando rvm a continuación.

rvm install 2.6

Una vez completada toda la instalación, verifique su versión de Ruby.

ruby -v

A continuación se muestra el resultado que obtendrá.

Instale Ruby 2.6 usando RVM Ruby Version Manager

Como resultado, se complet√≥ la instalaci√≥n de RVM y Ruby bajo el usuario ‘diaspora’.

Paso 5: descarga y configura Diaspora

Antes de continuar, aseg√ļrese de haber iniciado sesi√≥n con el usuario ‘diaspora’.

Descargue el código fuente de Diaspora usando el comando git y acceda a él.

git clone -b master https://github.com/diaspora/diaspora.git
cd diaspora

Ahora copie la muestra de la configuraci√≥n de la base de datos ‘database.yml’ y la configuraci√≥n de la di√°spora ‘diaspora.yml’.

cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml

Luego, edite la configuraci√≥n de la base de datos ‘database.yml’ usando el editor vim.

vim config/database.yml

En la secci√≥n de la base de datos ‘PostgreSQL’, cambie el nombre de usuario y la contrase√Īa detallados con sus datos.

postgresql: &postgresql
  adapter: postgresql
  host: "localhost"
  port: 5432
  username: "diaspora"
  password: "yourpassword"
  encoding: unicode

Guardar y cerrar.

A continuaci√≥n, edite la configuraci√≥n de di√°spora ‘diaspora.yml’.

vim config/diaspora.yml

Cambie la configuraci√≥n como se muestra a continuaci√≥n y aseg√ļrese de que el nombre de dominio sea el suyo propio.

configuration: ## Section
...
  environment: ## Section
...
    url: "https://pod.hakase-labs.to/"
    certificate_authorities: '/etc/ssl/certs/ca-certificates.crt'
    require_ssl: true
...
  server: ## Section
    rails_environment: 'production'
...

Guardar y cerrar.

Luego, instale las bibliotecas gem y ruby ‚Äč‚Äčnecesarias para Diaspora usando los siguientes comandos.

gem install bundler
script/configure_bundler
bin/bundle install --full-index

Instalar bibliotecas de la di√°spora

Después de eso, ejecute la migración de la base de datos para Diaspora.

RAILS_ENV=production bundle exec rake db:create db:migrate

Una vez que todo esté completo, compile todas las canalizaciones de activos de Rails con el siguiente comando.

RAILS_ENV=production bin/rake assets:precompile

Y la instalación de Diaspora se ha completado.

Paso 6: configure Diaspora como un servicio

Después de instalar Diaspora, configuraremos Diaspora como un servicio systemd.

Ahora vaya al directorio ‘/etc/systemd/system’ y cree un nuevo archivo de servicio de unidades de agrupaci√≥n ‘diaspora.target’ usando el editor vim.

cd /etc/systemd/system/
vim diaspora.target

Pegue la siguiente configuración en él.

[Unit]
Description=Diaspora social network
Wants=postgresql.service
Wants=redis-server.service
After=redis-server.service
After=postgresql.service

[Install]
WantedBy=multi-user.target


Guardar y cerrar.

A continuaci√≥n, cree un nuevo archivo de servicio para la Di√°spora llamado ‘diaspora-web.service’ usando el editor vim.

vim diaspora-web.service

Pegue la siguiente configuración en él.

[Unit]
Description=Diaspora social network (unicorn)
PartOf=diaspora.target
StopWhenUnneeded=true

[Service]
User=diaspora
Environment=RAILS_ENV=production
WorkingDirectory=/home/diaspora/diaspora
ExecStart=/bin/bash -lc ¬ębin/bundle exec unicorn -c config/unicorn.rb -E production¬Ľ
Restart=always

[Install]
WantedBy=diaspora.target


Guardar y cerrar.

Luego, cree un nuevo archivo de servicio ‘diaspora-sidekiq.service’ para el servicio de monitoreo usando el comando vim a continuaci√≥n.

vim diaspora-sidekiq.service

Pegue la siguiente configuración.

[Unit]
Description=Diaspora social network (sidekiq)
PartOf=diaspora.target
StopWhenUnneeded=true

[Service]
User=diaspora
Environment=RAILS_ENV=production
WorkingDirectory=/home/diaspora/diaspora
ExecStart=/bin/bash -lc ¬ębin/bundle exec sidekiq¬Ľ
Restart=always

[Install]
WantedBy=diaspora.target


Guardar y cerrar.

Ahora vuelva a cargar el administrador systemd y agregue todos los servicios de la di√°spora al arranque del sistema.

sudo systemctl daemon-reload
sudo systemctl enable diaspora.target diaspora-sidekiq.service diaspora-web.service

Configurar Diaspora como un servicio de Systemd

Luego inicie el servicio Diaspora usando el siguiente comando.

systemctl start diaspora.target

El ‘diaspora.target’ iniciar√° autom√°ticamente otros servicios, el ‘diaspora-web.service’ y el ‘diaspora-sidekiq.service’.

Verifique los servicios de la di√°spora usando el siguiente comando.

systemctl status diaspora-web
systemctl status diaspora-sidekiq

A continuación se muestra el resultado que obtendrá.

Iniciar el servicio de la di√°spora

Como resultado, Diaspora ahora está funcionando como un servicio de systemd. Y finalmente, se ha completado la configuración de la Diáspora.

Paso 7: generar SSL Letsencrypt

Para este tutorial, aseguraremos nuestra instalación de Diaspora usando SSL Letsencrypt. en este paso, instalaremos la herramienta certbot y generaremos SSL Letsencrypt para la instalación de nuestro dominio Diaspora.

Instale Certbot usando el comando apt a continuación.

sudo apt install certbot

Una vez que se complete toda la instalación, genere el SSL Letsencrypt para su nombre de dominio de Diaspora usando el comando certbot a continuación.

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d pod.hakase-labs.to

Ahora su certificado estar√° disponible en el directorio ‘/etc/letsencrypt/live/yourdomain.com/’.

Paso 8 – Crear nuevo usuario y descargar Diaspora

En este paso, instalaremos y configuraremos el servidor web Nginx como proxy inverso para Diaspora.

Instale Nginx usando el comando apt a continuación.

sudo apt install nginx

Una vez completada toda la instalaci√≥n, vaya al directorio ‘/etc/nginx/sites-available’ y cree una nueva configuraci√≥n de host virtual ‘diaspora’ usando el editor vim.

cd /etc/nginx/sites-available/
vim diaspora

Cambie el nombre de dominio y la ruta de SSL Letsencrypt por los suyos propios, luego péguelos.

upstream diaspora_server {
 server unix:/home/diaspora/diaspora/tmp/diaspora.sock;
}

server {
listen 80;
listen [::]:80;
server_name pod.hakase-labs.to;
return 301 https://pod.hakase-labs.to$request_uri;

access_log /dev/null;
error_log /dev/null;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name pod.hakase-labs.to;

access_log /var/log/nginx/dspr-access.log;
error_log /var/log/nginx/dspr-error.log;

ssl_certificate /etc/letsencrypt/live/pod.hakase-labs.to/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/pod.hakase-labs.to/privkey.pem;

ssl_protocols TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+AESGCM:EECDH+AES;
ssl_ecdh_curve X25519:P-521:P-384:P-256;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;

root /home/diaspora/diaspora/public;

client_max_body_size 5M;
client_body_buffer_size 256K;

try_files $uri @diaspora;

location /assets/ {
expires max;
add_header Cache-Control public;
}

location @diaspora {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://diaspora_server;
}
}


Guardar y cerrar.

Ahora active la configuración de Diaspora y pruebe la configuración de Nginx.

ln -s /etc/nginx/sites-available/diaspora /etc/nginx/sites-enabled/
nginx -t

Aseg√ļrese de que no haya ning√ļn error, luego reinicie el servicio Nginx y agr√©guelo al inicio del sistema.

systemctl restart nginx
systemctl enable nginx

Como resultado, se completó la configuración del servidor web Nginx como proxy inverso para Diaspora.

Configure Nginx como un proxy inverso para la di√°spora

Paso 9 – Prueba

Abra su navegador web y escriba su nombre de dominio de Di√°spora en la barra de direcciones.

http://pod.hakase-labs.to/

Y obtendrá la página de inicio predeterminada de Diaspora como se muestra a continuación.

P√°gina de inicio de la di√°spora

Haga clic en el enlace en el ‘Crea una cuenta‘ secci√≥n.

Ahora escriba su direcci√≥n de correo electr√≥nico, nombre de usuario y contrase√Īa para la primera cuenta de Diaspora, luego haga clic en ‘Crear Cuenta‘.

Crear Cuenta Di√°spora

Cargue su foto de perfil, etc., luego haga clic en ‘¬°Impresionante! Ll√©vame a la di√°spora‘ bot√≥n.

Configuración del perfil de la diáspora

Y obtendrá el panel de Diáspora como se muestra a continuación.

Tablero de Di√°spora

Como puede verse, la instalación de Diaspora con Nginx Reverse Proxy en Debian Buster 10 se ha completado con éxito.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *