en
Språk
  • en
  • cs
  • hu
  • it
  • es
  • fr
  • de
  • ru
Maskinoversettelse
  • bg
  • dk
  • nl
  • gr
  • il
  • jp
  • kr
  • Nei.
  • pl
  • tr

Enkel virtuell maskin (VM)

Introduksjon

Denne dokumentasjonen er for virtuelle maskiner (VM) levert av Easy Software for klienter som har kjøpt serverløsning. Den er gyldig for VM-er generert etter 1. mars 2022.

Det kan også tjene som inspirasjon for ditt eget servermiljø, men i slike tilfeller er det ingen garantier på grunn av mangfoldet av mulige komponenter og teknologier du kan bruke.

VM-en er konfigurert kun for små nettsteder (ca 10 brukere som jobber samtidig). VM er nesten produksjonsklar men KREVER erfaren administrator for å installere VM i ditt miljø, sette opp backup, overvåking, nettverk, sikkerhetspolicyer etc. Easy Software kan ikke ta ansvar for å kjøre denne VM i ditt dedikerte miljø, VM er et eksempel på hvordan applikasjonen kan være vert.
Denne README adresser "Application", som kan erstattes av enten "Easy Project" eller "Easy Redmine".

Første steg

Fordi VM-en ble generert på et bestemt tidspunkt, er det mulig at noen komponenter allerede har utgitt noen oppdateringer eller sikkerhetsrettinger når du distribuerer den.
Derfor bør du alltid starte med en sikkerhetskopi etterfulgt av oppdatering av OS. Den vil installere de siste sikkerhetsreparasjonene og oppdatere muligens utdaterte komponenter.

VM beskrivelse

OS er Debian i 64-biters utgave.

De viktige standardinnstillingene er:

  • OS er tilgjengelig av SSH via port 22
  • Brannmur er ikke satt (det er opp til systemadministratorer)
  • Disken er ~100 GB
    • /boot 512M
    • / 30G
    • /hjem 60G
    • bytte 4G
    • for å øke disken, bruk tilgjengelig LVM
  • Applikasjonen lytter på HTTPS, men med selvsignert sertifikat, så du må erstatte det ASAP (mer detaljer nedenfor)
  • Applikasjonen kjører i /home/easy/[application_name]/current.

Linux pålogging:

  • brukernavn: enkelt
  • passord: e4syPwd-

Vennligst endre det ASAP. For å gjøre det, kjør kommandoen passwd i terminal

Mysql pålogging:
Bare bruk kommandoen mysql ditt_app_navn (alle prikker eller bindestreker i applikasjonsnavnet bør erstattes med understrekinger. Eksempel: app-navnet ditt skal være app-navnet ditt)

Programpålogging:
Standard pålogging (i tilfelle av "ren" database) er:

  • brukernavn: admin
  • passord: admin

Standard pålogging for VM med demodata er: 

  • brukernavn: manager
  • passord: easy848

Ved database fra skyapplikasjonen forblir passordene som du hadde dem.

Struktur av søknadens hjem

.
├── sikkerhetskopier # backup script lagrer data der
└── $APP_NAME
    ├── application.pid           
    ├── application.sock # nginx bruker denne kontakten
    ├── konfig
    │ ├── # forhåndsgenererte applikasjonskonfigurasjoner  
    │ ├── # (database, e-post, hemmeligheter, appserver osv...)
    │ └── ...
    ├── gjeldende
    │ ├── config # alle applikasjonskonfigurasjoner
    │ │ ├── configuration.yml # sett opp konfigurasjon for utgående e-post her
    │ │ ├── database.yml # databasetilgang konfigurert her
    │ │ └── ...
    │ ├── filer # vedvarende programdata
    │ ├── logg # applikasjonslogger
    │ ├── offentlige # statiske filer
    │ └── versjon # applikasjonsversjon
    └── public_html -> /home/easy/$APP_NAME/current

Å starte applikasjonen på nytt er ganske enkelt via "systemctl restart puma@[application_name]" som sudo

Kundeansvar

VM kjører på den siste anbefalte versjonen av Debian. Systemet krever vanlig vedlikehold som:

  • jevnlige oppdateringer
  • ressursovervåking (ledig plass, minnebruk, belastning, ...)
  • sikkerhetskopiering av data til en uavhengig disk
  • sikkerhetspolitikk

oppdateringer

Gjør sikkerhetsoppdateringer av systemet ofte. Vi anbefaler å gjøre det minst en gang i uken. Før oppdatering, vær sikker på at siste sikkerhetskopi er tilgjengelig og fungerer.

Offisiell dokumentasjon hvordan du kjører bare sikkerhetsoppdateringer https://wiki.debian.org/UnattendedUpgrades

Ressursovervåking

Easy Software har god erfaring med Prometheus. Derfor er node_exporter en del av VM siden 1.3. 2022.

Den offisielle helt grunnleggende dokumentasjonen for Node Exporter og Prometheus er på https://prometheus.io/docs/guides/node-exporter/ Det beste hurtigstart-grafana-dashbordet er på https://grafana.com/grafana/dashboards/1860

Avhengig av bruken din bør du justere VM-ressursinnstillingene, for eksempel øke mengden RAM eller antall kjerner som leveres til VM. Alle disse konfigurasjonene bør gjøres regelmessig av administratoren for det virtuelle miljøet.

