Setup Web Hosting: Difference between revisions
David Smith (talk | contribs) |
No edit summary |
||
| Line 1: | Line 1: | ||
=Datenbanken= | =Datenbanken= | ||
==Host== | ==Datenbanken auf root Servern== | ||
===Host=== | |||
Als Best Practice sollten die Datenbanken auf einem dedizierten Datenbank vHost liegen auf dem per Firewall Konfiguration nur der Webhost Zugriff hat. Ein Zugriff von aussen, bsp. per SSH direkt auf den Datenbank Host sollte ausgeschlossen sein. Beispiel:<br /> | Als Best Practice sollten die Datenbanken auf einem dedizierten Datenbank vHost liegen auf dem per Firewall Konfiguration nur der Webhost Zugriff hat. Ein Zugriff von aussen, bsp. per SSH direkt auf den Datenbank Host sollte ausgeschlossen sein. Beispiel:<br /> | ||
<br /> | <br /> | ||
| Line 6: | Line 7: | ||
''vs-web-01'' Webhost, MySQL greift auf vs-db-01 zu.<br /> | ''vs-web-01'' Webhost, MySQL greift auf vs-db-01 zu.<br /> | ||
==Namen== | ===Namen=== | ||
Der Name einer Datenbank wird immer nach folgendem Schema eingerichtet:<br /> | Der Name einer Datenbank wird immer nach folgendem Schema eingerichtet:<br /> | ||
''{Projektnummer}_{Projektname}'' Beispiel: ''penny14_int14_topps_boerse'' | ''{Projektnummer}_{Projektname}'' Beispiel: ''penny14_int14_topps_boerse'' | ||
==User== | ===User=== | ||
Auf die Datenbank wird mit einem dedizierten Lese- und Schreib-User zugegriffen. Der User heisst identisch zur Projekt-ID, jeweils mit dem Suffix "_r" und "_w". Beispiel:<br /> | (Optional) Auf die Datenbank wird mit einem dedizierten Lese- und Schreib-User zugegriffen. Der User heisst identisch zur Projekt-ID, jeweils mit dem Suffix "_r" und "_w". Beispiel:<br /> | ||
<br /> | <br /> | ||
Datenbank: ''penny14_int14_topps_boerse''<br /> | Datenbank: ''penny14_int14_topps_boerse''<br /> | ||
| Line 23: | Line 24: | ||
<br /> | <br /> | ||
==Datenbanken HostEurope/Managed Hosting== | |||
===Namen=== | |||
Der Datenbankname enthält das Projektkürzel und die Version (dev|stag|live)<br /> | |||
<br /> | |||
Beispiel:<br /> | |||
db12826593-guhl15int19sgst<br /> | |||
===User=== | |||
Username und Password sind Zufallskombinationen aus Zahlen und Buchstaben mit mindestens 13 Stellen Länge, erzeugt mit einem Passwort-Generator.<br /> | |||
<br /> | |||
Beispiel:<br /> | |||
Log: db12314593-W5mzK<br /> | |||
Pas: 2753Ex61S3QPK <br /> | |||
=Verzeichnisse= | =Verzeichnisse= | ||
Revision as of 17:34, 7 May 2015
Datenbanken
Datenbanken auf root Servern
Host
Als Best Practice sollten die Datenbanken auf einem dedizierten Datenbank vHost liegen auf dem per Firewall Konfiguration nur der Webhost Zugriff hat. Ein Zugriff von aussen, bsp. per SSH direkt auf den Datenbank Host sollte ausgeschlossen sein. Beispiel:
vs-db-01 Datenbank Host
vs-web-01 Webhost, MySQL greift auf vs-db-01 zu.
Namen
Der Name einer Datenbank wird immer nach folgendem Schema eingerichtet:
{Projektnummer}_{Projektname} Beispiel: penny14_int14_topps_boerse
User
(Optional) Auf die Datenbank wird mit einem dedizierten Lese- und Schreib-User zugegriffen. Der User heisst identisch zur Projekt-ID, jeweils mit dem Suffix "_r" und "_w". Beispiel:
Datenbank: penny14_int14_topps_boerse
User Read: penny14_int14_r
User Write: penny14_int14_w
Die Passwörter der User sind unterschiedlich und bestehen aus einer zufälligen Kombination aus mindestens 30 gemischten Buchstaben und Zahlen. Generiert bsp. mit diesem Tool: http://www.gaijin.at/en/olspwgen.php. Beispiel:
User: penny14_int14_r
Passwort: 407e3e5fac27f8e9179f2ba19a49b3ea9b2f619bbb056c76194dd274e1
Datenbanken HostEurope/Managed Hosting
Namen
Der Datenbankname enthält das Projektkürzel und die Version (dev|stag|live)
Beispiel:
db12826593-guhl15int19sgst
User
Username und Password sind Zufallskombinationen aus Zahlen und Buchstaben mit mindestens 13 Stellen Länge, erzeugt mit einem Passwort-Generator.
Beispiel:
Log: db12314593-W5mzK
Pas: 2753Ex61S3QPK
Verzeichnisse
Das Web-Projekt besteht aus zwei Hauptverzeichnissen.
htdocs/
config/
im htdocs/ liegt das root Verzeichnis des Webservers bzw. des vHosts. Im config Ordner liegen alle sensiblen Konfigurations- und Zugangsdaten auf die nur die Anwendung selber Zugriff hat.
Notes
Folder Struktur
Domain "rückwärts" + dev|stage|live + htdocs / config
Beispiel:
kampagne.guhl.de
//de/guhl/kampagne/dev/htdocs
//de/guhl/kampagne/dev/config
//de/guhl/kampagne/live/htdocs
//de/guhl/kampagne/live/config
Dev Domains
{Kundendomain}.{version}.pslsrv.com
Beispiel:
kampagne.guhl.de.dev.preview.parasol-island.com
kampagne.guhl.de.live.preview.parasol-island.com
FTP
Log: Random (mind. 13 Zeichen) Pas: Random (mind. 13 Zeichen)
Repository
Branches
Dev Stage (Option: Dev oder Stage) Live
Trennung logische einheiten, bsp. themes
Durch Submodules.
Idealerweise 1 Repository pro Webspace (bsp. fp.parasol-island.com oder app.penny.de ToDo: Projektnummer/Identifizierung
Deployment
Über dploy.io Dev: automatisch bei jedem Commit (Webhook) Stage: (mit Commit Tag) Live: (Manuell oder mit Key oder so? Wer?)
Todo: Name Webspace in dploy.io TODO: Use "config" rather than "local" TODO: Check if dploy.io supports pulling sub-modules TODO: