Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Jean-Paul Smets
slapos
Commits
29e8b062
Commit
29e8b062
authored
Sep 17, 2012
by
Viktor Horvath
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add apache-perl to setup.py / apache-perl recipe
parent
c60f2ab5
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
143 additions
and
0 deletions
+143
-0
setup.py
setup.py
+1
-0
slapos/recipe/apacheperl/__init__.py
slapos/recipe/apacheperl/__init__.py
+76
-0
slapos/recipe/apacheperl/template/apache.in
slapos/recipe/apacheperl/template/apache.in
+66
-0
No files found.
setup.py
View file @
29e8b062
...
@@ -42,6 +42,7 @@ setup(name=name,
...
@@ -42,6 +42,7 @@ setup(name=name,
'zc.buildout'
:
[
'zc.buildout'
:
[
'agent = slapos.recipe.agent:Recipe'
,
'agent = slapos.recipe.agent:Recipe'
,
'apache.frontend = slapos.recipe.apache_frontend:Recipe'
,
'apache.frontend = slapos.recipe.apache_frontend:Recipe'
,
'apacheperl = slapos.recipe.apacheperl:Recipe'
,
'apachephp = slapos.recipe.apachephp:Recipe'
,
'apachephp = slapos.recipe.apachephp:Recipe'
,
'apacheproxy = slapos.recipe.apacheproxy:Recipe'
,
'apacheproxy = slapos.recipe.apacheproxy:Recipe'
,
'apache.zope.backend = slapos.recipe.apache_zope_backend:Recipe'
,
'apache.zope.backend = slapos.recipe.apache_zope_backend:Recipe'
,
...
...
slapos/recipe/apacheperl/__init__.py
0 → 100644
View file @
29e8b062
##############################################################################
#
# Copyright (c) 2010 Vifib SARL and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import
shutil
import
os
import
signal
from
binascii
import
b2a_uu
as
uuencode
from
slapos.recipe.librecipe
import
GenericBaseRecipe
class
Recipe
(
GenericBaseRecipe
):
def
install
(
self
):
path_list
=
[]
# Copy application
# shutil.rmtree(self.options['htdocs'])
# shutil.copytree(self.options['source'],
# self.options['htdocs'])
# Install apache
apache_config
=
dict
(
pid_file
=
self
.
options
[
'pid-file'
],
lock_file
=
self
.
options
[
'lock-file'
],
ip
=
self
.
options
[
'ip'
],
port
=
self
.
options
[
'port'
],
error_log
=
self
.
options
[
'error-log'
],
access_log
=
self
.
options
[
'access-log'
],
document_root
=
self
.
options
[
'htdocs'
],
)
httpd_conf
=
self
.
createFile
(
self
.
options
[
'httpd-conf'
],
self
.
substituteTemplate
(
self
.
getTemplateFilename
(
'apache.in'
),
apache_config
)
)
path_list
.
append
(
httpd_conf
)
wrapper
=
self
.
createPythonScript
(
self
.
options
[
'wrapper'
],
'slapos.recipe.librecipe.execute.execute'
,
[
self
.
options
[
'httpd-binary'
],
'-f'
,
self
.
options
[
'httpd-conf'
],
'-DFOREGROUND'
]
)
path_list
.
append
(
wrapper
)
if
os
.
path
.
exists
(
self
.
options
[
'pid-file'
]):
# Reload apache configuration
with
open
(
self
.
options
[
'pid-file'
])
as
pid_file
:
pid
=
int
(
pid_file
.
read
().
strip
(),
10
)
try
:
os
.
kill
(
pid
,
signal
.
SIGUSR1
)
# Graceful restart
except
OSError
:
pass
return
path_list
slapos/recipe/apacheperl/template/apache.in
0 → 100644
View file @
29e8b062
#
Apache
static
configuration
LoadModule
log_config_module
modules
/
mod_log_config
.
so
LoadModule
setenvif_module
modules
/
mod_setenvif
.
so
LoadModule
version_module
modules
/
mod_version
.
so
LoadModule
headers_module
modules
/
mod_headers
.
so
LoadModule
dir_module
modules
/
mod_dir
.
so
LoadModule
mime_module
modules
/
mod_mime
.
so
LoadModule
perl_module
modules
/
mod_perl
.
so
#
Basic
server
configuration
PidFile
"%(pid_file)s"
Listen
[%(
ip
)
s
]:%(
port
)
s
ServerAdmin
someone
@
email
DefaultType
text
/
plain
TypesConfig
conf
/
mime
.
types
AddType
application
/
x
-
compress
.
Z
AddType
application
/
x
-
gzip
.
gz
.
tgz
#
Log
configuration
ErrorLog
"%(error_log)s"
LogLevel
warn
LogFormat
"%%h %%{REMOTE_USER}i %%l %%u %%t
\"
%%r
\"
%%>s %%b
\"
%%{Referer}i
\"
\"
%%{User-Agent}i
\"
"
combined
LogFormat
"%%h %%{REMOTE_USER}i %%l %%u %%t
\"
%%r
\"
%%>s %%b"
common
CustomLog
"%(access_log)s"
common
<
Perl
>
use
strict
;
use
warnings
;
package
mytest
;
use
Apache2
::
Const
-
compile
=>
qw
(
OK
);
use
Apache2
::
RequestIO
();
use
Apache2
::
RequestRec
();
#
use
Apache2
::
Request
;
use
Date
::
Calc
();
sub
test_handler
{
my
($
r
)
=
@
_
;
$
r
->
content_type
(
'text/plain'
);
{
my
$
date
=
localtime
();
$
r
->
print
(
"Hello world! Current time: $date
\n
"
);
}
{
my
$
year
=
(
localtime
())[
5
]
+
1900
;
$
r
->
print
(
"Testing Date::Calc: English ordinal for current year is "
.
Date
::
Calc
::
English_Ordinal
($
year
)
.
"
\n
"
);
}
#
{
#
my
$
apreq
=
new
Apache2
::
Request
($
r
);
#
my
$
hello
=
$
apreq
->
param
(
'hello'
);
#
$
r
->
print
(
"Testing Apache2::Request: The parameter 'hello' is '$hello'
\n
"
);
#
}
return
Apache2
::
Const
::
OK
;
}
</
Perl
>
<
Location
/>
SetHandler
perl
-
script
PerlHandler
mytest
::
test_handler
</
Location
>
DocumentRoot
%(
document_root
)
s
DirectoryIndex
index
.
html
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment