Modifica di un server Web virtuale dedicato

May 22, 2025
Privacy e sicurezza
CONTENUTO UNCACHED

Quando ottieni un server virtuale dedicato per eseguire il tuo sito web, è probabile che sia configurato per tutti e non personalizzato per massimizzare le prestazioni per l'esecuzione di un sito web.

Contenuti

[ nascondere ]

  • 1. Panoramica
  • 2 Linux Configuration
    • 2.1 Disabilita DNS
    • 2.2 Disabilitare SpamAssassin
    • 2.3 Disabilita xinetd
    • 2.4 Limitare l'utilizzo della memoria di Plesk
    • 2.5 Disabilitare o spegnere Plesk (opzionale)
  • 3 Configurazione MySQL
    • 3.1 Abilitare la cache delle query
    • 3.2 Disabilita TCP / IP
  • 4 Configurazione di Apache
  • 5 Configurazione PHP
    • 5.1 Rimuovere i moduli PHP non necessari
    • 5.2 PHP Opcode Cache
  • 6 Backup
    • 6.1 Crea script di backup automatizzato
    • 6.2 Sincronizzazione dei backup off-site con Rsync
  • 7 Sicurezza
    • 7.1 Disabilitare l'accesso root su SSH
    • 7.2 Disabilitare SSH versione 1
    • 7.3 Riavvia il server SSH
    • 7.4 Verifica porte aperte
    • 7.5 Configurazione di un firewall
  • 8 Vedi anche
  • 9 Riferimenti

Panoramica

Esistono numerose aree problematiche in cui vogliamo massimizzare il rendimento:

  • Linux configuration
    Di solito ci sono servizi in esecuzione che non è necessario che siano, sprecando memoria che potrebbe essere utilizzata per più connessioni.
  • Configurazione MySQL
    Spesso le impostazioni predefinite si basano su un piccolo server, possiamo aggiungere alcune modifiche chiave per aumentare notevolmente le prestazioni.
  • Configurazione di Apache
    Per impostazione predefinita, la maggior parte dei provider di hosting installa Apache con quasi tutti i moduli installati. Non c'è motivo di caricare i moduli se non li utilizzerai mai.
  • Configurazione PHP
    La configurazione PHP predefinita è ugualmente gonfia, di solito ci sono un sacco di moduli aggiuntivi non necessari installati.
  • Cache codice operativo PHP
    Invece di consentire a PHP di ricompilare gli script ogni volta, una cache del codice operativo memorizzerà nella cache gli script compilati per ottenere enormi miglioramenti delle prestazioni.
  • Backup
    Probabilmente dovresti configurare alcuni backup automatici, poiché il tuo provider di hosting non lo farà per te.
  • Sicurezza
    Certo, Linux è abbastanza sicuro per impostazione predefinita, ma di solito ci sono alcuni problemi di sicurezza evidenti che puoi risolvere con alcune impostazioni rapide.

Linux Configuration

Ci sono un certo numero di modifiche che puoi fare, che variano leggermente in base al server che stai utilizzando. Queste modifiche sono per un server che esegue CentOS, ma dovrebbero funzionare per la maggior parte dei server DV.

Disabilita DNS

Se il tuo provider di hosting gestisce il DNS per il tuo dominio (probabilmente), puoi disabilitare l'esecuzione del servizio DNS.

disabilita dns
/etc/init.d/named stop
chmod 644 /etc/init.d/named

Il comando chmod rimuove l'autorizzazione di esecuzione dallo script, impedendone l'esecuzione all'avvio.

Disabilita SpamAssassin

Se non stai utilizzando account di posta elettronica sul tuo server stesso, non dovresti preoccuparti di eseguire strumenti anti-spam. (Inoltre dovresti controllare Google Apps, una soluzione di posta elettronica molto migliore)

/etc/init.d/psa-spamassassin stop
chmod 644 /etc/init.d/psa-spamassassin

Disabilita xinetd

Il processo xinetd ospita una serie di altri processi, nessuno dei quali è utile per un tipico server web.

/etc/init.d/xinetd stop
chmod 644 /etc/init.d/xinetd

Limita l'utilizzo della memoria di Plesk

Se usi il pannello plesk, puoi forzarlo a usare meno memoria aggiungendo un file di opzioni.

