en
Språk
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI-översättning
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Enkel virtuell maskin (VM)

Beskrivning

Denna dokumentation är för virtuella maskiner (VM) som tillhandahålls av Easy Software för klienter som köpt serverlösning. Den är giltig för virtuella datorer genererade efter 1 mars 2022.

Det kan också tjäna som inspiration för din egen servermiljö, men i sådana fall finns det inga garantier på grund av de olika möjliga komponenter och teknologier du använder.

Den virtuella datorn är konfigurerad bara för små webbplatser (ca 10 samtidigt arbetande användare). VM är nästan produktionsklar men KRÄVER erfaren administratör för att installera virtuell dator i din miljö, ställa in säkerhetskopiering, övervakning, nätverk, säkerhetspolicyer etc. Easy Software kan inte ta ansvar för att köra denna virtuella dator i din dedikerade miljö, den virtuella datorn är ett exempel på hur applikationen kan vara värd.
Denna README adresserar "Application", som kan ersättas av antingen "Easy Project" eller "Easy Redmine".

Första stegen

Eftersom den virtuella datorn genererades vid en viss tidpunkt är det möjligt att vissa komponenter redan kan ha släppt vissa patchar eller säkerhetskorrigeringar när du distribuerar den.
Det är därför du alltid ska börja med en backup följt av uppdatering av OS. Det kommer att installera de senaste säkerhetskorrigeringarna och uppdatera eventuellt föråldrade komponenter.

VM beskrivning

OS är Debian i 64-bitars utgåva.

De viktiga standardinställningarna är:

  • OS är tillgängligt av SSH via port 22
  • Brandväggen är inte inställd (det är upp till systemadministratörer)
  • Disken är ~100 GB
    • /boot 512M
    • / 30G
    • /hem 60G
    • byta 4G
    • för att öka disken, använd den tillgängliga LVM
  • Applikationen lyssnar på HTTPS men med självsignerat certifikat, så du måste byta ut det ASAP (mer information nedan)
  • Applikationen körs i /home/easy/[application_name]/current.

Linux-inloggning:

  • användarnamn: lätt
  • lösenord: e4syPwd-

Vänligen ändra det ASAP. Kör kommandot för att göra det passwd i terminalen

Mysql inloggning:
Använd bara kommandot mysql ditt_app_namn (alla punkter eller streck i applikationsnamnet ska ersättas med understrykning. Exempel: ditt-app-namn ska vara ditt_app_namn)

Programinloggning:
Standardinloggning (vid "ren" databas) är

  • användarnamn: admin
  • lösenord: admin

Standardinloggningen för den virtuella datorn med demodata är:

  • användarnamn: chef
  • lösenord: easy848


Vid databas från din molnapplikation förblir lösenorden som du hade dem.

Struktur för ansökans hem

.
├── säkerhetskopior # backup script sparar data där
└── $APP_NAME
    ├── application.pid           
    ├── application.sock # nginx använder denna socket
    ├── konfig
    │ ├── # förgenererade applikationskonfigurationer  
    │ ├── # (databas, utskick, hemligheter, appserver, etc...)
    │ └── ...
    ├── ström
    │ ├── config # alla programkonfigurationer
    │ │ ├── configuration.yml # ställ in konfigurationen för utgående e-post här
    │ │ ├── database.yml # databasåtkomst konfigurerad här
    │ │ └── ...
    │ ├── filer # beständig applikationsdata
    │ ├── logg # applikationsloggar
    │ ├── offentliga # statiska filer
    │ └── version # applikationsversion
    └── public_html -> /home/easy/$APP_NAME/current

Att starta om programmet är helt enkelt via "systemctl restart puma@[application_name]" som sudo

Kundansvar

Den virtuella datorn körs på den senaste rekommenderade versionen av Debian. Systemet kräver vanligt underhåll som:

  • regelbundna uppdateringar
  • resursövervakning (ledigt utrymme, minnesanvändning, belastning, ...)
  • säkerhetskopiering av data till en oberoende disk
  • säkerhetspolitik

Uppdateringar

Gör säkerhetsuppdateringar av systemet ofta. Vi rekommenderar att du gör det minst en gång i veckan. Före uppdatering, se till att den senaste säkerhetskopian är tillgänglig och fungerar.

Officiell dokumentation hur man kör endast säkerhetsuppdateringar https://wiki.debian.org/UnattendedUpgrades

Resursövervakning

Easy Software har god erfarenhet av Prometheus. Därför är node_exporter en del av den virtuella datorn sedan 1.3. 2022.

Den officiella mycket grundläggande dokumentationen för Node Exporter och Prometheus finns på https://prometheus.io/docs/guides/node-exporter/ Den bästa snabbstartsinstrumentpanelen för grafana finns på https://grafana.com/grafana/dashboards/1860

Beroende på din användning bör du justera VM-resursinställningarna, till exempel öka mängden RAM eller antalet kärnor som tillhandahålls till VM. Alla dessa konfigurationer bör göras regelbundet av administratören för din virtuella miljö.

