杂七杂八

phpBB 2.0.x 的安装

phpBB 2.0.x 的安装

最近更新时间: 2003/07/02

早期 Apache 有很多的插件,不过,这些插件可能都得要自己安装,Linux distribution 官网数据并没有提供。 另外,鸟哥之前也不懂程序,所以 PHP 没有学好,因此,很多的特殊功能,都需要第三方软件才有办法达成! 总总因素,所以就有 Apache 套件安装的数据。

不过,就如同站内其他的老文章一样,Apache 目前已经有很多的套件内含了,所以不用自己手动安装。 而目前 (2022) 服务器网页编程语言 PHP 等又大概是显学,大家都会一些~当然,这些之前的软件就不重要了!

再次声明:这些文章只是舍不得丢的数据,并不是什么需要特别阅读的!尤其是文章内容超级旧! 所以,大家看看就好!千万不要学喔!哈哈哈!

在架设好了 Apache 这个 WWW 服务器软件之后,你的 Linux 主机上面应该已经可以被其他 Client 端以浏览器来进行 WWW 网页的取得了!不过,一般来说,Apache 通常仅提供了静态网页的浏览,如果想要跟用户有所交流(就是交互式网页),那么单纯的静态网页是无法达成这样的需求的!此时,这个 phpBB 架站软件就显的相当的简单而好用啰!底下就来谈一谈这个 phpBB 第 2.0 版的第 5 发布版本吧!

