Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

FreeBSD6.2架设Discuz!6.0 BBS服务器指南

[复制链接]
cujxtm 发表于 2008-3-27 16:38:20 | 显示全部楼层 |阅读模式
Index:
•        简介
•        Step 1 installation Apache22.
•        Step 2 installation MySQL Server.
•        Step 3 installation PHP.
•        Step 4 ZendOptimizer.
•        Step 5 Discuz!6.0.
•        F.A.Q.
•        Links to other sources

简介
学习FreeBSD很久了,一直是菜鸟水平。现在记录下我的BBS on FreeBSD安装历程,发表到CU论坛,请各位达人批评指正。
本文目标:
使用Very Very Good的FreeBSD6.2作为系统,原因是高人们说这个小恶魔很稳定、很快速。而且有独特的FreeBSD最引以为傲的Ports,所以系统使用FreeBSD6.2。Ports的好处是,安装程序方便(只需找到程序目录,然后执行make install clean),升级维护程序方便,卸载方便。本文的应用程序均使用Ports方式安装。FreeBSD6.2+Apache22+PHP5+php5-extensions+ZendOptimizer+ Discuz!6.0
软件版本信息:
1.        FreeBSD 6.2-RELEASE
2.        Apache-2.2.3
3.        Mysql-server-5.0.27
4.        Php5-5.1.6_3
5.        Php5-extensions-1.0
6.        ZendOptimizer-3.0.1_1
7.        Perl-5.8.8
8.        Discuz!_6.0.0_SC_UTF8.zip
1.        Step 1 安装 Apache22.
Installation of the Apache server:
跟随下面步骤安装 Apache2.

cd /usr/ports/www/apache22
make install clean

安装完成后,需要编辑/etc/rc.conf文件,添加下面内容到/etc/rc.conf(要添加的内容,可以cat /usr/local/etc/rc.d/apache22查看到具体说明)

# Apache 22
apache22_enable="YES"

  


Step 2 安装 MySQL.       

Installation of the MySQL server:
安装MySQL server5.0

cd /usr/ports/databases/mysql50-server
make install clean

安装完成后,需要编辑/etc/rc.conf文件,添加下面内容到/etc/rc.conf

# MySQL Server 5.0
mysql_enable="YES"

启动MySQL服务

/usr/local/etc/rc.d/mysql-server start

使用mysqladmin命令更改MySQL密码

mysqladmin -uroot password 'passwd' (passwd是你要设置的密码)
Step 3 安装 PHP.       

Installation of the PHP:
安装PHP5

cd /usr/ports/lang/php5
make install clean

选择如下安装选项
Options for php5 5.1.6_3

[X]        CLI        Build CLI version

[X]        CGI        Build CGI version
[X]        APACHE        Build Apache module
[X]        SUHOSION        Enable Suhosin protection system
[X]        FASTCGI        Enable fastcgi support (CGI only)
[X]        PATHINFO        Enable path-info-check support (CGI only)


安装完成后,备份/usr/local/etc/apache22/httpd.conf文件

cp /usr/local/etc/apache22/httpd.conf /usr/local/etc/apache22/httpd.conf.bak


编辑/usr/local/etc/apache22/httpd.conf文件,以使Apache22 Server支持php
编辑/usr/local/etc/apache22/httpd.conf,在AddType application/x-gzip .gz .tgz(大约354行)下面添加以下内容

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

修改前:


# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

修改后:

# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
先不要退出,添加'index.php' 到'DirectoryIndex' 主目录索引(大约212行)

DirectoryIndex index.php index.html index.html.var

修改前:
#
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
#

修改后:
#
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm index.html.var
</IfModule>
#
Installation of the PHP Extensions:
安装php5-extensions扩展.

cd /usr/ports/lang/php5-extensions
make config
make install clean

安装选项如下:
详细安装选项
Options for php5-extensions 1.0


[X]        BZ2        bzip2 library support
[X]        CALENDAR        calendar conversion support
[X]        CTYPE        ctype functions
[X]        GD        GD library support
[X]        ICONV        iconv support
[X]        MBSTRING        multibyte string support
[X]        MYSQL        MySQL database support
[X]        PCRE        Perl Compatible Regular Expression support
[X]        POSIX        POSIX-like functions
[X]        SESSION        session support
[X]        SOCKETS        sockets support
[X]        TOKENIZER        tokenizer support
[X]        ZIP        ZIP support
[X]        ZLIB        ZLIB support


复制/usr/local/etc/php.ini-dist为/usr/local/etc/php.ini

cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
安装完成后,重新启动你的 web server.
Execute the following command to start / restart the Apache webserver.

/usr/local/etc/rc.d/apache22 restart