Nodexportör lyssnar på port 9100.

Inaktivera node_exporter

node_exporter skulle kunna inaktiveras genom att köra:

systemctl stoppa node_exporter.service
systemctl inaktivera node_exporter.service
systemctl-mask node_exporter.service

Det förhindrar att starta nodexporter efter nästa omstart...

Om du behöver fullt miljöstöd från Easy Software (säkerhets- och prestandaoptimeringar, säkerhetskopiering, övervakning, etc), rekommenderar vi att du går över till våra molnlösningar.

Säkerhetskopiering av data

Den förkonfigurerade säkerhetskopieringen som finns i den virtuella datorn är ett fungerande exempel, som måste passa din infrastruktur och måste övervakas. Tänk på att en korrekt säkerhetskopia bör vara:

  • kontrolleras efter att säkerhetskopieringen avslutats (kontrollera åtminstone storleken på säkerhetskopian)
  • förvaras på en säker plats
  • långt från löparmiljön (åtminstone i en annan stad)
  • återställs då och då för att testa din förmåga att utföra återhämtning

Applikationen lagrar data på två ställen, så glöm inte att säkerhetskopiera båda.

DB

Databassäkerhetskopiering kan mycket lätt göras felaktigt. Det bästa och säkraste sättet att säkerhetskopiera mysql-databasen är via databasdump som du kan se i exempelskriptet. Det gör versionsoberoende säkerhetskopior, som kan återställas hela eller låter dig få bara en del av den gamla data.

Exempelvis:

mysqldump --add-drop-tables --rutiner --triggers --flush-logs $DATABASE_NAME > sökväg/to/file_where_db_will_be_stored.sql

Att kopiera filer från /var/lib/mysql är ett FEL sätt att spara DB-säkerhetskopior.

Filer

Varje uppladdad fil/bilaga i applikationen lagras i /home/easy/$APP_NAME/current/files. Hela innehållet i denna katalog bör säkerhetskopieras. I det här fallet kan du helt enkelt kopiera innehållet.

Säkerhetspolicy

Den virtuella datorn innehåller SSH-nycklar för Easy Software-ingenjörer i home/easy/.ssh/authorized_keys. Dessutom tillåter reglerna för iptables-brandväggen i /etc/iptables åtkomst av en Easy Software IP-adress.

Båda dessa policyer är avsedda för eventuell fjärrsupport av vår personal på din begäran. Åtkomstpolicyerna är helt under din kontroll.

Automatiska uppgifter

Alla automatiska uppgifter schemaläggs av CRON och Sidekiq, som startar schemalagda jobb var 5:e minut. Vi rekommenderar att du inte kör dessa jobb med kortare intervaller på grund av deras höga prestandakrav. För att göra ändringar kan du redigera dem genom att köra kommandot nedan under användarenkelt

crontab -e

Detaljerad dokumentation för cron
https://www.easyredmine.com/resources/redmine-installation/common-troubles/cron-not-working-helpdesk-emails-alerts-repeating-tasks-etc-are-not-automatically-processed

Migrera data till denna virtuella dator

Hur man importerar äldre applikations- eller Redmine-data (SOURCE) till VM (TARGET). Detta fungerar i de flesta fall, men den här proceduren kanske inte fungerar om du använder plugin från tredje part i din Redmine-källa.

1. från din (KÄLLA) skapa MySQL-dumpfil:

mysqldump --opt easy > backup.sql

2. överför backup.sql till (TARGET)

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

cd /home/easy/[application_name]/current

4. återskapa (TARGET) databas

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

5. importera backup.sql

mysql [db_name] < backup.sql

6. överför bilagor och andra filer från (SOURCE)[redmine]/filer till (TARGET)/home/easy/[application_name]/current/files

7. kör:

bunt exec rake easyproject: installera RAILS_ENV = produktion

8. starta om programmet

sudo systemctl starta om puma@[applikationsnamn]

Felsökning

Saknar sidekiq

På vissa av maskinerna läggs inte filen sidekiq@.service till. Kontrollera mappen /etc/systemd/system om filen sidekiq@.service visas. Om inte - lägg till det. Den bör innehålla följande:


[Enhet]
Description=SIDEKIQ-tjänst för %i
After=redis.service
PartOf=puma@%i.service unicorn@%i.service

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

Miljö = RAILS_ENV = produktion
Miljö=MALLOC_ARENA_MAX=2

User = lätt
Group=www-data
WorkingDirectory=/home/easy/%i/public_html

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

Återstart = alltid

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

Kör efter att filen har skapats

sudo systemctl daemon-reload

starta om puma

MYSQL-säkerhetskopior är inriktade på fel databas

För att åtgärda det här problemet, öppna filen /usr/local/bin/mysql-backups.sh och ersätt DB-namnet "lätt" till app-DB (vanligtvis är det samma som appnamn men alla streck och punkter ska ersättas med understrykning)

Prova Easy Redmine i 30 dagars gratis provperiod

Fullständiga funktioner, SSL-skyddad, dagliga säkerhetskopior, i din geolokalisering