$debian_package, 'ubuntu' => $debian_package, 'fedora' => $redhat_package, 'almalinux' => $redhat_package, 'rocky' => $redhat_package, 'arch' => 'apache']; Linux::install_package($linux_package); Linux::json_log('Create directories for Apache manager...', $error=0, $status=0, $progress=0, $no_progress=1); $create_dirs=['debian' => ["sudo mkdir -p /etc/apache2/vhosts.d/ && sudo mkdir -p /etc/apache2/vhosts.d/php/ && sudo mkdir -p /etc/apache2/vhosts.d/extra/"]]; $create_dirs['ubuntu']=$create_dirs['debian']; $create_dirs['fedora']=["sudo mkdir -p /etc/httpd/vhosts.d/{php,extra} "]; $create_dirs['almalinux']=$create_dirs['fedora']; $create_dirs['rocky']=$create_dirs['fedora']; Linux::exec($create_dirs); if(!file_put_contents('vhosts.conf', $conf_vhosts)) { Linux::json_log('Error: cannot create vhosts.conf', $error=1, $status=1, $progress=100, $no_progress=0); exit(1); } $create_vhost_file=['debian' => ["sudo mv vhosts.conf /etc/apache2/sites-enabled/ && sudo chown root:root /etc/apache2/sites-enabled/vhosts.conf"]]; $create_vhost_file['ubuntu']=$create_vhost_file['debian']; //echo 'deb blah ... blah' | sudo tee -a /etc/apt/sources.list //$create_vhost_file['fedora']=["sudo mv vhosts.conf /etc/httpd/conf.d/zzz-vhosts.conf && sudo chown root:root /etc/httpd/conf.d/zzz-vhosts.conf && sudo chmod 644 /etc/httpd/conf.d/zzz-vhosts.conf"]; $create_vhost_file['fedora']=["echo ${conf_vhosts} | sudo tee -a /etc/httpd/conf/httpd.conf"]; $create_vhost_file['almalinux']=$create_vhost_file['fedora']; $create_vhost_file['rocky']=$create_vhost_file['fedora']; Linux::exec($create_vhost_file); //Modifying apache configuration Linux::json_log('Modifying Apache configuration...', $error=0, $status=0, $progress=0, $no_progress=1); if($linux_distro=='ubuntu' || $linux_distro=='debian') { $sed_apache=['debian' => ['ServerTokens OS', "ServerTokens Prod", '/etc/apache2/conf-enabled/security.conf']]; $sed_apache['ubuntu']=$sed_apache['debian']; Linux::sed($sed_apache); } // In red hat derivatives is different. if($linux_distro=='rocky' || $linux_distro=='almalinux' || $linux_distro=='fedora') { #echo 'deb blah ... blah' | sudo tee -a /etc/apt/sources.list $add_tokens['rocky']=["sudo echo \"ServerTokens Prod\" | sudo tee -a /etc/httpd/conf.d/tokens.conf"]; $add_tokens['almalinux']=$add_tokens['rocky']; $add_tokens['fedora']=$add_tokens['rocky']; Linux::exec($add_tokens); } //Activating modules for apache/debian. if($linux_distro=='ubuntu' || $linux_distro=='debian') { $activate_modules=['debian' => ["sudo a2enmod ssl rewrite proxy proxy_fcgi"]]; $activate_modules['ubuntu']=$create_vhost_file['debian']; Linux::exec($activate_modules); } if($linux_distro=='rocky' || $linux_distro=='almalinux' || $linux_distro=='fedora') { if(Linux::shell_command(['sudo systemctl status firewalld'], 0)==0) { Linux::shell_command(["sudo firewall-cmd --add-service=http && sudo firewall-cmd --add-service=http --permanent && sudo firewall-cmd --add-service=https && sudo firewall-cmd --add-service=https --permanent"]); } } //Restart apache $linux_service=['debian' => 'apache2', 'ubuntu' => 'apache2', 'fedora' => 'httpd', 'almalinux' => 'httpd', 'rocky' => 'httpd', 'arch' => 'httpd']; Linux::systemd_service('restart', $linux_service); Linux::json_log('Apache server installed successfully!', $error=0, $status=0, $progress=100, $no_progress=0);