apache1-mod_suphp
Marcin Sztolcman
msztolcman at post.pl
Mon Jun 20 23:59:37 CEST 2005
witam
powalczylem chwile z nowym suphp
to co mi wyszlo, jest ponizej - na pewno sa jakies niedorobki, wiec
prosze o komentarze w miare czytelnej formie, zebym wiedzial co i jak
mam poprawiac ;)
nie wiedzialem jak nazwac patch do suphp, ktory zmienia jedna rzecz w
suphp.c, wiec patch poprawiajacego speca nazwalem
apache1-mod_suphp.spec.patch, a w/w pactha: apache1-mod_suphp.patch
patch ten, o ktorym pisze wyzej, dodaje funkcjonalnosc do suphp,
polegajaca na umowzliwieniu wstawianiu dyrektywy suPHP_AddHandler do np
konfiguracji vhosta - bez tego mozna to dodac tylko do
Directory/Location etc. bez tego patcha mozna to obejsc, dajac np:
<Directory />
suPHP_AddHandler [...]
</Directory>
ale imo tak jest wygodniej.
sam spec na amd64 sie buduje i dziala poprawnie.
acha, mam pewnien problem... chcialem dodac bconda, ktory pozwoli na
wybor czy suphp ma byc w wersji 'owner' czy 'paranoid', ale z jakiegos
dziwnego powodu builder mi go nie wylapuje - gdy dam builder -bb -nn
apache1-mod_suphp.spec to na liscie dostepnych bcondow tego 'paranoid'
nie ma :/ why ?
MySZ
--
Marcin ``MySZ`` Sztolcman
http://diary.urzenia.net :: mailto:http://urzenia.net/email
System zarządzania treścią :: http://core.no1-else.com
-------------- next part --------------
# $Id: apache1-mod_suphp.conf,v 1.2 2005/02/28 18:33:53 glen Exp $
LoadModule suphp_module modules/mod_suphp.so
<IfModule mod_suphp.c>
suPHP_AddHandler x-httpd-php
suPHP_UserGroup http http
suPHP_Engine on
suPHP_Configpath /etc/php/
</IfModule>
# vim: filetype=apache ts=4 sw=4 et
-------------- next part --------------
/var/log/apache/suphp_log {
olddir /var/log/archiv/apache
postrotate
/etc/rc.d/init.d/apache graceful
endscript
}
-------------- next part --------------
diff -urN suphp-0.6.0.org/src/apache/mod_suphp.c suphp-0.6.0/src/apache/mod_suphp.c
--- suphp-0.6.0.org/src/apache/mod_suphp.c 2005-02-27 18:56:37.000000000 +0100
+++ suphp-0.6.0/src/apache/mod_suphp.c 2005-06-20 21:39:40.527233704 +0200
@@ -249,9 +249,9 @@
{"suPHP_UserGroup", suphp_handle_cmd_user_group, NULL,
RSRC_CONF|ACCESS_CONF, TAKE2, "User and group scripts shall be run as"},
#endif
- {"suPHP_AddHandler", suphp_handle_cmd_add_handler, NULL, ACCESS_CONF,
+ {"suPHP_AddHandler", suphp_handle_cmd_add_handler, NULL, RSRC_CONF|ACCESS_CONF,
ITERATE, "Tells mod_suphp to handle these MIME-types"},
- {"suphp_RemoveHandler", suphp_handle_cmd_remove_handler, NULL, ACCESS_CONF,
+ {"suphp_RemoveHandler", suphp_handle_cmd_remove_handler, NULL, RSRC_CONF|ACCESS_CONF,
ITERATE, "Tells mod_suphp not to handle these MIME-types"},
{NULL}
};
-------------- next part --------------
--- apache1-mod_suphp.spec.org 2005-02-28 21:28:38.000000000 +0100
+++ apache1-mod_suphp.spec 2005-06-20 22:39:02.762240200 +0200
@@ -2,20 +2,23 @@
#
# Available build options:
%bcond_with checkpath # enable check if php execution is within DOCUMENT_ROOT of the vhost
+%bcond_with paranoid # run scripts with owner UID/GID but also check if they match the UID/GID specified in the Apache conf
#
%define mod_name suphp
%define apxs /usr/sbin/apxs1
Summary: Apache module: suPHP - execute PHP scripts with the permissions of their owners
Summary(pl): Moduł do apache: suPHP - uruchamianie skryptów PHP z uprawnieniami ich właścicieli
Name: apache1-mod_%{mod_name}
-Version: 0.5.2
-Release: 1.12
+Version: 0.6.0
+Release: 0.3.3
License: GPL
Group: Networking/Daemons
Source0: http://www.suphp.org/download/%{mod_name}-%{version}.tar.gz
-# Source0-md5: 337909e87027af124052baddddbd2994
+# Source0-md5: fa89691101b9ebf18f4922b1382186c6
Source1: %{name}.conf
Source2: %{name}.logrotate
+Source3: %{mod_name}.conf
+Patch0: %{name}.patch
URL: http://www.suphp.org/
BuildRequires: apache1-devel >= 1.3.33-2
BuildRequires: autoconf
@@ -28,7 +31,7 @@
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
-%define _sysconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)
+%define _apacheconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)
%description
suPHP is a tool for executing PHP scripts with the permissions of
@@ -44,25 +47,25 @@
%prep
%setup -q -n %{mod_name}-%{version}
+%patch0 -p1
-# common GPL license
-rm -f doc/{de,en}/LICENSE
-# common Apache license
-rm -f doc/{de,en}/apache/LICENSE
+rm -f doc/apache/README
%build
+%{__libtoolize}
%{__aclocal}
%{__autoconf}
%{__autoheader}
-chmod 755 configure
%configure \
- %{?with_checkpath: --enable-checkpath} \
- %{!?with_checkpath: --disable-checkpath} \
- --with-apache-user=http \
+ --prefix=%{_prefix} \
+ --bindir=%{_bindir} \
+ --sbindir=%{_sbindir} \
+ --sysconfdir=%{_sysconfdir} \
+ --with-apxs=%{apxs} \
--with-min-uid=500 \
--with-min-gid=1000 \
- --with-apxs=%{apxs} \
- --with-php=/usr/bin/php.cgi \
+ --with-apache-user=http \
+ --with-logfile=/var/log/apache/suphp_log \
--disable-checkuid \
--disable-checkgid
@@ -70,15 +73,18 @@
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sbindir},%{_pkglibdir},%{_sysconfdir}/conf.d}
+install -d $RPM_BUILD_ROOT{%{_sbindir},%{_pkglibdir},%{_apacheconfdir}/conf.d}
install src/suphp $RPM_BUILD_ROOT%{_sbindir}
-install src/apache/mod_%{mod_name}.so $RPM_BUILD_ROOT%{_pkglibdir}
-install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/90_mod_%{mod_name}.conf
+install src/apache/.libs/mod_%{mod_name}.so $RPM_BUILD_ROOT%{_apacheconfdir}/modules/
+install %{SOURCE1} $RPM_BUILD_ROOT%{_apacheconfdir}/conf.d/90_mod_%{mod_name}.conf
install -d $RPM_BUILD_ROOT/etc/logrotate.d
# TODO: apache1-mod_suphp + trigger
install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/apache-mod_suphp
+install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/suphp.conf
+
+rm -f doc/apache/README
%clean
rm -rf $RPM_BUILD_ROOT
@@ -110,11 +116,12 @@
%files
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog doc/en doc/de
+%doc AUTHORS ChangeLog doc/{CONFIG,suphp.conf-example,apache}
%attr(4755,root,root) %{_sbindir}/suphp
%attr(755,root,root) %{_pkglibdir}/*
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/*
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_%{mod_name}.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_apacheconfdir}/conf.d/*_mod_%{mod_name}.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/suphp.conf
%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
-------------- next part --------------
[global]
;Path to logfile
logfile=/var/log/apache/suphp_log
;Loglevel
loglevel=info
;User Apache is running as
webserver_user=http
;Path all scripts have to be in
docroot=/
; Security options
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false
;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true
;Send minor error messages to browser
errors_to_browser=false
;PATH environment variable
env_path=/bin:/usr/bin
;Umask to set, specify in octal notation
umask=0077
; Minimum UID
min_uid=500
; Minimum GID
min_gid=1000
[handlers]
;Handler for php-scripts
x-httpd-php=php:/usr/bin/php.cgi
;Handler for CGI-scripts
x-suphp-cgi=execute:!self
More information about the pld-devel-pl
mailing list