Cómo instalar Diaspora Descentralized Social Media en Debian 10

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.
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.
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.
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
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.
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á.
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
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
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á.
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.
Paso 9 – Prueba
Abra su navegador web y escriba su nombre de dominio de Diáspora en la barra de direcciones.
Y obtendrá la página de inicio predeterminada de Diaspora como se muestra a continuación.
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‘.
Cargue su foto de perfil, etc., luego haga clic en ‘¡Impresionante! Llévame a la diáspora‘ botón.
Y obtendrá el panel de Diáspora como se muestra a continuación.
Como puede verse, la instalación de Diaspora con Nginx Reverse Proxy en Debian Buster 10 se ha completado con éxito.