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 Buster 10
- Mínimo 2 GB de RAM
- Privilegios de raíz
¿Qué 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
- Configurar Nginx como un proxy inverso para la diáspora
- Pruebas
Paso 1:instalar dependencias de 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 con el siguiente comando apt.
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 completada toda la instalación, inicie los servicios PostgreSQL, Nginx y Redis, luego agréguelos todos al inicio 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 la diáspora
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 'diaspora' con el privilegio 'CREATEDB ' para crear una base de datos utilizando la consulta de PostgreSQL a continuación.
CREATE USER diaspora WITH CREATEDB PASSWORD 'yourpassword';
Escriba 'SALIR ' 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:instalar 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 paquetes RVM usando el siguiente comando.
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Ahora instale el RVM (Administrador de versiones de Ruby) 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 con el siguiente comando rvm.
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:descargar y configurar Diaspora
Antes de continuar, asegúrese de haber iniciado sesión con el usuario 'diaspora'.
Descarga el código fuente de Diaspora usando el comando git y accede 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 ha sido completada.
Paso 6:configurar Diaspora como 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 inicio 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 '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 y 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.
http://pod.hakase-labs.to/
Y obtendrá la página de inicio predeterminada de Diaspora como se muestra a continuación.
Haga clic en el enlace 'Crear 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.