📄 linuxƽ̨
字号:
#######################################################################
# 如果需要其他支持文件,请注意查看 readme.txt 文档,谢谢!
#######################################################################
#
################### LyBBS 『凌云论坛』的Linux安装 ######################
------------------------------------------------------------------------
# 有很多朋友在使用Linux平台,但我们的论坛在Linux上安装讲解很少,下面专门
# 开个篇章,讲解Linux上的一些安装说明(这里只是对其他文档的补充):
# 下面部分软件可以在http://www.lybbs.net找到
------------------------------------------------------------------------
1.J2SDK 1.4.2_03
你下载到的,应该是一个bin文件,或者是一个rpm文件,把文件上传到/usr/local下面
我们以J2SDK 1.4.2_03为例。
登录成root,执行
cd /usr/local
chmod +777 j2sdk-1_4_2_03-linux-i586-rpm.bin
./j2sdk-1_4_2_03-linux-i586-rpm.bin
回答yes,此时,会解出一个j2sdk-1_4_2_03-linux-i586.rpm出来,或者直接下载了rpm包,就执行
rpm -ivh j2sdk-1_4_2_03-linux-i586.rpm
完成J2SDK安装。进入/usr/java中会看到新目录j2sdk1.4.2_03,这就是Java_home
2.Tomcat
跟Windows平台安装差不多,解压到/usr/local下面。
cd /usr/local/tomcat/bin
chmod +755 *.sh
cd /usr/local/tomcat/conf
vi server.xml
修改相应的host目录及端口,可以参考另一个文档,服务器安装一节。
如果论坛程序在使用过程中经常出现java.lang.OutOfMemoryError的错误,可以调大Tomcat的内存
使用量,下面的例子是把Tomcat的内存使用量增加到256M:
vi /etc/profile
移到最末行,插入
JAVA_OPTS="-Xms256M -Xmx256M"
export JAVA_OPTS
注意上面一定要加双引号。退出系统,然后重新登录,用env查看是否设置正确。
3.MySQL
默认Linux操作系统都会安装,如果用户选择自己安装,可下载rpm安装,或者编译tar.gz,要说明
的是编译tar.gz时,如果默认没安装GBK字符集时,可以在编译时加
--with-extra-charsets=GBK
--with-extra-charsets=all
以安装GBK字符集,详情可到网上搜索或者到我们论坛查阅精华帖。
[http://mysql.lybbs.net/bbs_topic.do?forumID=9&postID=24269]
mysql4.1需要进入mysql控制台,使用命令:SHOW VARIABLES LIKE 'character_set_%';
如果character_set_database和character_set_server不是gbk,需要修改my.cnf,修改下面的选项:
[mysqld]
port=3306
basedir="/"
datadir="/var/lib/mysql/"
default-character-set=gbk
保存重启,再用命令检查字符集是否正确。正确后再建立lybbs库和表。
下面再讲一个错误的修复。
我们发现,在RedHat Linux平台上,设置localhost上可以访问mysql的用户在JDBC中
不能正确连接数据库,表现为Access denied...
这是RedHat Linux的一个问题,可以参考下面的解决步骤:
1.su为root,vi /etc/hosts
2.删掉localhost后面多余的东西
3./etc/hosts看上去应该像下面这样
127.0.0.1 localhost
6.保存修改,reboot
MySQL的配置文件一般是/etc/my.cnf,可以适当修改。
>>>>建议Linux用户使用crontab -e做个定时执行脚本,这样可以定期检查数据库,下面是例子,
35 0 * * 0 /path/to/myisamchk -s /path/to/datadir/*/*.MYI
在我这边,样子是这样的(使用RedHat Linux 9.0 / MySQL 3.23):
35 0 * * 0 /usr/bin/myisamchk -s /var/lib/mysql/lybbs/*.MYI
意思是每星期天凌晨0:35执行数据库检查,更多关于crontab的资料请查询MySQL官方数据库文档。
4.权限
因为Linux系统对权限控制非常严格,如果权限不正确,可能导致
一、上传/删除头像失败;
二、上传/删除附件失败;
三、发布/删除搜索引擎失败;
。。。。。。
如果出现以上一种或者几种情况,就可能说明Linux权限有问题,下面我们会详细描述一下:
Linux系统中最重要的就是用户,用户的不同决定了该用户的权限不同,在Linux系统中,享有最高权限的
是root用户,其他新建的用户是一般用户,我们假设一个newuser用户,如果登录成root用户,并启动Tomcat
或者Resin或者WebLogic或者WebSphere等JSP服务器,这样,tomcat等进程就享有root用户所有的权限,这样,
论坛使用过程中应该不会出现问题,因为root用户对所有的文件夹都具备写权限,但是,如果是登录成newuser
用户,再启动tomcat/resin/wls/was等JSP服务器,这样tomcat等服务器就只有newuser的权限,如果newuser对
lybbs中的upload等文件夹不具体写权限,就可能会导致以上的错误。
因为root用户应该不存在上述问题,所以,下面我们只讲述newuser用户启动服务器的情况。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
首先需要登录成root用户,进入lybbs目录(假设目录是/var/www/html/lybbs),如下命令(括号及其内为命令描述):
su root (登录成root用户,如果已经是root用户,可略)
Password:****** (承上一步,登录成root时,输入root用户的密码,如果已经是root用户,可略)
cd /var/www/html/lybbs (进入LyBBS目录)
chmod +777 lybbs/avatars (把avatars文件夹设成所有用户可写)
chown newuser lybbs/avatars (把avatars文件夹设成newuser所有)
chmod +777 lybbs/common/css (把css文件夹设成所有用户可写)
chown newuser lybbs/common/css (把css文件夹设成newuser所有)
chmod +777 lybbs/common/static (把static文件夹设成所有用户可写)
chown newuser lybbs/common/static (把static文件夹设成newuser所有)
chmod +777 lyblog/zoom(把zoom文件夹设成所有用户可写)
chown newuser lyblog/zoom (把zoom文件夹设成newuser所有)
chmod +777 lyblog/upload(把upload文件夹设成所有用户可写)
chown newuser lyblog/upload (把upload文件夹设成newuser所有)
chmod +777 lybbs/plugin/music/exobudpl.js (把exobudpl.js文件设成所有用户可写)
chown newuser lybbs/plugin/music/exobudpl.js (把exobudpl.js文件设成newuser所有)
chmod +777 WEB-INF/lybbs/upload (把upload文件夹设成所有用户可写)
chown newuser WEB-INF/lybbs/upload (把upload文件夹设成newuser所有)
chmod +777 WEB-INF/lybbs/config (把config文件夹设成所有用户可写)
chown newuser WEB-INF/lybbs/config (把config文件夹设成newuser所有)
chmod +777 WEB-INF/lybbs/search (把search文件夹设成所有用户可写)
chown newuser WEB-INF/lybbs/search (把search文件夹设成newuser所有)
然后,就可以退出root用户,转成newuser用户,启动Tomcat等服务器,对上传、发帖等可以作一下测试。
5.验证码在Linux平台上不能显示。
经过测试,我们发现验证码的图片类在Linux上不能工作,经过查找原因,发现是linux上没有启动
X-Windows,这比较麻烦,因为Linux作为服务器,根本不需要也不会启动图形服务器,后来经过研究发现,
只要在启动Tomcat的路径上加个启动属性即可解决问题,
Tomcat平台:
方法1:
用vi打开[%tomcat_home%]/bin/catalina.sh,
找到start的地方(其他还有run embed stop等等),在if/else两处都加上一行:
-Djava.awt.headless=true \
保存后重新启动Tomcat,问题解决!(环境:Tomcat 4.0.27+RedHat Linux 9.0+MySQL3.23)
方法2:
设置下面的环境后重启tomcat
setenv CATALINA_OPTS -Djava.awt.headless=true
Resin平台(感谢网友 taoism 提出的解决方案,发表于http://mysql.lybbs.net/bbs_topic.do?forumID=13&postID=20139):
环境介绍:我的resin是3.0.9版本的,安装路径在/app/resin。
1、找到/app/resin/bin目录下的wrapper.pl文件,vi打开(补充by teddy: vi是linux下的编辑器,也可以用其他编辑器编辑);
2、找到这么一行“$JAVA_ARGS="";”
3、在其下增加一行“$JAVA_ARGS .=" -Djava.awt.headless=true";”;
4、重新启动resin服务器。
(补充by teddy: 上面的“”中文引号是说明引号,只要拷贝里面的内容,而不需要连同“”中文引号)
另外一种做法就是在后台关闭验证码的使用或者用文字来显示验证码(如果无法进入论坛管理中心,请直接到WEB-INF/config/globals.properties修改validateCodeEnabled=false,然后重启服务器)
这样就不会用图片验证码功能了。
6.最后
基本上,这样就安装完成了,最后
vi /etc/profile
移到最后一行,插入
JAVA_HOME=/usr/java/j2sdk1.4.2_03
export JAVA_HOME
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
PATH=$PATH:/usr/local/tomcat/bin:/usr/java/j2sdk1.4.2_03/bin
export PATH
保存修改,退出再重新登录,用env看一下环境是否正确。
另外,关于Locale,可能会在部分非中文平台的Linux上出现问题。首先,执行命令locale,如果结果不是
LANG=zh_CN.GB18030
LC_CTYPE="zh_CN.GB18030"
LC_NUMERIC="zh_CN.GB18030"
LC_TIME="zh_CN.GB18030"
LC_COLLATE="zh_CN.GB18030"
LC_MONETARY="zh_CN.GB18030"
LC_MESSAGES="zh_CN.GB18030"
LC_PAPER="zh_CN.GB18030"
LC_NAME="zh_CN.GB18030"
LC_ADDRESS="zh_CN.GB18030"
LC_TELEPHONE="zh_CN.GB18030"
LC_MEASUREMENT="zh_CN.GB18030"
LC_IDENTIFICATION="zh_CN.GB18030"
LC_ALL=zh_CN.GB18030
可能程序会出现乱码,请按以下方法修改:
执行命令
export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CH
export LC_ALL=zh_CN.GB18030
ulimit -n 65535
locale
如果结果如上就OK了。
在启动之前,因为搜索引擎文件经常超过Linux允许同时打开的数目(默认1024),所以请务必执行
ulimit -n 65535
使Linux可以同时打开65535个文件,然后:
/sbin/service mysqld start
startup.sh(或者/usr/local/tomcat/bin/startup.sh)
就把tomcat和mysql启动了,参考其他文档,创建数据库连接用户,
修改相应的[%lybbs_home%]/WEB-INF/classes/db.properties,
就完成LyBBS『凌云论坛』的安装了。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -