Ana İçeriğe Git

suse


SUSE

Bu kılavuzda, MyEMS'i SUSE Linux Enterprise Server üzerinde dağıtacaksınız.

Önkoşullar

Bu kılavuz, MyEMS'in SUSE Linux Enterprise Server 15'e nasıl yükleneceğini açıklar. Donanım gereksinimleri, seçilen veritabanına ve sisteme bağlı cihaz miktarına bağlıdır. MyEMS ve MySQL'i tek bir makinede çalıştırmak için en az 4GB RAM gerekir.

Kaynak kodunu kopyalayın (clone):

cd ~
git clone https://github.com/myems/myems

Adım 1 Veritabanı

Veritabanı bölümüne bakın

Adım 2 myems-api

  • myems-api hizmetini yükleyin:
sudo cp -r ~/myems/myems-api /myems-api
cd /myems-api
sudo pip install -r requirements.txt

example.env dosyasına dayanarak .env dosyası oluşturun ve gerekirse .env dosyasını düzenleyin:

sudo cp /myems-api/example.env /myems-api/.env
sudo vi /myems-api/.env

Firewall'a port ekleyin:

sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
sudo firewall-cmd --reload

systemd yapılandırma dosyalarını kurun:

sudo cp /myems-api/myems-api.service /lib/systemd/system/
sudo cp /myems-api/myems-api.socket /lib/systemd/system/
sudo cp /myems-api/myems-api.conf /usr/lib/tmpfiles.d/

Sonra hizmetleri etkinleştirin ki önyükleme sırasında otomatik olarak başlasınlar:

sudo systemctl enable myems-api.socket
sudo systemctl enable myems-api.service

Hizmetleri başlatın:

sudo systemctl start myems-api.socket
sudo systemctl start myems-api.service

Adım 3 myems-admin

  • NGINX Sunucusunu yükleyin

http://nginx.org/en/linux_packages.html#Debian adresine başvurunuz

nginx hizmetini etkinleştirin:

sudo systemctl start nginx.service
  • NGINX'i yapılandırın
sudo vi /etc/nginx/nginx.conf

'http' bölümünde, birkaç yönerge ekleyin:

http{
client_header_timeout 600;
client_max_body_size 512M;
gzip on;
gzip_min_length 512;
gzip_proxied any;
gzip_types *;
gzip_vary on;
proxy_buffering off;
...

}

/etc/nginx/conf.d/ altında yeni bir dosya ekleyin

sudo vi /etc/nginx/conf.d/myems-admin.conf

Aşağıdaki yönergelerle yazın, myems-api hizmeti farklı bir sunucuda barındırılıyorsa varsayılan myems-api url'si http://127.0.0.1:8000/ yerine gerçek url'yi yazın

server {
listen 8001;
server_name myems-admin;
location / {
root /var/www/myems-admin;
index index.html index.htm;
}
## CORS sorunu önlemek için, Nginx'i kullanarak myems-api'yi /api yoluna proxy edin
## 'server' içine başka bir /api konumu ekleyin
## myems-api hizmeti farklı bir sunucuda barındırılıyorsa varsayılan myems-api url'si http://127.0.0.1:8000/ yerine gerçek url'yi yazın
location /api {
proxy_pass http://127.0.0.1:8000/;
proxy_connect_timeout 75;
proxy_read_timeout 600;
send_timeout 600;
}
}
  • myems-admin'i yükleyin: Eğer sunucu internete bağlanamıyorsa, lütfen myems/myems-admin klasörünü sıkıştırın ve sunucuya yükleyin ve ~/myems/myems-admin dizinine ayıklayın
sudo mkdir /var/www
sudo cp -r ~/myems/myems-admin  /var/www/myems-admin
sudo chmod 0755 -R /var/www/myems-admin

Yapılandırma dosyasını kontrol edin ve gerekirse değiştirin:

sudo vi /var/www/myems-admin/app/api.js
Dikkat

'upload' klasörü, kullanıcı tarafından yüklenen dosyalar içindir. myems-admin'i yükselttiğinizde 'upload' klasörünü silme/hareket ettirme/üzerine yazma YAPMAYIN.

 /var/www/myems-admin/upload

Firewall'a port ekleyin:

sudo firewall-cmd --zone=public --add-port=8001/tcp --permanent
sudo firewall-cmd --reload

Adım 4 myems-modbus-tcp

Bu adımda, myems-modbus-tcp hizmetini yükleyeceksiniz.

sudo cp -r ~/myems/myems-modbus-tcp /myems-modbus-tcp
cd /myems-modbus-tcp
sudo pip install -r requirements.txt

exmaple.env dosyasını .env'ye kopyalayın ve .env dosyasını düzenleyin:

sudo cp /myems-modbus-tcp/example.env /myems-modbus-tcp/.env
sudo vi /myems-modbus-tcp/.env

systemd hizmetini kurun:

sudo cp myems-modbus-tcp.service /lib/systemd/system/

Hizmeti etkinleştirin:

sudo systemctl enable myems-modbus-tcp.service

Hizmeti başlatın:

sudo systemctl start myems-modbus-tcp.service

Hizmeti izleyin:

sudo systemctl status myems-modbus-tcp.service

Log'u görüntüleyin:

cat /myems-modbus-tcp.log

Adım 5 myems-cleaning

Bu adımda, myems-cleaning hizmetini yükleyeceksiniz.

