Debian/Ubuntu
Bu kılavuzda, MyEMS'i Debian veya Ubuntu sunucusunda dağıtacaksınız.
Önkoşullar
Bu kılavuz, MyEMS'in Ubuntu 24.04 LTS / Ubuntu 22.04 LTS / Ubuntu 20.04 LTS / Ubuntu 18.04 LTS / Debian 12 Bookworm / Debian 11 Bullseye / Debian 10 Buster üzerine nasıl kurulacağını açıklar. Donanım gereksinimleri, seçilen veritabanına ve sisteme bağlı cihaz sayısına göre değişir. MyEMS ve MySQL'i tek bir makinede çalıştırmak için en az 4GB RAM'e ihtiyacınız olacak.
Kaynak kodu klonlayın:
cd ~
git clone https://github.com/myems/myems
1. Adım Veritabanı
Veritabanı bölümüne bakın
2. Adım myems-api
- myems-api servisini kurun:
sudo cp -r ~/myems/myems-api /myems-api
cd /myems-api
sudo apt install python3-pip
sudo pip install -r requirements.txt
(Ubuntu 24.04 LTS)If the code does not work, you can use the following code: sudo pip install -r requirements.txt --break-system-packages
example.env dosyasına göre .env dosyasını oluşturun ve gerekirse düzenleyin:
sudo cp /myems-api/example.env /myems-api/.env
sudo nano /myems-api/.env
Portu güvenlik duvarına ekleyin:
sudo ufw allow 8000
systemd yapılandırma dosyalarını ayarlayın:
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/
Ardından, servislerin sistem açılışında otomatik başlamasını sağlayın:
sudo systemctl enable myems-api.socket
sudo systemctl enable myems-api.service
Servisleri başlatın:
sudo systemctl start myems-api.socket
sudo systemctl start myems-api.service
3. Adım myems-admin
- NGINX Sunucusunu Kurun
http://nginx.org/en/linux_packages.html#Debian adresine bakın
nginx servisini etkinleştirin:
sudo systemctl start nginx.service
- NGINX'i Yapılandırın
sudo nano /etc/nginx/nginx.conf
'http' bölümüne aşağıdaki yönergeleri 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 oluşturun
sudo nano /etc/nginx/conf.d/myems-admin.conf
Aşağıdaki yönergelerle yazın, eğer myems-api servisi farklı bir sunucuda barındırılıyorsa, varsayılan myems-api url'si http://127.0.0.1:8000/ adresini gerçek url ile değiştirin
server {
listen 8001;
server_name myems-admin;
location / {
root /var/www/myems-admin;
index index.html index.htm;
}
## To avoid CORS issue, use Nginx to proxy myems-api to path /api
## Add another location /api in 'server'
## Replace the default myems-api url http://127.0.0.1:8000/ with actual url if the myems-api servcie hosted on a different server
location /api {
proxy_pass http://127.0.0.1:8000/;
proxy_connect_timeout 75;
proxy_read_timeout 600;
send_timeout 600;
}
}
- myems-admin'i kurun: Sunucu internete bağlanamıyorsa, myems/myems-admin klasörünü sıkıştırıp sunucuya yükleyin ve ~/myems/myems-admin dizinine çıkarı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 nano /var/www/myems-admin/app/api.js
'upload' klasörü, kullanıcı tarafından yüklenen dosyalar içindir. myems-admin'i yükseltirken 'upload' klasörünü silmeyin/taşımayın/üzerine yazmayın.
/var/www/myems-admin/upload
Portu güvenlik duvarına ekleyin:
sudo ufw allow 8001
nginx servisini yeniden başlatın:
sudo systemctl restart nginx.service
4. Adım myems-modbus-tcp
Bu adımda, myems-modbus-tcp servisini kuracaksınız.
sudo cp -r ~/myems/myems-modbus-tcp /myems-modbus-tcp
cd /myems-modbus-tcp
sudo pip install -r requirements.txt
(Ubuntu 24.04 LTS)If the code does not work, you can use the following code: sudo pip install -r requirements.txt --break-system-packages
exmaple.env dosyasını .env olarak kopyalayın ve .env dosyasını düzenleyin:
sudo cp /myems-modbus-tcp/example.env /myems-modbus-tcp/.env
sudo nano /myems-modbus-tcp/.env
systemd servisini ayarlayın:
sudo cp myems-modbus-tcp.service /lib/systemd/system/
Servisi etkinleştirin:
sudo systemctl enable myems-modbus-tcp.service
Servisi başlatın:
sudo systemctl start myems-modbus-tcp.service
Servisi izleyin:
sudo systemctl status myems-modbus-tcp.service
Log dosyasını görüntüleyin:
cat /myems-modbus-tcp.log
5. Adım myems-cleaning
Bu adımda, myems-cleaning servisini kuracaksınız.
sudo cp -r ~/myems/myems-cleaning /myems-cleaning
cd /myems-cleaning
sudo pip install -r requirements.txt
(Ubuntu 24.04 LTS)If the code does not work, you can use the following code: sudo pip install -r requirements.txt --break-system-packages
exmaple.env dosyasını .env olarak kopyalayın ve .env dosyasını düzenleyin:
sudo cp /myems-cleaning/example.env /myems-cleaning/.env
sudo nano /myems-cleaning/.env
systemd servisini ayarlayın:
sudo cp /myems-cleaning/myems-cleaning.service /lib/systemd/system/
Servisi etkinleştirin:
sudo systemctl enable myems-cleaning.service
Servisi başlatın:
sudo systemctl start myems-cleaning.service
Servisi izleyin:
sudo systemctl status myems-cleaning.service
Log dosyasını görüntüleyin:
cat /myems-cleaning.log
6. Adım myems-normalization
Bu adımda, myems-normalization servisini kuracaksınız.
sudo cp -r ~/myems/myems-normalization /myems-normalization
cd /myems-normalization
sudo pip install -r requirements.txt
(Ubuntu 24.04 LTS)If the code does not work, you can use the following code: sudo pip install -r requirements.txt --break-system-packages
exmaple.env dosyasını .env olarak kopyalayın ve .env dosyasını düzenleyin:
sudo cp /myems-normalization/example.env /myems-normalization/.env
sudo nano /myems-normalization/.env
systemd servisini ayarlayın:
sudo cp /myems-normalization/myems-normalization.service /lib/systemd/system/
Servisi etkinleştirin:
sudo systemctl enable myems-normalization.service
Servisi başlatın:
sudo systemctl start myems-normalization.service
Servisi izleyin:
sudo systemctl status myems-normalization.service
Log dosyasını görüntüleyin:
cat /myems-normalization.log
7. Adım myems-aggregation
Bu adımda, myems-aggregation servisini kuracaksınız.
sudo cp -r ~/myems/myems-aggregation /myems-aggregation
cd /myems-aggregation
sudo pip install -r requirements.txt
(Ubuntu 24.04 LTS)If the code does not work, you can use the following code: sudo pip install -r requirements.txt --break-system-packages
exmaple.env dosyasını .env olarak kopyalayın ve .env dosyasını düzenleyin:
sudo cp /myems-aggregation/example.env /myems-aggregation/.env
sudo nano /myems-aggregation/.env
systemd servisini ayarlayın:
sudo cp /myems-aggregation/myems-aggregation.service /lib/systemd/system/
Servisi etkinleştirin:
sudo systemctl enable myems-aggregation.service
Servisi başlatın:
sudo systemctl start myems-aggregation.service
Servisi izleyin:
sudo systemctl status myems-aggregation.service
Log dosyasını görüntüleyin:
cat /myems-aggregation.log
8. Adım myems-web
Bu adımda, myems-web UI servisini kuracaksınız.
-
NGINX Sunucusunu Kurun http://nginx.org/en/linux_packages.html#Debian adresine bakın
-
NGINX'i Yapılandırın
Varsayılan dosyaları kaldırın
sudo rm /etc/nginx/sites-enabled/default
sudo rm /etc/nginx/conf.d/default.conf
/etc/nginx/conf.d/ altında yeni bir dosya oluşturun
sudo nano /etc/nginx/conf.d/myems-web.conf
'server' bölümünü aşağıdaki yönergelerle ekleyin:
server {
listen 80;
server_name myems-web;
location / {
root /var/www/myems-web;
index index.html index.htm;
# add try_files directive to avoid 404 error while refreshing pages
try_files $uri /index.html;
}
## To avoid CORS issue, use Nginx to proxy myems-api to path /api
## Add another location /api in 'server' and replace demo address http://127.0.0.1:8000/ with actual url
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'yi Kurun:
NodeJS'i Kurun:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt-get install -y nodejs
- config.js dosyasını düzenleyin:
https://mapbox.com adresinden mapboxToken alın ve showOnlineMap değerini true olarak ayarlayın. Çevrimiçi harita özelliğini kapatmak isterseniz, showOnlineMap değerini false olarak ayarlayın
cd myems/myems-web
sudo nano src/config.js
Derleyin
sudo npm i --unsafe-perm=true --allow-root --legacy-peer-deps
sudo npm run build
Kurulum Aşağıdaki yolun nginx.conf dosyasında yapılandırılan yol ile aynı olduğundan emin olun.
sudo rm -r /var/www/myems-web
sudo mv build /var/www/myems-web
Portu güvenlik duvarına ekleyin:
sudo ufw allow 80
NGINX'i yeniden başlatın
sudo systemctl restart nginx
Kurulum 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 varsayarsak (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 Şifreler
MyEMS Admin UI
Kullanıcı Adı:
administrator
Şifre:
!MyEMS1
MyEMS Web UI
Kullanıcı Adı:
administrator@myems.io
Şifre:
!MyEMS1
Sorun Giderme
Create a virtual environment configuration directory:
sudo python -m venv venv
Start using the virtual environment
source venv/bin/activate
Install the requirements
sudo venv/bin/pip install -r requirements.txt
Deactivate the virtual environment
deactivate