Ciao a tutti, 
Scrivo questa guida, per darvi una "prima" mano alla configurazione del vostro Webserver o VPS.
Onde evitare di fare "caos" nella vostra configurazione vi suggerisco di fare un bel backup del vostro server (Per chi usa Virtuozzo basta andare nel'apposita sezione), invece per chi ha un server dedicato senza possibilità di restore, direi solo di andare con cautela, ovviamente se succedono danni, non rispondo io
La guida si divide in 4 parti:- Ottimizzazione dei parametri di MySQL
- Installazione del mod_perl
- Installazione di Turck MMCache per PHP
- sysctl.conf
Iniziamo ora va (Facciamo prima il rito preInstallazione
)
Requisiti:
- Linux
- Accesso di root
- Un buon Backup del sistema 
Come fare:
Accedere a SSH loggarsi come root e digitare:
pico /etc/my.cnf
E sostituire i parametri esistenti con quelli riportati sotto.
NB: Controllare bene eventuali vostri parametri che non sono inseriti in questa config ed aggiungerli. 
Codice:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-locking
skip-innodb
query_cache_limit=8M
query_cache_size=256M
query_cache_type=1
max_connections=500
max_user_connections=10
interactive_timeout=20
wait_timeout=20
connect_timeout=6
thread_cache_size=128
key_buffer=16M
join_buffer=1M
max_allowed_packet=16M
table_cache=1024
record_buffer=1M
sort_buffer_size=2M
read_buffer_size=2M
max_connect_errors=10
# Try number of CPU's*2 for thread_concurrency
thread_concurrency=4
myisam_sort_buffer_size=64M
#log-bin
server-id=1
[mysql.server]
user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/lib/mysql/mysql.pid
open_files_limit=8192
[mysqldump]
quick
max_allowed_packet=16M
[mysql]
no-auto-rehash
#safe-updates
[isamchk]
key_buffer=32M
sort_buffer=32M
read_buffer=16M
write_buffer=16M
[myisamchk]
key_buffer=32M
sort_buffer=32M
read_buffer=16M
write_buffer=16M
Ora premete CTRL + X per uscire e salvare il file. 
Riavviare Apache e MySQL con:
service httpd restart
service mysql restart OR service mysqld restart
alcuni utenti dovranno riavviare apache e MySQL con:
/etc/rc.d/init.d/httpd restart
/etc/rc.d/init.d/mysql restart
Installiamo il mod_perl
Sempre da root digitiamo
wget http://perl.apache.org/dist/mod_perl-1.0-current.tar.gz
tar zxvf tar zxvf mod_perl-1.0-current.tar.gz
cd mod_perl-1.29 (or whatever folder is generated)
perl Makefile.PL
// Se vedete errori *circa* di dipendenze mancanti quali (CGI.pm, LWP::UserAgent & HTML::HeadParser richiesto da mod_perl) potete installarli con:
perl -MCPAN -e shell
install HTML::HeadParser
Ora non vi resta altro che fare
make
make install
Ora avrete installato il mod_perl, riavviate apache e passate al passaggio successivo 
Installazione di Turck MMCache per PHP
Turck MMCacge richiede: apache 1.3, mod_php 4.1, autoconf, automake, libtool, m4. Se non avete questi pacchetti potete scaricarli ed installarli con YUM o con apt-get 
Ora iniziamo con l'installazione, sempre dalla nostra solita root digitiamo:
wget http://aleron.dl.sourceforge.net/sou...e-2.4.6.tar.gz
export PHP_PREFIX="/usr"
$PHP_PREFIX/bin/phpize
./configure --enable-mmcache=shared --with-php-config=$PHP_PREFIX/bin/php-config
// (dovete specificare il prefisso reale dove PHP è installato.. Può essere "/usr ""/usr/local", o altro
)
make
make install
Turck MMCache può essere installato sia come estensione di PHP o come estensione di Zend, in modo da dovr pubblicare il vostro codice solo in php.ini (solitamente/etc/php.ini). 
Per installare come estensione di Zend:
Codice:
zend_extension="/usr/lib/php4/mmcache.so"
mmcache.shm_size="16"
mmcache.cache_dir="/tmp/mmcache"
mmcache.enable="1"
mmcache.optimizer="1"
mmcache.check_mtime="1"
mmcache.debug="0"
mmcache.filter=""
mmcache.shm_max="0"
mmcache.shm_ttl="0"
mmcache.shm_prune_period="0"
mmcache.shm_only="0"
mmcache.compress="1"
Per installarlo come estensione PHP
Codice:
extension="mmcache.so"
mmcache.shm_size="16"
mmcache.cache_dir="/tmp/mmcache"
mmcache.enable="1"
mmcache.optimizer="1"
mmcache.check_mtime="1"
mmcache.debug="0"
mmcache.filter=""
mmcache.shm_max="0"
mmcache.shm_ttl="0"
mmcache.shm_prune_period="0"
mmcache.shm_only="0"
mmcache.compress="1"
// Potreste aver bisogno di copiare mmcache.so nei percorsi specificati... ripeto *potreste*
Ora non vi resta altro da fare che creare una directory dove MMcache salverà la sua cache: 
mkdir /tmp/mmcache
chmod 0777 /tmp/mmcache
Ora riavviare apache con:
service httpd restart
oppure con
/etc/rc.d/init.d/httpd restart
Modifichiamo il file sysctl.conf
Modificando questo file potreste avere una grossa spinta, non viene editato spesso questo file ma su un test fatto su un Dual Xeon 2.8Ghz il carico è diminuito del 10% circa.
Sempre loggati da root digitare:
cp /etc/sysctl.conf /etc/sysctl.conf.bak
pico /etc/sysctl.conf
e sostituire il contenuto del file con questo:
Codice:
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Disables packet forwarding
net.ipv4.ip_forward=0
# Disables IP source routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# Enable IP spoofing protection, turn on source route verification
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Disable ICMP Redirect Acceptance
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
# Enable Log Spoofed Packets, Source Routed Packets, Redirect Packets
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.lo.log_martians = 0
net.ipv4.conf.eth0.log_martians = 0
# Disables IP source routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# Enable IP spoofing protection, turn on source route verification
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Disable ICMP Redirect Acceptance
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
# Disables the magic-sysrq key
kernel.sysrq = 0
# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 15
# Decrease the time default value for tcp_keepalive_time connection
net.ipv4.tcp_keepalive_time = 1800
# Turn off the tcp_window_scaling
net.ipv4.tcp_window_scaling = 0
# Turn off the tcp_sack
net.ipv4.tcp_sack = 0
# Turn off the tcp_timestamps
net.ipv4.tcp_timestamps = 0
# Enable TCP SYN Cookie Protection
net.ipv4.tcp_syncookies = 1
# Enable ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Enable bad error message Protection
net.ipv4.icmp_ignore_bogus_error_responses = 1
# Log Spoofed Packets, Source Routed Packets, Redirect Packets
net.ipv4.conf.all.log_martians = 1
# Increases the size of the socket queue (effectively, q0).
net.ipv4.tcp_max_syn_backlog = 1024
# Increase the tcp-time-wait buckets pool size
net.ipv4.tcp_max_tw_buckets = 1440000
# Allowed local port range
net.ipv4.ip_local_port_range = 16384 65536
Ora fate CTRL + X per uscire e salvare il file 
Per far entrare in funzione i vostri cambiamenti immediatamente fare:
/sbin/sysctl -p
Potete guardare il carico del vostro server con il comando "uptime" da SSH. 
Fine Guida
--------------------------------
Spero che questi consigli vi siano serviti, attendo vostre opinioni, magari ho sbagliato qualcosa, visto che non sono molto esperto del settore 
Salutiiiii
Segnalibri