提示:
如果出现这样的错误
root@WOW[/root]#/usr/local/etc/rc.d/apache22 restart
httpd not running, trying to start
[Sat Sep 29 16:05:07 2007] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
解决办法:
在/boot/loader.conf添加accf_http_load=”yes”
root@WOW[/root]#echo accf_http_load="YES" >> /boot/loader.conf
然后reboot一下就可以解决了
这是因为Apache无法开启FreeBSD下accept filter 的机制,
FreeBSD 系统还提供了http filter,会自动过滤掉不完整的HTTP请求。
解决方法:
root@WOW[/root]#kldload accf_http

并修改/boot/defaults/loader.conf,以便下次启动自动装载模块(大约364行)
修改前:
accf_data_load="NO"
accf_http_load="NO"
修改后:
accf_data_load="YES"
accf_http_load="YES"
测试Apache Server
浏览器打开http://youipaddress
显示:
It works!
OK,现在Aapche Server工作正常。什么?为什么只有一行It works!?因为FreeBSD开发的达人们只追求速度、简单,呵呵。
Step 4 安装 ZendOptimizer.       

Installation of the ZendOptimizer:
安装ZendOptimizer.
Shell:

root@ohaha[/root]#cd /usr/ports/devel/ZendOptimizer/
root@ohaha[/usr/ports/devel/ZendOptimizer/]#make install clean
安装完成提示如下
***************************************************************
You have installed the ZendOptimizer package.
Edit /usr/local/etc/php.ini and add:
[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer="/usr/local/lib/php/20060613/Optimizer"
zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613/Optimizer_TS"
zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so"
zend_extension_ts="/usr/local/lib/php/20060613/ZendExtensionManager_TS.so"
***************************************************************
编辑/usr/local/etc/php.ini
增加内容如下
Editor:

zend_optimizer.optimization_level=15
zend_extension_manager.optimizer="/usr/local/lib/php/20060613/Optimizer"
zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613/Optimizer_TS"
zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so"
zend_extension_ts="/usr/local/lib/php/20060613/ZendExtensionManager_TS.so"
重新启动你的 web server.
Execute the following command to start / restart the Apache webserver.
Shell:

/usr/local/etc/rc.d/apache22 restart


测试Aapche Server 对PHP和ZendOptimizer支持
浏览器打开http://youipaddress
显示:

PHP Version 5.1.6



System
       
FreeBSD ohaha.3322.org 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 12 10:40:27 UTC 2007 root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386


Build Date
       
Oct 1 2007 08:43:04


Configure Command
       
'./configure' '--enable-versioning' '--enable-memory-limit' '--with-layout=GNU' '--with-config-file-scan-dir=/usr/local/etc/php' '--disable-all' '--enable-libxml' '--with-libxml-dir=/usr/local' '--enable-reflection' '--enable-spl' '--program-prefix=' '--enable-fastcgi' '--with-apxs2=/usr/local/sbin/apxs' '--with-regex=php' '--with-zend-vm=CALL' '--disable-ipv6' '--prefix=/usr/local' 'i386-portbld-freebsd6.2'


OK,现在Aapche Server支持PHP工作正常。
Step 5 安装 Discuz!6.0.        [/url]

Installation of the PHP Extensions:
安装Discuz!6.0论坛BBS程序
登陆http://www.discuz.com/download/官方网站下载简体 UTF-8版本Discuz!6.0

cd /tmp
fetch " http://download.discuz.net/6.0.0/Discuz!_6.0.0_SC_UTF8.zip"
tar zxvf Discuz\!_6.0.0_SC_UTF8.zip
cd ftp
chown www config.php
Discuz!6.0论坛BBS程序安装详细流程
第 1 步:复制upload
确保存放在此位置的文件能够被 web 请求所访问到,并且该目录 中具有执行 PHP 代码的权限。将 Discuz! 文件包的 ./upload 目录中的全部文件和目录结构复制到用户存放Web文件的目录(注意仅是upload 目录中的文件 和目录)。
复制upload目录到/home/www/web/目录
Shell:
mkdir -p /home/www/web
cp -R /tmp/upload /home/www/web/
第 2 步:设置目录属性
您在正式安装以前,需要设置相关的目录属性,以便数据文件可以被 Discuz! 正确的读写。使用 FTP 软件登录您的服务器,将 服务器上以下的目录属性设置为 777。
o        ./templates
o        ./templates/default
o        ./templates/default/*.*
o        ./attachments
o        ./customavatar
o        ./forumdata
o        ./forumdata/cache
o        ./forumdata/templates
o        ./forumdata/threadcaches
o        ./forumdata/logs
cd /home/www/web/upload/
chmod 777 ./templates
chmod 777 ./templates/default
chmod 777 ./templates/default/*.*
chmod 777 ./attachments
chmod 777 ./customavatars
chmod 777 ./forumdata
chmod 777 ./forumdata/cache
chmod 777 ./forumdata/templates
chmod 777 ./forumdata/threadcaches
chmod 777 ./forumdata/logs
使用编辑器打开您本地机器上的默认配置文件(config.inc.php),看到以下的内容:

$dbhost = 'localhost';

// database server
// 数据库服务器
$dbuser = 'dbuser';

// database username
// 数据库用户名
$dbpw = 'dbpw';

// database password
// 数据库密码
$dbname = 'discuz';
// database name
// 数据库名
$adminemail = 'admin@your.com';
// admin email
// 论坛系统 Email
$dbreport = 0;
// send db error report? 1=yes
// 是否发送数据库错误报告? 0=否, 1=是
请依据以上的注释配置数据库服务器、用户名、密码及数据库名。建议您在可能的情况下,尽量不要使用 root 账号,而依据Discuz! 及服务器上其他软件的需要,单独为每个程序分配账号和数据库,以减少安全问题发生的可能。

vi /home/www/web/upload/config.inc.php

修改前:
$dbuser = 'dbuser';    //
修改后:
$dbuser = 'root';    //'你的数据库管理员用户名'
修改前:
$dbpw = '';        //
修改后:
$dbpw = 'yourdatabasepwd';    //'你的数据库管理员密码'
修改前:
$adminemail = 'admin@your.com';        //
修改后:
$adminemail = 'mongolia@freemongolia.cn';        //'你的BBS管理员Email地址'
配置好参数设置后,请保存该文件(config.inc.php)第 4 步:修改httpd.conf虚拟路径

编辑/usr/local/etc/apache22/httpd.conf文件,修改虚拟路径为upload目录的存放路径

vi /usr/local/etc/apache22/httpd.conf

修改前:
DocumentRoot "/usr/local/www/apache22/data"
修改后:
DocumentRoot "/home/www/web/upload"
在文件末尾添加内容如下:
Alias /bbs "/home/www/web/upload/"
<Directory "/home/www/web/upload">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

第 5 步:执行安装脚本
请在浏览器中运行 install.php,即访问 http://您的域名/论坛目录/install.php。
http://192.168.0.9/bbs/install.php
接收许可协议(我同意)————下一步按照向导提示安装即可
第 6 步:运行快速设置向导
现在进行到最后一步,如果您了解整个论坛的设置则不必运行此向导。
请在浏览器运行admincp.php,即访问 http://您的域名/论坛目录/admincp.php,进行设置,此向导将根据您论坛的类型批量设置相关参数,您可以在运行完后,再进入详细设置进行微调。
安装成功后,安装脚本(install.php),以避免被再次安装。

root@ohaha[/home/www/web/upload]#rm install.php
编辑/usr/local/etc/apache22/httpd.conf文件,修改DocumentRoot为/usr/local/www/apache22/data默认值
vi /usr/local/etc/apache22/httpd.conf
修改前:
DocumentRoot "/home/www/web/upload"
修改后:
DocumentRoot "/usr/local/www/apache22/data"
重新启动你的 web server.
Execute the following command to start / restart the Apache webserver.

/usr/local/etc/rc.d/apache22 restart

第 6 步:运行安全设置
查找资料对系统和Apache Server以及 Discuz!6.0论坛BBS程序,进行相关安全设置

Step 6 F.A.Q.       

Links to other sources       

FreeBSD6.2
http://www.freebsd.org/
Apache Software
http://www.apache.org/
MySQL Server
http://www.mysql.com/
PHP: Hypertext Preprocessor
http://www.php.net/
Perl version 5.8.8
http://perldoc.perl.org/
Discuz! 社区论坛动力
http://www.discuz.com/

完整资料附图见:http://www.bsdlover.cn/html/91/n-491.html

[ 本帖最后由 cujxtm 于 2008-3-27 16:39 编辑 ]
105909993 发表于 2008-4-8 05:21:45 | 显示全部楼层
支持一下。。 不过我还是不会。。想架设LINUX系统。电脑配置
用:CPUP42.5   内存512MB~其它忘记了。。这样可以架设LINUX系统吗?
回复

使用道具 举报

 楼主| cujxtm 发表于 2008-4-28 21:15:10 | 显示全部楼层
当然可以了
回复

使用道具 举报

hy0kl 发表于 2008-5-19 15:21:54 | 显示全部楼层
强帖, mark 一下.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-19 14:23 , Processed in 0.028282 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表