en
Taal
  • en
  • cs
  • hu
  • it
  • es
  • fr
  • de
  • ru
Machine vertaling
  • bg
  • dk
  • nl
  • gr
  • il
  • jp
  • kr
  • geen
  • pl
  • tr

Eenvoudige virtuele machine (VM)

Introductie

Deze documentatie is voor virtuele machines (VM) geleverd door Easy Software voor klanten die een serveroplossing hebben gekocht. Het is geldig voor VM's die zijn gegenereerd na 1 maart 2022.

Het kan ook dienen als inspiratie voor uw eigen serveromgeving, maar in een dergelijk geval zijn er geen garanties vanwege de verscheidenheid aan mogelijke componenten en technologieën die u mogelijk gebruikt.

De VM is alleen geconfigureerd voor kleine sites (ca 10 gelijktijdig werkende gebruikers). VM is bijna klaar voor productie maar VEREIST een ervaren beheerder om VM in uw omgeving te installeren, back-up, monitoring, netwerken, beveiligingsbeleid enz. in te stellen. Easy Software kan geen verantwoordelijkheid nemen voor het draaien van deze VM in uw speciale omgeving, de VM is een voorbeeld van hoe de applicatie kan gehost worden.
Deze README adresseert "Applicatie", die kan worden vervangen door "Easy Project" of "Easy Redmine".

Eerste stappen

Omdat de VM op een bepaald moment is gegenereerd, is het mogelijk dat sommige componenten al enkele patches of beveiligingsoplossingen hebben uitgebracht tegen de tijd dat u deze implementeert.
Begin daarom altijd met een back-up gevolgd door: update van het besturingssysteem. Het zal de nieuwste beveiligingsoplossingen installeren en mogelijk verouderde componenten bijwerken.

VM-beschrijving

OS is Debian in 64-bits editie.

De belangrijke standaardinstellingen zijn:

  • OS is beschikbaar via SSH via poort 22
  • Firewall is niet ingesteld (dit is aan systeembeheerders)
  • De schijf is ~100 GB
    • /boot 512M
    • / 30G
    • /thuis 60G
    • 4G wisselen
    • gebruik de beschikbare LVM om de schijf te vergroten
  • Applicatie luistert op HTTPS maar met een zelfondertekend certificaat, dus je moet het zo snel mogelijk vervangen (meer details hieronder)
  • Applicatie wordt uitgevoerd in /home/easy/[applicatienaam]/current.

Linux-login:

  • gebruikersnaam: eenvoudig
  • wachtwoord: e4syPwd-

Wijzig het zo snel mogelijk. Voer hiervoor het commando uit: passwd in terminal

Mysql-login:
Gebruik gewoon commando mysql uw_app_naam (alle punten of streepjes in de toepassingsnaam moeten worden vervangen door onderstrepingen. Voorbeeld: uw-app-naam moet uw_app_naam zijn)

Aanmelding aanmelding:
Standaard login (in het geval van een "schone" database) is:

  • gebruikersnaam: admin
  • wachtwoord: admin

De standaardaanmelding voor de VM met de demo-gegevens is: 

  • gebruikersnaam: manager
  • wachtwoord: easy848

Bij database uit uw Cloud applicatie blijven wachtwoorden zoals u ze had.

Structuur van het huis van de applicatie

.
├── back-ups # back-upscript sla daar gegevens op
└── $APP_NAME
    ├──toepassing.pid           
    ├── application.sock # nginx gebruikt deze socket
    ├── configuratie
    │ ├── # vooraf gegenereerde applicatieconfiguraties  
    │ ├── # (database, mailing, geheimen, app-server, enz...)
    ...
    huidige
    │ ├── config # alle applicatieconfiguraties
    │ │ ├── configuration.yml # stel hier de configuratie van uitgaande e-mail in
    │ │ ├── database.yml # databasetoegang hier geconfigureerd
    │ └── ...
    │ ├── bestanden # persistente applicatiegegevens
    │ ├── log # toepassingslogboeken
    │ ├── openbare # statische bestanden
    │ └── versie # applicatieversie
    └── public_html -> /home/easy/$APP_NAME/current

Het herstarten van de applicatie is eenvoudig via "systemctl restart puma@[application_name]" als sudo

Verantwoordelijkheden van de klant

De VM draait op de nieuwste aanbevolen versie van Debian. Het systeem vereist algemeen onderhoud zoals:

  • regelmatige updates
  • resource monitoring (vrije ruimte, geheugengebruik, belasting, ...)
  • gegevensback-ups naar een onafhankelijke schijf
  • beveiligingsbeleid

updates

Voer regelmatig beveiligingsupdates van het systeem uit. We raden aan om dit minimaal één keer per week te doen. Zorg er vóór de update voor dat de nieuwste back-up beschikbaar is en werkt.

Officiële documentatie over het uitvoeren van alleen beveiligingsupdates https://wiki.debian.org/UnattendedUpgrades

Bronbewaking

Easy Software heeft goede ervaringen met Prometheus. Daarom is de node_exporter een onderdeel van de VM sinds de 1.3. 2022.

De officiële basisdocumentatie voor Node Exporter en Prometheus is te vinden op https://prometheus.io/docs/guides/node-exporter/ Het beste snelstart-grafana-dashboard is te vinden op https://grafana.com/grafana/dashboards/1860

Afhankelijk van uw gebruik moet u de VM-resource-instellingen afstemmen, bijvoorbeeld de hoeveelheid RAM verhogen of het aantal cores dat aan de VM wordt geleverd. Al deze configuraties moeten regelmatig worden uitgevoerd door uw beheerder van de virtuele omgeving.

