Cómo instalar la plataforma de red social Friendica en Ubuntu 20.04
En esta página
- Requisitos previos
- Cómo empezar
- Instalar servidor LAMP
- Crear una base de datos de Friendica
- Descargar Friendica
- Configurar Apache para Friendica
- Acceder al panel de control de Friendica
- Asegure Friendica con Lets Encrypt SSL
- Conclusión
Friendica es una plataforma de redes sociales gratuita, de código abierto y descentralizada que lo ayuda a crear y mantener sus propios proyectos de redes sociales. Tiene soporte integrado para ActivityPub, incluidos Mastodon, Hubzilla, OStatus, Pleroma y más. Le permite importar sus sitios web y blogs a su flujo social a través de fuentes RSS/Atom. Proporciona un poderoso panel de administración y usuario que lo ayuda a administrar su red social desde cualquier dispositivo.
En este tutorial, le mostraremos cómo instalar Friendica con Apache y Lets 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 su servidor.
- Se configura una contraseña raíz en el servidor.
Empezando
Antes de comenzar, deberá actualizar los paquetes de su sistema a la última versión. Puede actualizarlos usando el siguiente comando:
apt-get update -y
Una vez que su servidor esté actualizado, puede continuar con el siguiente paso.
Instalar servidor LAMP
Friendica se ejecuta en un servidor web, está escrito en PHP y utiliza MySQL como base de datos. Por lo tanto, la pila LAMP debe estar instalada en su sistema. Si no está instalado, puede 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 que todos los paquetes estén instalados, edite el archivo php.ini y realice 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
Guarde y cierre el archivo cuando haya terminado.
Crear una base de datos de Friendica
A continuación, deberá crear una base de datos y un usuario para Friendica. Primero, conéctese a MySQL con el siguiente comando:
mysql
Una vez conectado, cree 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, otorga 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, elimine los privilegios y salga de MySQL con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Una vez que haya terminado, puede continuar con el siguiente paso.
Descargar Friendica
Antes de descargar Friendica, deberá instalar Composer en su sistema. Puedes instalarlo con el siguiente comando:
apt-get install composer -y
Una vez instalado, cambie el directorio a Apache web root y descargue la última versión de Friendica desde el repositorio de Git:
cd /var/www/html
git clone https://github.com/friendica/friendica.git
Una vez que se complete la descarga, cambie el directorio a friendica e instale las dependencias de PHP requeridas con el siguiente comando:
cd friendica
composer install --no-dev
A continuación, descargue los complementos de Friendica con el siguiente comando:
git clone https://github.com/friendica/friendica-addons.git
A continuación, establezca la propiedad y el permiso adecuados para el directorio de friendica:
chown -R www-data:www-data /var/www/html/friendica/
chmod -R 755 /var/www/html/friendica/
Una vez que haya terminado, puede continuar con el siguiente paso.
Configurar Apache para Friendica
A continuación, deberá crear un archivo de configuración de host virtual de Apache para alojar Friendica. Puedes crearlo con el siguiente comando:
nano /etc/apache2/sites-available/friendica.conf
Agregue las siguientes líneas:
<VirtualHost *:80>
ServerAdmin
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>
Guarde y cierre el archivo, luego habilite el host virtual de Apache y el módulo de reescritura con el siguiente comando:
a2ensite friendica.conf
a2enmod rewrite
A continuación, vuelva a cargar el servicio de Apache para aplicar los cambios:
systemctl restart apache2
Puede verificar el estado del servicio de Apache con el siguiente comando:
systemctl status apache2
Deberías obtener el siguiente resultado:
? 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 ubunt4 systemd[1]: Starting The Apache HTTP Server...
Acceder al panel de Friendica
Ahora, abra su navegador web y acceda a la interfaz web de Friendica usando la URL http://friendica.example.com. Será redirigido a la página de comprobación del sistema:
Asegúrese de que todas las dependencias de PHP estén instaladas y luego haga clic en el botón Siguiente. Deberías ver la siguiente página:
Proporcione su nombre de dominio, la ruta de instalación y haga clic en el botón Enviar. Deberías ver la siguiente página:
Proporcione el nombre de su base de datos, el nombre de usuario de la base de datos, la contraseña y haga clic en Enviar. Debería ver la página de configuración del sitio:
Proporcione el correo electrónico del administrador, el idioma, la zona horaria y haga clic en el botón Enviar. Una vez completada la instalación, debería ver la siguiente página:
Ahora, haga clic en el botón de la página de registro y finalice el proceso de registro para acceder a Friendica.
Asegure Friendica con Lets Encrypt SSL
Siempre es una buena idea proteger su sitio web con Lets Encrypt SSL. Deberá instalar el cliente Certbot para instalar y administrar SSL. Puedes instalarlo con el siguiente comando:
apt-get install python3-certbot-apache -y
Una vez que Certbot esté instalado, ejecute el siguiente comando para proteger su sitio web con Lets Encrypt SSL:
certbot --apache -d friendica.example.com
Se le pedirá que proporcione su correo electrónico y acepte el término 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):
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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, seleccione si desea redirigir o no 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
Escriba 2 y presione Entrar para instalar Lets Encrypt SSL para su 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, puede acceder a su sitio web de forma segura utilizando la URL https://friendica.example.com.
Conclusión
¡Felicidades! Ha instalado y configurado con éxito la plataforma de red social Friendica en el servidor Ubuntu 20.04. Ahora puede administrar su comunidad de redes sociales desde la ubicación central.