Prima di iniziare:
Avere persone di qualità ti farà risparmiare denaro. Proprio come
avere un buon avvocato (possibilmente NSFW per imprecare) o un contabile, avere un amministratore di sistema di qualità probabilmente ti farà risparmiare denaro, spesso semplicemente aiutandoti a evitare costosi errori. Potresti non avere i soldi per pagare le competenze ora, ma appena puoi, dovresti fare quell'investimento.
Non esiste una risposta semplice e singolare a questa domanda. Se sei tu a porre questa domanda, devi capire che questa domanda è il fulcro di un campo in cui i professionisti investono anni di studio e pratica. La domanda analoga a uno sviluppatore sarebbe "come faccio a scrivere un'applicazione Web?"; Certo, potremmo indicarti le indicazioni per installare Ruby-on-Rails e un RoR "Hello World". Mentre questo "risponderebbe alla domanda", in realtà non ti aiuterebbe. Questo Q / A è un tentativo di aiutarti davvero.
Dovresti sapere:
L'amministrazione del server Web è un argomento di grandi dimensioni ed è intrinsecamente intrecciata con molte discipline diverse. Per farlo bene avrai bisogno di una conoscenza fondamentale di TCP / IP, del tuo sistema operativo host, della tua applicazione WebServer e di una certa conoscenza dell'esecuzione dello stack di applicazioni.
Preparati a leggere. Un sacco .
Individua le tue esigenze:
Requisiti
- Stai gestendo un sito Web semplice e statico (forse con alcuni effetti Javascript) o
- (più probabilmente) stai eseguendo un'applicazione che ha un'interfaccia web?
- Hai dati persistenti? (Hai bisogno di un database?)
- Ci sono le credenziali dell'utente coinvolte? C'è un altro motivo per cui è necessario proteggere la connessione tra l'utente e il sito Web? (SSL)
- Stai gestendo pagamenti di qualsiasi tipo? Oltre ad avere i requisiti SSL, ci sono ulteriori considerazioni che dovrai ricercare (a seconda della regione). Questi varieranno anche a seconda del processore di pagamento che usi.
Identifica il tuo stack:
Come hai intenzione di scrivere ed eseguire questo?
- Piattaforma (Windows, Linux, altri Unix, ecc.)
- Requisiti dell'app (Ruby / Rails, Python, Perl, PHP, .NET, ecc, ecc.)
- Banca dati (...)
- Caching? (Onestamente, non preoccuparti di questo ora; tieni presente che questo risolve alcuni problemi e può crearne altri. Questo è un problema di prestazioni e in questo momento stai solo cercando di iniziare.)
Alcune di queste scelte informeranno altre. Ad esempio, se si esegue un'app .NET, probabilmente si desidera utilizzare MSSQL e IIS; Se stai eseguendo Ruby on Rails, probabilmente vuoi un server Linux; eccetera...
Conosci il tuo prodotto:
Ora che hai deciso come sarà il tuo stack, devi conoscerlo. Qui è dove dovresti passare la maggior parte del tuo tempo. La ricerca di "Configura [prodotto]" o "[Guida dell'amministratore del prodotto" dovrebbe ottenere molte risorse.
Ad esempio, se stai eseguendo Apache su Ubuntu, dovresti assolutamente leggere:
Cerca documenti simili, articoli, post di blog per il tuo stack.
Installa il minimo indispensabile:
Esiste una vasta gamma di moduli per Apache, ma se non utilizzerai PHP (ad esempio), non installare mod-php.
Dovrebbe anche essere indicato qui che dovresti evitare di installare una GUI se è un server Linux; Le GUI consumano una quantità significativa di risorse di sistema.
Protezione del sito:
- Garantire autorizzazioni minime per funzionare. Questo vale non solo per il filesystem, ma anche per servizi e processi
- Mantieni le porte del server disabilitate per i servizi non necessari. (Ancora una volta, installa solo il minimo.)
- Limitare le interfacce dell'applicazione all'ambiente interno (se, ad esempio, eseguendo un'applicazione Web sullo stesso server (come Rails), limitarlo ad ascoltare solo localhost)
In chiusura:
Questo è solo l'inizio di ciò che dovresti fare per far funzionare un sito. Questo non inizia nemmeno a toccare i problemi di manutenzione dei server o di come gestire i problemi di ridimensionamento (nel caso in cui il progetto abbia successo), né qualsiasi altra miriade di problemi che un SysAd competente saprà risolvere per te.