strutture:lnf:dr:calcolo:sistemi:web_siti_nazionali
Table of Contents
Preparazione installazione Scientific Linux 7 per Joomla 3.6.x
L'installazione procede dal template realizzato come descritto in https://wiki.infn.it/strutture/lnf/dr/calcolo/sistemi/scientific_linux_7_template.
Installazione pacchetti prerequisiti
Installare i seguenti pacchetti da repo:
$ yum install php-mysql php-gd php-pear php-cli php-pdo php-xml php-mbstring php-process wget vim curl httpd php-devel httpd-devel pcre-devel gcc php perl-ExtUtils-CBuilder perl-local-lib perl-version perl-Compress-Raw-Zlib perl-DBI perl-Params-Check perl-Archive-Extract perl-Module-Pluggable perl-FCGI perl-Pod-Perldoc perl-Pod-Usage perl-CPANPLUS-Dist-Build perl-Time-Local perl-Text-Unidecode perl-PathTools perl-autodie perl-File-Temp perl-Test-Simple perl-Filter perl-B-Lint perl-IO-HTML perl-HTTP-Date perl-LWP-MediaTypes perl-Net-LibIDN perl-HTTP-Daemon perl-HTTP-Cookies perl-macros perl-Data-Dumper perl-Time-Piece perl-Object-Accessor perl-Digest-SHA perl-ExtUtils-Manifest perl-parent perl-podlators perl-Text-ParseWords perl-Storable perl-constant perl-Socket perl-Time-HiRes perl-Scalar-List-Utils perl-Pod-Simple perl-File-Path perl-threads perl-ExtUtils-Install perl-ExtUtils-Embed perl-ExtUtils-ParseXS perl-core perl-ExtUtils-MakeMaker perl-Module-Load perl-Module-Metadata perl-CPAN-Meta-YAML perl-Net-Daemon perl-Compress-Raw-Bzip2 perl-PlRPC perl-DBD-SQLite perl-Log-Message perl-DBIx-Simple perl-Term-UI perl-File-Fetch perl-Parse-CPAN-Meta perl-CPANPLUS perl-Archive-Tar perl-CGI perl-Perl-OSType perl-CPAN-Meta-Requirements perl-Module-Build perl-Pod-LaTeX perl-Text-Soundex perl-DB_File perl-Sys-Syslog perl-Locale-Codes perl-Env perl-Version-Requirements perl-DBD-MySQL perl-HTML-Tagset perl-TimeDate perl-Business-ISBN-Data perl-URI perl-HTTP-Message perl-File-Listing perl-HTTP-Negotiate perl-Net-SSLeay perl-IO-Socket-IP perl-Net-HTTP perl-libwww-perl perl-libxml-perl perl-libs perl-Locale-Maketext-Simple perl-Module-Load-Conditional perl-Pod-Escapes perl-Module-Loaded perl-Package-Constants perl-IO-Zlib perl-devel perl-Digest perl-IO-Compress perl-Locale-Maketext perl-IPC-Cmd perl-Log-Message-Simple perl-JSON-PP perl-HTTP-Tiny perl-Pod-Parser perl-Encode perl-CPAN-Meta perl-Exporter perl-Pod-Checker perl-Carp perl-File-CheckTree perl-Digest-MD5 perl-threads-shared perl-Getopt-Long perl-Crypt-SSLeay perl-Encode-Locale perl-Business-ISBN perl-HTML-Parser perl-WWW-RobotRules perl-IO-Socket-SSL perl-XML-Parser perl perl-Module-CoreList perl-Thread-Queue perl-CPAN perl-Test-Harness gdbm-devel pyparsing systemtap-sdt-devel
Installazione e configurazione ''apc''
Installare apc come estenzione pecl:
$ pecl install apc
Editare il file di configurazione /etc/php.d/apc.ini con le seguenti impostazioni:
; Enable apc extension module extension = apc.so ; Options for the APC module version >= 3.1.3 ; See http://www.php.net/manual/en/apc.configuration.php ; This can be set to 0 to disable APC. apc.enabled=1 ; The number of shared memory segments to allocate for the compiler cache. apc.shm_segments=1 ; The size of each shared memory segment, with M/G suffix apc.shm_size=64M ; A "hint" about the number of distinct source files that will be included or ; requested on your web server. Set to zero or omit if you are not sure; apc.num_files_hint=1536 ; Just like num_files_hint, a "hint" about the number of distinct user cache ; variables to store. Set to zero or omit if you are not sure; apc.user_entries_hint=4096 ; The number of seconds a cache entry is allowed to idle in a slot in case this ; cache entry slot is needed by another entry. apc.ttl=7200 ; use the SAPI request start time for TTL apc.use_request_time=1 ; The number of seconds a user cache entry is allowed to idle in a slot in case ; this cache entry slot is needed by another entry. apc.user_ttl=7200 ; The number of seconds that a cache entry may remain on the garbage-collection list. apc.gc_ttl=3600 ; On by default, but can be set to off and used in conjunction with positive ; apc.filters so that files are only cached if matched by a positive filter. apc.cache_by_default=1 ; A comma-separated list of POSIX extended regular expressions. apc.filters ; The mktemp-style file_mask to pass to the mmap module apc.mmap_file_mask=/tmp/apc.XXXXXX ; This file_update_protection setting puts a delay on caching brand new files. apc.file_update_protection=2 ; Setting this enables APC for the CLI version of PHP (Mostly for testing and debugging). apc.enable_cli=0 ; Prevents large files from being cached apc.max_file_size=1M ; Whether to stat the main script file and the fullpath includes. apc.stat=1 ; Vertification with ctime will avoid problems caused by programs such as svn or rsync by making ; sure inodes have not changed since the last stat. APC will normally only check mtime. apc.stat_ctime=0 ; Whether to canonicalize paths in stat=0 mode or fall back to stat behaviour apc.canonicalize=0 ; With write_lock enabled, only one process at a time will try to compile an ; uncached script while the other processes will run uncached apc.write_lock=1 ; Logs any scripts that were automatically excluded from being cached due to early/late binding issues. apc.report_autofilter=0 ; RFC1867 File Upload Progress hook handler apc.rfc1867=0 apc.rfc1867_prefix =upload_ apc.rfc1867_name=APC_UPLOAD_PROGRESS apc.rfc1867_freq=0 apc.rfc1867_ttl=3600 ; Optimize include_once and require_once calls and avoid the expensive system calls used. apc.include_once_override=0 apc.lazy_classes=0 apc.lazy_functions=0 ; Enables APC handling of signals, such as SIGSEGV, that write core files when signaled. ; APC will attempt to unmap the shared memory segment in order to exclude it from the core file apc.coredump_unmap=0 ; Records a md5 hash of files. apc.file_md5=0 ; not documented apc.preload_path
Riavviare Apache:
$ systemctl restart httpd.service
Ottimizzazione
Inserire il file al percorso /etc/httpd/conf.d/optimization.conf con il seguente contenuto:
<IfModule mod_mime.c>
AddType application/java .class
AddType application/msword .doc .docx
AddType application/pdf .pdf
AddType application/vnd.ms-access .mdb
AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw
AddType application/vnd.ms-fontobject .eot
AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx
AddType application/vnd.ms-project .mpp
AddType application/vnd.ms-write .wri
AddType application/vnd.oasis.opendocument.chart .odc
AddType application/vnd.oasis.opendocument.database .odb
AddType application/vnd.oasis.opendocument.formula .odf
AddType application/vnd.oasis.opendocument.graphics .odg
AddType application/vnd.oasis.opendocument.presentation .odp
AddType application/vnd.oasis.opendocument.spreadsheet .ods
AddType application/vnd.oasis.opendocument.text .odt
AddType application/zip .zip
AddType application/x-font-otf .otf
AddType application/x-font-ttf .ttf .ttc
AddType application/x-font-woff .woff
AddType application/x-gzip .gz .gzip
AddType application/x-javascript .js
AddType application/x-msdownload .exe
AddType application/x-shockwave-flash .swf
AddType application/x-tar .tar
AddType audio/midi .mid .midi
AddType audio/mpeg .mp3 .m4a
AddType audio/ogg .ogg
AddType audio/wav .wav
AddType audio/wma .wma
AddType audio/x-realaudio .ra .ram
AddType image/bmp .bmp
AddType image/gif .gif
AddType image/jpeg .jpg .jpeg .jpe
AddType image/png .png
AddType image/svg+xml .svg .svgz
AddType image/tiff .tif .tiff
AddType image/x-icon .ico
AddType text/css .css
AddType text/plain .txt
AddType text/html .html .htm
AddType text/richtext .rtf .rtx
AddType text/x-component .htc
AddType text/xsd .xsd
AddType text/xsl .xsl
AddType text/xml .xml
AddType video/asf .asf .asx .wax .wmv .wmx
AddType video/avi .avi
AddType video/divx .divx
AddType video/quicktime .mov .qt
AddType video/mp4 .mp4 .m4v
AddType video/mpeg .mpeg .mpg .mpe
</IfModule>
<IfModule mod_deflate.c>
<filesMatch "\.(js|css|html|php|svg)$">
SetOutputFilter DEFLATE
</filesMatch>
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
</IfModule>
<IfModule mod_headers.c>
Header append Vary User-Agent env=!dont-vary
Header set Connection keep-alive
</IfModule>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE image/svg
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/richtext
AddOutputFilterByType DEFLATE text/x-component
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/xsd
AddOutputFilterByType DEFLATE text/xsl
</IfModule>
</IfModule>
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl|svg)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A604800
ExpiresByType application/java A604800
ExpiresByType application/msword A604800
ExpiresByType application/pdf A604800
ExpiresByType application/vnd.ms-access A604800
ExpiresByType application/vnd.ms-excel A604800
ExpiresByType application/vnd.ms-fontobject A604800
ExpiresByType application/vnd.ms-powerpoint A604800
ExpiresByType application/vnd.ms-project A604800
ExpiresByType application/vnd.ms-write A604800
ExpiresByType application/vnd.oasis.opendocument.chart A604800
ExpiresByType application/vnd.oasis.opendocument.database A604800
ExpiresByType application/vnd.oasis.opendocument.formula A604800
ExpiresByType application/vnd.oasis.opendocument.graphics A604800
ExpiresByType application/vnd.oasis.opendocument.presentation A604800
ExpiresByType application/vnd.oasis.opendocument.spreadsheet A604800
ExpiresByType application/vnd.oasis.opendocument.text A604800
ExpiresByType application/x-font-otf A604800
ExpiresByType application/x-font-ttf A604800
ExpiresByType application/x-gzip A604800
ExpiresByType application/x-javascript A604800
ExpiresByType application/x-msdownload A604800
ExpiresByType application/x-shockwave-flash A604800
ExpiresByType application/x-tar A604800
ExpiresByType application/zip A604800
ExpiresByType audio/basic A604800
ExpiresByType audio/midi A604800
ExpiresByType audio/mpeg A604800
ExpiresByType audio/ogg A604800
ExpiresByType audio/x-aiff A604800
ExpiresByType audio/x-pn-realaudio A604800
ExpiresByType audio/x-pn-realaudio-plugin A604800
ExpiresByType audio/x-realaudio A604800
ExpiresByType audio/x-wav A604800
ExpiresByType audio/wav A604800
ExpiresByType audio/wma A604800
ExpiresByType image/bmp A604800
ExpiresByType image/gif A604800
ExpiresByType image/ief A604800
ExpiresByType image/jpeg A604800
ExpiresByType image/jpg A604800
ExpiresByType image/png A604800
ExpiresByType image/svg+xml A604800
ExpiresByType image/tiff A604800
ExpiresByType image/x-cmu-raster A604800
ExpiresByType image/x-icon A604800
ExpiresByType image/x-portable-anymap A604800
ExpiresByType image/x-portable-bitmap A604800
ExpiresByType image/x-portable-graymap A604800
ExpiresByType image/x-portable-pixmap A604800
ExpiresByType image/x-rgb A604800
ExpiresByType image/x-xbitmap A604800
ExpiresByType image/x-xpixmap A604800
ExpiresByType image/x-xwindowdump A604800
ExpiresByType text/css A604800
ExpiresByType text/html A604800
ExpiresByType text/javascript A604800
ExpiresByType text/plain A604800
ExpiresByType text/richtext A604800
ExpiresByType text/x-component A604800
ExpiresByType text/xml A604800
ExpiresByType text/xsd A604800
ExpiresByType text/xsl A604800
ExpiresByType video/asf A604800
ExpiresByType video/avi A604800
ExpiresByType video/divx A604800
ExpiresByType video/quicktime A604800
ExpiresByType video/mp4 A604800
ExpiresByType video/mpeg A604800
ExpiresByType video/x-msvideo A6048000
ExpiresByType video/x-sgi-movie A6048000
<FilesMatch "\.(gif¦jpe?g¦png¦ico¦css¦js¦swf)$">
Header set Cache-Control "public"
</FilesMatch>
<FilesMatch "\.(php|cgi|pl)$">
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>
<FilesMatch ".(eot|ttf|otf|woff|woff2)">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
<IfModule mod_headers.c>
FileETag MTime Size
</IfModule>
Configurazione virtual host macchina amministrazione
Per configurare un virtual host utilizzare le direttive negli appositi file di configurazione di Apache:
Alias /apc.php /usr/share/pear/apc.php
Alias /it/apc.php /usr/share/pear/apc.php
<Directory "/usr/share/pear">
Require all granted
</Directory>
<VirtualHost *:80>
ServerName www.<SITE_NAME>.it
ServerAdmin wwwlnf@lnf.infn.it
DocumentRoot <DOC_ROOT_PATH>/<SITE_NAME>
<Directory "<DOC_ROOT_PATH>/<SITE_NAME>">
#
# Richiesto da Apache v2.4
#
AllowOverride All
Require all granted
</Directory>
<Directory "<DOC_ROOT_PATH>/sysprivate/<SITE_NAME>">
#
# Richiesto da Apache v2.4
#
AllowOverride All
Require all granted
</Directory>
# Set timezone to Europe/Rome UTC+01:00
SetEnv TZ Europe/Rome
DirectoryIndex index.php index.html
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f comunicazione@presid.infn.it"
php_admin_value open_basedir "<DOC_ROOT_PATH>/<SITE_NAME>:<DOC_ROOT_PATH>/sysprivate/<SITE_NAME>:/dev/urandom:/usr/share/pear"
php_admin_value sys_temp_dir "<DOC_ROOT_PATH>/sysprivate/<SITE_NAME>/upload_tmp"
php_admin_value upload_tmp_dir "<DOC_ROOT_PATH>/sysprivate/<SITE_NAME>/upload_tmp"
php_admin_value upload_max_filesize "16M"
php_admin_value post_max_size "16M"
php_admin_value session.save_path "<DOC_ROOT_PATH>/sysprivate/<SITE_NAME>/phpsessions"
php_admin_value disable_functions "apache_child_terminate,apache_getenv,apache_get_modules,apache_get_version,apache_note,apache_setenv,chgrp,chmod,chown,crack_check,crack_closedict,crack_getlastmessage,crack_opendict,ctrl_dir,debugger_off,debugger_on,define_syslog_variables,diskfreespace,disk_free_space,dl,escapeshellarg,escapeshellcmd,exec,expect_expectl,expect_popen,fpassthru,ftp_connect,ftp_exec,ftp_get,ftp_login,ftp_nb_fput,ftp_put,ftp_raw,ftp_rawlist,get_current_user,highlight_file,ini_alter,ini_restore,leak,link,passthru,pclose,pcntl_exec,pcntl_fork,pcntl_setpriority,pcntl_signal,pcntl_sigprocmask,pfsockopen,phpinfo,phpini,php_ini_scanned_files,popen,posix_access,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_get_last_error,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_initgroups,posix_isatty,posix_kill,posix_mkfifo,posix_mknod,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,psockopen,putenv,safe_mode,session_save_path,server_software,shell_exec,show_source,symlink,system,systemroot,umask"
php_flag "output_buffering" Off
<DirectoryMatch "^<DOC_ROOT_PATH>/<SITE_NAME>/(|.+/)administrator">
#
# Richiesto da Apache v2.4
#
Require all denied
</DirectoryMatch>
<Directory "<DOC_ROOT_PATH>/<SITE_NAME>/cache/">
php_flag engine off
</Directory>
<FilesMatch "^.*\..+~$">
#
# Richiesto da Apache v2.4
#
Require all denied
</FilesMatch>
LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" commonvhost
ErrorLog "|/usr/custom/scripts/apache2syslog local4 httpd-www.<SITE_NAME>.it"
CustomLog "|/usr/custom/scripts/apache2syslog local6 httpd" commonvhost
</VirtualHost>
Configurazione virtual host macchina utente
Per configurare un virtual host utilizzare le direttive negli appositi file di configurazione di Apache:
Alias /apc.php /usr/share/pear/apc.php
Alias /it/apc.php /usr/share/pear/apc.php
<Directory "/usr/share/pear">
Require all granted
</Directory>
<VirtualHost *:80>
ServerName admasimmetrie.lnf.infn.it
ServerAdmin wwwlnf@lnf.infn.it
DocumentRoot /afs/lnf.infn.it/project/wsite/asimmetrie2
<Directory "/afs/lnf.infn.it/project/wsite/asimmetrie2">
#
# Richiesto da Apache v2.4
#
AllowOverride All
Require all granted
</Directory>
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f comunicazione@presid.infn.it"
php_admin_value open_basedir "/afs/lnf.infn.it/project/wsite/asimmetrie2:/afs/lnf.infn.it/project/wsite/sysprivate/asimmetrie2:/usr/share/pear:/dev/urandom"
php_admin_value sys_temp_dir "/afs/lnf.infn.it/project/wsite/sysprivate/asimmetrie2/upload_tmp"
php_admin_value upload_tmp_dir "/afs/lnf.infn.it/project/wsite/sysprivate/asimmetrie2/upload_tmp"
php_admin_value upload_max_filesize "32M"
php_admin_value post_max_size "32M"
php_admin_value session.save_path "/afs/lnf.infn.it/project/wsite/sysprivate/asimmetrie2/phpsessions"
php_admin_value disable_functions "apache_child_terminate,apache_getenv,apache_get_modules,apache_get_version,apache_note,apache_setenv,chgrp,chmod,chown,crack_check,crack_closedict,crack_getlastmessage,crack_opendict,ctrl_dir,debugger_off,debugger_on,define_syslog_variables,diskfreespace,disk_free_space,dl,escapeshellarg,escapeshellcmd,exec,expect_expectl,expect_popen,fpassthru,ftp_connect,ftp_exec,ftp_get,ftp_login,ftp_nb_fput,ftp_put,ftp_raw,ftp_rawlist,get_current_user,highlight_file,ini_alter,ini_restore,leak,link,passthru,pclose,pcntl_exec,pcntl_fork,pcntl_setpriority,pcntl_signal,pcntl_sigprocmask,pfsockopen,phpinfo,phpini,php_ini_scanned_files,popen,posix_access,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_get_last_error,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_initgroups,posix_isatty,posix_kill,posix_mkfifo,posix_mknod,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,psockopen,putenv,safe_mode,session_save_path,server_software,shell_exec,show_source,symlink,system,systemroot,umask"
php_admin_value max_input_vars "10000"
php_admin_value max_execution_time "3600"
php_flag "output_buffering" Off
DirectoryIndex index.php index.html
<FilesMatch "^.*\..+~$">
#
# Richiesto da Apache v2.4
#
Require all denied
</FilesMatch>
LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" commonvhost
ErrorLog "|/usr/custom/scripts/apache2syslog local4 httpd-admasimmetrie.lnf.infn.it"
CustomLog "|/usr/custom/scripts/apache2syslog local6 httpd" commonvhost
</VirtualHost>
strutture/lnf/dr/calcolo/sistemi/web_siti_nazionali.txt · Last modified: 2016/11/09 11:49 by rorru@infn.it