前言

    在目前的 Linux 版本中 ( 2003年以后的 Linux 版本 ) ,在您安装完 Linux 之后,通常已经都将 WWW 服务器软件架设上去了!那就是 Apache 这个套件啊!有了这个套件之后,您的 Linux 主机就已经具备成为 WWW 服务器的功能了!不过,这样还不够的!因为目前我们都希望 WWW 服务器可以达到与浏览者交互的一个功能,而这个功能在使用传统的 HTML 语法是无法达成的呐!而要达到这样的功能,除了可以借由 CGI 这个主机端程序所提供的接口外 ( Server side include, SSI ),也可以通过 PHPMySQL 这两个套件的功能来达成的。那么什么是 CGI, SSI, PHP 与 MySQL 呢?底下约略来谈一谈喔!
     
    什么是 CGI ?
    所谓的 CGI 就是 Common Gateway Interface 的简写,事实上, CGI  是主机上面的一些程序或者是 scripts ,通常最常见到的就是以 perl 这个类似编程语言 ( program ) 的代码所写成的一支程序,另外, bash shell 也可以用来撰写 CGI 程序喔!因为 CGI 其实是一支程序,当用户以浏览器连接上这支程序的时候,由于 Apache 提供了这支程序可以运行的能力,因此,用户就可以通过这支程序来达到信息交流的目的了!例如很多网站的留言版就是使用 perl 来写成的呐!(注:perl 其实有点类似 BASH ,不过功能更为强大!)
     
    不过,也由于这支程序可以在主机上被运行,因此,如果 CGI 编程的不好,有可能被拿来做为入侵的跳板喔!这点可要千万注意,不要在网络上面乱拿 CGI 程序来直接安装到自己的 Linux 主机上呐!
    什么是 SSI?
    这个名词颇为有趣, Server Side Include, SSI ,怎么称之为『主机端包含者』?是这样的,所谓的 Server side include ,说穿了,就是所有的『程序运行过程都在主机端, Client 端只负责接收最后的信息而已』,这是什么意思?举个例子来说,当我们以浏览器,例如 Netscape 来连接到某网站的留言版时,该留言版是以 CGI 程序写成的,当这个网站接收你的要求之后,首先就会在该主机端进行这个留言版程序的运行,运行完毕之后,再将结果通过 80 port 发送到你的浏览器上面,你就可以看到最终的留言版版面啰!这样的整个进程看来,在您的 Client 端上面,完全不需要知道主机端做了什么动作,就可以接收到你所需要的消息!这就是所谓的 SSI 啰!
     
    这样有什么优点呢?最大的优点就是方便程序开发与用户浏览的便利性了。怎么说呢?在早期的 WWW Server 与 client 的数据发送当中,当你的 WWW Server 开发出新的程序时,用户若要使用这个程序的功能,则他们的浏览器也要支持该程序的相关功能才行!这样很麻烦呢,想像一下,全世界这么多部的主机,当你要连上某部主机,就要安装某部主机的相关程序功能,我们每天连上这么多的网站,每个网站都要求安装新的程序,......想不疯掉都很难~
     
    这时,SSI 的功能就很突显出必要性了!因为用户完全不需要安装新的程序!反正程序都是在主机端运行的,用户完全不需要知道程序做了什么动作,这样一来,呵呵!真的方便很多喔!目前大多的 CGI 程序、PHP 网络语言等等都是使用 SSI 的方式来进行编写的!所以很方便使用呢! ^_^
    什么是 PHP 与 MySQL ?
    事实上, PHP 可以当成是一种网页编程语言,基本上他就是一堆代码,当用户连接到这个代码文件后,这个程序就开始在主机端运行,最后会产生一些 HTML 的内容信息,而将这些 HTML 的信息传输到用户端的浏览器上。因此,用户是看不到代码的,只会看到最终的输出结果。由于 PHP 的程序运行性能高,而且相对于 CGI 又比较安全,因此,目前使用上很广泛喔!
     
    至于 MySQL 则是一个数据库软件,什么是数据库呢?就是当用户发送一些信息后,这些信息可以被保存到一个特定格式的特定文件,这个文件就可以称之为数据库了!而 MySQL 就是管理这些数据库的软件啰。目前数据库软件很多,MySQL 就是其中一个。 
     
    MySQL 提供一个接口,很多程序( 例如 PHP ) 可以通过 MySQL 提供的接口来进行数据库的访问,而由于 PHP 是程序,因此数据库就可以被 PHP 程序动态的访问与删除,所以,就可以做成一个『动态』的网站啦!
     
    这个 Linux 提供操作系统平台,Apache 提供 WWW 的网络服务,PHP 提供程序的开发,MySQL 提供数据库的动态访问,就结合成为 LAMP 的动态网站啰!还有更多的相关消息,可以参考 VBird 之前写的 WWW 服务器架设 喔!
     
    这就是一些相关的信息啰!而为了制作一个美观的动态 WWW 网站,很多程序开发者利用 PHP 的优良功能,结合 MySQL 提供的数据库接口,进行所谓『架站机』开发,例如很有名气的 PHPNuke, phpBB 等等,在这里,我们要介绍的就是 phpBB 这个也是很优良的架站机套件啦!
     
    目前 phpBB 这个超级架站机已经出到 2.0.5 版本了 ( 2003/06/17 ) ,还记得几年前 ( 大约在 2001 年底 ) VBird 才刚刚翻译完成 phpBB 1.4.4 版的 FAQ ,呵呵,没想到一下子 phpBB 就已经出到 2.0.5 版本了!真是快啊!与 1.4.xx 版本不同, 2.0.xx 版本的接口更为漂亮且柔和,鸟哥真是很喜欢!此外, 2.0.xx 版已经重新发布好几次了,而这次的 2.0.5 是最终版本,下一代的 phpBB 会是由 2.2.xx 版本开始计数的!( 注: 2.0.0 是在 2002/04/03 发布的,到 2003/06/17 发布最终版本的 2.0.5 ,程序更稳定,也克服了一些臭虫)
     
    在最新的这个 phpBB 2.0.5 版中,除了已经克服了一些程序的臭虫之外,在这个 2.0.xx 版本上面,最大的特色就是:『在测试版的时候,台湾的竹猫星球就已经制作好完全的中文化功能』了!呵呵!真是很了不起喔!我们真的要感谢竹猫星球的几位同好进行的这个中文化工程,让我们用户在使用的时候,就相当的顺手啰!另外,在中文化之余,这个 2.0.xx 版本也提供了『插件模块』的功能!所谓的『模块』就是一些加强的功能,例如『打印、版面风格、反白光条...』等等的其他使用方式喔!相当的不错吧!
     
    事实上,这个 phpBB 主程序与模块鸟哥通通没有参与开发,就只会用~真是不好意思~所以呢,希望大家可以在架完站之后,可以前往 phpBB 官方网站以及国内的竹猫星球网站上面给予这些朋友支持与鼓励喔!有他们的存在,我们才有这么好用的软件可以使用啊! ^_^。 phpBB 官网与竹猫的网站在底下:
       
    尤其是竹猫星球,有空真的要多多上去学习一下模块的使用喔!同时,竹猫星球站长群也写了一本『phpBB论坛架设宝典』里面更是提到更多的模块相关技能与 phpBB 的一些密技喔!底下也列出一些目前与 Linux 相关性比较高的几个 phpBB 的风格网站喔!
     

