Chinaunix首页 | 论坛 | 博客
  • 博客访问: 435317
  • 博文数量: 24
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 885
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-14 15:00
文章分类

全部博文(24)

文章存档

2010年(9)

2009年(7)

2008年(8)

我的朋友

分类: LINUX

2008-05-11 22:59:37

作为一名网络管理员,尤其是中学的网络管理员,工作难度是相当大的。中学的校园网络说起来不大,再豪华大部分也超不过1000信息点,设备连接数能达到50%也就不错了。麻雀虽小可是也五脏俱全:

²        中心交换机也是带三层模块的,二级交换、三级交换都也是可网管的;

²        每间教室都有计算机,教室内的计算机至少有几十个老师要使用;

²        每个老师都有自己的工作计算机,既要安全又要个性化;

²        有不止一个的计算机机房,既要允许学生上网,还要限制学生上网;

²        电子阅览室也是有的,既要开放又要管理;

²        专业的或者DIY的服务器也有几台;

²        有一个以上的网站;

²        还有教学教务管理平台;

²        有钱的话资源库也会有的;

²        视频点播站也是需要的,要不然电子阅览室就少了一道风景;

²        时不时在可能的情况下还得改一改不合适的软件代码;

²        ………

中学中的技术人员配置数量是极少的,以上这么多的重担全部就会押在三五个网管员身上,要求真高啊。

2006年因为要开发一些网络教学管理软件,想来想去还是决定把网络OS定为Linux,服务器为Apache,脚本语言为PHP,数据库为MS SQL Server(学校已有的系统全部运行在上面),花了四天时间才搞定了整个服务平台。

Apache服务器支持PHPJSPMYSQLMS SQL Server。俗话说:好脑子不如烂笔头,赶紧把整个过程写了下来,于是有了这篇文章。


linux下,PHP不能够直接访问MS SQL Server,需要一个中间件才能够正确访问。这个中间件就是Freetds。这个软件能够使LinuxUnix连接MS SQL ServerSybase数据库。目前最新的版本是0.64,在本文中使用的是0.62.3版的源码包。

主页地址为:

下载地址为:

AprApache可移植运行库,产生于保障服务器代码的多平台性。Apr的任务计划是编写并且维持一个可以提供可预期的和一致的接口给特殊的平台。其主要的目标是提供API给软件开发者可以编码而且确信代码不管在哪一个平台上都可以运行。

Apache源码包中自带位于srclib/apr下,需要手动安装。

Apache源码包中自带位于srclib/apr-util下,需要手动安装。

最流行的HTTP服务器软件之一。快速、可靠、可通过简单的API扩展,PHP/Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。最新版本为2.2.0,本文中使用的为2.2.0版本。

下载地址:.

     MySql是一个多线程的,结构化查询语言(SQL)数据库服务器。SQL 在世界上是最流行的数据库语言。MySQL 的执行性能非常高,运行速度非常快,并非常容易使用。是一个非常棒的数据库。最高版本为:

HP


的安装

[root@red]# tar –zxvf freetds-0.62.3.tar.gz

[root@red]# cd freetds-0.62.3

[root@red]# ./configure \

>--prefix=/usr/local/freetds \     {指定freetds的安装目录为/usr/local/freetds}

>--with-tdsver=8.0 \            {指定freetds运行版本为8.0支持Ms SQL Server 2000}

>--enable-msdblib              {设定freetds支持Msdblib,好像可以不用}

[root@red]# make

[root@red]# make install

配置参看第三章Freetds配置。

的安装

[root@red]# tar –zxvf httpd-2.2.0.tar.gz

[root@red] # cd httpd-2.2.0

[root@red] # cd srclib

[root@red] # cd apr

[root@red] # ./configure –prefix=/usr/local/apr   {指定Apr的安装目录为/usr/local/apr}

[root@red] # make

[root@red] # make install

    不需要配置。

的安装

[root@red] # cd httpd-2.2.0

[root@red] # cd srclib

[root@red] # cd apr-util

[root@red] # ./configure \

>--prifix=/usr/local/apr-util \      {指定Apr的安装目录为/usr/local/apr-util}

>--with-apr=/usr/local/apr        {指定Apr的安装目录为/usr/local/apr}

[root@red] # make

[root@red] # make install

    不用配置

的安装

[root@red] # cd httpd-2.2.0

[root@red] # ./configure \

