en
Lingua
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
traduzione AI
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Macchina virtuale facile (VM)

Introduzione

Questa documentazione riguarda le macchine virtuali (VM) fornite da Easy Software per i clienti che hanno acquistato la soluzione Server. È valido per le macchine virtuali generate dopo il 1 marzo 2022.

Può anche servire come ispirazione per il tuo ambiente server, ma in tal caso non ci sono garanzie a causa della varietà di possibili componenti e tecnologie che potresti utilizzare.

La VM è configurata solo per piccoli siti (cca 10 utenti che lavorano contemporaneamente). VM è quasi pronto per la produzione ma RICHIEDE un amministratore esperto per installare la VM nel tuo ambiente, impostare backup, monitoraggio, networking, policy di sicurezza ecc. Easy Software non può assumersi la responsabilità dell'esecuzione di questa VM nel tuo ambiente dedicato, la VM è un esempio di come l'applicazione può essere ospitato.
Questo README indirizza "Applicazione", che può essere sostituita da "Easy Project" o "Easy Redmine".

Primi passi

Poiché la macchina virtuale è stata generata in un determinato momento, è possibile che alcuni componenti abbiano già rilasciato alcune patch o correzioni di sicurezza al momento della distribuzione.
Ecco perché dovresti sempre iniziare con un backup seguito da aggiornamento del sistema operativo. Installerà le ultime correzioni di sicurezza e aggiornerà i componenti eventualmente obsoleti.

Descrizione della macchina virtuale

Il sistema operativo è Debian nell'edizione a 64 bit.

Le impostazioni predefinite importanti sono:

  • Il sistema operativo è disponibile tramite SSH tramite la porta 22
  • Il firewall non è impostato (spetta agli amministratori di sistema)
  • Il disco è ~100 GB
    • /avvio 512M
    • / 30G
    • /casa 60G
    • scambiare 4G
    • per aumentare il disco, utilizzare l'LVM disponibile
  • L'applicazione è in ascolto su HTTPS ma con certificato autofirmato, quindi è necessario sostituirla al più presto (maggiori dettagli di seguito)
  • L'applicazione è in esecuzione in /home/easy/[nome_applicazione]/current.

Accesso Linux:

  • nome utente: facile
  • password: e4syPwd-

Si prega di cambiarlo al più presto. Per farlo, esegui il comando passwd nel terminale

Accesso a MySQL:
Usa semplicemente il comando mysql il tuo_app_name (tutti i punti o i trattini nel nome dell'applicazione devono essere sostituiti con delle sottolineature. Esempio: il nome della tua app dovrebbe essere la tua_app_name)

Accesso all'applicazione:
L'accesso predefinito (in caso di database "pulito") è

  • nome utente: admin
  • Password: admin

L'accesso predefinito per la VM con dati demo è:

  • nome utente: gestore
  • password: facile848


In caso di database dalla tua applicazione Cloud, le password rimangono come le avevi.

Struttura della home dell'applicazione

.
├── backup # script di backup salva i dati lì
└── $APP_NAME
    ├── applicazione.pid           
    ├── application.sock # nginx usa questo socket
    ├── configurazione
    │ ├── # configurazioni di applicazioni pregenerate  
    │ ├── # (database, mailing, segreti, server app, ecc...)
    │ └── ...
    ├── corrente
    │ ├── config # tutte le configurazioni dell'applicazione
    │ │ ├── configuration.yml # imposta qui la configurazione della posta in uscita
    │ │ ├── database.yml # accesso al database configurato qui
    │ │ └── ...
    │ ├── file # dati dell'applicazione persistenti
    │ ├── log # log dell'applicazione
    │ ├── file pubblici # statici
    │ └── versione # versione dell'applicazione
    └── public_html -> /home/easy/$APP_NAME/current

Il riavvio dell'applicazione avviene semplicemente tramite "systemctl restart puma@[application_name]" come sudo

Responsabilità del cliente

La VM funziona con l'ultima versione consigliata di Debian. Il sistema richiede una manutenzione comune come:

  • aggiornamenti regolari
  • monitoraggio delle risorse (spazio libero, utilizzo della memoria, carico, ...)
  • backup dei dati su un disco indipendente
  • politiche di sicurezza

Aggiornamenti

Eseguire frequentemente gli aggiornamenti di sicurezza del sistema. Consigliamo di farlo almeno una volta a settimana. Prima dell'aggiornamento, assicurati che l'ultimo backup sia disponibile e funzionante.

Documentazione ufficiale su come eseguire solo gli aggiornamenti di sicurezza https://wiki.debian.org/UnattendedUpgrades

Monitoraggio delle risorse

Easy Software ha una buona esperienza con Prometheus. Pertanto, node_exporter fa parte della VM dalla versione 1.3. 2022.

La documentazione ufficiale di base per Node Exporter e Prometheus è su https://prometheus.io/docs/guides/node-exporter/ La migliore dashboard di grafana Quickstart è su https://grafana.com/grafana/dashboards/1860

A seconda dell'utilizzo, è necessario ottimizzare le impostazioni delle risorse della macchina virtuale, ad esempio aumentare la quantità di RAM o il numero di core forniti alla macchina virtuale. Tutte queste configurazioni devono essere eseguite regolarmente dall'amministratore dell'ambiente virtuale.

L'esportatore di nodi è in ascolto sulla porta 9100.

Disabilita node_exporter

node_exporter potrebbe essere disabilitato eseguendo:

systemctl arresta node_exporter.service
systemctl disabilita node_exporter.service
maschera systemctl node_exporter.service

Impedisce di avviare l'esportatore di nodi dopo il prossimo riavvio...

Se hai bisogno del supporto completo dell'ambiente da parte di Easy Software (ottimizzazione della sicurezza e delle prestazioni, backup, monitoraggio, ecc.), ti consigliamo di trasferire alle nostre soluzioni Cloud.

Backup dei dati

Il backup preconfigurato presente nella VM è un esempio funzionante, che deve essere adattato alla tua infrastruttura e deve essere monitorato. Tieni presente che un backup corretto dovrebbe essere:

  • controllato al termine del processo di backup (verificare almeno la dimensione del backup)
  • tenuto in un luogo sicuro
  • distante dall'ambiente di corsa (almeno in un'altra città)
  • ripristinato di tanto in tanto per testare la tua capacità di eseguire il ripristino

