How to install OPCache using DirectAdmin custombuild

If you used custombuild to install opcache, then you will need to set the opcache settings there.

cd /usr/local/directadmin/custombuild
 vi options.conf

Change opcache=no to opcache=yes

opcache=yes

Set your opache settings here:

vi custom/opcache/opcache.ini

Here are my settings (This is for a fast server, with 128GB RAM):

; Determines if Zend OPCache is enabled
opcache.enable=1
 
; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=1
 
; The OPcache shared memory storage size.
opcache.memory_consumption=512
 
; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=16
 
; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=60000
 
; The maximum percentage of "wasted" memory until a restart is scheduled.
opcache.max_wasted_percentage=10
 
; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
; opcache.use_cwd=1
 
opcache.revalidate_freq=60
 
; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
opcache.validate_timestamps=0
 
; How often (in seconds) to check file timestamps for changes to the shared
; memory storage allocation. ("1" means validate once per second, but only
; once per request. "0" means always validate)
; opcache.revalidate_freq=2
 
; Enables or disables file search in include_path optimization
; opcache.revalidate_path=0
 
opcache.validate_permission=1
 
; If disabled, all PHPDoc comments are dropped from the code to reduce the
; size of the optimized code.
opcache.save_comments=1
 
; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
; may be always stored (save_comments=1), but not loaded by applications
; that don't need them anyway.
opcache.load_comments=1
 
; If enabled, a fast shutdown sequence is used for the accelerated code
opcache.fast_shutdown=1
 
; Allow file existence override (file_exists, etc.) performance feature.
opcache.enable_file_override=1
 
; A bitmask, where each bit enables or disables the appropriate OPcache
; passes
; opcache.optimization_level=0xffffffff
 
;opcache.inherited_hack=1
;opcache.dups_fix=0
 
; The location of the OPcache blacklist file (wildcards allowed).
; Each OPcache blacklist file is a text file that holds the names of files
; that should not be accelerated. The file format is to add each filename
; to a new line. The filename may be a full path or just a file prefix
; (i.e., /var/www/x  blacklists all the files and directories in /var/www
; that start with 'x'). Line starting with a ; are ignored (comments).
opcache.blacklist_filename=/usr/local/lib/php.conf.d/opcache*.blacklist
 
; Allows exclusion of large files from being cached. By default all files
; are cached.
;opcache.max_file_size=0
 
; Check the cache checksum each N requests.
; The default value of "0" means that the checks are disabled.
;opcache.consistency_checks=0
 
; How long to wait (in seconds) for a scheduled restart to begin if the cache
; is not being accessed.
; opcache.force_restart_timeout=180
 
; OPcache error_log file name. Empty string assumes "stderr".
opcache.error_log=/var/log/php-opcache.error.log
 
; All OPcache errors go to the Web server log.
; By default, only fatal errors (level 0) or errors (level 1) are logged.
; You can also enable warnings (level 2), info messages (level 3) or
; debug messages (level 4).
opcache.log_verbosity_level=1

Now copy over the above file so that DirectAdmin can use it. NOTE: at the time of this writing, the /custom directory isn't applied for opcache.ini, hence we just store it here so we can overwrite it each time instead of rewriting it manually

Now we rebuild opcache

./build opcache

Verify opcache is installed

php -v

See what configuration files are being used

cd /usr/local/directadmin/custombuild/
./build used_configs
 
### Also check:
 
cd /usr/local/lib/php.ini                    ### default mod_php 
cd /usr/local/lib/php.conf.d/           
 
/usr/local/php71/lib/php.ini              ### default php-fpm71
cd /usr/local/php71/lib/php.conf.d   
 
/usr/local/php70/lib/php.ini               ### default php-fpm70
cd /usr/local/php70/lib/php.conf.d  
 
 
cd /usr/local/php56/lib/php.ini           ### default php-fpm56
cd /usr/local/php56/lib/php.conf.d   
 
 
### Any files listed under /usr/local/*/lib/php.conf.d will be loaded for your used PHP version.
Tags: Linux DirectAdmin custombuild opcache