sudo cp -r ~/myems/myems-cleaning /myems-cleaning
cd /myems-cleaning
sudo pip install -r requirements.txt

exmaple.env dosyasını .env'ye kopyalayın ve .env dosyasını düzenleyin:

sudo cp /myems-cleaning/example.env /myems-cleaning/.env
sudo vi /myems-cleaning/.env

systemd hizmetini kurun:

sudo cp /myems-cleaning/myems-cleaning.service /lib/systemd/system/

Hizmeti etkinleştirin:

sudo systemctl enable myems-cleaning.service

Hizmeti başlatın:

sudo systemctl start myems-cleaning.service

Hizmeti izleyin:

sudo systemctl status myems-cleaning.service

Log'u görüntüleyin:

cat /myems-cleaning.log

Adım 6 myems-normalization

Bu adımda, myems-normalization hizmetini yükleyeceksiniz.

sudo cp -r ~/myems/myems-normalization /myems-normalization
cd /myems-normalization
sudo pip install -r requirements.txt

exmaple.env dosyasını .env'ye kopyalayın ve .env dosyasını düzenleyin:

sudo cp /myems-normalization/example.env /myems-normalization/.env
sudo vi /myems-normalization/.env

systemd hizmetini kurun:

sudo cp /myems-normalization/myems-normalization.service /lib/systemd/system/

Hizmeti etkinleştirin:

sudo systemctl enable myems-normalization.service

Hizmeti başlatın:

sudo systemctl start myems-normalization.service

Hizmeti izleyin:

sudo systemctl status myems-normalization.service

Log'u görüntüleyin:

cat /myems-normalization.log

Adım 7 myems-aggregation

Bu adımda, myems-aggregation hizmetini yükleyeceksiniz.

sudo cp -r ~/myems/myems-aggregation /myems-aggregation
cd /myems-aggregation
pip install -r requirements.txt

exmaple.env dosyasını .env'ye kopyalayın ve .env dosyasını düzenleyin:

sudo cp /myems-aggregation/example.env /myems-aggregation/.env
vi /myems-aggregation/.env

systemd hizmetini kurun:

sudo cp /myems-aggregation/myems-aggregation.service /lib/systemd/system/

Hizmeti etkinleştirin:

sudo systemctl enable myems-aggregation.service

Hizmeti başlatın:

sudo systemctl start myems-aggregation.service

Hizmeti izleyin:

sudo systemctl status myems-aggregation.service

Log'u görüntüleyin:

cat /myems-aggregation.log

Adım 8 myems-web

Bu adımda, myems-web UI hizmetini yükleyeceksiniz.

Varsayılan dosyaları silin

sudo rm /etc/nginx/sites-enabled/default
sudo rm /etc/nginx/conf.d/default.conf

/etc/nginx/conf.d/ altında yeni bir dosya ekleyin

sudo nano /etc/nginx/conf.d/myems-web.conf

Aşağıdaki yönergelerle yeni bir 'server' bölümü ekleyin:

server {
listen 80;
server_name myems-web;
location / {
root /var/www/myems-web;
index index.html index.htm;
# Sayfaları yenilediğinde 404 hatasını önlemek için try_files yönergesini ekleyin
try_files $uri /index.html;
}
## CORS sorunu önlemek için, Nginx'i kullanarak myems-api'yi /api yoluna proxy edin
## 'server' içine başka bir /api konumu ekleyin ve demo adresi http://127.0.0.1:8000/ yerine gerçek url'yi yazın
location /api {
proxy_pass http://127.0.0.1:8000/;
proxy_connect_timeout 75;
proxy_read_timeout 600;
send_timeout 600;
}
}

NGINX'i yeniden başlatın

sudo systemctl restart nginx
  • MyEMS Web UI'yı yükleyin:

NodeJS'yi kurun:

sudo zypper install -y nodejs
  • config.js dosyasını düzenleyin:
Not

mapboxToken'ı https://mapbox.com adresinden alın ve ardından showOnlineMap'i true olarak ayarlayın. Çevrimiçi harita özelliğini kapatmak istiyorsanız, showOnlineMap'i false olarak ayarlayın

cd myems/myems-web
sudo vi src/config.js

Derleyin ve sıkıştırın

sudo npm i --unsafe-perm=true --allow-root --legacy-peer-deps
sudo npm run build

Yükleyin Dosyaları web sunucunuza yükleyin. Lütfen aşağıdaki yolun nginx.conf'da yapılandırılan yol ile aynı olduğundan emin olun.

sudo mv build  /var/www/myems-web

Firewall'a port ekleyin:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

Yükleme Sonrası

Tebrikler! Artık MyEMS Admin UI ve Web UI'ye giriş yapabilirsiniz.

Varsayılan Portlar

MyEMS Web UI: 80

MyEMS API: 8000

MyEMS Admin UI: 8001

Sunucu adresinin 192.168.1.8 olduğunu varsayalım (gerçek sunucu adresiyle değiştirin) MyEMS Web UI'ye http://192.168.1.8 adresinden erişin (80 portu atlanabilir) MyEMS Admin UI'ye http://192.168.1.8:8001 adresinden erişin

Varsayılan Parolalar

MyEMS Admin UI

Kullanıcı adı:

administrator

Parola:

!MyEMS1

MyEMS Web UI

Kullanıcı adı:

administrator@myems.io

Parola:

!MyEMS1

Sorun Giderme