Это может быть необходимо, если вы создаете свой сервис (сайт, бота, etc) для Utopia Network, который будет использовать Utopia API.
Есть вариант более быстрой установки, готовый скрипт: https://gist.github.com/Sagleft/62d71f81ecf3fe23dce624fe182669cb (с этим скриптом сначала надо закинуть свой .db файл аккаунта в /home/account.db, затем запустить скрипт - установится Utopia, все необходимые пакеты, создастся сервис и запустится)
Сперва устанавливаем клиент Utopia:
rm -rf utopia-latest.x86_64.rpm
wget https://update.u.is/downloads/linux/utopia-latest.x86_64.rpm
yum install -y libxkbcommon-x11.x86_64 libGL pulseaudio-libs-glib2 libXi libSM libXrender fontconfig libxcb xcb-util-image xcb-util-renderutil gstreamer1-plugins-base-devel mesa-dri-drivers mesa-libGL mesa-libGLU libXcomposite libwayland-cursor libwayland-egl xcb-util-wm xcb-util-keysyms
rpm -ivh --replacepkgs utopia-latest.x86_64.rpm
или обновляем существующий клиент:
rm -rf utopia-latest.x86_64.rpm
wget https://update.u.is/downloads/linux/utopia-latest.x86_64.rpm
rpm -Uvh --replacepkgs utopia-latest.x86_64.rpm
Клиент Utopia будет установлен по пути: /opt/utopia/messenger/
.
Создаем папку и файл конфигурации (ниже показан пример):
cd /home
nano utopia.cfg
и заполняем:
[General]
apiEnabled=true
apiHTTPEnabled=true
apiHTTPSEnabled=false
apiHelpEnabled=false
apiPort=22824
apiSslPort=10100
apiUserTokens=2FCD80B3113377A7241567A7E8FA637B
applicationLastOpenedPath=account.db
userDatabase=/home/account.db
userPassword=accountpassword
где
userPassword
- пароль от .db файла аккаунта;userDatabase
- абсолютный путь к .db файлу аккаунта, относительный путь не будет работать;apiUserTokens
- токены для API, придумайте любой (любые). Если используете несколько токенов, то разделяйте их запятыми. Токен - HEX-строка длиной 32 символа;apiEnabled
- включаем ли API;apiHTTPEnabled
- принимаем ли запросы к API по HTTP? ставим в true;apiHTTPSEnabled
- ставим вfalse
, так как запросы будем принимать с localhost;apiPort
- порт для приема запросов, проверьте, чтобы был открыт;apiSslPort
- если поставилиtrue
в параметреapiHTTPSEnabled
, то здесь указываете https-порт;apiHelpEnabled
- если не будете открывать справку по API на localhost, то можно ставить вfalse
.
создаем аккаунт (.db файл): (Внимание! Если не получилось, то можно использовать .db файл аккаунта, созданный в GUI клиенте. затем закинуть его к себе по FTP, если это удаленный сервер, к примеру)
/opt/utopia/messenger/utopia --create --headless configPath=/home/utopia.cfg
Затем перемещаем файл аккаунта в локальный каталог данных Utopia:
mv account.db /home/
Далее создаем скрипт автозапуска клиента в консольном режиме. Назовем его startopia:
touch /etc/systemd/system/startopia.service
chmod 664 /etc/systemd/system/startopia.service
nano /etc/systemd/system/startopia.service
Заполняем:
[Unit]
Description=Utopia Service
After=network.target
[Service]
Type=idle
WorkingDirectory=/opt/utopia/messenger
ExecStart=/opt/utopia/messenger/utopia --headless --configPath=/home/utopia.cfg
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=multi-user.target
Перезагружаем демона syystemctl, добавляем сервис в автозагрузку и пробуем запустить Utopia:
systemctl daemon-reload
systemctl enable startopia.service
systemctl start startopia.service
Если возникнет ошибка, просмотреть детали можно через:
systemctl status startopia.service -l
Если вам помогла моя инструкция, вы можете помочь мне, чтобы я продолжал составлять подобные статьи и инструкции:
- CRP (Utopia): D7765F16D3B217D565BC5C43A6848153E8C02958A0BA62CEEEB188C752E3E102