summaryrefslogtreecommitdiffstats
path: root/web_wizard/Apache.pm
diff options
context:
space:
mode:
Diffstat (limited to 'web_wizard/Apache.pm')
-rwxr-xr-xweb_wizard/Apache.pm153
1 files changed, 72 insertions, 81 deletions
diff --git a/web_wizard/Apache.pm b/web_wizard/Apache.pm
index d9778042..6ff0f63c 100755
--- a/web_wizard/Apache.pm
+++ b/web_wizard/Apache.pm
@@ -44,7 +44,7 @@ my $o = {
user_dir => '',
shared_dir => ''
},
- needed_rpm => [ 'apache2' ],
+ needed_rpm => [ 'apache-mpm-prefork' ],
defaultimage => "/usr/share/wizards/web_wizard/images/apache.png",
init => sub {
if (-f $file) {
@@ -66,83 +66,74 @@ my $o = {
};
-$o->{pages} = {
- welcome => {
- name => N("Web server configuration wizard") . "\n\n" . N("This wizard will help you configuring the Web server for your network."),
- post => sub { $wiz->check_dhcp },
- no_back => 1,
- next => 'config'
- },
- config => {
- name => N("Web server") . "\n\n" . N("Your server can act as a Web server toward your internal network (intranet) and as a Web server for the Internet.") . "\n\n" . N("Select the kind of Web service you want to activate:") . "\n\n" . N("Don't check any box if you don't want to activate your Web server."),
- data => [
- { text => N("Enable the Web server for the intranet"), type => 'bool', val => \$o->{var}{web_internal} },
- { text => N("Enable the Web server for the Internet"), type => 'bool', val => \$o->{var}{web_external} },
- ],
- next => 'ask_mod'
- },
- dhcp_warning => {
- name => N("Warning.") . "\n\n" . N("You are in dhcp, server may not work with your configuration."),
- ignore => 1,
- next => 'config'
- },
- ask_mod => {
- name => N("Modules:") . "\n\n" . N("* User module: allows users to have a directory in their home directories available on your http server via http://www.yourserver.com/~user, you will be asked for the name of this directory afterward."),
- pre => sub { $o->{var}{user_mod} = is_last_user_mod() },
- data => [
- { text => join("\n", warp_text(N("Allows users to get a directory in their home directories
+
+$o->{pages} = {
+ welcome => {
+ name => N("Web server configuration wizard") . "\n\n" . N("This wizard will help you configuring the Web server for your network."),
+ post => sub { $wiz->check_dhcp },
+ no_back => 1,
+ next => 'config'
+ },
+ config => {
+ name => N("Web server") . "\n\n" . N("Your server can act as a Web server toward your internal network (intranet) and as a Web server for the Internet.") . "\n\n" . N("Select the kind of Web service you want to activate:") . "\n\n" . N("Don't check any box if you don't want to activate your Web server."),
+ data => [
+ { text => N("Enable the Web server for the intranet"), type => 'bool', val => \$o->{var}{web_internal} },
+ { text => N("Enable the Web server for the Internet"), type => 'bool', val => \$o->{var}{web_external} },
+ ],
+ next => 'ask_mod'
+ },
+ dhcp_warning => {
+ name => N("Warning.") . "\n\n" . N("You are in dhcp, server may not work with your configuration."),
+ ignore => 1,
+ next => 'config'
+ },
+ ask_mod => {
+ name => N("Modules:") . "\n\n" . N("* User module: allows users to have a directory in their home directories available on your http server via http://www.yourserver.com/~user, you will be asked for the name of this directory afterward."),
+ pre => sub { $o->{var}{user_mod} = is_last_user_mod() },
+ data => [
+ { text => join("\n", warp_text(N("Allows users to get a directory in their home directories
available on your http server via http://www.yourserver.com/~user."), 70)), type => 'bool', val => \$o->{var}{user_mod} },
- ],
- post => sub { return 'user_dir' if $o->{var}{user_mod} },
- next => 'ask_dir'
- },
- user_dir => {
- name => N("Type the name of the directory users should create in their homes (without ~/) to get it available via http://www.yourserver.com/~user"),
- pre => sub { $o->{var}{user_dir} ||= 'public_html' },
- data => [
- { label => N("user http sub-directory: ~/"), help => N("Type the name of the directory users should create in their homes (without ~/) to get it available via http://www.yourserver.com/~user"), val => \$o->{var}{user_dir} },
- ],
- next => 'ask_dir'
- },
- ask_dir => {
- name => N("Type the path of the directory you want being the document root."),
- pre => sub { $o->{var}{shared_dir} ||= $root },
- data => [
- { label => N("Document root:"), val => \$o->{var}{shared_dir} },
- ],
- post => \&check_dir,
- next => 'summary'
- },
- error_in_dir => {
- name => N("Error."),
- data => [
- { label => N("The path you entered does not exist.") }
- ],
- ignore => 1,
- next => 'ask_dir'
- },
- error => {
- name => N("Error."),
- data => [ { label => '' } ],
- ignore => 1,
- next => 'config'
- },
- summary => {
- name => N("Configuring the Web server") . "\n\n" . N("The wizard collected the following parameters needed to configure your Web server") . "\n\n" . N("To accept these values, and configure your server, click the Next button or use the Back button to correct them."),
- pre => sub {
- $o->{var}{internal} = $o->{var}{web_internal} ? N("enabled") : N("disabled");
- $o->{var}{external} = $o->{var}{web_external} ? N("enabled") : N("disabled")
- },
- data => [
- { label => N("Intranet web server:"), fixed_val => \$o->{var}{internal} },
- { label => N("Internet web server:"), fixed_val => \$o->{var}{external} },
- { label => N("Document root:"), fixed_val => \$o->{var}{shared_dir} },
- { label => N("User directory:"), fixed_val => \$o->{var}{user_dir} },
- ],
- post => \&do_it,
- next => 'end'
- },
- end => {
+ ],
+ post => sub { return 'user_dir' if $o->{var}{user_mod} },
+ next => 'ask_dir'
+ },
+ user_dir => {
+ name => N("Type the name of the directory users should create in their homes (without ~/) to get it available via http://www.yourserver.com/~user"),
+ pre => sub { $o->{var}{user_dir} ||= 'public_html' },
+ data => [
+ { label => N("user http sub-directory: ~/"), help => N("Type the name of the directory users should create in their homes (without ~/) to get it available via http://www.yourserver.com/~user"), val => \$o->{var}{user_dir} },
+ ],
+ next => 'ask_dir'
+ },
+ ask_dir => {
+ name => N("Type the path of the directory you want being the document root."),
+ pre => sub { $o->{var}{shared_dir} ||= $root },
+ data => [
+ { label => N("Document root:"), val => \$o->{var}{shared_dir} },
+ ],
+ complete => sub {
+ if (! -d $o->{var}{shared_dir}) {
+ $::in->ask_warn(N('Error'), N('The path you entered does not exist.')); return 1; }
+ else { return 0; };
+ },
+ next => 'summary'
+ },
+ summary => {
+ name => N("Configuring the Web server") . "\n\n" . N("The wizard collected the following parameters needed to configure your Web server") . "\n\n" . N("To accept these values, and configure your server, click the Next button or use the Back button to correct them."),
+ pre => sub {
+ $o->{var}{internal} = $o->{var}{web_internal} ? N("enabled") : N("disabled");
+ $o->{var}{external} = $o->{var}{web_external} ? N("enabled") : N("disabled")
+ },
+ data => [
+ { label => N("Intranet web server:"), fixed_val => \$o->{var}{internal} },
+ { label => N("Internet web server:"), fixed_val => \$o->{var}{external} },
+ { label => N("Document root:"), fixed_val => \$o->{var}{shared_dir} },
+ { label => N("User directory:"), fixed_val => \$o->{var}{user_dir} },
+ ],
+ post => \&do_it,
+ next => 'end'
+ },
+ end => {
name => N("Congratulations") . "\n\n" .
N("The wizard successfully configured your intranet/Internet Web server"),
end => 1,
@@ -155,11 +146,11 @@ available on your http server via http://www.yourserver.com/~user."), 70)), type
end => 1,
next => 0,
},
-};
+ };
sub new {
- my ($class, $conf) = @_;
- $config = $conf;
+ my ($class, $conf) = @_;
+ $config = $conf;
# if ($config->{ver} == 2) {
$file = "/etc/httpd/conf/httpd.conf";
# $o->{needed_rpm} = [ 'apache2' ];
@@ -175,7 +166,7 @@ sub new {
}
sub check_dir {
- -d $o->{var}{shared_dir} or return 'error_in_dir'
+
}
sub chg_docroot {