25

      毫无技术含量的文章,只是对先前一台服务器瞎捣鼓的后来由于上班太无聊的回忆潦草的记录备忘而已吧。。。

       一、更新CentOS系统至最新版本CentOS5.4

修改更新源 使用ustc.edu.cn的更新源
#cd /etc/yum.repos.d/
#mv CentOS-Base.repo CentOS-Base.repo.bak (备份修改前默认更新源)
#wget http://centos.ustc.edu.cn/CentOS-Base.repo.5 (下载更新源)
#mv CentOS-Base.repo.5 CentOS-Base.repo
(因为默认的配置文件中服务器地址用的版本号是变量$releasever,所以需要将其替换为实际的版本号,否则是无法连接到服务器的,当前CentOS最新版是5.4,所以我们修改CentOS-Base.repo )
#vim CentOS-Base.repo
vim全文替代命令并保存退出
:%s/$releasever/5.4/
:wq
#yum update   “更新下载
#lsb_release –a “查看验证版本

       二、下载安装配置Apache & Mysql & PHP & KBS_BBS

1、目录定义:
$bbs_install_dir   表示 bbs 的安装目录 /home/bbs
$www_install_dir 表示 apache 的安装目录/home/www
$php_install_dir   表示 php 的安装目录/home/www/php
$phlinux_dir         表示花生壳安装目录/usr/local/phlinux/ (默认安装路径)
$code_dir             表示存放 kbsbbs、apache 和 php 源代码的目录/home/src
2、软件下载:
Apache:wget -c http://apache.mirror.phpchina.com/httpd/httpd-2.2.11.tar.gz
Mysql:wget -c http://mysql.ntu.edu.tw/Downloads/MySQL-5.0/mysql-5.0.67-linux-i686.tar.gz
PHP:wget -c http://cn.php.net/get/php-5.3.0.tar.gz/from/cn2.php.net/mirror
KBS_BBS:svn co http://svn.kcn.cn/repos/kbs/trunk/www2
3、编译安装:
#tar zxvf httpd-2.2.11.tar.gz
#cd httpd-2.2.11
#./configure –prefix=/home/www –enable-so –enable-rewrite –enable-ssl
#make && make install
#cd /home/www/conf/
#vim httpd.conf
   添加修改:(使其支持运行php程序)
         AddType application/x-httpd-php .php
         User bbs
         Group bbs
         AddDefaultCharset gb2312

#cd ..
#tar zxvf mysql-5.0.67.tar.gz
#cd mysql-5.0.67
#./configure –prefix=/usr/local/mysql –with-charset=utf8 –with-collation=utf8_general_ci –with-extra-charsets=latin1
#make && make install
#cp support-files/my-medium.cnf /etc/my.cnf
#cd /usr/local/mysql/
#bin/mysql_install_db –user=mysql
#chown –R root .
#chown –R mysql /usr/local/mysql/var
#chgrp –R mysql .
#bin/mysqld_safe –user=mysql &
#cd /home/src/mysql-5.0.67
#cp support-files/mysql.server /etc/init.d/mysql
#chmod 755 /etc/init.d/mysql

#yum install php-gd php-xml php-domxml zlib-devel openssl-devel gmp-devel gd libesmtp-devel
#cd /home/src/
#tar zxvf php-5.3.0.tar.gz
#cd php-5.3.0
#./configure –prefix=/home/www/php –with-apxs2=/home/www/bin/apxs –disable-debug –with-pic –disable-rpath –enable-inline-optimization –with-dom-dir=/usr –with-gd –with-freetype-dir=/usr –with-png-dir=/usr/ –with-jpeg-dir=/usr –with-zlib –enable-track-vars
#make && make install
#cp  php.ini-production /etc/php.ini
#vim /etc/php.ini
  修改short_open_tag = Off
        magic_quotes_gpc = off
        extension_dir = "/usr/lib/php/modules"

#cd /home/src/
#svn co "http://svn.kcn.cn/repos/kbs/trunk/kbs_bbs"
#cd kbs_bbs/
#./configure –prefix=/home/bbs –enable-site=jmubbs –with-php=/home/www/php –with-mysql=/usr/local/mysql –enable-ssh –enable-ssl
#make && make install

#cd /home/src/
#svn co http://svn.kcn.cn/repos/kbs/trunk/www2
#cd /home/www/
#ln –s ../src/www2 htdocs

         三、安装编译配置Subversion版本控制