>--enable-so \      {指定Apr的安装目录为/usr/local/apr-util}

>--enable-ssl=share \      {指定Apr的安装目录为/usr/local/apr-util}

>--enable-rewrite=share \      {指定Apr的安装目录为/usr/local/apr-util}

>--enable-proxy=share \      {指定Apr的安装目录为/usr/local/apr-util}

>--enable-deflate=shate \      {指定Apr的安装目录为/usr/local/apr-util}

>--enable-dav=share \      {指定Apr的安装目录为/usr/local/apr-util}

>--enable-track-vars \      {指定Apr的安装目录为/usr/local/apr-util}

>--enable-proxy-ajp=share 

>--prifix=/usr/local/apache2 \      {指定Apr的安装目录为/usr/local/apr-util}

>--with-mpm=worker \

>--with-apr=/usr/local/apr \

>--with-arp-util=/usr/local/apr-util \

[root@red] # make

[root@red] # make install

[root@red] # /usr/local/apache2/bin/apachectl start

在浏览器中地址中输入 如果看到It works! 证明Apache安装成功。

[root@red] # /usr/local/apache2/bin/apachectl stop

的安装

[root@red] # useradd mysql –s /sbin/nologin  {可以不需要}

[root@red] # tar –zxvf mysql-4.1.18.tar.gz

[root@red] # cd mysql-4.1.18

[root@red] # ./configure \

>--with-prifix=/usr/local/mysql \

>--with-charset=GB2312 \     {如果使用UTF-8字符集,就可以不需要,建议不使用}

>--with-extra-charset=all \    {同上}

>--with-mysqld-user=mysql \   {可以不需要}

[root@red] # make

[root@red] # make install

[root@red] # cd /usr/local/mysql/share/mysql

[root@red] # cp my-medium.cnf /etc/my.cnf

[root@red] # cd /usr/local/mysql

[root@red] # ./mysql_install_db –user=mysql

[root@red] # chmod 1777 –R var

[root@red] # cd bin

[root@red] # mysqladmin –u root password 123456

[root@red] # cd /usr/local/mysql/share/mysql

[root@red] # ./mysql.server start

注:如果在安装之前创建了mysql用户,需要修改/usr/local/mysql目录的属性,因为英文的Mysql默认使用mysql用户启动服务,因此在启动服务之前必须修改:chomod –R mysql.mysql /usr/local/mysql

使用mysql –u root –p进入mysql运行命令:

grant select,insert,update,delete on 数据库.* to 用户◎localhost identified by “密码

的安装

[root@red] # tar –zxvf php-4.4.2.tar.gz

[root@red] # cd php-4.4.2

[root@red] # ./configure \

>--prefix=/usr/local/php \

>--with-mysql=/usr/local/mysql \

>--with-mssql=/usr/local/freetds \

>--with-apxs2=/usr/local/apache2/bin/apxs \

>--with-config-file-path=/usr/local/php/etc \

>--enable-track-vars \

>--enable-force-cgi-redirect \

>--with-mhash      {支持哈希算法,诸如MD5}

[root@red] # make

[root@red] # make install

[root@red] # cp php.ini-dist /usr/local/php/etc/php.ini

的安装

[root@red] # chmod +X jdk1_5_06-linux-i586.bin

[root@red] # ./jdk1_5_06-linux-i586.bin

[root@red] # mv jdk1_5_06 /usr/java/jdk1_5_06

利用rpm –qa|grep ***命令查找以下程序包,如果安装,请使用rpm –e ***命令删除。{***为程序包名称}

gcc-java-*     {*代表版本号}

libgcj-devel*

redhat-lsb*

gettext-*

libgcj*

的安装

[root@red] # tar –zxvf apache-taomcat-5.5.16.tar.gz

[root@red] # mv apache-tmcat-5.5.16 /uar/local/tomcat


配置

[root@red] # cd /usr/local/freetds/etc

[root@red] # vi freetds.conf

;[myServer2K]

;   host = ntmachin.domain.com

;   port = 1433

;   tds Version = 8.0

去掉分号改为

[192.168.1.9]

host = 192.168.1.9     {192.168.1.9MS SQL Server数据库的IP地址,当然域名也可以}

port = 1433

tds Version = 8.0

client charset = UTF-8  {因为freetds不支持GB2312字符集,要想正确显示中文只能使用UTF-8字符集。}