Node-exporteur luistert op poort 9100.

Schakel node_exporter uit

node_exporter kan worden uitgeschakeld door het volgende uit te voeren:

systemctl stop node_exporter.service
systemctl node_exporter.service uitschakelen
systemctl masker node_exporter.service

Het voorkomt dat de node-exporter wordt gestart na de volgende herstart...

Als je volledige omgevingsondersteuning van Easy Software nodig hebt (optimalisatie van beveiliging en prestaties, back-up, monitoring, enz.), raden we aan om over te stappen naar onze Cloud-oplossingen.

Gegevensback-ups

De voorgeconfigureerde back-up die aanwezig is in de VM is een werkend voorbeeld, dat moet passen bij uw infrastructuur en moet worden bewaakt. Houd er rekening mee dat een goede back-up moet zijn:

  • gecontroleerd nadat het back-upproces is voltooid (controleer ten minste de grootte van de back-up)
  • op een veilige plaats bewaard
  • ver van de hardloopomgeving (in ieder geval in een andere stad)
  • af en toe hersteld om uw vermogen om herstel uit te voeren te testen

De applicatie slaat gegevens op twee plaatsen op, dus vergeet niet om van beide een back-up te maken.

DB

Databaseback-up kan heel gemakkelijk verkeerd worden gedaan. De beste en veiligste manier om back-ups te maken van de mysql-database is via databasedump, zoals u kunt zien in het voorbeeldscript. Het maakt versie-onafhankelijke back-ups, die in hun geheel kunnen worden hersteld of waarmee u slechts een deel van de oude gegevens kunt krijgen.

Voorbeeld:

mysqldump --add-drop-tables --routines --triggers --flush-logs $DATABASE_NAME > path/to/file_where_db_will_be_stored.sql

Het kopiëren van bestanden uit /var/lib/mysql is een ONJUISTE manier om DB-back-ups op te slaan.

Bestanden

Elk geüpload bestand/bijlage in de applicatie wordt opgeslagen in /home/easy/$APP_NAME/current/files. Er moet een back-up worden gemaakt van de hele inhoud van deze map. In dit geval kunt u de inhoud eenvoudig kopiëren.

Beveiligingsbeleid

De VM bevat SSH-sleutels voor Easy Software-engineers in home/easy/.ssh/authorized_keys. Ook staan ​​de regels voor de iptables-firewall in /etc/iptables toegang tot een Easy Software IP-adres toe.

Beide beleidsregels zijn bedoeld voor eventuele ondersteuning op afstand door onze medewerkers op uw verzoek. Het toegangsbeleid is volledig onder jouw controle.

Automatische taken

Alle automatische taken worden gepland door CRON en Sidekiq, die elke 5 meter geplande taken starten. We raden u aan deze taken niet met kortere intervallen uit te voeren vanwege hun hoge prestatie-eisen. Om wijzigingen aan te brengen, kunt u ze bewerken door het onderstaande commando uit te voeren onder user easy

crontab -e

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

Gegevens migreren naar deze VM

Hoe oudere applicatie- of Redmine-gegevens (SOURCE) in VM (TARGET) te importeren. Dit werkt in de meeste gevallen, maar deze procedure werkt mogelijk niet als u plug-ins van derden gebruikt in uw bron Redmine-instantie.

1. maak vanuit uw (SOURCE) MySQL-dumpbestand:

mysqldump --opt easy > backup.sql

2. breng backup.sql over naar (TARGET)

3. ga naar de applicatiemap op (TARGET)

cd /home/easy/[toepassingsnaam]/current

4. recreëren (TARGET) database

bundel exec rake db:drop db:create RAILS_ENV=productie DISABLE_DATABASE_ENVIRONMENT_CHECK=1

5. importeer backup.sql

mysql [db_name] < backup.sql

6. breng bijlagen en andere bestanden over van (SOURCE)[redmine]/files naar (TARGET)/home/easy/[toepassingsnaam]/current/files

7. uitvoeren:

bundelen exec rake easyproject: installeer RAILS_ENV = productie

8. herstart applicatie

sudo systemctl herstart puma@[toepassingsnaam]

Probleem oplossen

Ontbrekende sidekiq

Op sommige machines is het sidekiq@.service-bestand niet toegevoegd. Controleer de map /etc/systemd/system als het sidekiq@.service-bestand wordt weergegeven. Zo niet, voeg het dan toe. Het moet het volgende bevatten:


[Eenheid]
Description=SIDEKIQ-service voor %i
Na=opnieuw.service
PartOf=puma@%i.service eenhoorn@%i.service

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

Milieu = RAILS_ENV = productie
Omgeving=MALLOC_ARENA_MAX=2

Gebruiker = makkelijk
Groep=www-gegevens
WorkingDirectory=/home/easy/%i/public_html

ExecStart=/usr/local/rvm/bin/rvm standaard bundel exec sidekiq -e productie
ExecReload=/bin/kill -s TSTP $MAINPID

Herstart = altijd

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

Nadat het bestand is gemaakt, run

sudo systemctl daemon-reload

herstart poema

MYSQL-back-ups zijn gericht op de verkeerde database

Om dit probleem op te lossen, opent u het bestand /usr/local/bin/mysql-backups.sh en vervangt u de DB-naam "easy" door app DB (meestal is dit hetzelfde als de app-naam, maar alle streepjes en punten moeten worden vervangen door onderstrepingen)

Probeer Easy Project in een gratis proefperiode van 30 dagen

Volledige functies, SSL-beveiligd, dagelijkse back-ups, in uw geolocatie