Installare Nginx utilizzando i file sorgenti

Alcune distribuzioni Linux mettono a disposizione i pacchetti di installazione di Nginx nei propri repository, è comunque consigliabile installare il server web utilizzando i file sorgente.
In questo modo si ha la possibilità di scegliere i moduli che si vogliono attivare in fase di installazione.

-Scaricare i file sorgente dal sito ufficiale all’indirizzo http://nginx.org/en/download.html

-Estrarre il file scaricato
tar -xvzf nginx-0.8.37.tar.gz

-Accedere alla cartella in cui sono stati estratti i file e eseguire il comando ./configure
Il comando permette di specificare diversi parametri per la compilazione tra cui troviamo i seguenti.

–prefix=<path> – Specifica il percorso in cui installare Nginx. Se il parametro non viene specificato, viene utilizzato il percorso /usr/local/nginx.
–sbin-path=<path> – Specifica il percorso per gli eseguibili di Nginx. Se il parametro non viene specificato, viene utilizzato il percorso <prefix>/sbin/nginx.
–conf-path=<path> – Il percorso dei file di configurazione di Nginx. Se il parametro non viene specificato, viene utilizzato il percorso <prefix>/conf/nginx.conf.
–pid-path=<path> – Il percorso nel quale verrà creato il file PID. Se il parametro non viene specificato, viene utilizzato il percorso <prefix>/logs/nginx.pid.
–lock-path=<path> – Il percorso nel quale viene creato il file nginx.lock. Se il parametro non viene specificato, viene utilizzato il percorso <prefix>/logs/nginx.lock.
–error-log-path=<path> – Il percorso del file di log degli errori. Se il parametro non viene specificato, viene utilizzato il percorso <prefix>/logs/error.log.
–http-log-path=<path> – Il percorso del file di log degli accessi. Se il parametro non viene specificato, viene utilizzato il percorso <prefix>/logs/access.log.
–user=<user> – Specifica l’utente proprietario del processo Nginx.
–group=<group> – Specifica il gruppo per il processo Nginx.
–with-rtsig_module – Abilita il modulo rtsi.
–with-select_module –without-select_module – Abilita o disabilita il modulo select.
-–with-poll_module –without-poll_module – Abilita o disabilita il modulo poll.
–with-http_ssl_module – Abilita il modulo ngx_http_ssl_module. Abilita il supporto SSL e la possibilità di gestire richieste https.
–with-http_realip_module – Abilita il modulo ngx_http_realip_module
–with-http_addition_module – Abilita il modulo ngx_http_addition_module
–with-http_sub_module – Abilita il modulo ngx_http_sub_module
–with-http_dav_module – Abilita il modulo ngx_http_dav_module
–with-http_flv_module – Abilita il modulo ngx_http_flv_module
–without-http_charset_module – Disabilita il modulo ngx_http_charset_module
–without-http_gzip_module – Disabilita il modulo ngx_http_gzip_module.
–without-http_ssi_module – Disabilita il modulo ngx_http_ssi_module
–without-http_userid_module – Disabilita il modulo ngx_http_userid_module
–without-http_access_module – Disabilita il modulo ngx_http_access_module
–without-http_auth_basic_module – Disabilita il modulo ngx_http_auth_basic_module
–without-http_autoindex_module – Disabilita il modulo ngx_http_autoindex_module
–without-http_geo_module – Disabilita il modulo ngx_http_geo_module
–without-http_map_module – Disabilita il modulo ngx_http_map_module
–without-http_referer_module – Disabilita il modulo ngx_http_referer_module
–without-http_rewrite_module – Disabilita il modulo ngx_http_rewrite_module.
–without-http_proxy_module – Disabilita il modulo ngx_http_proxy_module
–without-http_fastcgi_module – Disabilita il modulo ngx_http_fastcgi_module
–without-http_memcached_module – Disabilita il modulo ngx_http_memcached_module
–without-http_limit_zone_module – Disabilita il modulo ngx_http_limit_zone_module
–without-http_empty_gif_module – Disabilita il modulo ngx_http_empty_gif_module
–without-http_browser_module – Disabilita il modulo ngx_http_browser_module
–without-http_upstream_ip_hash_module – Disabilita il modulo ngx_http_upstream_ip_hash_module
–with-http_perl_module – Abilita il modulo ngx_http_perl_module
–with-perl_modules_path=PATH – Imposta il percorso dei moduli Perl
–with-perl=PATH – Importa il percorso per i file binari Perl
–http-fastcgi-temp-path=PATH – Imposta il percorso per i file temporanei fastcgi.
–with-mail – Abilita il modulo di proxy IMAP4/POP3/SMT
–with-mail_ssl_module – Abilita ngx_mail_ssl_module
–with-cc=PATH – Imposta il percorso del compilatore C
–with-cpp=PATH – Imposta il percorso del preprocessore
–with-cc-opt=OPTIONS – Parametri addizionali che saranno aggiunti alla variabile CFLAGS.
–with-cpu-opt=CPU – Compilazione per una specifica CPU.
–without-pcre – Disabilita l’utilizzo delle librerie PCRE.
–with-pcre=DIR – Imposta il percorso dei sorgenti della libreria PCRE.
–with-pcre-opt=OPTIONS – Imposta opzioni addizionali per la compilazione di PCRE.
–with-md5=DIR – Impostazione del percorso per i sorgenti della libreria md5.
–with-md5-opt=OPTIONS – Imposta opzioni addizionali per la compilazione della libreria
–with-sha1=DIR – Imposta il percorso dei sorgenti per la libreria sha1.
–with-sha1-opt=OPTIONS – Imposta opzioni addizionali per la compilazione della libreria sha1.
–with-sha1-asm – Utilizza il sorgente asm per la libreria sha1.
–with-zlib=DIR – Imposta il percorso del sorgente della libreria zlib.
–with-zlib-opt=OPTIONS – Imposta opzioni addizionali per la compilazione della libreria zlib.
–with-zlib-asm=CPU – Utilizza i sorgenti assembler per la libreria zlib, ottimizzata per una specifica CPU; i parametri validi sono: pentium, pentiumpro
–with-openssl=DIR – Imposta il percorso per i sorgenti della libreria OpenSSL
–with-openssl-opt=OPTIONS – Imposta parametri addizionali per la compilazione della libreria OpenSSL
–with-debug – Abilita il logging a livello di debug
–add-module=PATH – Aggiunge i moduli sviluppati da terze parti trovati nella directory specificata dal valore del pametro PATH

Un esempio di configurazione è quindi il seguente
./configure –with-openssl=/usr/lib/ssl

-Installare Nginx eseguendo i seguenti comandi
make
make install