Ручная установка

<< Click to Display Table of Contents >>

Навигация  Автономныей сервер TeslaCloud > Руководство по установке >

Ручная установка

Previous pageReturn to chapter overviewNext page

Обзор

Ручная установка TeslaCloud Standalone Server предоставляет полный контроль над процессом установки и настройки.

Этот метод предназначен для системных администраторов и опытных пользователей, которым требуется кастомная конфигурация или интеграция с существующей инфраструктурой.

Установка выполняется пошагово с использованием стандартных инструментов и сервисов Linux.


Подготовка сервера

Перед установкой TeslaCloud необходимо обновить операционную систему и установить необходимые утилиты:

sudo apt update && sudo apt upgrade -y
sudo apt install -y unzip curl wget gnupg2 ca-certificates lsb-release


Установка Java

TeslaCloud требует Java 8. Рекомендуется использовать OpenJDK 8, но можно использовать и другие совместимые дистрибутивы JDK при необходимости.

Установка репозитория Java:

sudo apt install -y software-properties-common
sudo add-apt-repository ppa:linuxuprising/java
sudo apt update

Установка OpenJDK 8:

sudo apt install -y openjdk-8-jdk


Установка PostgreSQL

Установите PostgreSQL и дополнительные утилиты для работы с базами данных:

sudo apt install -y postgresql postgresql-contrib

Создание базы данных и пользователя:

1.Откройте консоль PostgreSQL:

sudo -u postgres psql

2.Создайте базу данных и пользователя для TeslaCloud:

CREATE DATABASE teslacloud;
CREATE USER tesla WITH PASSWORD '123456';
ALTER USER tesla WITH SUPERUSER;
\q


Установка сервера TeslaCloud

Создание директории установки:

sudo mkdir -p /opt/servercloud
sudo chown $USER:$USER /opt/servercloud

Скачивание и распаковка TeslaCloud:

cd /opt/servercloud
wget https://teslascada.com/Downloads/servercloud.zip
unzip servercloud.zip
rm servercloud.zip


Настройка backend (systemd)

Создание системного пользователя:

sudo useradd -r -s /bin/false servercloud

Настройка прав доступа:

sudo chown -R servercloud:servercloud /opt/servercloud
sudo mkdir -p /home/servercloud/.java/.userPrefs
sudo chown -R servercloud:servercloud /home/servercloud/.java
sudo chmod -R 700 /home/servercloud/.java

Создание systemd сервиса:

Файл сервиса: /etc/systemd/system/servercloud.service

Пример конфигурации:

[Unit]
Description=TeslaCloud
After=network.target postgresql.service
[Service]
Type=simple
User=servercloud
WorkingDirectory=/opt/servercloud
ExecStart=/usr/bin/java -jar servercloud.jar
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target

Включение и запуск сервиса:

sudo systemctl daemon-reload
sudo systemctl enable servercloud
sudo systemctl start servercloud

Проверка статуса и логов:

sudo systemctl status servercloud
journalctl -u servercloud -f


Установка и настройка Nginx

Установка Nginx:

sudo apt install -y nginx

Создание конфигурации Nginx:

Файл конфигурации: /etc/nginx/sites-available/servercloud

Пример:

server {
    listen 80;
    server_name domain.com;
    root /opt/servercloud/html;
    index index.html;
    location /mqtt {
        if ($http_upgrade != "websocket") {
            return 444;
        }
        proxy_pass http://127.0.0.1:1884/mqtt;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 86400;
        proxy_send_timeout 86400;
    }
    location /external/api {
        proxy_pass https://127.0.0.1:8090/external/api;
    }
    location / {
        try_files $uri $uri/ /index.html;
    }
}

Активация конфигурации:

sudo ln -s /etc/nginx/sites-available/servercloud /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo rm /etc/nginx/sites-enabled/default


Финальные права доступа

Добавление пользователя в группу servercloud:

sudo usermod -aG servercloud user

Настройка прав на директорию:

sudo chown -R servercloud:servercloud /opt/servercloud
sudo chmod -R 775 /opt/servercloud


Завершение

После выполнения всех шагов TeslaCloud Standalone Server установлен и работает как фоновой сервис.

Система доступна через веб-браузер и полностью функционирует на локальном сервере.

Для более быстрой и простой установки рекомендуется использовать раздел Автоматическая установка.