vi /usr/local/psa/admin/conf/httpsd.custom.include

Aggiungi le seguenti righe al file:

MinSpareServers 1
MaxSpareServers 1
StartServers 1
MaxClients 5

Notare che questa opzione è nota per funzionare sui server MediaTemple DV, ma non è stata selezionata su nessun altro. (Vedere Riferimenti )

Disabilita o disattiva Plesk (opzionale)

Se usi Plesk solo una volta all'anno, ci sono pochissime ragioni per lasciarlo in esecuzione. Nota che questo passaggio è completamente facoltativo e leggermente più avanzato.

Esegui il seguente comando per disattivare plesk:

/etc/init.d/psa stop

Puoi disabilitarne l'esecuzione all'avvio eseguendo il seguente comando:

chmod 644 /etc/init.d/psa

Nota che se lo disabiliti, non puoi avviarlo manualmente senza modificare nuovamente i permessi del file (chmod u + x).

Configurazione MySQL

Abilita cache delle query

Apri il tuo file /etc/my.cnf e aggiungi le seguenti righe nella sezione [mysqld] in questo modo:

[mysqld]
query-cache-type = 1
query-cache-size = 8M

Puoi aggiungere più memoria alla cache delle query, se lo desideri, ma non usarne troppa.

Disabilita TCP / IP

Un numero sorprendente di host consente l'accesso a MySQL su TCP / IP per impostazione predefinita, il che non ha senso per un sito web. Puoi capire se mysql è in ascolto su TCP / IP eseguendo il seguente comando:

netstat -an | grep 3306

Per disabilitare, aggiungi la seguente riga al tuo file /etc/my.cnf:

saltare il networking

Configurazione di Apache

Apri il tuo file httpd.conf, che spesso si trova in /etc/httpd/conf/httpd.conf

Trova la linea che assomiglia a questa:

Timeout 120

E cambialo in questo:

Timeout 20

Ora trova la sezione che include queste linee e adattati a qualcosa di simile:

StartServers 2
MinSpareServers 2
MaxSpareServers 5
ServerLimit 100
MaxClients 100
MaxRequestsPerChild 4000

Configurazione PHP

Una delle cose da tenere a mente quando si modifica un server sulla piattaforma PHP è che ogni singolo thread apache caricherà PHP in una posizione separata nella memoria. Ciò significa che se un modulo inutilizzato aggiunge 256k di memoria a PHP, su 40 thread Apache stai sprecando 10 MB di memoria.

Rimuovi i moduli PHP non necessari

