Поиск по сайту:

Как установить платформу социальной сети Friendica на Ubuntu 20.04


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить сервер LAMP
  4. Создание базы данных Friendica
  5. Скачать Friendica
  6. Настройка Apache для Friendica
  7. Доступ к панели управления Friendica
  8. Защитите Friendica с помощью Lets Encrypt SSL
  9. Заключение

Friendica — это бесплатная децентрализованная платформа социальной сети с открытым исходным кодом, которая помогает вам создавать и поддерживать свои собственные проекты социальных сетей. Он имеет встроенную поддержку ActivityPub, включая Mastodon, Hubzilla, OStatus, Pleroma и другие. Это позволяет вам импортировать ваши веб-сайты и блоги в ваш социальный поток через каналы RSS/Atom. Он предоставляет мощную панель управления пользователями и администраторами, которая помогает вам управлять своей социальной сетью с любого устройства.

В этом руководстве мы покажем вам, как установить Friendica с Apache и Lets Encrypt SSL на Ubuntu 20.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • Пароль root настраивается на сервере.

Начиная

Перед запуском вам необходимо обновить системные пакеты до последней версии. Вы можете обновить их с помощью следующей команды:

apt-get update -y

Как только ваш сервер будет обновлен, вы можете перейти к следующему шагу.

Установить LAMP-сервер

Friendica работает на веб-сервере, написанном на PHP, и использует MySQL в качестве базы данных. Таким образом, стек LAMP должен быть установлен в вашей системе. Если он не установлен, вы можете установить его с помощью следующей команды:

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

После установки всех пакетов отредактируйте файл php.ini и внесите некоторые изменения:

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

Измените следующие строки:

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

Сохраните и закройте файл, когда закончите.

Создать базу данных Friendica

Далее вам нужно будет создать базу данных и пользователя для Friendica. Сначала подключитесь к MySQL с помощью следующей команды:

mysql

После подключения создайте базу данных и пользователя с помощью следующей команды:

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

Затем предоставьте все привилегии базе данных Friendica с помощью следующей команды:

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

Затем сбросьте привилегии и выйдите из MySQL с помощью следующей команды:

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

Как только вы закончите, вы можете перейти к следующему шагу.

Скачать Френдику

Перед загрузкой Friendica вам необходимо установить Composer в вашей системе. Вы можете установить его с помощью следующей команды:

apt-get install composer -y

После установки измените каталог на корневой веб-сайт Apache и загрузите последнюю версию Friendica из репозитория Git:

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

После завершения загрузки измените каталог на friendica и установите необходимые зависимости PHP с помощью следующей команды:

cd friendica
composer install --no-dev

Затем загрузите дополнения Friendica с помощью следующей команды:

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

Затем установите правильное право собственности и права доступа к каталогу friendica:

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

Как только вы закончите, вы можете перейти к следующему шагу.

Настройте Apache для Friendica

Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для размещения Friendica. Вы можете создать его с помощью следующей команды:

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

Добавьте следующие строки:

<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>

Сохраните и закройте файл, затем включите виртуальный хост Apache и перепишите модуль с помощью следующей команды:

a2ensite friendica.conf
a2enmod rewrite

Затем перезагрузите службу Apache, чтобы применить изменения:

systemctl restart apache2

Вы можете проверить статус службы Apache с помощью следующей команды:

systemctl status apache2

Вы должны получить следующий результат:

? 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...

Доступ к панели управления Friendica

Теперь откройте веб-браузер и войдите в веб-интерфейс Friendica, используя URL-адрес http://friendica.example.com. Вы будете перенаправлены на страницу проверки системы:

Убедитесь, что все зависимости PHP установлены, затем нажмите кнопку «Далее». Вы должны увидеть следующую страницу:

Укажите свое доменное имя, путь установки и нажмите кнопку «Отправить». Вы должны увидеть следующую страницу:

Укажите имя вашей базы данных, имя пользователя базы данных, пароль и нажмите «Отправить». Вы должны увидеть страницу настроек сайта:

Укажите адрес электронной почты администратора, язык, часовой пояс и нажмите кнопку «Отправить». После завершения установки вы должны увидеть следующую страницу:

Теперь нажмите кнопку страницы регистрации и завершите процесс регистрации, чтобы получить доступ к Friendica.

Защитите Friendica с помощью Lets Encrypt SSL

Всегда полезно защитить свой сайт с помощью Lets Encrypt SSL. Вам нужно будет установить клиент Certbot для установки и управления SSL. Вы можете установить его с помощью следующей команды:

apt-get install python3-certbot-apache -y

После установки Certbot выполните следующую команду, чтобы защитить свой сайт с помощью Lets Encrypt SSL:

certbot --apache -d friendica.example.com

Вам будет предложено указать адрес электронной почты и принять условия обслуживания, как показано ниже:

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

Затем выберите, следует ли перенаправлять HTTP-трафик на HTTPS, как показано ниже:

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

Введите 2 и нажмите Enter, чтобы установить Lets Encrypt SSL для вашего сайта:

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

Теперь вы можете безопасно получить доступ к своему веб-сайту, используя URL-адрес https://friendica.example.com.

Заключение

Поздравляем! вы успешно установили и настроили платформу социальной сети Friendica на сервере Ubuntu 20.04. Теперь вы можете управлять своим сообществом в социальной сети из центрального места.