Friendica est une plate-forme de réseautage social gratuite, open-source et décentralisée qui vous aide à créer et à maintenir vos propres projets de réseautage social. Il a un support intégré pour ActivityPub, y compris Mastodon, Hubzilla, OStatus, Pleroma et plus encore. Il vous permet d'importer vos sites Web et blogs dans votre flux social via des flux RSS/Atom. Il fournit un puissant tableau de bord utilisateur et administrateur qui vous aide à gérer votre réseau social à partir de n'importe quel appareil.
Dans ce tutoriel, nous allons vous montrer comment installer Friendica avec Apache et Let's Encrypt SSL sur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Avant de commencer, vous devrez mettre à jour vos packages système vers la dernière version. Vous pouvez les mettre à jour à l'aide de la commande suivante :
apt-get update -y
Une fois votre serveur mis à jour, vous pouvez passer à l'étape suivante.
Installer le serveur LAMP
Friendica fonctionne sur un serveur Web, écrit en PHP et utilise MySQL comme backend de base de données. La pile LAMP doit donc être installée sur votre système. S'il n'est pas installé, vous pouvez l'installer avec la commande suivante :
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
Une fois tous les packages installés, éditez le fichier php.ini et apportez quelques modifications :
nano /etc/php/7.4/apache2/php.ini
Modifiez les lignes suivantes :
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 300 max_input_vars = 1500 date.timezone = Asia/Kolkata
Enregistrez et fermez le fichier lorsque vous avez terminé.
Créer une base de données Friendica
Ensuite, vous devrez créer une base de données et un utilisateur pour Friendica. Tout d'abord, connectez-vous à MySQL avec la commande suivante :
mysql
Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :
MariaDB [(none)]> CREATE DATABASE friendicadb;
MariaDB [(none)]> CREATE USER 'friendica'@'localhost' IDENTIFIED BY 'password';
Ensuite, accordez tous les privilèges à la base de données Friendica avec la commande suivante :
MariaDB [(none)]> GRANT ALL ON friendicadb.* TO 'friendica'@'localhost' WITH GRANT OPTION;
Ensuite, videz les privilèges et quittez MySQL avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Télécharger Friendica
Avant de télécharger Friendica, vous devrez installer Composer sur votre système. Vous pouvez l'installer avec la commande suivante :
apt-get install composer -y
Une fois installé, changez le répertoire en racine Web Apache et téléchargez la dernière version de Friendica à partir du référentiel Git :
cd /var/www/html
git clone https://github.com/friendica/friendica.git
Une fois le téléchargement terminé, changez le répertoire en friendica et installez les dépendances PHP requises avec la commande suivante :
cd friendica
composer install --no-dev
Ensuite, téléchargez les addons Friendica avec la commande suivante :
git clone https://github.com/friendica/friendica-addons.git
Ensuite, définissez la propriété et l'autorisation appropriées pour le répertoire friendica :
chown -R www-data:www-data /var/www/html/friendica/
chmod -R 755 /var/www/html/friendica/
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Apache pour Friendica
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour héberger Friendica. Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/sites-available/friendica.conf
Ajoutez les lignes suivantes :
<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>
Enregistrez et fermez le fichier puis activez l'hôte virtuel Apache et réécrivez le module avec la commande suivante :
a2ensite friendica.conf
a2enmod rewrite
Ensuite, rechargez le service Apache pour appliquer les modifications :
systemctl restart apache2
Vous pouvez vérifier l'état du service Apache avec la commande suivante :
systemctl status apache2
Vous devriez obtenir le résultat suivant :
? 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...
Accéder au tableau de bord Friendica
Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web de Friendica en utilisant l'URL http://friendica.example.com . Vous serez redirigé vers la page de vérification du système :
Assurez-vous que toutes les dépendances PHP sont installées puis cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Indiquez votre nom de domaine, le chemin d'installation et cliquez sur Soumettre bouton. Vous devriez voir la page suivante :
Indiquez votre nom de base de données, votre nom d'utilisateur de base de données, votre mot de passe et cliquez sur Soumettre . Vous devriez voir la page des paramètres du site :
Indiquez l'adresse e-mail de l'administrateur, la langue, le fuseau horaire et cliquez sur Soumettre bouton. Une fois l'installation terminée, vous devriez voir la page suivante :
Maintenant, cliquez sur inscription bouton de page et terminez le processus d'inscription pour accéder à Friendica.
Sécuriser Friendica avec Let's Encrypt SSL
C'est toujours une bonne idée de sécuriser votre site Web avec Let's Encrypt SSL. Vous devrez installer le client Certbot pour installer et gérer le SSL. Vous pouvez l'installer avec la commande suivante :
apt-get install python3-certbot-apache -y
Une fois le Certbot installé, exécutez la commande suivante pour sécuriser votre site Web avec Let's Encrypt SSL :
certbot --apache -d friendica.example.com
Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
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
Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :
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
Tapez 2 et appuyez sur Entrée pour installer le SSL Let's Encrypt pour votre site 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
Vous pouvez désormais accéder à votre site Web en toute sécurité à l'aide de l'URL https://friendica.example.com.
Conclusion
Toutes nos félicitations! vous avez installé et configuré avec succès la plate-forme de réseau social Friendica sur le serveur Ubuntu 20.04. Vous pouvez désormais gérer votre communauté de réseaux sociaux à partir de l'emplacement central.