Dovrai individuare il tuo file php.ini, che di solito si trova in /etc/php.ini (Nota che su alcune distribuzioni ci sarà una directory /etc/php.d/ con un numero di file .ini, uno per ogni modulo.

Commenta tutte le righe del loadmodule con questi moduli:

  • odbc
  • snmp
  • dop
  • odbc pdo
  • mysqli
  • ioncube-loader
  • json
  • imap
  • ldap
  • ncurses

Todo: aggiungi ulteriori informazioni qui.

Cache codice operativo PHP

Ci sono un certo numero di cache di codice operativo che puoi usare, tra cui APC, eAccelerator e Xcache, l'ultima è la mia preferenza personale a causa della stabilità.

Scarica xcache ed estrailo in una directory, quindi esegui i seguenti comandi dalla directory di origine di xcache:

phpize
./configure --enable-xcache
rendere
fare installazione

Apri il tuo file php.ini e aggiungi una nuova sezione per xcache. Dovrai regolare i percorsi se i tuoi moduli php vengono caricati da qualche altra parte.

vi /etc/php.ini

Aggiungi la seguente sezione al file:

[xcache-common]
zend_extension = /usr/lib/php/modules/xcache.so
[xcache.admin]
xcache.admin.user = "myusername"
xcache.admin.pass = "putanmd5hashhere"
[xcache]
; Modificare xcache.size per regolare la dimensione della cache del codice operativo
xcache.size = 16M
xcache.shm_scheme = "mmap"
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
; Modificare xcache.var_size per regolare la dimensione della cache delle variabili
xcache.var_size = 1M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = Attivato
xcache.mmap_path = "/ tmp / xcache"
xcache.coredump_directory = ""
xcache.cacher = Attivato
xcache.stat = On
xcache.optimizer = Disattivato

Cose da fare: è necessario espandere questo un po 'e collegarsi a xcache nei riferimenti.

Backup

C'è molto poco più importante che avere backup automatici del tuo sito web. Potresti essere in grado di ottenere backup di istantanee dal tuo provider di hosting, che sono anche molto utili, ma preferisco avere anche backup automatici.

Crea script di backup automatizzato

Di solito inizio creando una directory / backups, con una directory / backups / files sotto di essa. Puoi modificare questi percorsi se lo desideri.

mkdir -p / backups / files

Ora crea uno script backup.sh all'interno della directory dei backup:

vi /backups/backup.sh

Aggiungere quanto segue al file, modificando i percorsi e la password mysqldump secondo necessità:

#! / bin / sh

THEDATE = `data +% d% m% y% H% M`

mysqldump -uadmin -pPASSWORD DATABASENAME> /backups/files/dbbackup$THEDATE.bak

tar -cf /backups/files/sitebackup$THEDATE.tar / var / www / vhosts / my-website-path / httpdocs
gzip /backups/files/sitebackup$THEDATE.tar

trova / backups / files / site * -mtime +5 -exec rm {} \;
trova / backups / files / db * -mtime +5 -exec rm {} \;

Lo script creerà prima una variabile di data in modo che tutti i file abbiano lo stesso nome per un singolo backup, quindi scaricherà il database, tarerà i file web e li zipperà. I comandi di ricerca vengono utilizzati per rimuovere i file più vecchi di 5 giorni, poiché non vuoi che lo spazio sull'unità si esaurisca.

Rendi eseguibile lo script eseguendo il seguente comando:

chmod u + x /backups/backup.sh

Successivamente dovrai assegnarlo affinché venga eseguito automaticamente da cron. Assicurati di utilizzare un account che abbia accesso alla directory dei backup.

crontab -e

Aggiungi la seguente riga al crontab:

1       1       *       *       *       /backups/backup.sh

È possibile testare lo script in anticipo eseguendolo mentre si è connessi all'account utente. (Di solito eseguo i backup come root)

Sincronizza backup off-site con Rsync

Ora che hai eseguito i backup automatici del tuo server, puoi sincronizzarli da qualche altra parte utilizzando l'utility rsync. Ti consigliamo di leggere questo articolo su come configurare le chiavi SSH per l'accesso automatico: Aggiungi la chiave SSH pubblica al server remoto con un singolo comando

Puoi testarlo eseguendo questo comando su una macchina Linux o Mac in un'altra posizione (ho un server Linux a casa, che è dove lo eseguo)

rsync -a [email protected]: / backups / files / * / offsitebackups /

La prima esecuzione richiederà un po 'di tempo, ma alla fine il computer locale dovrebbe avere una copia della directory dei file nella directory / offsitebackups /. (Assicurati di creare quella directory prima di eseguire lo script)

Puoi programmarlo aggiungendolo a una riga crontab:

crontab -e

Aggiungi la seguente riga, che eseguirà rsync ogni ora al segno di 45 minuti. Noterai che qui utilizziamo il percorso completo per rsync.

45 * * * * / usr / bin / rsync -a [email protected]: / backups / files / * / offsitebackups /

Puoi programmarlo in modo che venga eseguito in un momento diverso o solo una volta al giorno. Dipende davvero da te.

Nota che ci sono molte utilità che ti permetteranno di sincronizzare tramite ssh o ftp. Non è necessario utilizzare rsync.

Sicurezza

La prima cosa che vuoi fare è assicurarti di avere un account utente normale da usare tramite ssh, e assicurarti di poter usare su per passare a root. È una pessima idea consentire l'accesso diretto per root su ssh.

Disabilita l'accesso root su SSH

Modifica il file / etc / ssh / sshd_config e cerca la riga seguente:

#PermitRootLogin sì

Cambia quella linea in questo modo:

PermitRootLogin no

Assicurati di avere un account utente regolare e di poter eseguire su come root prima di apportare questa modifica, altrimenti potresti bloccarti.

Disabilita SSH versione 1

Non c'è davvero alcun motivo per utilizzare qualcosa di diverso dalla versione 2 di SSH, poiché è più sicura delle versioni precedenti. Modifica il file / etc / ssh / sshd_config e cerca la sezione seguente:

#Protocollo 2,1
Protocollo 2

Assicurati di utilizzare solo il protocollo 2 come mostrato.

Riavvia il server SSH

Ora dovrai riavviare il server SSH per rendere effettivo ciò.

/etc/init.d/sshd riavvio

Verificare la presenza di porte aperte

È possibile utilizzare il seguente comando per vedere su quali porte è in ascolto il server:

netstat -an | grep ASCOLTA

Non dovresti davvero avere nulla in ascolto oltre alle porte 22, 80 e forse 8443 per plesk.

Configura un firewall

Opzionalmente puoi configurare un firewall iptables per bloccare più connessioni. Ad esempio, di solito blocco l'accesso a qualsiasi altra porta diversa dalla mia rete di lavoro. Se hai un indirizzo IP dinamico, evita questa opzione.

Se hai già seguito tutti i passaggi di questa guida fino ad ora, probabilmente non è necessario aggiungere anche un firewall al mix, ma è bene comprendere le tue opzioni.

Guarda anche

  • Utilizzo di Iptables su Linux

Riferimenti

Setting Up Virtual Hosts For The Apache Web Server - Tutorial

WHM Dedicated Server Configuration 3

Setting Up A Dedicated Server For A Multiplayer Game In Unity

WHM Bangla Tutorial Dedicated Server Configuration 2

Valheim Dedicated Server Setup | Host A FREE Private Server

How To Deploy A Cloud Dedicated Server With Free InterWorx - Host Unlimited Accounts

Set Up A Simple Web Server At Home In Under 10 Minutes Using Windows And WAMP

How To Setup A Cloud Dedicated Server W/InterWorx & Add Your Website, Name Servers, & Hostname SSL


Privacy e sicurezza - Articoli più popolari

In che modo iOS 13 sbloccherà il potenziale di NFC

Privacy e sicurezza Jun 26, 2025

CONTENUTO UNCACHED Josh Hendrickson NFC è stato a lungo trattenuto da Apple che non lo supportava, solo Android lo faceva. Ora che entrambe le principali p..


Come utilizzare la navigazione privata sul tuo Oculus Go

Privacy e sicurezza May 3, 2025

CONTENUTO UNCACHED Oculus Go è un ottimo auricolare, ma non esiste un modo semplice per mantenere il segreto. E se volessi sfogliare qualcosa di imbarazzante, come una fan page d..


Come eliminare elementi dalla cronologia di navigazione di Amazon

Privacy e sicurezza Aug 16, 2025

Amazon utilizza la cronologia degli acquisti e della navigazione per darti consigli e mostrarti i prodotti che potrebbero piacerti. Sfortunatamente, ciò significa anche che i tuoi ..


Come sbarazzarsi di notifiche, suoni e software in dotazione di Kaspersky

Privacy e sicurezza Jan 31, 2025

CONTENUTO UNCACHED Kaspersky Internet Security , come molti altri strumenti antivirus, è un'applicazione rumorosa. Visualizza notifiche e pubblicità, riproduce suoni..


Come pubblicare su Instagram dal tuo computer

Privacy e sicurezza Jul 12, 2025

CONTENUTO UNCACHED Instagram non ha mai considerato una priorità aiutare gli utenti a caricare immagini dai loro computer, ma ciò non significa che non possa essere fatto. Abbia..


Come ricevere una notifica ogni volta che un'app inizia a utilizzare la webcam del tuo Mac

Privacy e sicurezza Oct 26, 2025

Gli hacker possono davvero registrare la tua webcam durante i momenti "privati" e poi ricattarti con il filmato? Questa idea, dall'ultima stagione di Black Mirror, è decisamente in..


13 cose che puoi fare con l'app Impostazioni Google su qualsiasi dispositivo Android

Privacy e sicurezza Oct 12, 2025

CONTENUTO UNCACHED Google ha aggiunto automaticamente l'app Impostazioni Google a quasi tutti i dispositivi Android nel 2013. Da allora, Google ha aggiunto funzionalità dopo funz..


Come trasferire in modo sicuro i file a qualcun altro con SFTP

Privacy e sicurezza Dec 12, 2024

CONTENUTO UNCACHED Ne abbiamo già scritto in precedenza ospitare il proprio server FTP , ma i dati vengono trasferiti in testo non crittografato, rendendolo inadat..


Categorie