L'applicazione archivia i dati in due posizioni, quindi non dimenticare di eseguire il backup di entrambi.

DB

Il backup del database può essere eseguito molto facilmente in modo errato. Il modo migliore e più sicuro per eseguire i backup del database mysql è tramite il dump del database, come puoi vedere nello script di esempio. Esegue backup indipendenti dalla versione, che possono essere ripristinati per intero o consentono di ottenere solo una parte dei vecchi dati.

Esempio:

mysqldump --add-drop-tables --routines --triggers --flush-logs $DATABASE_NAME > percorso/del/file_dove_db_will_be_stored.sql

La copia di file da /var/lib/mysql è un modo NON CORRETTO di salvare i backup dei DB.

File

Ogni file/allegato caricato nell'applicazione viene archiviato /home/facile/$APP_NAME/current/files. È necessario eseguire il backup dell'intero contenuto di questa directory. In questo caso, puoi semplicemente copiare il contenuto.

Politiche di sicurezza

La VM contiene chiavi SSH per gli ingegneri di Easy Software in home/easy/.ssh/authorized_keys. Inoltre, le regole per il firewall iptables in /etc/iptables consentono l'accesso a un indirizzo IP di Easy Software.

Entrambe queste politiche sono pensate per l'eventuale supporto remoto da parte del nostro personale su tua richiesta. Le politiche di accesso sono completamente sotto il tuo controllo.

Compiti automatici

Tutte le attività automatiche sono pianificate da CRON e Sidekiq, che avviano le attività pianificate ogni 5 m. Si consiglia di non eseguire questi lavori a intervalli più brevi a causa dei loro elevati requisiti di prestazioni. Per apportare modifiche, puoi modificarle eseguendo il comando seguente in user easy

crontab -e

Documentazione dettagliata per cron
https://www.easyredmine.com/resources/redmine-installation/common-troubles/cron-not-working-helpdesk-emails-alerts-repeating-tasks-etc-are-not-automatically-processed

Migra i dati su questa macchina virtuale

Come importare dati di applicazioni o Redmine precedenti (SOURCE) in VM (TARGET). Funziona nella maggior parte dei casi, ma questa procedura potrebbe non funzionare nel caso in cui utilizzi plug-in di terze parti nell'istanza Redmine di origine.

1. dal tuo (SOURCE) crea il file di dump MySQL:

mysqldump --opt facile > backup.sql

2. trasferire backup.sql in (TARGET)

3. vai alla cartella dell'applicazione su (TARGET)

cd /home/facile/[nome_applicazione]/corrente

4. ricreare il database (TARGET).

bundle exec rake db:drop db:create RAILS_ENV=produzione DISABLE_DATABASE_ENVIRONMENT_CHECK=1

5. importare backup.sql

mysql [nome_db] < backup.sql

6. trasferire allegati e altri file da (SOURCE)[redmine]/files in (TARGET)/home/easy/[application_name]/current/files

7. corri:

bundle exec rake easyproject:install RAILS_ENV=production

8. riavviare l'applicazione

sudo systemctl riavvia puma@[nome_applicazione]

Troubleshooting

Sidekiq mancante

Su alcune macchine il file sidekiq@.service non viene aggiunto. Controllare la cartella /etc/systemd/system se viene presentato il file sidekiq@.service. In caso contrario, aggiungilo. Dovrebbe contenere il seguente:


[Unità]
Descrizione=servizio SIDEKIQ per %i
Dopo=servizio redis
PartOf=puma@%i.service unicorn@%i.service

[Servizio]
Tipo = semplice
PIDFile=/home/facile/%i/sidekiq.pid

Ambiente = RAILS_ENV = produzione
Ambiente=MALLOC_ARENA_MAX=2

Utente = facile
Gruppo=www-dati
Directorydilavoro=/home/easy/%i/public_html

ExecStart=/usr/local/rvm/bin/rvm default do bundle exec sidekiq -e produzione
ExecReload=/bin/kill -s TSTP $MAINPID

Restart = sempre

[Installare]
WantedBy=multi-user.target puma@%i.service unicorn@%i.service

Dopo che il file è stato creato, esegui

sudo systemctl daemon-reload

riavvia Puma

I backup MySQL sono indirizzati al database sbagliato

Per risolvere questo problema, apri il file /usr/local/bin/mysql-backups.sh e sostituisci il nome del DB "easy" nel DB dell'app (di solito è lo stesso del nome dell'app ma tutti i trattini e i punti devono essere sostituiti con sottolineature)

Prova Easy Redmine in 30 giorni di prova gratuita

Funzionalità complete, protezione SSL, backup giornalieri, nella tua geolocalizzazione