Browse Source

new package: phpbb 3.0.B4 (Web Bulletin Board System (BBS))

Ralf S. Engelschall 19 years ago
parent
commit
08b9698316
4 changed files with 359 additions and 0 deletions
  1. 106 0
      phpbb/phpbb-apache.conf
  2. 20 0
      phpbb/phpbb.patch
  3. 188 0
      phpbb/phpbb.spec
  4. 45 0
      phpbb/rc.phpbb

+ 106 - 0
phpbb/phpbb-apache.conf

@@ -0,0 +1,106 @@
+##
+##  phpbb-apache.conf -- phpBB Apache Custom Configuration
+##
+
+ServerType             standalone
+ServerRoot             @l_prefix@
+ServerAdmin            root@@l_hostname@.@l_domainname@
+ServerName             @l_hostname@.@l_domainname@
+ServerTokens           Prod
+User                   @l_rusr@
+Group                  @l_rgrp@
+Port                   8080
+Listen                 127.0.0.1:8080
+
+#   runtime files
+PidFile                @l_prefix@/var/phpbb/run/apache.pid
+ScoreBoardFile         @l_prefix@/var/phpbb/run/apache.sb
+LockFile               @l_prefix@/var/phpbb/run/apache.lck
+
+#  server behaviour
+Timeout                300
+KeepAlive              on
+MaxKeepAliveRequests   100
+KeepAliveTimeout       15
+MinSpareServers        5
+MaxSpareServers        10
+StartServers           5
+MaxClients             15
+MaxRequestsPerChild    500
+HostnameLookups        off
+UseCanonicalName       on
+
+#   access logging
+LogFormat              "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
+LogFormat              "%h %l %u %t \"%r\" %>s %b" common
+LogFormat              "%{Referer}i -> %U" referer
+LogFormat              "%{User-agent}i" agent
+CustomLog              @l_prefix@/var/phpbb/log/apache.access.log common
+
+#   error logging
+LogLevel               warn
+ErrorLog               @l_prefix@/var/phpbb/log/apache.error.log
+ServerSignature        on
+
+#   secure root directory
+<Directory />
+    Options FollowSymLinks
+    AllowOverride None
+</Directory>
+
+#   browser specifics
+BrowserMatch "Mozilla/2"       nokeepalive
+BrowserMatch "MSIE 4\.0b2;"    nokeepalive downgrade-1.0 force-response-1.0
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0"       force-response-1.0
+BrowserMatch "JDK/1\.0"        force-response-1.0
+
+#   SSL/TLS support
+<IfModule mod_ssl.c>
+    SSLRandomSeed           startup builtin
+    SSLRandomSeed           connect builtin
+    SSLMutex                sem
+    SSLSessionCache         shmcb:@l_prefix@/var/phpbb/run/apache.scache(512000)
+    SSLSessionCacheTimeout  300
+    SSLLog                  @l_prefix@/var/phpbb/log/apache.ssl.log
+    SSLLogLevel             warn
+    SSLCipherSuite          ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
+    SetEnvIf User-Agent ".*MSIE.*" \
+             nokeepalive ssl-unclean-shutdown \
+             downgrade-1.0 force-response-1.0
+    <Files ~ "\.(cgi|shtml|phtml|php?)$">
+        SSLOptions +StdEnvVars
+    </Files>
+    <Directory "@l_prefix@/cgi">
+        SSLOptions +StdEnvVars
+    </Directory>
+</IfModule>
+
+#   configure PHP for phpBB
+AddType           application/x-httpd-php .php
+php_admin_flag    register_globals      off
+php_admin_flag    safe_mode             off
+php_admin_flag    safe_mode_gid         off
+php_admin_flag    allow_url_fopen       off
+php_admin_flag    display_errors        off
+php_admin_value   log_errors            on
+php_admin_value   max_execution_time    60
+php_admin_value   max_input_time        60
+php_admin_value   memory_limit          8M
+php_admin_value   post_max_size         8M
+php_admin_value   include_path          .:@l_prefix@/lib/phpbb:@l_prefix@/lib/php
+php_admin_value   safe_mode_include_dir @l_prefix@/lib/phpbb
+
+#   configure phpBB
+RewriteEngine     on
+RewriteRule       ^/$ /phpbb/ [R,L]
+Alias             /phpbb @l_prefix@/lib/phpbb
+DocumentRoot      @l_prefix@/lib/phpbb
+DirectoryIndex    index.php
+<Directory        "@l_prefix@/lib/phpbb">
+    Options       Indexes ExecCGI
+    AllowOverride None
+    Order         allow,deny
+    Allow         from all
+</Directory>
+

