Cómo instalar la plataforma de la red social Friendica en Ubuntu 20.04

Friendica es una plataforma de redes sociales gratuita, de código abierto y descentralizada que te ayuda a construir y mantener tus propios proyectos de redes sociales. Tiene soporte incorporado para ActivityPub incluyendo, Mastodon, Hubzilla, OStatus, Pleroma y más. Te permite importar tus sitios web y blogs a tu flujo social a través de fuentes RSS/Atom. Proporciona un potente panel de usuario y de administración que te ayuda a gestionar tu red social desde cualquier dispositivo.

En este tutorial, te mostraremos cómo instalar Friendica con Apache y Let’s Encrypt SSL en Ubuntu 20.04.

Requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio válido apuntado con la IP de tu servidor.
  • Una contraseña de root configurada el servidor.

Cómo empezar

Antes de empezar, tendrás que actualizar los paquetes de tu sistema a la última versión. Puedes actualizarlos mediante el siguiente comando:

apt-get update -y

Una vez que tu servidor esté actualizado, puedes pasar al siguiente paso.

Instalar el servidor LAMP

Friendica se ejecuta en un servidor web, escrito en PHP y utiliza MySQL como base de datos. Así que la pila LAMP debe estar instalada en tu sistema. Si no está instalado, puedes instalarlo con el siguiente comando:

apt-get install apache2 mariadb-server php 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 curl git -y

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

nano /etc/php/7.4/apache2/php.ini

Cambia las siguientes líneas:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 300
max_input_vars = 1500
date.timezone = Asia/Kolkata

Guarda y cierra el archivo cuando hayas terminado.

Crear una base de datos Friendica

A continuación, tendrás que crear una base de datos y un usuario para Friendica. Primero, conéctate al MySQL con el siguiente comando:

mysql

Una vez conectado, crea una base de datos y un usuario 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 MySQL con el siguiente comando:

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

Una vez que hayas terminado, puedes pasar al siguiente paso.

Descargar la Friendica

Antes de descargar la Friendica, tendrás que instalar Composer en tu sistema. Puedes instalarlo con el siguiente comando:

apt-get install composer -y

Una vez instalado, cambia el directorio a la raíz web de Apache y descarga la última versión de Friendica desde el repositorio Git:

cd /var/www/html
git clone https://github.com/friendica/friendica.git

Una vez completada la descarga, cambia el directorio a friendica e instala las dependencias PHP necesarias con el siguiente comando:

cd friendica
composer install --no-dev

A continuación, descarga los complementos de Friendica con el siguiente comando:

git clone https://github.com/friendica/friendica-addons.git

A continuación, establece la propiedad y el permiso adecuados para el directorio friendica:

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

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar Apache para Friendica

A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para alojar 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.example.com


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

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Guarda y cierra el archivo y luego habilita el módulo de reescritura y el host virtual de Apache con el siguiente comando:

a2ensite friendica.conf
a2enmod rewrite

A continuación, recarga el servicio Apache para aplicar los cambios:

systemctl restart apache2

Puedes verificar el estado del servicio Apache con el siguiente comando:

systemctl status apache2

Deberías obtener la siguiente salida:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-02-07 09:20:58 UTC; 6s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 33243 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 33259 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 15.1M
     CGroup: /system.slice/apache2.service
             ??33259 /usr/sbin/apache2 -k start
             ??33260 /usr/sbin/apache2 -k start
             ??33261 /usr/sbin/apache2 -k start
             ??33262 /usr/sbin/apache2 -k start
             ??33263 /usr/sbin/apache2 -k start
             ??33264 /usr/sbin/apache2 -k start

Feb 07 09:20:58 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...

Accede al panel de control de Friendica

Ahora, abre tu navegador web y accede a la interfaz web de Friendica utilizando la URL http://friendica.example.com. Serás redirigido a la página de comprobación del sistema:

Comprobación del sistema Friendica

Asegúrate de que todas las dependencias de PHP están instaladas y luego haz clic en el botón Siguiente. Deberías ver la siguiente página:

Configuración del servidor

Proporciona tu nombre de dominio, la ruta de instalación y haz clic en el botón Enviar. Deberías ver la siguiente página:

Conexión a la base de datos

Proporciona el nombre de tu base de datos, el nombre de usuario de la base de datos, la contraseña y haz clic en el botón Enviar. Deberías ver la página de configuración del sitio:

Configuración del sitio

Proporciona el correo electrónico del administrador, el idioma, la zona horaria y haz clic en el botón Enviar. Una vez completada la instalación, deberías ver la siguiente página:

Instalación terminada

Ahora, haz clic en el botón de la página de registro y termina el proceso de registro para acceder a la Friendica.

Asegura la Friendica con Let’s Encrypt SSL

Siempre es una buena idea asegurar tu sitio web con Let’s Encrypt SSL. Necesitarás instalar el cliente Certbot para instalar y gestionar el SSL. Puedes instalarlo con el siguiente comando:

apt-get install python3-certbot-apache -y

Una vez instalado el Certbot, ejecuta el siguiente comando para asegurar tu sitio web con Let’s Encrypt SSL:

certbot --apache -d friendica.example.com

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

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
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
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for friendica.example.com
Enabled Apache rewrite module
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

A continuación, selecciona si quieres redirigir el tráfico HTTP a HTTPS como se muestra a continuación:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 instalar el SSL de Let’s Encrypt para tu sitio web:

Enabled Apache rewrite module
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.example.com

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/friendica.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/friendica.example.com/privkey.pem
   Your cert will expire on 2020-10-23. 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"
 - 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

Ahora, puedes acceder a tu sitio web de forma segura utilizando la URL https://friendica.example.com.

Conclusión

Enhorabuena! has instalado y configurado con éxito la plataforma de red social Friendica en el servidor Ubuntu 20.04. Ahora puedes gestionar tu comunidad de la red social desde la ubicación central.

También te podría gustar...