Cómo instalar Friendica en Debian

Friendica es una plataforma de redes sociales gratuita, de código abierto y descentralizada que te ayuda a construir tus propios proyectos y comunidades de redes sociales. Te permite importar sitios web y blogs arbitrarios a tu flujo social mediante fuentes RSS/Atom. Es compatible con los protocolos ActivityPub, Mastodon, OStatus, Funkwhale, Pleroma y diaspora*. También puedes utilizar Friendica como plataforma de publicación para publicar contenidos en Libertree, WordPress y Tumblr. También te permite etiquetar usuarios y grupos mediante «@ menciones», hashtags, comentarios, likes y reshares de publicaciones públicas.

En este tutorial, aprenderemos a instalar la plataforma de redes sociales Friendica en Debian 10.

Requisitos previos

  • Un servidor que ejecute Debian 10.
  • Una contraseña de root configurada en tu servidor.

Cómo empezar

En primer lugar, actualiza tu sistema a la última versión con el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez actualizado tu servidor, reinícialo para aplicar los cambios.

Instalar el servidor LAMP

Antes de empezar, el servidor LAMP debe estar instalado en tu servidor. Si no está instalado, puedes instalarlo junto con otras dependencias de PHP con el siguiente comando:

apt-get install apache2 mariadb-server php php-cli libapache2-mod-php php-common php-gmp php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd php-imagick php-xml php-cli php-zip php-sqlite3 unzip git curl -y

Una vez instalados todos los paquetes, edita el archivo php.ini y realiza algunos cambios:

nano /etc/php/7.3/apache2/php.ini

Cambia las siguientes líneas con el valor que desees:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Kolkata

Guarda y cierra el archivo cuando hayas terminado.

Configurar la base de datos MariaDB

Por defecto, la contraseña de root de MariaDB no está configurada. Así que tendrás que establecer una contraseña raíz y asegurar tu instalación de MariaDB.

Para ello, inicia sesión en el shell de MariaDB con el siguiente comando:

mysql

Una vez iniciada la sesión, establece una contraseña raíz de MariaDB con el siguiente comando:

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");

A continuación, establece el plugin de autenticación de MariaDB en mysql_native_password con el siguiente comando:

MariaDB [(none)]> SET GLOBAL innodb_fast_shutdown = 0;
MariaDB [(none)]> UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';

A continuación, vacía los privilegios y sal del intérprete de comandos de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

A continuación, inicia sesión en el intérprete de comandos MariaDB con el usuario root:

mysql -u root -p

Proporciona tu contraseña de root cuando se te solicite y, a continuación, crea una base de datos y un usuario para friendica con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE friendicadb;
MariaDB [(none)]> CREATE USER 'friendica'@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios a la base de datos de Friendica con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON friendicadb.* TO 'friendica'@'localhost' WITH GRANT OPTION;

A continuación, vacía los privilegios y sal del intérprete de comandos MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez configurada tu base de datos, puedes pasar al siguiente paso.

Descargar Friendica

En primer lugar, tendrás que descargar el Friendica a tu directorio raíz web de Apache. Puedes descargarla con el siguiente comando:

cd /var/www/html
wget https://github.com/friendica/friendica/files/2061623/friendica-full-2018.05.tar.gz

Una vez descargado, extrae el archivo descargado con el siguiente comando:

tar -xvzf friendica-full-2018.05.tar.gz

A continuación, cambia el nombre del directorio extraído a friendica:

mv friendica-full-2018.05 friendica

A continuación, cambia el directorio a friendica y descarga los addons de Friendica con el siguiente comando:

cd friendica
wget https://github.com/friendica/friendica-addons/archive/2018.05.tar.gz

Una vez descargados, extrae el archivo descargado con el siguiente comando:

tar -xvzf 2018.05.tar.gz

A continuación, cambia el nombre del directorio extraído a addon:

mv friendica-addons-2018.05 addon

A continuación, da los permisos adecuados al directorio friendica:

chown -R www-data:www-data /var/www/html/friendica
chmod -R 775 /var/www/html/friendica

Una vez que hayas terminado, puedes continuar con el siguiente paso.

Configurar Apache para Friendica

A continuación, tendrás que crear un archivo de configuración de host virtual Apache para Friendica.

Puedes crearlo con el siguiente comando:

nano /etc/apache2/sites-available/friendica.conf

Añade las siguientes líneas:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/friendica
     ServerName friendica.linuxbuz.com

     <Directory /var/www/html/friendica/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/friendica_error.log
     CustomLog ${APACHE_LOG_DIR}/friendica_access.log combined

</VirtualHost>

Guarda y cierra el archivo cuando hayas terminado. A continuación, habilita el archivo de host virtual y el módulo de reescritura de Apache con el siguiente comando:

a2ensite friendica
a2enmod rewrite

Por último, reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

Asegura Friendica con Let’s Encrypt

Se recomienda asegurar tu sitio web Friendica con el SSL gratuito Let’s encrypt. Para ello, necesitarás instalar el cliente Certbot en tu sistema para instalar y gestionar Let’s Encrypt SSL.

Primero, añade el repositorio de Certbot con el siguiente comando:

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list

A continuación, actualiza el repositorio e instala el cliente Apache de Certbot con el siguiente comando:

apt-get update -y
apt-get install python3-certbot-apache -t buster-backports -y

Una vez instalado, ejecuta el siguiente comando para instalar Let’s Encrypt SSL para tu dominio:

certbot --apache -d friendica.linuxbuz.com

Se te pedirá que aceptes las condiciones del servicio y que proporciones tu dirección de correo electrónico válida, como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for friendica.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/friendica-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/friendica-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/friendica-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.

A continuación, tendrás que elegir si deseas redirigir el tráfico HTTP a HTTPS, como se muestra a continuación:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escribe 2 y pulsa Intro para continuar. Una vez completada la instalación, deberías obtener la siguiente salida:

Redirecting vhost in /etc/apache2/sites-enabled/friendica.conf to ssl vhost in /etc/apache2/sites-available/friendica-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://friendica.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=friendica.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/friendica.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/friendica.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-04-30. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Una vez que hayas terminado, puedes continuar con el siguiente paso.

Acceder a la Interfaz Web de Friendica

Ahora, abre tu navegador web y escribe la URL https://friendica.linuxbuz.com. Se te redirigirá a la siguiente página:

Una vez cumplidos todos los requisitos, pulsa el botón Siguiente. Deberías ver la siguiente página:

Proporciona las credenciales de tu base de datos y pulsa el botón Enviar. Deberías ver la siguiente página:

Proporciona tu dirección de correo electrónico, selecciona tu zona horaria, idioma y haz clic en el botón Enviar. Deberías ver la siguiente página:

Haz clic en la página de registro. Aparecerá la siguiente página:

Proporciona tu dirección de correo electrónico, contraseña y haz clic en el botón Regístrate ahora. Aparecerá la siguiente página:

Proporciona tu dirección de correo electrónico, contraseña y haz clic en el botón Iniciar sesión. Deberías ver el panel de Friendica en la siguiente pantalla:

Conclusión

Enhorabuena! has instalado y configurado correctamente Friendica en Debian 10. Ahora puedes empezar a crear tus proyectos de redes sociales con Friendica.

Scroll al inicio