1 changed files with 96 additions and 1 deletions
@ -1,2 +1,97 @@
|
||||
# AltLinuxPleromaInstallation |
||||
Для начала накатываем необходимые пакеты для работы Pleroma: |
||||
|
||||
``` |
||||
# apt-get install sudo postgresql13 postgresql13-contrib elixir erlang-devel erlang-otp-devel git gcc gcc-c++ cmake ImageMagick ffmpeg exiftool nginx |
||||
``` |
||||
|
||||
Создаём системные базы данных PostgreSQL: |
||||
``` |
||||
# /etc/init.d/postgresql initdb |
||||
``` |
||||
|
||||
После чего запускаем все необходимые сервисы: |
||||
``` |
||||
# systemctl enable --now postgresql nginx |
||||
``` |
||||
|
||||
Так как наш РУССКИЙ дистрибутив настолько суров, что по умолчанию доступа к sudo не имеет даже root, то нам необходимо открыть файлик /etc/sudoers и расскомментировать данную строку: |
||||
|
||||
``` |
||||
root ALL=(ALL) ALL |
||||
``` |
||||
Далее создаём пользователя pleroma, |
||||
``` |
||||
# useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma |
||||
``` |
||||
Дальше стандартно: создаём под Pleroma папку, делаем юзера pleroma в ней хозяином, клонируем туда сами исходные коды Pleroma: |
||||
``` |
||||
# sudo mkdir -p /opt/pleroma |
||||
# sudo chown -R pleroma:pleroma /opt/pleroma |
||||
# sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma /opt/pleroma |
||||
``` |
||||
Переходим в папку с исходниками: |
||||
``` |
||||
# cd /opt/pleroma |
||||
``` |
||||
И устанавливаем дополнительные зависимости: |
||||
``` |
||||
# sudo -Hu pleroma mix deps.get |
||||
``` |
||||
А сейчас будет исполнен небольшой костыль. В пакете erlang-otp есть библиотека libei, но вот если просто поставить Pleroma компилироваться, то ld её просто не найдёт и будет ошибк компиляции. Поэтому нужно сделать симлинк этой библиотеки в /usr/lib/. Но только в чатике Альта об этом не слова. Я там об такой штуке рассказал, меня три раза черенковали. |
||||
``` |
||||
# ln -s /usr/lib/erlang/lib/erl_interface-5.1/lib/libei.a /usr/lib/libei.a |
||||
``` |
||||
Далее генерируем конфиг: |
||||
``` |
||||
# sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance gen |
||||
``` |
||||
Если попросят установить ```rebar3```, то соглашаемся. Так же при генерации конфига нужно будет ответить на ряд вопросов. |
||||
|
||||
Переименовываем конфигурационный файл: |
||||
``` |
||||
# sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs} |
||||
``` |
||||
|
||||
Создаём базу данных Pleroma, используя шаблон, сгенерированный при генерации конфига: |
||||
``` |
||||
# sudo -Hu postgres psql -f config/setup_db.psql |
||||
``` |
||||
|
||||
И запускаем миграцию базы данных: |
||||
``` |
||||
# sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate |
||||
``` |
||||
|
||||
Копируем шаблон конфига для web-сервера Nginx в его папку конфигов сайтов: |
||||
``` |
||||
# sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-enabled/pleroma.conf |
||||
``` |
||||
|
||||
После этого данный файл необходимо открыть и отредактировать, а именно указать везде, где нужно, своё доменное имя и путь до SSL сертификатов. Как генерировать сертификаты Let's Encrypt я писать не буду, без меня есть множество инструкций. |
||||
|
||||
Проверяем конфигурационный файл Nginx: |
||||
``` |
||||
# nginx -t |
||||
``` |
||||
|
||||
И если всё в порядке, то перезагружаем nginx: |
||||
``` |
||||
# nginx -s reload |
||||
``` |
||||
|
||||
Копируем SystemD сервис в ```/etc/systemd/system/``` что бы была возможность управлять Pleroma через SystemD: |
||||
``` |
||||
# sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service |
||||
``` |
||||
|
||||
И запускаем сервис Pleroma: |
||||
``` |
||||
# sudo systemctl enable --now pleroma.service |
||||
``` |
||||
|
||||
Создаем первого пользователя-администратора: |
||||
``` |
||||
sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new <username> <your@emailaddress> --admin |
||||
``` |
||||
|
||||
В конце будет выдана ссылка, которую необходимо вставить в браузер и ввести там свой пароль. После этого пользователь создан, вы можете зайти под ним и наслаждаться федиверсом! |
Loading…
Reference in new issue