phpBB 架设之前的必要套件:

安装 ( 或升级 ) phpBB 2.0.5:

    在这里我假设您已经完成了 LAMP 的架设了,所以呢,直接就来进行 phpBB 的安装与升级吧!不过需要事先声明的是,由于这一版在『全新安装』方面非常的简单,但是在『系统升级』选项则有点麻烦,因此,在实际操作前,请『千万记得备份数据库』,否则一个不小心,呵呵,那就不要怪鸟哥没有提醒你啰!另外,如果是升级安装的时候,请千万注意:『将原本的 phpBB 服务先关掉,例如将该目录先移动到其他地方去,避免有其他人连进数据库』!好了,就谈一谈全新安装与升级的流程吧!
     
    全新安装 phpBB 架站机:
     
    全新安装其实很简单的啦!一步一步来操作吧:
     
    1. 创建数据库:

    2. 由于我们要使用 MySQL 的数据库,所以,当然就需要取得数据库的使用权限啦!如果您不是在自己的 Linux 主机上面架设 phpBB 的话,请向您的网络管理员申请一个数据库的帐号与数据库的名称喔!如果您是 Linux 系统管理员,那就好办多了!假设我需要一个帐号为 phpbbuser 以及一个数据库名称为 phpbb2 的话,可以这么做:
       
      # 1. 利用 MySQL 的 root 身份创建数据库与帐号:
      [root@test root]# mysql -u root -p
      Enter password:  <==输入你的 MySQL 的 root 密码
      Welcome to the MySQL monitor.  Commands end with ; or \g.
      Your MySQL connection id is 3 to server version: 3.23.56

      Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

      mysql> create database phpbb2;  <==注意每个指令后面要加上 ; 
      Query OK, 1 row affected (0.00 sec)

      mysql> grant all privileges on phpbb2.* to phpbbuser@localhost identified by 'your.password' ;  <==将刚刚创建的 phpbb2 权限给 phpbbuser 这个帐号!
      Query OK, 0 rows affected (0.01 sec)

      mysql> exit
      Bye

      # 2. 测试刚刚创建的数据库与帐号是否可以使用:
      [root@test root]# mysql -u phpbbuser -p
      Enter password:
      Welcome to the MySQL monitor.  Commands end with ; or \g.
      Your MySQL connection id is 4 to server version: 3.23.56

      Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

      mysql> connect phpbb2;
      Connection id:    5
      Current database: phpbb2

      mysql> exit
      Bye

       
      这样就完成啰!很简单吧!不过,要记得的是:
       
      • 你的 MySQL 主机名称为 localhost ,这个是 MySQL 的主机名称,不是 Linux 主机名称!通常 MySQL 的主机名称『一定』是 localhost 喔!
      • 你的 MySQL 数据库名称为 phpbb2 喔!
      • 你的 MySQL 帐号为 phpbbuser 且密码为 your.password 喔!
       
    3. 套件包解压缩:

    4. 刚刚下载的三个文件必须要好好的进行解压缩喔!解压缩的相对位置不能搞错!不然就无法显示完整的中文了!假设我是在 root 的家目录底下解压缩的,所以:(注:假设三个文件都放置在 /root 底下)
       
      [root@test root]# tar -zxvf phpBB-2.0.5.tar.gz
      会创建一个目录在 /root 底下,成为 /root/phpBB2

      [root@test root]# cd phpBB2/language/
      [root@test language]# tar -zxvf /root/lang_chinese_traditional_taiwan.tar.gz
      这个动作在于创建中文化文件名在语言目录中!

      [root@test language]# cd /root/phpBB2/templates
      [root@test templates]# tar -zxvf /root/subSilver_chinese_traditional_taiwan.tar.gz

      [root@test templates]# cd /root/phpBB2
      [root@test phpBB2]# chmod 666 config.php

       
      好了!目前你的完整的 phpBB2 的套件就在 /root/phpBB2 这个目录底下啰!
       
    5. 网站目录移动:

    6. 在这里你可以使用虚拟主机 (Virtual Host) 的功能来设置您的 WWW 主机,不过,我这里用比较简单的方式来进行 phpBB 的架设!假设您的 phpBB 缺省要安装在 http://your.host.name/phpbb2 的话,而且,你的网站主页又在 /var/www/html 底下(这些都是默认值喔!),那么你可以直接这样做:
       
      [root@test phpBB2]# cd /root
      [root@test root]# mv phpBB2 /var/www/html/phpbb2
       
      好了!未来你只要输入 http://你的主机名称/phpbb2 就可以进入到 phpBB2 这个超级架站机啰!
       
    7. 开始网络安装:

    8. phpBB2 的安装真的是很简单的啦!只要在你的浏览器上面输入你的 phpBB2 的主目录即可!刚刚我们不是安装在 http://主机名称/phpbb2 吗?!所以,当我在浏览器的网址列输入这个咚咚时,他会出现如下画面:(注:如果出现乱码时,请到您的浏览器上面,设置好『编码』成为 big5 即可!)

      上头主要分为两部份来填写,首先,主机信息部分,请参考刚刚我们所创建的 MySQL 数据库的信息,就给他填写进去吧!另外,由于 phpBB2 里面需要一个系统管理员,所以,您必须要创建系统管理员的相关权限喔!填写好了之后,就给他按下『开始安装吧!』(注:如果出现:『您主机上的 PHP 不支持您所选择的数据库型态』,通常是忘记安装 php-mysql 这个套件了!拿出光盘来安装他即可啰!)最终的结果会如下所示:

      按下『完成安装』之后,会出现如下画面:

       
    9. 后续安全设置项目:

    10. 因为害怕被入侵我们的 phpBB ,所以,目前 phpBB 要能运作的话,必须要移除一些安装过程会使用到的文件,由于这些文件是不需要存在的(只有在安装的时候才会用到),所以,必须要移除之后,phpBB2 才能正常的来运作喔!
       
      [root@test root]# cd /var/www/html/phpbb2
      [root@test phpbb2]# chmod 644 config.php
      [root@test phpbb2]# rm -rf install
      [root@test phpbb2]# rm -rf contrib
       
    11. 完成设置:

    12. 这样一来,应该可以进入您的 phpBB 啰!在出现的第一次 phpBB 画面中,请以系统管理员的身份登录:

      可以的话,并同时勾选『自动登录』,如此一来,每次您进入 phpBB 时,都会使用这一个身份来登录,并且,如果是以管理员的身份来登录的话,哈哈!最底部会出现一个隐藏的项目:

      这样就能够让您进入 phpBB 系统去进行其他额外的设置啰!更多更详细的功能可以到竹猫星球去询问,也可以买一本 phpBB 论坛架设宝典来参考喔!
     
    升级到 phpBB2.0.5 版本:
     
    如果原先就有 phpBB 的版本在您的系统上面的话,那么升级到 phpBB2.0.5 也是必须要的啦!因为最起码就比较安全啊!那么要如何升级呢?!事实上,升级是有一定的『危险性』,所以需要进行的项目还不少呢!一步一步来吧!
     
    升级过程中,最重要的莫过于『备份』了!所以,请将目前您的 phpBB 版本与 MySQL 数据库做一个备份才好喔!举个例子来说,如果您的 phpBB2 的程序原本放置在 /var/www/html/phpbb2 的话,那么就将他先移动到 /root 底下吧!然后如果您是以 RPM 安装 MySQL 的话,一般来说,数据库会放置在 /var/lib/mysql 底下,所以,在备份的地方,您可以这样做:
     
    [root@test root]# mv /var/www/html/phpbb2 /root
    [root@test root]# cd /var/lib
    [root@test lib]# tar -zcvf mysql.20030702.tar.gz mysql
     
    在这样的情况下,您的 phpbb2 前一版的代码不会丢掉,而且数据库也顺利的备份了下来,未来如果在升级的时候出了点差错,还可以将原来的数据库还原,且代码还是可以救回来的,安全多了呢!
     
    1. 数据库文件取代与升级步骤:

    2. 在备份妥当之后,其他的升级步骤相对简单很多!参考上面 完全安装 的步骤 2 与步骤 3 的说明,先创建 phpbb2 这个目录 ( /var/www/html/phpbb2 ) ,然后将原来的 config.php 文件覆盖掉这个目录底下的 config.php ,之后以浏览器浏览底下这个文件:
       
        http://你的主机名称/phpbb2/install/update_to_205.php
       
      就会得到底下的画面模样!
       

       
    3. 后续处理:

    4. 后续的处理就一样啦!简单的很:
       
      [root@test root]# cd /var/www/html/phpbb2
      [root@test phpbb2]# chmod 644 config.php
      [root@test phpbb2]# rm -rf install
      [root@test phpbb2]# rm -rf contrib
       
      然后就又可以使用你的 phpBB2 啰!升级真的是很简单的啦! ^_^