+ 20 - 0
phpbb/phpbb.patch

@@ -0,0 +1,20 @@
+Index: install/install_install.php
+--- install/install_install.php.orig	2006-11-27 22:47:53 +0100
++++ install/install_install.php	2006-12-25 10:37:55 +0100
+@@ -287,7 +287,7 @@
+ 		if (empty($magic_home))
+ 		{
+ 			$locations = array('C:/WINDOWS/', 'C:/WINNT/', 'C:/WINDOWS/SYSTEM/', 'C:/WINNT/SYSTEM/', 'C:/WINDOWS/SYSTEM32/', 'C:/WINNT/SYSTEM32/', '/usr/bin/', '/usr/sbin/', '/usr/local/bin/', '/usr/local/sbin/', '/opt/', '/usr/imagemagick/', '/usr/bin/imagemagick/');
+-			$path_locations = str_replace('\\', '/', (explode(($exe) ? ';' : ':', getenv('PATH'))));
++			$path_locations = str_replace('\\', '/', (explode(($exe) ? ';' : ':', '@l_prefix@/bin:' . getenv('PATH'))));
+ 
+ 			$locations = array_merge($path_locations, $locations);
+ 			foreach ($locations as $location)
+@@ -508,6 +508,7 @@
+ 			$this->available_dbms = &$available_dbms_temp;
+ 
+ 			// And now for the main part of this page
++			$dbhost = (!empty($dbhost) ? $dbhost : '@l_prefix@/var/phpbb/db/phpbb.db');
+ 			$table_prefix = (!empty($table_prefix) ? $table_prefix : 'phpbb_');
+ 
+ 			foreach ($this->db_config_options as $config_key => $vars)

+ 188 - 0
phpbb/phpbb.spec

@@ -0,0 +1,188 @@
+##
+##  phpbb.spec -- OpenPKG RPM Package Specification
+##  Copyright (c) 2000-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
+##  Copyright (c) 2000-2006 Ralf S. Engelschall <http://engelschall.com/>
+##
+##  Permission to use, copy, modify, and distribute this software for
+##  any purpose with or without fee is hereby granted, provided that
+##  the above copyright notice and this permission notice appear in all
+##  copies.
+##
+##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+##  SUCH DAMAGE.
+##
+
+#   package information
+Name:         phpbb
+Summary:      Web Bulletin Board System (BBS)
+URL:          http://www.phpbb.com/
+Vendor:       phpBB Group
+Packager:     OpenPKG Foundation e.V.
+Distribution: OpenPKG Community
+Class:        EVAL
+Group:        CMS
+License:      GPL
+Version:      3.0.B4
+Release:      20061225
+
+#   list of sources
+Source0:      http://switch.dl.sourceforge.net/phpbb/phpBB-%{version}.tar.gz
+Source2:      phpbb-apache.conf
+Source3:      rc.phpbb
+Patch0:       phpbb.patch
+
+#   build information
+Prefix:       %{l_prefix}
+BuildRoot:    %{l_buildroot}
+BuildPreReq:  OpenPKG, openpkg >= 20060823
+PreReq:       OpenPKG, openpkg >= 20060823
+PreReq:       apache
+PreReq:       apache::with_mod_php_gd = yes
+PreReq:       apache::with_mod_php_zlib = yes
+PreReq:       apache::with_mod_php_pcre = yes
+PreReq:       apache::with_mod_php_ftp = yes
+PreReq:       apache::with_mod_php_xml = yes
+PreReq:       apache::with_mod_php_sqlite = yes
+PreReq:       pcre, pcre::with_utf8 = yes
+PreReq:       sqlite
+PreReq:       imagemagick
+AutoReq:      no
+AutoReqProv:  no
+
+%description
+    phpBB is a high powered, fully scalable, and highly customizable
+    Open Source Bulletin Board System (BBS). phpBB has a user-friendly
+    interface, simple and straightforward administration panel, and
+    helpful FAQ. Based on the powerful PHP server language and a backend
+    RDBMS, phpBB is the ideal free community solution for all web sites.
+
+%track
+    prog phpbb = {
+        version   = %{version}
+        url       = http://prdownloads.sourceforge.net/phpbb/
+        regex     = phpBB-(__VER__)\.tar\.gz
+    }
+
+%prep
+    %setup -q -n phpBB3
+    %patch -p0
+
+%build
+
+%install
+    #   create installation hierarchy
+    rm -rf $RPM_BUILD_ROOT
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/phpbb \
+        $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb \
+        $RPM_BUILD_ROOT%{l_prefix}/var/phpbb/db \
+        $RPM_BUILD_ROOT%{l_prefix}/var/phpbb/log \
+        $RPM_BUILD_ROOT%{l_prefix}/var/phpbb/run
+
+    #   install main program files
+    %{l_shtool} subst %{l_value -s -a} \
+        install/install_install.php
+    find . -name ".#*" -print | xargs rm -f
+    cp -rp * $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/
+    mv  $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/install \
+        $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/install.d
+    mv  $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/cache \
+        $RPM_BUILD_ROOT%{l_prefix}/var/phpbb/db/cache
+    ln -s ../../var/phpbb/db/cache \
+        $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/cache
+    mv  $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/files \
+        $RPM_BUILD_ROOT%{l_prefix}/var/phpbb/db/files
+    ln -s ../../var/phpbb/db/files \
+        $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/files
+    mv  $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/store \
+        $RPM_BUILD_ROOT%{l_prefix}/var/phpbb/db/store
+    ln -s ../../var/phpbb/db/store \
+        $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/store
+    mv  $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/images/avatars/upload \
+        $RPM_BUILD_ROOT%{l_prefix}/var/phpbb/db/upload
+    ln -s ../../../../var/phpbb/db/store \
+        $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/images/avatars/upload
+    mv  $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/config.php \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/phpbb/config.php
+    ln -s ../../etc/phpbb/config.php \
+        $RPM_BUILD_ROOT%{l_prefix}/lib/phpbb/config.php
+
+    #   install run-command script
+    %{l_shtool} install -c -m 755 %{l_value -s -a} \
+        -e 's;@l_path@;%{l_build_path};' \
+        %{SOURCE rc.phpbb} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+
+    #   install Apache configuration
+    l_hostname=`%{l_shtool} echo -e %h`
+    l_domainname=`%{l_shtool} echo -e %d | cut -c2-`
+    %{l_shtool} install -c -m 644 %{l_value -s -a} \
+        -e "s;@l_hostname@;$l_hostname;g" \
+        -e "s;@l_domainname@;$l_domainname;g" \
+        %{SOURCE phpbb-apache.conf} \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/phpbb/
+
+    #   determine installation files
+    mv files files.orig
+    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
+        %{l_files_std} \
+        '%config %{l_prefix}/etc/phpbb/*' \
+        '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/etc/phpbb/config.php' \
+        '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/lib/phpbb' \
+        '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/lib/phpbb/*' \
+        '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/lib/phpbb/*/*' \
+        '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/phpbb' \
+        '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/phpbb/*'
+
+%files -f files
+
+%clean
+    rm -rf $RPM_BUILD_ROOT
+
+%post
+    if [ $1 -eq 1 ]; then
+        #   display final hints on initial installation
+        ln -s install.d $RPM_INSTALL_PREFIX/lib/phpbb/install
+        ( echo "To complete the phpBB installation:"
+          echo "1. start the phpBB Apache:"
+          echo "   \$ $RPM_INSTALL_PREFIX/etc/rc phpbb start"
+          echo "2. install the phpBB database by accessing the"
+          echo "   following URL and proceeding through its menus:"
+          echo "   http://localhost:8080/phpbb/install/"
+          echo "3. cleanup after installation to enable run-time:"
+          echo "   \$ rm -f $RPM_INSTALL_PREFIX/lib/phpbb/install"
+        ) | %{l_rpmtool} msg -b -t notice
+    elif [ $1 -eq 2 ]; then
+        #   after upgrade, restart service
+        [ $1 -eq 2 ] || exit 0
+        eval `%{l_rc} phpbb status 2>/dev/null`
+        [ ".$phpbb_active" = .yes ] && %{l_rc} phpbb restart
+    fi
+    exit 0
+
+%preun
+    if [ $1 -eq 0 ]; then
+        #   before erase, stop service
+        %{l_rc} phpbb stop 2>/dev/null
+
+        #   uninstall
+        $RPM_INSTALL_PREFIX/sbin/phpbb-setup uninstall
+
+        #   remove run-time files
+        rm -f $RPM_INSTALL_PREFIX/var/phpbb/db/*   >/dev/null 2>&1 || true
+        rm -f $RPM_INSTALL_PREFIX/var/phpbb/db/*/* >/dev/null 2>&1 || true
+        rm -f $RPM_INSTALL_PREFIX/var/phpbb/run/*  >/dev/null 2>&1 || true
+        rm -f $RPM_INSTALL_PREFIX/var/phpbb/log/*  >/dev/null 2>&1 || true
+    fi
+    exit 0
+

+ 45 - 0
phpbb/rc.phpbb

@@ -0,0 +1,45 @@
+#!@l_prefix@/bin/openpkg rc
+##
+##  rc.phpbb -- Run-Commands
+##
+
+%config
+    phpbb_enable="$openpkg_rc_def"
+
+%common
+    phpbb_cfgfile="@l_prefix@/etc/phpbb/phpbb-apache.conf"
+    phpbb_pidfile="@l_prefix@/var/phpbb/run/apache.pid"
+    phpbb_signal () {
+        [ -f $phpbb_pidfile ] && kill -$1 `cat $phpbb_pidfile`
+    }
+
+%status -u @l_susr@ -o
+    phpbb_usable="no"
+    phpbb_active="no"
+    @l_prefix@/sbin/apache -t -f $phpbb_cfgfile 2>/dev/null && \
+        phpbb_usable="yes"
+    phpbb_signal 0 && \
+        phpbb_active="yes"
+    echo "phpbb_enable=\"$phpbb_enable\""
+    echo "phpbb_usable=\"$phpbb_usable\""
+    echo "phpbb_active=\"$phpbb_active\""
+
+%start -u @l_susr@
+    rcService phpbb enable yes || exit 0
+    rcService phpbb active yes && exit 0
+    ( export PATH="@l_path@"
+      @l_prefix@/sbin/apache -f $phpbb_cfgfile
+    ) || exit $?
+
+%stop -u @l_susr@
+    rcService phpbb enable yes || exit 0
+    rcService phpbb active no  && exit 0
+    phpbb_signal TERM
+    sleep 2
+    rm -f $phpbb_pidfile >/dev/null 2>&1 || true
+
+%restart -u @l_susr@
+    rcService phpbb enable yes || exit 0
+    rcService phpbb active no  && exit 0
+    rc phpbb stop start
+