配置

[root@red] # cd /usr/local/apache2/conf

[root@red] # vi httpd.conf

找到“LoadModule php4_module  modules/libphp4.so”一行,在下面添加

AddDefaultCharset UTF-8  

(因为freetds不支持GB2312字符集,要想正确显示中文只能使用UTF-8字符集。)

(如果没有找到这一行请检查/usr/local/apache2/modules下是否有libphp4.so文件,如果有请手动添加,如果没有请重新编译安装PHP。)

找到“”项,在“AddType application/x-gzip .gz .tgz”一行下面添加:“AddType application/x-httpd-php .php”。

找到“# Virtual hosts”下面的“#Include conf/extra/httpd-vhosts.conf“去掉前面的#

保存httpd.conf

//如果要想PHP能够正确访问MySql数据库还需要修改一项:

[root@red] # cd extra

[root@red] # vi httpd-vhosts.conf

删除里面的两段…….. 删除,添加:

       {这里的192.168.1.11是服务器的IP地址,当然你也可以使用*}

             {设定JSP服务器的根目录和默认首页}

       DirectoryIndex index.jsp

  

   ProxyPass / ajp://localhost:8009/

   ProxyPassReverse / ajp://localhost:8009/

   ServerAdmin root@manager.sxdxfz.cn    {设定服务器管理员}

   ServerName  manager.sxdxfz.cn         {服务器名称,也可是IP地址}

   ServerAlias www

   ErrorLog logs/manager.sxdxfz.cn-error_log

   CustomLog logs/manager.sxdxfz.cn-access_log common

配置

[root@red] # cd /usr/local/php/etc

[root@red] # vi php.in

找到“;default_charset = "iso-8859-1"”一行,去掉分号改为default_charset = "UTF-8",保存退出。

(因为freetds不支持GB2312字符集,要想正确显示中文只能使用UTF-8字符集。)

配置

[root@red] # cd

[root@red] # ls –l

[root@red] # vi .bash_profile

把其改为

JAVA_HOME=/usr/java/jdk1.5.0_06  {设置JDK的默认目录}

CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar   {设置Java类的默认目录}

PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin  {设置默认S搜索路径}

BASH_ENV=$HOME/.bashrc

TOMCAT_HOME=/usr/local/tomcat    {设置Tomcat的默认路径}

USERNAME="root"

 

export USERNAME BASH_ENV PATH JAVA_HOME CLASSPATH TOMCAT_HOME

保存退出,使环境变量起作用

[root@red] # source ~/.bash_profile

配置

[root@red] # cd /usr/local/tomcat/conf

[root@red] # vi web.xml

添加  

            javaEncoding

            GB18030

       

1上方。

6、配置计算机启动项

[root@red] # cd /etc/rc.d

[root@red] # vi rc.local

添加以下项目:

/usr/local/tomcat/bin/startup.sh

/usr/local/apache2/bin/apachectl start

/usr/local/mysql/bin/mysqld_safe –user=mysql &


运行测试

freetds安装配置完成后,运行/usr/local/freetds/bin/tsql –S 192.168.1.9 –U sa 后显示:

locale is "zh_CN.GB2312"

locale charset is "GB2312"

Password:

输入密码后显示

1>

哈,你已经连接上MS SQL Server数据库了。

运行测试

[root@red] # cd /usr/local/mysql/share/mysql/mysql.server start

显示Starting MySQL. SUCCESS! 安装成功

运行测试

[root@red] # cd /usr/local/apache/bin/apachectl start

如果没有提示任何错误,应该是正常运行了。如果你还没有配置完PHP,在浏览器的地址栏里输入http://服务器IP地址,会显示It’s Works!。如果你配置了PHP,输入http://服务器IP地址/测试php文件名称,就应该会显示你所希望看到的内容。

运行测试

启动Apache,编写一个文件test.php,内容为,传到Apache的文档目录下,在浏览器的地址栏里输入http://服务器IP/test.php.

    这时你应该能够看到ApachePHP的配置信息,同时你还能看到PHP支持mssql的信息,显示如下:

运行测试

[root@red] # java   {不出错误即可}

运行测试

 

阅读(1615) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-05-10 17:15:11

谢谢了哈!

chinaunix网友2008-08-06 16:07:53

非常好的一篇文章,每一步操作都写的很详细,辛苦了!