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