How To Install Apache 2.4 with Php 7.2 On FreeBSD
cd /usr/ports/www/apache24 && make install clean BATCH=yes
Enable apache to start after boot. Add the following to /etc/rc.conf
apache24_enable="YES"
We need to edit some parameters in loader.conf. Change the following.
vi /boot/defaults/loader.conf
Find the following lines.
accf_data_load="NO" # Wait for data accept filter accf_dns_load="NO" # Wait for full DNS request accept filter accf_http_load="NO" # Wait for full HTTP request accept filter
Change them to look like this.
accf_data_load="YES" # Wait for data accept filter accf_dns_load="NO" # Wait for full DNS request accept filter accf_http_load="YES" # Wait for full HTTP request accept filter
Now depending on the load we expect to get adjust sysctl.conf accordingly.
vi /etc/sysctl.conf
Add the following line. Depending on your expected number of requests this should perhaps be 2048
kern.ipc.somaxconn=1024
Add some default directories. And populate the default directory with an empty file.
mkdir /var/log/www mkdir /usr/local/www/cgi-bin :> /usr/local/www/apache24/data/index.html
Check if things are working as expected.
apachectl configtest
Note: The above command may result in a warning similar to the one below because httpd.conf is not configured yet.
Could not determine the server's fully qualified domain name, using domain.xyz. Set the 'ServerName' directive globally to suppress this message
Now either start apache manually or restart your machine.
Note: Regarding Php5x. The first thing to do is to enable track vars, I have no clue wether this is still used by some applications or not, but I enable it anyway just to be safe. If you are sure you won't be needing track vars you kan skip this step.
Optional enable track vars start
cd /usr/ports/lang/php72 vi Makefile
Modify the Makefile in the configure_args section by addig the following line.
--enable-track-vars \
Optional enable track vars stop
Install Php72
cd /usr/ports/www/mod_php72 && make install clean BATCH=yes
Next let's get the configuration file in place.
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini chmod 444 /usr/local/etc/php.ini apachectl restart
Create a php test page showing info about our php installation This will not work until you are done adjusting your httpd configuration file.
echo -e "<?php phpinfo(); ?>" > /usr/local/www/apache24/data/phptest.php
The last thing is to get your apache configuration files done. Since this is very individual this wiki does not cover this part of the apache installation.
Notes on FreeBSD Apache 2.4 and Php72 installation A list of usefull tools and utilities to accompany the FreeBSD Apache 2.4 and Php72 installation Usefull Tools And Applications
Configuring SSL on Apache 2.4 can be found here: Enable SSL On Apache