Friendica je bezplatná, open source a decentralizovaná platforma sociálních sítí, která vám pomáhá budovat a udržovat vaše vlastní projekty sociálních sítí. Má vestavěnou podporu pro ActivityPub včetně Mastodon, Hubzilla, OStatus, Pleroma a dalších. Umožňuje vám importovat vaše webové stránky a blogy do vašeho sociálního streamu prostřednictvím kanálů RSS/Atom. Poskytuje výkonný uživatelský a administrátorský panel, který vám pomůže spravovat vaši sociální síť z jakéhokoli zařízení.
V tomto tutoriálu vám ukážeme, jak nainstalovat Friendica s Apache a Let's Encrypt SSL na Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Než začnete, budete muset aktualizovat systémové balíčky na nejnovější verzi. Můžete je aktualizovat pomocí následujícího příkazu:
apt-get update -y
Jakmile je váš server aktualizován, můžete přejít k dalšímu kroku.
Instalovat LAMP Server
Friendica běží na webovém serveru napsaném v PHP a používá MySQL jako databázový backend. Takže ve vašem systému musí být nainstalován zásobník LAMP. Pokud není nainstalován, můžete jej nainstalovat pomocí následujícího příkazu:
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
Jakmile jsou všechny balíčky nainstalovány, upravte soubor php.ini a proveďte nějaké změny:
nano /etc/php/7.4/apache2/php.ini
Změňte následující řádky:
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 300 max_input_vars = 1500 date.timezone = Asia/Kolkata
Po dokončení uložte a zavřete soubor.
Vytvořit databázi Friendica
Dále budete muset vytvořit databázi a uživatele pro Friendica. Nejprve se připojte k MySQL pomocí následujícího příkazu:
mysql
Po připojení vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE friendicadb;
MariaDB [(none)]> CREATE USER 'friendica'@'localhost' IDENTIFIED BY 'password';
Dále udělte všechna oprávnění databázi Friendica pomocí následujícího příkazu:
MariaDB [(none)]> GRANT ALL ON friendicadb.* TO 'friendica'@'localhost' WITH GRANT OPTION;
Dále vyprázdněte oprávnění a ukončete MySQL pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Stáhnout Friendica
Než si stáhnete Friendica, budete muset do svého systému nainstalovat Composer. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install composer -y
Po instalaci změňte adresář na webový kořenový adresář Apache a stáhněte si nejnovější verzi Friendica z úložiště Git:
cd /var/www/html
git clone https://github.com/friendica/friendica.git
Po dokončení stahování změňte adresář na friendica a nainstalujte požadované závislosti PHP pomocí následujícího příkazu:
cd friendica
composer install --no-dev
Dále si stáhněte doplňky Friendica pomocí následujícího příkazu:
git clone https://github.com/friendica/friendica-addons.git
Dále nastavte správné vlastnictví a oprávnění k adresáři friendica:
chown -R www-data:www-data /var/www/html/friendica/
chmod -R 755 /var/www/html/friendica/
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurovat Apache pro Friendica
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro hostitele Friendica. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/apache2/sites-available/friendica.conf
Přidejte následující řádky:
<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>
Uložte a zavřete soubor a poté povolte modul virtuálního hostitele Apache a přepis pomocí následujícího příkazu:
a2ensite friendica.conf
a2enmod rewrite
Dále znovu načtěte službu Apache, abyste použili změny:
systemctl restart apache2
Stav služby Apache můžete ověřit pomocí následujícího příkazu:
systemctl status apache2
Měli byste získat následující výstup:
? 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...
Přístup k ovládacímu panelu Friendica
Nyní otevřete webový prohlížeč a přejděte do webového rozhraní Friendica pomocí adresy URL http://friendica.example.com . Budete přesměrováni na stránku kontroly systému:
Ujistěte se, že jsou nainstalovány všechny závislosti PHP, a poté klikněte na Další knoflík. Měli byste vidět následující stránku:
Zadejte název své domény, instalační cestu a klikněte na Odeslat knoflík. Měli byste vidět následující stránku:
Zadejte název databáze, uživatelské jméno databáze, heslo a klikněte na Odeslat . Měli byste vidět stránku Nastavení webu:
Zadejte e-mail správce, jazyk, časové pásmo a klikněte na Odeslat knoflík. Po dokončení instalace byste měli vidět následující stránku:
Nyní klikněte na registraci stránku a dokončete proces registrace pro přístup do Friendica.
Zabezpečte Friendica pomocí Let's Encrypt SSL
Vždy je dobré zabezpečit svůj web pomocí Let's Encrypt SSL. Chcete-li nainstalovat a spravovat SSL, budete muset nainstalovat klienta Certbot. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install python3-certbot-apache -y
Jakmile je Certbot nainstalován, spusťte následující příkaz k zabezpečení svého webu pomocí Let's Encrypt SSL:
certbot --apache -d friendica.example.com
Budete požádáni, abyste poskytli svůj e-mail a přijali podmínky služby, jak je uvedeno níže:
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
Dále vyberte, zda chcete přesměrovat provoz HTTP na HTTPS, jak je uvedeno níže:
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
Napište 2 a stiskněte Enter pro instalaci Let's Encrypt SSL pro váš 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
Nyní můžete na svůj web přistupovat bezpečně pomocí adresy URL https://friendica.example.com.
Závěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali platformu sociální sítě Friendica na serveru Ubuntu 20.04. Nyní můžete spravovat svou komunitu sociálních sítí z centrálního umístění.