Nodeeksportør lytter på port 9100.

Deaktiver node_exporter

node_exporter kan deaktiveres ved å kjøre:

systemctl stoppe node_exporter.service
systemctl deaktiver node_exporter.service
systemctl mask node_exporter.service

Det forhindrer å starte nodeeksportør etter neste omstart...

Hvis du trenger full miljøstøtte fra Easy Software (sikkerhets- og ytelsesoptimaliseringer, sikkerhetskopiering, overvåking osv.), anbefaler vi å overføre til våre Cloud-løsninger.

Sikkerhetskopier av data

Den forhåndskonfigurerte sikkerhetskopieringen som finnes i VM-en er et fungerende eksempel, som må passe til infrastrukturen din og overvåkes. Vær oppmerksom på at en riktig sikkerhetskopi bør være:

  • sjekket etter at sikkerhetskopieringsprosessen er fullført (sjekk i det minste størrelsen på sikkerhetskopien)
  • oppbevares på et trygt sted
  • fjernt fra løpemiljøet (i hvert fall i en annen by)
  • gjenopprettes en gang i blant for å teste din evne til å gjenopprette

Applikasjonen lagrer data på to steder, så ikke glem å sikkerhetskopiere begge.

DB

Databasesikkerhetskopiering kan veldig lett gjøres feil. Den beste og sikreste måten å sikkerhetskopiere mysql-databasen på er via databasedump, som du kan se i eksempelskriptet. Den lager versjonsuavhengige sikkerhetskopier, som kan gjenopprettes hele eller lar deg få bare deler av de gamle dataene.

Eksempel:

mysqldump --add-drop-tables --rutiner --triggere --flush-logs $DATABASE_NAME > sti/til/fil_hvor_db_will_be_stored.sql

Å kopiere filer fra /var/lib/mysql er en FEIL måte å lagre DB-sikkerhetskopier på.

Filer

Hver opplastet fil/vedlegg i applikasjonen lagres i /home/easy/$APP_NAME/current/files. Hele innholdet i denne katalogen bør sikkerhetskopieres. I dette tilfellet kan du ganske enkelt kopiere innholdet.

Sikkerhetspolitikk

VM-en inneholder SSH-nøkler for Easy Software-ingeniører i home/easy/.ssh/authorized_keys. Reglene for iptables-brannmuren i /etc/iptables tillater også tilgang til en Easy Software IP-adresse.

Begge disse retningslinjene er ment for eventuell ekstern støtte fra våre ansatte på din forespørsel. Tilgangspolicyene er fullstendig under din kontroll.

Automatiske oppgaver

Alle automatiske oppgaver planlegges av CRON og Sidekiq, som starter planlagte jobber hver 5.m. Vi anbefaler å ikke kjøre disse jobbene med kortere intervaller på grunn av deres høye ytelseskrav. For å gjøre endringer, kan du redigere dem ved å kjøre kommandoen nedenfor under brukerenkelt

crontab -e

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

Migrer data til denne VM

Hvordan importere eldre applikasjons- eller Redmine-data (SOURCE) til VM (TARGET). Dette fungerer i de fleste tilfeller, men denne prosedyren fungerer kanskje ikke i tilfelle du bruker tredjeparts plugins i Redmine-kildeforekomsten.

1. fra (KILDEN) oppretter MySQL-dumpfilen:

mysqldump --opt easy > backup.sql

2. overfør backup.sql til (TARGET)

3. gå til Application-mappen på (TARGET)

cd /home/easy/[application_name]/current

4. gjenskape (TARGET) database

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

5. importer backup.sql

mysql [db_name] < backup.sql

6. overføre vedlegg og andre filer fra (KILDE)[redmine]/filer til (TARGET)/home/easy/[application_name]/current/files

7. løp:

bundle exec rake easyproject: installere RAILS_ENV = produksjon

8. start programmet på nytt

sudo systemctl restart puma@[application_name]

Feilsøking

Mangler sidekiq

På noen av maskinene er sidekiq@.service-filen ikke lagt til. Vennligst sjekk /etc/systemd/system-mappen hvis sidekiq@.service-filen er presentert. Hvis ikke - legg det til. Den skal inneholde følgende:


[Enhet]
Description=SIDEKIQ-tjeneste for %i
After=redis.service
PartOf=puma@%i.service unicorn@%i.service

[Service]
Type = enkel
PIDFile=/home/easy/%i/sidekiq.pid

Miljø = RAILS_ENV = produksjon
Miljø=MALLOC_ARENA_MAX=2

User = lett
Gruppe=www-data
WorkingDirectory=/home/easy/%i/public_html

ExecStart=/usr/local/rvm/bin/rvm standard bunte exec sidekiq -e production
ExecReload=/bin/kill -s TSTP $MAINPID

Restart = alltid

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

Etter at filen er opprettet, kjør

sudo systemctl daemon-reload

start puma på nytt

MYSQL-sikkerhetskopier er rettet mot feil database

For å fikse dette problemet, åpne filen /usr/local/bin/mysql-backups.sh og erstatt DB-navnet "enkelt" til app-DB (vanligvis er det det samme som appnavn, men alle streker og prikker skal erstattes med understreker)

Prøv Easy Project i 30 dager gratis prøveversjon

Fulle funksjoner, SSL-beskyttet, daglige sikkerhetskopier, i din geoposisjon