Schrift
[thread]3118[/thread]

apache und seine einstellungen



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
esskar
 2004-07-01 13:50
#30786 #30786
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Apache/2.0.50 (Win32):

Hi. Ich hätte gerne, den Apachen so eingerichtet, dass er
a) nicht nur in cgi-bin sondern in jedem Verzeichnis perl-scripte ausführt
b) das selbige für mod_perl
c) mod_perl scripte haben die Endung .mpl

ich versuchs momentan selbst; stelle die frage nur mal schnell, damit ich besser auf meine Fehler reagieren kann...


danke!
jan
 2004-07-01 13:56
#30787 #30787
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
a) ist einfach:
Options +ExecCGI
im Docroot.
b,c) sollte über
Code: (dl )
1
2
3
4
5
6
7
8
        PerlModule Apache::Registry
<Files "*.mpl">
SetHandler perl-script
PerlHandler Apache::Registry
Options +ExecCGI
PerlSendHeader On
allow from all
</Files>

laufen, oder?
esskar
 2004-07-01 14:07
#30788 #30788
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
kann man unter windows apache das schauen auf den shebang ausschalten?\n\n

<!--EDIT|esskar|1088677637-->
jan
 2004-07-01 14:31
#30789 #30789
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
japp.
ScriptInterpreterSource Registry
in der httpd.conf
dann wird die erweiterung als quelle des interpreters genutzt, der shebang ignoriert.
esskar
 2004-07-01 15:07
#30790 #30790
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
okay danke!
esskar
 2004-07-01 18:03
#30791 #30791
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
bekomme folgende Meldung:

Code: (dl )
1
2
Syntax error on line 177 of C:/Program Files/Apache Group/Apache2/conf/httpd.conf:
Cannot load C:/Program Files/Apache Group/Apache2/modules/mod_perl.so into server: The specified module could not be found.


Aber die Datei existiert!
Dort liegen auch alle anderen Module!
Gibt es Probleme mit Apache2 und mod_perl1 ?
esskar
 2004-07-01 18:30
#30792 #30792
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
okay; ich hatte eine falsche mod_perl.so

anderes prob:

Code: (dl )
1
2
3
4
5
6
7
8
9
PerlModule Apache::Registry

<Location />
SetHandler perl-script
PerlHandler Apache::Registry
Options +ExecCGI
PerlSendHeader On
allow from all
</Location>


bring im error.log

Code: (dl )
[Thu Jul 01 16:27:34 2004] [error] Can't load Perl module Apache::Registry for server saknt.dialogika.de:80, exiting...


wenn ich die Zeile
Code: (dl )
PerlModule Apache::Registry
entferne, bekomm ich folgenden Fehler:

