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