GNUSocial es una red social descentralizada basada en el protocolo OStatus, de funcionamiendo similar a los populares Twitter y Mastodon.
Lo bueno de las redes descentralizadas es que tu posees y gestionas tu información en tu propio servidor, estando a la vez conectado con muchos otros servidores descentralizados.
En su contrapartida, no todo el mundo tiene la capacidad, recursos o tiempo para montarse su propio nodo, pero existen diferentes nodos públicos donde podrías crearte una cuenta. Ejemplo: https://quitter.es/main/public , https://mastodon.social/about y https://soc.ialis.me/about.
Si solo vas a gestionar un servidor para tu cuenta o la de tu familia, los recursos necesarios son muy bajos . Un servidor web con apache por ejemplo en una raspberry pi 3 es suficiente.
La mayoría de redes sociales descentralizadas basadas en el protcolco OStatus son compatibles entre sí. Por lo que no solo podrás interoperar con otros nodos y usuarios de GNUSocial, también con:
Me logeo como root con "su" y a continuación:
cd /var/www/ && git clone https://git.gnu.io/gnu/gnu-social.git gnusocial
cd /var/www/gnusocial && git checkout master
Como habré descargado como root, actualizo permisos
chown root:www-data /var/www/gnusocial -R
chmod g+w /var/www/gnusocial/ -R
sudo apt-get install php7.2-intl
/etc/init.d/apache2 restart
Debes tener habilitado el modulo rewrite:
a2enmod rewrite # Carga el modulo rewrite de apache2
apachectl -M | sort # Ver modulos de apache2 cargados
Para mejor interoperabilidad en la nube federada, es mejor crearlo bajo un nombre dns propio. Como gnusocial.tudominio.es
Creo estos dos ficheros en /etc/apache2/sites-available. (Atento y cambia con tus datos)
/etc/apache2/sites-available/gnusocial
<VirtualHost *:80>
ServerAdmin webmaster@tudominio.es
DocumentRoot /var/www/gnusocial
ServerName gnusocial.tudominio.es
FileETag None
TraceEnable off
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
</VirtualHost>
/etc/apache2/sites-available/gnusocial-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@tudominio.es
DocumentRoot /var/www/gnusocial
ServerName gnusocial.tudominio.es
FileETag None
TraceEnable off
<Directory /var/www/gnusocial/>
Options -Indexes
AllowOverride All
<Files "config.php">
Require all denied
</Files>
#<Files "install.php">
# Require all denied
#</Files>
<Files "CONFIGURE">
Require all denied
</Files>
<Files "INSTALL">
Require all denied
</Files>
<Files "README.md">
Require all denied
</Files>
<Files "TODO.SOCIAL">
Require all denied
</Files>
<Files "UPGRADE">
Require all denied
</Files>
</Directory>
<FilesMatch "\.(txt)">
Require all denied
</FilesMatch>
<FilesMatch "\.(ini)">
Require all denied
</FilesMatch>
<FilesMatch "\.(sql)">
Require all denied
</FilesMatch>
<Directory /var/www/gnusocial/db/>
Require all denied
</Directory>
<Directory /var/www/gnusocial/.git/>
Require all denied
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/tudominio.es/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/tudominio.es/privkey.pem
</VirtualHost>
</IfModule>
Habilitar el site virtual:
a2ensite gnusocial
a2ensite gnusocial-le-ssl
Reinicia Apache
/etc/init.d/apache2 restart
Puedes usar el mismo cert para tu web y gnusocial. Para ello lanza certbot-auto, elige los sites de tu misma web y dale a expandir.
/root/Certs/certbot/certbot-auto
Elije los numeros de los que quieras unir en el mismo cert:
tuweb.es www.tuweb.es web.tuweb.es web.tuweb.es gnusocial.tuweb.es
Elije: 1: No redirect - Make no further changes to the webserver configuration.
Ya que en nuestro fichero virtual host ya lo dejamos ok.
Revisa que el Virtual Host que hemos añadido siga correcto. Si algo no está exacto Lets-encrypt podría modificarlo.
mysql -h localhost -u root -p # Te pedirá el password del usuario root de la BBDD (no el de sistema)
CREATE DATABASE DB; # No puede contener espacios o puntos # Alternativa: mysqladmin -u "root" -p create gnusocial
GRANT ALL PRIVILEGES ON gnusocial.* TO 'user'@'localhost' IDENTIFIED BY 'password'; # Crea el usuario si no existe y asigna permisos.
FLUSH PRIVILEGES; # Para activar sin tener que reiniciar servicio los cambios en grant tables
cd /var/www/gnusocial && cp htaccess.sample .htaccess
cd /var/www/gnusocial && chown root:www-data .htaccess
cd /var/www/gnusocial && chmod 440 .htaccess
cd /var/www/gnusocial && mkdir avatar file && chown root:www-data avatar file
cd /var/www/gnusocial && chmod g+w avatar file
#chown root:www-data /var/www/gnusocial -R
#chmod g+w /var/www/gnusocial/ -R
/etc/init.d/apache2 restart
Ahora accede a https://gnusocial.tudominio.es/install.php y rellena:
Site name: gnusocial.tudominio.es
fancy URL: yes
Server SSL: yes
Los datos de la base de datos que vayas a usar
Rellena los datos del primer usuario que se va a crear (será el administrador)
Type of site:
Private # All will be hidden
single user # Solo para ti y solo existirá un usuario
community # Ideal para grupos, escuela, familia. Permite crear varias cuentas además de la inicial de administración
public # Permites el registro público a todo el mundo. Ojo a la carga si entra mucha gente y ten presente la seguridad y moderación.
chown root:www-data config.php
chmod 640 /var/www/gnusocial/config.php
Si todo ha ido ok. Puedes descomentar las tres lineas del fichero /etc/apache2/sites-available/gnusocial-le-ssl.conf que bloquean el acceso a install.php y reiniciar apache.
Recibirás un correo para confirmar el correo electrónico.
Oculta o cambia el correo de contacto que se muestra editando el fichero /var/www/gnusocial/doc-src/contact
<!-- You can reach the responsible party for this server at [%%site.email%%](mailto:%%site.email%%). -->
You can reach the responsible party for this server at [https://tudominio.es/contacto.php](https://tudominio.es/contacto.php)
https://gnusocial.tudominio.es/usuario
https://gnusocial.tudominio.es/index.php/usuario
A través de la web tienes las opciones Settings y Admin.
Para cambiar los parámetros que especificaste al instalar, como la base de datos, tendrás que editar el fichero config.php
https://git.gnu.io/gnu/gnu-social/blob/master/INSTALL https://thomask.sdf.org/social/es/admin/installing_gnu_social.html https://www.eduardocollado.com/2017/08/31/podcast-45-instalacion-de-gnusocial/ https://laenredadera.net/instalar-gnusocial-en-una-raspberry-pi/
Me quedé en la parte de Themes
https://elbinario.net/2017/05/11/un-ano-de-admin-de-gnusocial-net/ https://victorhckinthefreeworld.com/2016/11/22/mastodon-un-nuevo-servidor-compatible-con-gnusocial/
https://quitter.es/main/all https://es.wikipedia.org/wiki/OStatus
No Hecho
config.php
# Para enviar mensajes a usuarios de otros nodos hay que añadir en el archivo config.php:
$config['queue']['daemon'] = true;
# para configurar el correo tenemos que añadir al final del mismo archivo:
$config['mail']['domain'] = 'laenredadera.net';
$config['mail']['notifyfrom'] = '"La Enredadera.net" <address@hidden>';
$config['mail']['backend'] = 'smtp';
$config['mail']['debug'] = false;
$config['mail']['params'] = array(
'host' => 'smtp.dominio.com',
'port' => 587,
'auth' => true,
'username' => 'miusuario’,
'password' => ‘mipassword’
);