1、安装编译支持:apr、apr-util
#cd /home/src
#wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz
#tar zxvf sqlite-amalgamation-3.6.13.tar.gz
#cd sqlite-3.6.13/
#./configure
#make && make install
#tar zvxf apr-1.3.3.tar.gz
#tar zvxf apr-util-1.3.4.tar.gz
#tar zvxf zlib-1.2.3.tar.gz
#cd apr-1.3.3
#./configure –prefix=/usr/local/apr
#make && make install
#cd ../apr-util-1.3.4
#./configure  –with-apr=/usr/local/apr
#make && make install
#cd ../zlib-1.2.3
#./configure  –prefix=/usr/local/zlib
#make && make install
2、重新编译apache及全新编译安装subversion
#cd /home/src/httpd-2.2.11
#./configure –prefix=/home/www –enable-so –enable-rewrite –enable-dav –with-apr=/usr/local/apr/bin/apr-1-config –with-apr-util=/usr/local/apr/bin/apu-1-config
#make && make install
#cd /home/src/subversion-1.6.9/
#./configure –prefix=/home/subversion –with-apxs=/home/www/bin/apxs –with-apr=/usr/local/apr/bin/apr-1-config –with-apr-util=/usr/local/apr/bin/apu-1-config –with-ssl –with-zlib –enable-maintainer-mode
#make && make install
3、配置Subversion
a、创建账号密码:
#htpasswd –c /home/svndata/www/conf/passwd yousri
注:需输两次密码确认;第一次设置用户密码要加入 –c 这个参数,以后就可以不用了
b、创建资料库:
#/home/subversion/bin/svnadmin create /home/svndata/www
c、确认apache配置文件httpd.conf ,默认应该增加了一下两个模块加载:
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
同时添加增加一下配置信息:
<Location /svn>
    DAV svn
    SVNPath /home/svndata/www
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /home/svndata/www/conf/passwd
 
;   Require valid-user
</Location>
最后设置/home/svndata目录权限设置为755并重启apache服务
d、导入数据至资料库
#/home/subversion/bin/svn import /home/www/htdocs file:///home/svndata/www –m “web code”
浏览访问测试:http://jmxc.vicp.net:20102/svn

written by Yousri \\ tags: , , , ,

27

默认情况下,DokuWiki不做任何的URL重写,它的原始URL是这样的:
1. http://wiki.qingxianyan.cn/doku.php?id=page
这样默认的URL不利于有些搜索引擎不收录,而且也不易于记忆
通过设置DokuWiki的配置设置里面的高级设置的userwrite配置选项它可以支持两种URL重写方法:
      一个是利用服务器的mod_rewrite,
      另一个是在DokuWiki内部自己处理URL重写。
下面是userewrite选项值的列表及其对应的URL格式:
      1、默认值没有URL重写 http://wiki.qingxianyan.cn/doku.php?id=wiki:syntax
      2、htaccess服务器处理 http://wiki.qingxianyan.cn/wiki:syntax
      3、DokuWiki处理 http://wiki.qingxianyan.cn/doku.php/wiki:syntax
使用服务器处理
  先在/wiki/conf/dokuwiki.php中设置:
           $conf['userewrite'] = 1;
Apache服务器开启Rewrite功能
  apache的URL重写是使用mod_rewrite模块。在apache的配置文件中添加如下这行:

LoadModule rewrite_module modules/mod_rewrite.so

  然后使用mod_rewrte的指令来配置URL重写规则。这些规则可以放在apache的全局配置文件内,也可以放在DokuWiki的根目录下的.htaccess文件内,事实上DokuWiki已经为了写好了这些规则放在.htaccess.dist中,修改删除部分“#”注释即可 内容如下:

      RewriteEngine on
      RewriteBase /dokuwiki
      RewriteRule ^_media/(.*)              lib/exe/fetch.php?media=$1  [QSA,L]
      RewriteRule ^_detail/(.*)             lib/exe/detail.php?media=$1  [QSA,L]
      RewriteRule ^_export/([^/]+)/(.*)     doku.php?do=export_$1&amp;id=$2  [QSA,L]
      RewriteRule ^$                        doku.php  [L]
      RewriteCond %{REQUEST_FILENAME}       !-f
      RewriteCond %{REQUEST_FILENAME}       !-d
      RewriteRule (.*)                      doku.php?id=$1  [QSA,L]

  在RewriteBase /dokuwiki这一行,你需要根据实际情况做修改成指向你的DokuWiki目录的路径,Dokuwik就在站点根目录或者已经使用子域名解析到相应目录时,需将.htaccess 文件中的 RewriteBase /dokuwiki 行使用首字符“#”将其注释

written by Yousri \\ tags: , , ,

16

注:此文备录 相关信息来自网络 记录备用下并时刻更新
操作系统环境:VM虚拟机下的Ubuntu8.04 Server 只安装OpenSSH服务
KBS BBS: kbs svn上最新的源代码
Apache:apache1.3.41.tar.gz (下载:http://www.apache.org
PHP:php5.2.6.tar.gz(下载:http://www.php.net
代码目录:/home/bbs/src/

安装前准备工作:更新安装时可能所需要的包:

# apt-get install automake1.9
# apt-get install php5-dev
# apt-get install libmysqlclient15-dev
# apt-get install sendmail
# apt-get install libesmtp5
# apt-get install byacc
# apt-get install libgmp3-dev
# apt-get install flex
# apt-get install libxml2-dev
# apt-get install libjpeg62-dev
# apt-get install libpng12-dev
# apt-get install libfreetype6-dev
# apt-get install subversion

创建bbs用户:

    # adduser bbs

安装apache服务:

# tar xvf apache_1.3.41.tar.gz
# cd apache_1.3.41
# CC="gcc" OPTIM="-O2" ./configure --prefix=/home/bbs/www --enable-module=so
# make
# make install

编辑apache的配置文件,User和Group都改成bbs,Port改成想要的端口。

# cd /home/bbs/www/conf
# vim httpd.conf

安装PHP

# tar xvf php-5.2.6.tar.gz
# cd php-5.2.6
# ./configure --with-mysql --with-apxs=/home/bbs/www/bin/apxs \\
--with-gd --with-png-dir --with-iconv --with-jpeg-dir \\
--with-zlib --with-ttf --with-freetype-dir --enable-gd-native-ttf
# make
# make install

编辑apache的配置文件/home/bbs/www/conf/httpd.conf,在里面加入这样一行:

AddType application/x-httpd-php .php

下载安装KBS
从kbs的svn服务器上下载最新的kbs源代码。

# cd /home/bbs/src
# svn co http://svn.kcn.cn/repos/kbs/trunk/kbs_bbs
# svn co http://svn.kcn.cn/repos/kbs/trunk/www2

查看bbs用户的gid和uid是多少。

# cat /etc/passwd | grep bbs

到kbs的站点定义目录下,建造一份自己的站点的定义文件,比如站点叫做Yousri。尤其要修改Yousri.h中的BBSUID和BBSGID为刚才看到的bbs用户的编号。

# cd /home/bbs/src/kbs_bbs/site
# cp fb2k-v2.h yousri.h
# cp fb2k-v2.c yousri.c
# vim yousri.h
运行autogen.sh。
<pre lang="bash">
# cd /home/bbs/src/kbs_bbs
# ./autogen.sh
# cd sshbbsd
# ./autogen.sh

编译安装kbs。

# cd /home/bbs/src/kbs_bbs
# ./configure --prefix=/home/bbs --enable-site=yousri \\
--with-php --with-mysql --enable-ssh --enable-ssl \\
--with-openssl=/usr --with-libesmtp --enable-innbbsd CFLAGS="-O3 -g"
# make
# make install

如果是新建的bbs站点,还需要安装默认的站点文件。

# make install-home

给sshbbsd生成钥匙。

# cd /home/bbs/etc
# touch sshd_config
# ssh-keygen -t rsa1 -f ssh_host_key

从php源码目录复制来一个php的配置文件,并编辑之。

# cd /usr/local/lib
# cp /home/bbs/src/php-5.2.6/php.ini-dist php.ini
# vim php.ini

修改extension_dir一行为:

extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/"

然后加入下面一行:

extension=libphpbbslib.so

把www2符号连接到apache的网页目录来。

# cd /home/bbs/www/
# mv htdocs htdocs.default
# ln -s ../src/www2 htdocs

因为之前很多操作需要用root执行,可能bbs的很多文件的owner和group不对,所以一并搞掉。

# chown -R bbs:bbs /home/bbs

启动BBS:

# cd /home/bbs/bin
# ./miscd daemon
# ./bbslogd
# ./bbsd -p 23
# ./sshbbsd -p 22
# cd ../www/bin
# ./apachectl start

如果要停止bbs的话按如下操作:

# cd /home/bbs/www/bin
# ./apachectl stop
# cd ../../bin
# killall sshbbsd
# killall bbsd
# killall bbslogd
# ./miscd flush
# killall miscd

其中期间遇到过两个比较莫名其妙的小问题
到最后启动bbs的时候 执行

root@yousri:/home/bbs/bin# ./miscd daemon
Bus error

这一步的时候出现如此的错误提示
还有就是启动后 telnet 127.0.0.1 进入要注册出现无法注册的现象如注册SYSOP账号却提示
“由于某些系统原因, 无法注册新的帐号.”
然后要再次连接 telnet 127.0.0.1 就无法连接了

“root@yousri:/home/bbs# telnet 127.0.0.1
  Trying 127.0.0.1...
  Connected to 127.0.0.1.
  Escape character is '^]'.
  Connection closed by foreign host.”

至于执行./miscd daemon报错的问题 后来又重新编译安装了下kbs代码 倒是可行了。。。
对于无法注册账号的 貌似要杀掉有关miscd及bbslogd的进程 然后重新创建才可以 即:

killall miscd
killall bbslogd

终于正常了。。。。
其他系统使用待更新。。。。

written by Yousri \\ tags: , ,