v.0.0.1
This commit is contained in:
parent
a8b0661f76
commit
8c96d03380
1 changed files with 96 additions and 1 deletions
97
README.md
97
README.md
|
@ -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 a new issue