Code: (dl )
1
2
[Thu Jul 01 16:23:35 2004] [error] failed to resolve handler `Apache::Registry'
[Thu Jul 01 16:23:35 2004] [error] [client 192.54.36.191] Can't locate loadable object for module Apache::Constants in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib . C:/Program Files/Apache Group/Apache2/ C:/Program Files/Apache Group/Apache2/lib/perl) at C:/Perl/site/lib/mod_perl.pm line 14\nCompilation failed in require at C:/Perl/site/lib/Apache.pm line 6.\nBEGIN failed--compilation aborted at C:/Perl/site/lib/Apache.pm line 6.\nCompilation failed in require at C:/Perl/site/lib/Apache/Registry.pm line 2.\nBEGIN failed--compilation aborted at C:/Perl/site/lib/Apache/Registry.pm line 2.\nCompilation failed in require at (eval 2) line 3.\n


Module existieren! Ideen?
esskar
 2004-07-01 18:37
#30793 #30793
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ich sehe gerade:

Code: (dl )
Apache/2.0.50 (Win32) mod_perl/1.99_13 Perl/v5.8.2 Server at saknt.dialogika.de Port 80


aber in wirklichkeit hab ich ja mod/perl1.23 oder so installiert...
ich glaub ich versuchs noch mal mit Apache1
esskar
 2004-07-01 19:09
#30794 #30794
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
okay... mit Apache1xx läuft zumindest mod_perl

mein eigentliches programm läuft nicht

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
#!/usr/bin/perl

use strict;
# use warnings;

BEGIN {
use FindBin;
use lib ("$FindBin::Bin", "$FindBin::Bin/libs");
$ENV{TMPDIR} = $ENV{TEMP} || "";
};
delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; # Make %ENV safer =:-)

use CGI::Carp qw/fatalsToBrowser warningsToBrowser/;

use Sources::CGI;
use Sources::Global;
use Sources::Config;
use Sources::Benchmark;

my %Actions = (
first_of_all => {
libs => [
"Sources/Env.pm",
],

subs => [
\&Sources::Env::check,
],
},
admin => {
libs => [
"Sources/Session.pm",
"Sources/Env.pm",
"Sources/Admin.pm",
],
subs => [
\&Sources::Session::check,
\&Sources::Session::check_admin,
\&Sources::Env::global_set,
\&Sources::Global::write_standardhttp_header,
\&Sources::Admin::write_adminmask,
],

},
admin_global_save => {
libs => [
"Sources/Session.pm",
"Sources/Env.pm",
"Sources/Admin.pm",
],
subs => [
\&Sources::Session::check,
\&Sources::Session::check_admin,
\&Sources::Env::global_set,
\&Sources::Admin::handle_changes,
],
},
options => {
libs => [
"Sources/Session.pm",
"Sources/Env.pm",
"Sources/Options.pm",
],
subs => [
\&Sources::Session::check,
\&Sources::Env::global_set,
\&Sources::Global::write_standardhttp_header,
\&Sources::Options::write_optionsmask,
],
},
options_save => {
libs => [
"Sources/Session.pm",
"Sources/Env.pm",
"Sources/Options.pm",
],
subs => [
\&Sources::Session::check,
\&Sources::Env::global_set,
\&Sources::Options::handle_changes,
],
},
login => {
libs => [
"Sources/Env.pm",
"Sources/Authenticate.pm",
],
subs => [
\&Sources::Env::global_set,
\&Sources::Global::write_standardhttp_header,
\&Sources::Authenticate::write_loginmask,
],
},
login_auth => {
libs => [
"Sources/Authenticate.pm",
],
subs => [
\&Sources::Authenticate::auth_user,
],
},
folder_check => {
libs => [
"Sources/Session.pm",
"Sources/Env.pm",
"Sources/Cookie.pm",
"Sources/Folder.pm",
],
subs => [
\&Sources::Session::check,
\&Sources::Env::global_set,
\&Sources::Cookie::set_userdata,
# \&Sources::Global::write_standardhttp_header,
\&Sources::Folder::check_any,
],
},
folder_show => {
libs => [
"Sources/Session.pm",
"Sources/Env.pm",
"Sources/Cookie.pm",
"Sources/Folder.pm",
],
subs => [
\&Sources::Session::check,
\&Sources::Env::global_set,
\&Sources::Cookie::set_userdata,
# \&Sources::Global::write_standardhttp_header,
\&Sources::Folder::show_any,
],
},
process_msg => {
libs => [
"Sources/Session.pm",
"Sources/Env.pm",
"Sources/Folder.pm",
],
subs => [
\&Sources::Session::check,
\&Sources::Env::global_set,
\&Sources::Folder::process_msg,
],
},
mail_show => {
libs => [
"Sources/Session.pm",
"Sources/Env.pm",
"Sources/MailShow.pm",
],
subs => [
\&Sources::Session::check,
\&Sources::Env::global_set,
\&Sources::MailShow::check_exist,
\&Sources::MailShow::show,
],
},
mail_show_header => {
libs => [
"Sources/Session.pm",
"Sources/MailShow.pm",
],
subs => [
\&Sources::Benchmark::disable,
\&Sources::Session::check,
\&Sources::MailShow::check_exist,
\&Sources::MailShow::show_header,
],
},
mail_show_content => {
libs => [
"Sources/Session.pm",
"Sources/MailShow.pm",
],
subs => [
\&Sources::Benchmark::disable,
\&Sources::Session::check,
\&Sources::MailShow::check_exist,
\&Sources::MailShow::show_content,
],
},
mail_show_attachment => {
libs => [
"Sources/Session.pm",
"Sources/MailShow.pm",
],
subs => [
\&Sources::Benchmark::disable,
\&Sources::Session::check,
\&Sources::MailShow::check_exist,
\&Sources::MailShow::show_attachment,
],
},
mail_print_preview => {
libs => [
"Sources/Env.pm",
"Sources/Session.pm",
"Sources/MailShow.pm",
],
subs => [
\&Sources::Benchmark::disable,
\&Sources::Env::global_set,
\&Sources::Session::check,
\&Sources::MailShow::check_exist,
\&Sources::Global::write_standardhttp_header,
\&Sources::MailShow::print_preview,
],
},
mail_save_mail => {
libs => [
"Sources/Env.pm",
"Sources/Session.pm",
"Sources/MailShow.pm",
],
subs => [
\&Sources::Benchmark::disable,
\&Sources::Session::check,
\&Sources::Env::global_set,
\&Sources::MailShow::check_exist,
\&Sources::MailShow::save_mail,
],
},
mail_compose => {
libs => [
"Sources/Env.pm",
"Sources/Session.pm",
"Sources/MailCompose.pm",
],
subs => [
\&Sources::Session::check,
\&Sources::Env::global_set,
\&Sources::Global::write_standardhttp_header,
\&Sources::MailCompose::write_composemask,
],
},
mail_compose_submit => {
libs => [
"Sources/Env.pm",
"Sources/Session.pm",
"Sources/MailCompose.pm",
],
subs => [
\&Sources::Session::check,
\&Sources::Env::global_set,
\&Sources::MailCompose::submit,
],
},
mail_compose_attachments => {
libs => [
"Sources/Env.pm",
"Sources/Session.pm",
"Sources/MailCompose.pm",
],
subs => [
\&Sources::Session::check,
\&Sources::Env::global_set,
\&Sources::MailCompose::attachments,
],
},
mail_poller => {
libs => [
"Sources/Session.pm",
"Sources/Enc.pm",
"Sources/Folder/Inbox.pm",
],
subs => [
\&Sources::Benchmark::disable,
\&Sources::Session::check,
\&Sources::Env::global_set,
\&Sources::Folder::Inbox::poller,
],
},
logout => {
libs => [
"Sources/Cleanup.pm",
"Sources/Session.pm",
],
subs => [
\&Sources::Cleanup::start,
\&Sources::Session::logout,
],
},

);

sub handler
{
my ($obj, $defaction) = @_;
my $action = $defaction || lc($obj->{CGI}->getparam('action')) || 'login';

unless(exists $Actions{$action}->{subs}) { $action = 'login'; }

foreach my $lib (@{$Actions{$action}->{libs}})
{
# eval "require $lib";
require $lib;
}

foreach my $proc (@{$Actions{$action}->{subs}})
{
unless($proc->($obj))
{
# error in sub
last; # errorhandling
}
}
}

sub init
{
my ($obj) = @_;

Sources::Global::make_path($obj->{CFG}->lookup('foldersid'));
# Sources::Global::make_path($obj->{CFG}->lookup('folderexec'));
# Sources::Global::make_path($obj->{CFG}->lookup('foldertmp'));
Sources::Global::make_path($obj->{CFG}->lookup('folderuser'));
}

sub main
{
# Sources::Benchmark::start;

my $cfg = Sources::Config->new(-filename => Sources::Vars::FILE_GLOBALSETTINGS);
my $cgi = Sources::CGI->new();

my $obj = {};

$obj->{CGI} = $cgi;
$obj->{CFG} = $cfg;

init($obj);
handler($obj, 'first_of_all');
handler($obj);

# Sources::Benchmark::end;

# if(Sources::Benchmark::is_enabled())
# {
# Sources::Benchmark::show_stat($obj);
# }
}

main();


1;


apache hängt sich quasi auf...
tipps? oder braucht ihr mehr code?
esskar
 2004-07-01 19:14
#30795 #30795
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
mach ich Fehler, in dem ich Module dynamisch via require einbinde?
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2004-07-01 13:50.