关于模块

事实上, phpBB2 最吸引人的地方,在于他可以自行开发新的模块来进行插件,这使得每个人的 phpBB2 的风格都不相同!并且您可以视自己的喜好来决定您自己的插件模块!相当的棒喔!如果想对模块有进一步的认识,建议您可以到竹猫星球去瞧一瞧,就了解什么是 phpBB2 的模块插件啰!
 
不过,每次升级之后,这些插件的模块都得要再重新的编写一次,真的是很麻烦~好在这一次这个 2.0.5 据说是最终版本了!所以不会再进行额外的升级啰!所以,来个彻底大检修,个人觉得这也是不错的啦! ^_^

其他安全的注意事项(很重要!不要忽略):

  • 竹猫星球的样式声明:

  • 由于改版的过程中出了点小差错,所以竹猫星球的样式声明竟然就此不见去!真是~这里我们将他改回来吧! ^_^!
     
    [root@test root]# cd /var/www/html/phpbb2
    [root@test root]# vi language/lang_chinese_traditional_taiwan/lang_main.php
    找到底下这一行:
    $lang['TRANSLATION'] = '繁体中文强化版由&nbsp;<a href="http://phpbb-tw.net/"><font color="#FF6633">竹猫星球PBB2中文强化开发小组</font></a>&nbsp;制作';
    将他改成:
    $lang['TRANSLATION_INFO'] = '繁体中文强化版由&nbsp;<a href="http://phpbb-tw.net/" target="_blank"><font color="#FF6633">竹猫星球PBB2中文强化开发小组</font></a>&nbsp;制作';
     
    这样就 OK 了!
     
  • 较早版本升级的错误结果

  • 这个问题仅存在于较早之前的版本,也就是以 phpBB 1.4.4 升级到 phpBB 2.0.0 的时候,由于一些小问题,所以升级完毕后竟然会发现『用户无法注册,并且旧的用户也没有办法更新自己的设置』在 phpBB 的官方网站上发表了声明,说这是因为一些字段发生错误所致!要如何是好?使用 mysql 来增加字段吧!
     
    [root @test /root]# mysql -u phpbbuser -p
    Enter password:      <==这里请输入你的 MySQL 密码!
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 11 to server version: 3.23.41

    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

    mysql> connect phpbb2 ;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A

    Connection id:    26899
    Current database: phpbb2

    mysql> ALTER TABLE phpbb_users ADD COLUMN user_timezone float DEFAULT '0' NOT NULL ;
    Query OK, 1 row affected (0.04 sec)

    mysql> exit

     
    在上面中,注意一下特殊的字体,那个 phpbb2 指的是你安装 phpBB 2.0 的数据库名称;而 phpbb_users 那个 phpbb_ 则是刚刚使用浏览器安装的时候,那个表格前缀的项目!!假如你是使用 phpBB 作为你的表格前缀,那么这里就要改成 phpBBusers 啰!这样改完你的用户 profile 与 注册功能 就恢复正常啦!
     
  • 建议的升级版本问题

  • 台湾网络危机处理中心公布的消息中, PHP 这个网络语言程序有些漏洞,而这些语法上的漏洞会造成主机被 Cracker 利用 DoS 的方式来攻击,并可能造成主机的资源无力化而当机~~网友 Chad 也寄一份数据给我看过,说明 phpBB 1.4.xx 所有的版本由于都使用到此一语法,所以都有可能会造成主机的困扰!!虽然 phpBB 2.0 还没有经过危机小组的测试,不过毕竟会稍微安全一些些吧!由于这种种的问题,所以才会建议您可能的话,还是升级到比较高的版本吧!就是这个 2.0.5 啰!
     
  • 关于系统管理员的身份问题:(重要)

  • 这是来自于竹猫星球的大统领小竹子与南宫博士的建议!phpBB2 的系统管理员具有最大的权限,而该权限似乎可能会与其他的板主权限相冲突而造成不可预期的错误!所以最好不要让系统管理员当板主呦!重要重要!
     
  • 权限的问题:

  • 将 config.php 权限改回来!就是以 chmod 644 config.php 这个指令将 config.php 的权限改回来吧!
     
  • phpBB 官方网站的安全性公告:

  • 由于 phpBB 使用到 Linux 主机上面的信息很多,所以,您必须要了解到这个程序确实有可能会产生一些安全上的漏洞的!建议您随时注意 phpBB 的公告网站:http://www.phpbb.com/phpBB/,里面不定期会有很多的技术公告,可以预防您的 phpBB 被破坏喔!底下就列出几个近期发生的问题克服吧!

