一、软件的获得安装
在整个配置过程中,我们使用的软件都是完全免费的开放源代码软件,可以从互联网上免费下载。在Linux下开发Web应用,一定要有一个HTTP服务器,这就是著名的Apache。当然数据库是一定少不了的,Linux支持多种数据库,包括像Oracle、DB2等这样大型的数据库。不过与PHP最为相配、也是运用最多的数据库当属MySQL了。另外PHP语言本身也是必不可少的。下面是它们相应的网站: Apache http://www.apache.org ;MySQL http://www.mysql.com ;PHP http://www.php.net 。就Apache而言,有1.3.X版本与2.X版本两个分支。由于2.X是在1.3.X上进行重写,因此在结构和功能上都有很大的改进。关于Apache 1.3.X的安装介绍比较多,故本文选用了Apache 2.X版本。同样,也选用了支持Apache 2.X版本的PHP版本。如何用Red Hat Enterprise Linux AS4.0+Apache+PHP +MySQL+bblog来架构动态网站论坛,所选取的是目前最新版本的软件,均从源代码开始编译,而不是下载二进制文件来进行安装。LAMP的具体安装过程,由于这方面文章比较多笔者就不赘述了。
二、搭建bblog博客网站
下面以Linux发行版Red Hat Enterprise Linux AS 4.0为例,介绍搭建bblog博客网站从安装到使用。
bblog官方网站是http://www.bblog.com/ 最新版本:0.7.6。
1. bblog软件下载:
2.为bblog建立数据库:
#cd var/www/html wegt http://jaist.dl.sourceforge.net/sourceforge/bblog/bBlog- 0.7.6.tar.gz | ||
#tar –zxvf bBlog-
0.7.6.tar.gz “建立一个目录”
2.为bblog建立数据库:
3. 测试刚建立的数据库与帐号是否可以使用:
|
# mysql –u root –p Enter password: xxxxxxxxx Your Mysql connection id is 3 to server version: 4.11 Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer. Mysql> create database bblog ; “为phpbb2建立数据库” Query OK, 1 row affected (0.01 sec) Mysql>grant all privileges on bblog.* to bblog@localhost identified by ‘ 76543981’ ; “将建立的 bblog 权限给bblog 帐号,并且设定密码” mysql>quit |
3. 测试刚建立的数据库与帐号是否可以使用:
# mysql –u bblog –p Your Mysql connection id is 3 to server version: 4.11 Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer. Mysql> connect bblog ; mysql>show databases; +--------------+ | Database | +--------------+ | mysql | | bblog | +--------------+ 2 rows in set (0.00 sec) mysql>quitquit |
#tar –zxvf bBlog-
0.7.6.tar.gz “建立一个目录”
2.为bblog建立数据库:
# mysql –u root –p Enter password: xxxxxxxxx Your Mysql connection id is 3 to server version: 4.11 Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer. Mysql> create database bblog ; “为phpbb2建立数据库” Query OK, 1 row affected (0.01 sec) Mysql>grant all privileges on bblog.* to bblog@localhost identified by ‘ 76543981’ ; “将建立的 bblog 权限给bblog 帐号,并且设定密码” mysql>quit |
3. 测试刚建立的数据库与帐号是否可以使用:
# mysql –u bblog –p Your Mysql connection id is 3 to server version: 4.11 Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer. Mysql> connect bblog ; mysql>show databases; +--------------+ | Database | +--------------+ | mysql | | bblog | +--------------+ 2 rows in set (0.00 sec) mysql>quitquit |
2.为bblog建立数据库:
# mysql –u root –p Enter password: xxxxxxxxx Your Mysql connection id is 3 to server version: 4.11 Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer. Mysql> create database bblog ; “为phpbb2建立数据库” Query OK, 1 row affected (0.01 sec) Mysql>grant all privileges on bblog.* to bblog@localhost identified by ‘ 76543981’ ; “将建立的 bblog 权限给bblog 帐号,并且设定密码” mysql>quit |
3. 测试刚建立的数据库与帐号是否可以使用:
# mysql –u bblog –p Your Mysql connection id is 3 to server version: 4.11 Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer. Mysql> connect bblog ; mysql>show databases; +--------------+ | Database | +--------------+ | mysql | | bblog | +--------------+ 2 rows in set (0.00 sec) mysql>quitquit |
安装前需要说明的是:Mysql服务器名称为 localhost ,这个是 Mysql 的服务器名称,不是 Linux服务器名称。通常 Mysql 的服务器名称是: localhost 。Mysql 数据库名称为 bblog ,Mysql 帐号为 bblog 且密码为上面设定值。
#cd /var/www/html/bblog #进入到Apache 服务器的确省目录中# #chmod 777 config.php #chmod 777 compiled_templates ;#chmod 777 cache/favorites.xml #chmod 777 install.php ;#chmod 777 install |
进行网络安装安裝非常简单,打开Linux的Firefox火狐浏览器在地址栏直接输入:http://主机名/bblog/install.php 后,出现一个协议书,选择同意后点击“NEXT”按钮,会出现对话框让你填写一些系统信息见图-1。
图-1 填写系统信息
为了读者填写方便笔者把它作一个列表,填写内容分见表-1:
表-1系统信息
填写系统信息 | 填写内容 | 说明 |
General Config | 基本设定 | |
Blog Name | Cjk | 博客名称 |
Blog Description | My cjk | 博客描述 |
Full Name | Caojh | 全名 |
Username | Admin | 管理员名称 |
Password | XXXXXXX | 管理员口令 |
Re-enter Password | XXXXXXX | 再次输入管理员口令 |
Email address | goodcjh@2911.net | 系统管理员电子邮件 |
Mysql Setting | Mysql数据库设定 | |
|
|
|
Mysql Username | bblog | Mysql数据库用户帐号 |
Mysql Password | XXXXXXXXXXX | Mysql数据库用户帐号密码 |
Mysql database name | bblog | Mysql数据库用户帐号 |
Mysql Host | localhost | Mysql数据库主机名称 |
table Prefix | Bb_ | Mysql数据库表格字首
|
Server Config | 服务器设定 | |
Url to your blog | http://192.168.1.16/ | Blog的完整URL |
Path to bBlog | /var/www/html/bblog/ | Bblog目录的完整UNIX路径 |
填写结束后按“Next ” 按钮继续,所有配置结束后系统如果出现图2表示安装成功,如果有错误会自动退回到开始的对话框让你从新设定。
图-2系统设定成功
5.安全设定
测试成功后系统提醒你出于安全考虑,删除安装文件(防止他人使用这些文件修改系统信息)
#chmod 644 config.php # rm –rf install ;# rm –rf install.Php |
6.博客的常规设置
以系统管理员的身份登录,登录后对话框下边会出现“博客的管理员控制面板”(见图-3)。
图-3博客的管理员控制面板
博客的管理员控制面板,一共十一个大版面:Post(邮局)、comments(注释)、Archives(管理)、RSS Links(RSS链接)、RSS Fetcher(RSS联播)、Links(链接)Section、Plugins (插件)、Option(选项)、About(声明)、docs(在线帮助,http://www.bblog.com/docs)。通过这些版面这样你也可以自己管理博客了。点击“Post”按钮就可以写自己的博客了,界面见图4。另外在在线帮助页有常见问题回答。可以通过点击“Archives”管理文章。
图4 博客书写的界面
博客写完后就可以发布了,可以点击“Vist you Site”进行浏览了,见面见图5。
图5 Web页面浏览
Bblog的RSS选项:RSS就是互联网信息相互交流引用的通用语言,是一种简单的新闻聚合标准,一种将信息推送到用户端的推送技术。RSS是基于文本的格式。它是XML(可扩展标识语言)的一种形式,所以通常RSS文件都标为XML。目前有很多根据RSS标准开发的阅读器软件,或者内容聚合主页。RSS技术最早是由NetScape设计出来的,目的是建立一种新闻频道标准,遗憾的是当时NetScape和微软在浏览器两强争霸中节节败退,也就没有多余的心思和精力去发展完善RSS技术,RSS也因此沉寂多年,直到这两年网络中博客(Blog)横行,RSS才重新找到了用武之地,使其成为Blog间相互传递新闻主题和内容的方式,RSS也由此随着Blog的日渐盛行而被新闻网站认同并加以应用。Bblog内置了RSS Linker和RSS Fetcher。方便用户使用RSS阅读器浏览博客。RSS应用最火爆的当属博客、播客等网站支持RSS。在传统网站中,目前只有一部分支持RSS,而且一般只提供很简单的内容提要,要阅读全文还需要打开相应的网页。因此,RSS应用仍然受到了很大的局限,故此更多地与新型的网络应用播客、博客等紧密结合。
7. bblog博客的一些安全措施
1.管理员权限
bblog博客的系统管理员具有最大的权限,而该权限可能会与其它的板主权限相冲突而造成不可预期的错误,所以最好不要让系统管理员当版主。另外用root权限运行MYSQL也不太安全,这里推荐使用其他用户运行MYSQL。方法是:
# mysql -u root -p ……… mysql>update user set user="cao" where user="root"; |
以后就得通过cao帐号访问mysql数据库了。
2. 关闭Mysql远程连接
首先,应该关闭3306端口,这是MySQL的默认监听端口。由于此处MySQL只服务于本地脚本,所以不需要远程连接。尽管MySQL内建的安全机制很严格,但监听一个TCP端口仍然是危险的行为,因为如果MySQL程序本身有问题,那么未授权的访问完全可以绕过MySQL的内建安全机制。关闭网络监听的方法很简单,mysqld进程启动时,会自动寻找/etc/my.conf这个配置文件。在/etc/my.cnf文件中的[mysqld]部分,去掉#skip-networking前面的“#”即可。另外要尽量养成在mysql下输入密码的习惯,因为Shell下面输入的时候可能会被其它人看见。
3.php配置文件的安全设定:
phpinfo和get_cfg_var函数主要用于调试程序是否正常,当LAMP安装结束后应当禁用,在php.ini文件加入一行:
disable_functions = phpinfo,get_cfg_var |
这样可以避免泄漏系统服务信息。关于php和Apache其他安全措施可以查看笔者的:教您如何应用PHP开发出安全的应用程序,链接:http://tech.ccidnet.com/pub/article/c1113_a239881_p1.html
4.关注补丁问题
bBlog功能强大包含系统信息也比较多,所以,您必须要了解到这个软件有可能会产生一些安全上的漏洞的。例如2004-10-12 bblog被发现bBlog包含的rss.php脚本不正确处理用户提交的URI输入,远程攻击者可以利用这个漏洞
进行SQL注入攻击,可以获得敏感信息或更改数据库。rss.php脚本对用户提交的$p参数缺少过滤,就直接传递给$bBlog->make_post_query()函数,攻击者提交特殊的SQL数据作为$p参数数据,可以更改原有SQL逻辑,可以获得敏感信息或更改数据库。使用0.7.3和0.7.2版本的用户请马上下载补丁(http://www.servers.co.nz/security/patches/SCN200409-1/rss.php-patch.txt )或者升级到0.7.4版本以上。建议您随时注意bblog官方网站,这里不定期的会有一些安全技术公告,可以帮助您的博客使用更加安全。
另外 你应该经常到你所安装的系统发行商的主页上去找最新的补丁。对于私有操作系统,如Windows/Solaris等,由于个人用户不能直接接触其源代码,其代码由公司内部开发人员维护,其安全性由同样的团队保证,内核的修正与其他应用程序一样,以patch/SP包的方式发布。对于Linux这样的开放式系统,是一种开放的结构。应该说,开放的模式是双刃剑。从机制上讲,全世界的开发人员都能获得源代码,从而找出其中的纰漏,似乎安全性应该更好;但是同时,如果网络管理人员不能及时更新内核,也会留下安全隐患。而且,影响操作系统安全的因素有很多。仅仅通过开放或者封闭源代码,都不能从根本上解决安全问题。如果你是一个Linux网管员,你经常需要上相应的网站看,是否有补丁,是否有了bug fix,是否需要升级。Linux服务器运行的软件主要包括:Samba,Mysql,Php,Apache,Firefox等,这些软件,大都是开源软件,而且都在不停升级,稳定版和测试版交替出现。在Apache等网站上,最新的ChangeLog中都写着:bug fix, security bug fix的字样。所以Linux网管员要经常的关注相关网站的bug fix和升级,及时升级或添加补丁。
总结:LAMP和bblog可以组成一个优秀的博客网站,可以在互联网上运行,也可以在Linux局域网中运行。1999年,也是博客开始高速增长的一年,主要是包括Pita、Greymatter、Manila、Diaryland、Big Blog Tool,但是基本是基于Windows操作系统。Bblog是Linux网络环境下的为数不多的博客软件。有了Bblog一个博客就可以低成本地发布、更新和维护自己的博客网站。在预算短缺的今天,LAMP+bblog组成博客网站无疑具备明显的价格优势。