debian系统的安装没什么好说的,直接4.0的光盘进去,一路顺利pass下来,进入系统,配好网络,这块就ok了,实验方便,我只装了字符界面。去掉了图形界面的相关东东
ok,开始正题。
首先,介绍个东西,wsocks 这个是Linux下类sockscap的代理客户端,因为ytht.net还在和谐中,所以只能使用这个加上tor来bypass得到svn的代码。
原始链接:http://blog.chinaunix.net/u/5251/showart_195777.html
google项目地址:http://code.google.com/p/wsocks/source/checkout
安装很简单,tar包解出来后make&make install 就搞定,这里给示范的代理配置吧。
acl cond address 127.0.0.0/8
act BYPASS
acl cond address 66.79.166.0/255.255.255.0
act SOCKS5 10.0.76.199:9055
主要是第二个acl说明对目标c段的访问通过10.0.76.199上的tor提供的sock5代理走(设置端口为9055,修改tor配置文件torrc中加上SocksListenAddress 0.0.0.0,主要是我是在虚拟机上访问主机的tor代理,所以需要吧代理开放出来)
然后就是简单的获取代码
wsocks svn co svn://ytht.net/bbs/trunk ythtbbs
这里代码存放目录为/home/ythtbbs
然后就是安装一些必要的组件
autitude gcc-3.4 automake1.9
还有一个必须的是GD库,我没找到apt上安装的,直接官网下了个gd-2.0.23.tar.gz 然后解出来configure&make&make install 搞定,如果没装这个后面make编译bbs的时候会报找不到gd.h的错误。
接下来就比较简单了,建立bbs帐户
addgroup --gid 1002 bbs
adduser --gid 1002 --uid 1002 bbs
进入/home/ythtbbs
使用./makedist.sh
初始化完成后
./configure --with-site=sample
make
make install
OK,顺利的话就完成bbs的编译和安装了,主要是configure那步一定要安装过gd库,因为生成注册验证码的时候需要GD库支持,当然,如果想自己去掉相关代码也是可以的。
接下来是bbs的启动
进入bbs身份下
/home/bbs/bin/shminit
初始化共享缓存
退出,到root身份下(绑定23端口必须,如果高于1024则不需要)
/home/bbs/bin/bbsd
这里会开23和2300端口,其中2300是繁体版的端口,当然,可以通过改写源码目录下的bbsconfig.sample来自己定义
到这里telnet下的bbs就初步ok了,应该可以直接telnet上去,注册SYSOP和GUEST(注意是大写)
然后就是web模块的安装。
编译部分比较简单,进入源码目录
以root身份运行
make -C nju09 install
然后是apache的配置,因为现在debian默认已经是APACHE2了,所以和原来的说明有点不同。
进入/etc/apache2目录
编辑apache2.conf
修改如下
User bbs
Group bbs
这里更改为之前为bbs建立的用户名和组,如果配置文件里没有ServerName的话不凡随便加个,要不apache启动的时候老报个找不到ServerName,比较郁闷。
然后是mods-enable目录,直接建立符号链接
ln -s ../mods-available/rewrite.load rewrite.load
进入sties-available目录,修改default文件
修改如下:
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
RewriteEngine on
RewriteRule ^/HT(.*)$ /cgi-bin/www [PT]
RewriteRule ^/$ /cgi-bin/www [PT]
DocumentRoot "/var/www"
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
这里默认在<Directory /var/www/>前有个<Directory />的节点,直接去掉,还有一个就是rewrite规则里的第二条RewriteRule ^/HT(.*)$ /cgi-bin/www [PT] 这里HT和之前源码目录中sites目录下bbsconfig.sample中的LAST_SMAGIC保持一致就ok了。规则最后的[PT]必须保留,不能去掉。
然后设置/usr/lib/cgi-bin下所有文件属主为bbs:bbs(根据上文设定)
/var/www下所有文件属主为bbs:bbs(这里好像安装的时候默认已经是了,可以确认一下)
OK,重新启动apache 顺利的话访问web就可以看到青菜萝卜的ythtbbs入口界面了,测试一下还OK。
到这里,telnet下和web的主体就安装完了,接下去的转信什么的下次在研究好了,附上wsocks和gd库的源码,可以直接编译。
20080422ps:
刚刚在fc上实验的时候发现,在MAKE INSTALL GD库之前还需要make install 下libpng
然后在configure GD库,要不然GD库无法支持PNG,导致后面编译还是出错,补上需要的libpng