漏洞修补:

  • 这是在 2003/06/25 公布的一项漏洞,虽然不会直接对您的 phpBB2 造成危害,但是却可以让其他有心人士使用你的系统上面的其他文件!公布在:http://www.phpbb.com/phpBB/viewtopic.php?t=113826,请进行修改吧!

  •  
    打开 admin/admin_styles.php 这个文件,寻找底下这段文本:
    // 
    // Load default header 
    // 
    // 
    // Check if the user has cancled a confirmation message. 
    // 
    $phpbb_root_path = "./../"; 

    $confirm = ( isset($HTTP_POST_VARS['confirm']) ) ? TRUE : FALSE; 
    $cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? TRUE : FALSE; 

    if (empty($HTTP_POST_VARS['send_file'])) 

       $no_page_header = ( $cancel ) ? TRUE : FALSE; 
       require($phpbb_root_path . 'extension.inc'); 
       require('./pagestart.' . $phpEx); 

    if ($cancel) 

       redirect('admin/' . append_sid("admin_styles.$phpEx", true)); 
    }

    将上面这段文本完整的修改成为底下的模样:
    // 
    // Load default header 
    // 
    // 
    // Check if the user has cancled a confirmation message. 
    // 
    $phpbb_root_path = "./../"; 
    require($phpbb_root_path . 'extension.inc'); 

    $confirm = ( isset($HTTP_POST_VARS['confirm']) ) ? TRUE : FALSE; 
    $cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? TRUE : FALSE; 

    $no_page_header = (!empty($HTTP_POST_VARS['send_file']) || $cancel) ? TRUE : FALSE; 

    require('./pagestart.' . $phpEx); 

    if ($cancel) 

       redirect('admin/' . append_sid("admin_styles.$phpEx", true)); 
    }

     
  • 这是在 2003/06/20 公布的一项漏洞,公布在:http://www.phpbb.com/phpBB/viewtopic.php?t=112052,可能会对您的系统造成一些错误消息!请进行修补:

  •  
    找出您的 viewtopic.php ,并找到底下的字眼: 
    if ( isset($HTTP_GET_VARS[POST_TOPIC_URL]) ) 

          $topic_id = intval($HTTP_GET_VARS[POST_TOPIC_URL]); 

    else if ( isset($HTTP_GET_VARS['topic']) ) 

          $topic_id = intval($HTTP_GET_VARS['topic']); 
    在上面这一段文本之前,添加:
    $topic_id = $post_id = false; 
    在同样这个文件,往下找到如下的字眼:
    $join_sql_table = ( !isset($post_id) ) ? '' : ", " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2 "; 
    $join_sql = ( !isset($post_id) ) ? "t.topic_id = $topic_id" : "p.post_id = $post_id AND t.topic_id = p.topic_id AND p2.topic_id = p.topic_id AND p2.post_id <= $post_id"; 
    $count_sql = ( !isset($post_id) ) ? '' : ", COUNT(p2.post_id) AS prev_posts"; 

    $order_sql = ( !isset($post_id) ) ? '' : "GROUP BY p.post_id, t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments ORDER BY p.post_id ASC"; 

    将他修改为如下模样:
    $join_sql_table = ( empty($post_id) ) ? '' : ", " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2 "; 
    $join_sql = ( empty($post_id) ) ? "t.topic_id = $topic_id" : "p.post_id = $post_id AND t.topic_id = p.topic_id AND p2.topic_id = p.topic_id AND p2.post_id <= $post_id"; 
    $count_sql = ( empty($post_id) ) ? '' : ", COUNT(p2.post_id) AS prev_posts"; 

    $order_sql = ( empty($post_id) ) ? '' : "GROUP BY p.post_id, t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments ORDER BY p.post_id ASC"; 

重点回顾

  • phpBB 是一个架站软件,他是跨平台的软件,使用 PHP 网络编程语言,在 Linux 操作系统上面,通常 phpBB 是建置在 LAMP ( Linux + Apache + MySQL + PHP ) 系统上。
  • phpBB 架设前,必须先确认您的 Apache, PHP, MySQL 以及 PHP 相关 MySQL 的套件都已经安装妥当,否则 phpBB 将无法正常的安装在您的系统上面!
  • phpBB 最大的优点是可以进行插件模块的开发,以创建个人的网页风格!
  • phpBB 由于使用 Linux 操作系统的相关资源,所以仍然有可能造成安全漏洞,因此,需要随时关心网络安全通报,您可以在 phpBB 官方网站的公告版面取得最新公告:http://www.phpbb.com/phpBB/viewforum.php?f=14&sid=1f1a2e2db367884c4e7549f0cb90a377

参考资源

修改历史:
2002/04/18:第一次完成日期!
2003/07/02:更改为 phpBB 2.0.5 最终版本的安装介绍!

2002/04/18 以来统计人数
其他链接
环境工程模式篇
鸟园讨论区
鸟哥旧站

今日 人数统计
昨日 人数统计
本月 人数统计
上月 人数统计