安装,配置和测试Linux,Apache,Informix和PHP服务器的分步操作指南

在你开始前

本文假定使用基于RPM的32位Linux系统。 提供的步骤已在Red Hat Enterprise Linux 4和SUSE Linux 9上完成。但是,总体思想可以在任何Linux发行版中传达。

安装前步骤

首先,您需要拥有Informix Dynamic Server和Informix软件开发套件。 如果您没有这些产品,则可以在Informix产品系列页面上找到它们。

大多数Linux发行版都预装了部分或全部LAIP组件。 通常,它们不是从源代码安装的,因此可能没有正确编译扩展名。为了删除这些组件,并且避免遇到RPM麻烦,必须首先以root用户身份登录:

su - root

然后,您可以查找系统上当前安装的所有软件包:

rpm -qa | grep -i apache
rpm -qa | grep -i httpd
rpm -qa | grep -i php

然后,您可以删除上述命令中找到的所有软件包:

rpm -e filename

现在,您应该已经可以使用“干净的” Linux发行版来安装和设置组件。

获取并解压缩所有应用程序的源代码

  1. 移至存储所有源代码的位置:
    cd /usr/local/src
  2. 获取所需的组件:
    wget http://www.php.net/distributions/php-5.1.2.tar.gz
    wget http://apache.osuosl.org/httpd/httpd-2.2.0.tar.gz
    wget http://www.pecl.php.net/get/PDO_INFORMIX-1.0.0.tgz

此安装过程中使用了以下版本的LAIP产品:

产品
PHP 5.1.2
Apache HTTP服务器 2.2.0
Informix动态服务器(IDS) 10.00.UC4
Informix客户端软件开发套件(客户端SDK) 2.90.UC4
Informix PHP数据对象(PDO) 1.0.0

上述产品的不同版本可能需要不同的步骤集才能使设置正常运行。 给出的步骤是上述产品所独有的。 但是,可以跨版本遵循一般思想。

解压所有源代码

tar zxf httpd-2.2.0.tar.gz
tar zxf php-5.1.2.tar.gz
tar zxf PDO_INFORMIX-1.0.0.tgz

安装Informix和Client SDK

要将Informix安装到Linux环境中,请执行以下步骤:

  1. 检查您的操作系统是否需要任何修补程序。 您可以转到Informix Dynamic Server页面,查看是否需要任何修补程序。
  2. 创建Informix用户和组。 Informix用户充当Informix数据库的根帐户。 确保此帐户的安全性。 可以按以下步骤完成创建(其中xxxx是用户Informix的密码):
    groupadd informix
    useradd -g informix -p xxxx -d /dev/null informix
  3. 创建安装目录。 缺省位置是/ opt / informix。 另外,最后两个命令是确保目录归Informix用户和组所有:
    su informix mkdir /opt/informix
    chown informix.informix /opt/informix
    chown informix.informix /opt/informix
  4. 设置所需的所有环境变量。 INFORMIXDIR应该是您用于安装Informix的位置。 使用默认值的操作如下: Bourne Again shell(bash):
    INFORMIXDIR=/opt/informix
    export INFORMIXDIR
    PATH=$PATH:$INFORMIXDIR/bin
    export PATH

    要么

    C shell(csh):
    setenv INFORMIXDIR /opt/informix
    setenv PATH ${PATH}:${INFORMIXDIR}/bin
  5. 使用给定的Informix tar文件提取Informix文件。 如果Informix Server和Client SDK的tar文件位于当前目录中,则将文件解压缩(如果该文件类似于IIF * .tar):
    mv IIF*.tar /opt/informix
    cd /opt/informix
    su informix tar -xvf IIF*.tar
  6. 转至解压缩的文件并运行IDS的安装。 有三种安装IDS的方法。 默认为控制台方法。 还有图形和静音方法。 您可以选择适合自己需要的任何东西。 在此示例中使用控制台方法。 控制台方法可以如下运行:
    ./install_rpm -acceptlicense=yes

    运行脚本后,只需按照屏幕上的说明完成Informix的安装。 确保使用/ opt / informix作为安装目录。 仅当您接受Informix许可证时,才应添加接受许可证标志。

  7. 将Client SDK tar文件解压缩到/ opt / informix。
    mv client*.tar /opt/informix
    cd /opt/informix
    su informix tar -xvf client*.tar
  8. 运行安装脚本以安装客户端SDK。 运行脚本之后,只需按照屏幕上的说明完成Informix的Client SDK部分的安装:
    ./installclientsdk

配置Informix和Informix客户端SDK

  1. 创建启动和运行Informix服务器所需的环境文件。 将在主目录中创建一个.informix文件,其内容如下: Bourne Again shell(bash):
    set INFORMIXDIR=/opt/informix
    set INFORMIXSQLHOSTS=/opt/informix/etc/sqlhosts
    set ONCONFIG=onconfig
    set INFORMIXSERVER=myserver
    set SERVERNUM=1
    set PATH=$INFORMIXDIR/bin:.:$PATH

    要么

    C shell(csh):
    setenv INFORMIXDIR /opt/informix
    setenv INFORMIXSQLHOSTS /opt/informix/etc/sqlhosts
    setenv ONCONFIG onconfig
    setenv INFORMIXSERVER myserver
    setenv SERVERNUM 1
    setenv PATH $INFORMIXDIR/bin:.:$PATH
  2. 将服务器添加到sqlhosts文件。 sqlhosts文件位于/ opt / informix / etc中。 您必须将上面在环境变量中给定的INFORMIXSERVER名称添加到sqlhosts文件中。 sqlhosts中添加的行应遵循以下格式: dbservername nettype hostname servicename [options]

    这是添加的内容:

    myserver onsoctcp myserver port_alias

    给定的端口也必须在您的系统上打开。 在此示例中,它是在/ etc / services文件中打开的。 这是添加到服务文件的行的示例:

    port_alias 8201/tcp
  3. 创建onconfig文件。 onconfig文件必须位于/ opt / informix / etc目录中。 应该已经有一个名为onconfig.std的标准onconfig文件。 以下内容适合该示例的系统需求。 您可能需要添加额外的变量,或者可能不需要下面显示的所有变量。 onconfig文件包含以下内容:
    DBSERVERNAME myserver
    DUMPDIR /tmp
    LOGDIR /opt/informix/logdir
    MSGPATH /opt/informix/logdir/online.log
    PHYSDBS rootdbs
    ROOTNAME rootdbs
    ROOTPATH /opt/informix/logdir/rootdbs
    ROOTSIZE 30000

    DBSERVERNAME是指与此特定数据库服务器实例关联的唯一名称。 DUMPDIR指服务器在其中转储共享内存和消息的目录。 LOGDIR是IDS实例的日志目录。 MSGPATH是消息日志文件的完整路径名。 PHYSDBS是包含物理日志的dbspce的名称。 ROOTNAME是根数据库空间的名称。 ROOTPATH是根数据库空间的初始块的完整路径名。 ROOTSIZE是根数据库空间的初始块的大小。

  4. 添加上面指定的日志目录和根空间。 对于此示例中的设置,已完成以下操作:
    su informix mkdir /opt/informix/logdir
    su informix chmod 777 /opt/informix/logdir
    cd /opt/informix/logdir
    su informix touch rootdbs
    su informix chmod 660 rootdbs
    su root chown informix.root rootdbs
  5. 确保一切正常。
    1. 尝试启动服务器:
      cd /opt/informix/bin
      oninit -i
    2. 使用以下命令检查以确保其正确启动:
      onstat -
    3. 如果看到"shared memory not initialized for INFORMIXSERVER 'myserver'" ,则该设置无效。 但是,如果看到类似于"IBM Informix Dynamic Server Version 10.00.UC4 -- On-Line -- Up 00:00:07 -- 19508 Kbytes" ,则一切正常。

      如果以后要关闭服务器,则可以发出以下命令:

      onmode -kuy

有关Informix Dynamic Server的任何问题,请参阅IBM Informix Dynamic Server v10.0信息中心以获取故障排除帮助。

安装和配置Apache

请按照以下步骤安装Apache,以支持动态加载的模块:

cd /usr/local/src/httpd-2.2.0/

./configure \
--prefix=/usr/local/apache \
--enable-shared=max \
--enable-module=rewrite \
--enable-module=so

make
make install
  1. 编辑http.conf文件以正确处理.php文件。 可以在/usr/local/apache/conf/httpd.conf中找到httpd.conf文件。 查找以下行: #AddType application/x-httpd-php .php
    #AddType application/x-httpd-php-source .phps
    #AddType application/x-httpd-php .php
    #AddType application/x-httpd-php-source .phps
  2. 如果发现这些#从这些行的开头删除它们。 如果它们不在文件中,则添加不带#的它们。 这使Apache能够正确处理和显示php文件。
  3. 您可以通过编辑/ usr / local / apache / conf中的httpd.conf文件来更全面地配置Apache服务器。 Internet上有很多有关此主题的文档。

安装和配置PHP

请按照以下步骤安装PHP:

  1. 将PDO_INFORMIX文件夹复制到PHP的ext目录中:
    cd /usr/local/src/php-5.1.2/ext
    cp -R ../../PDO_INFORMIX-1.0.0 pdo_informix
  2. 使用PDO配置和制作PHP:
    cd /usr/local/src/php-5.1.2
    
    ./buildconf --force
    
    ./configure --with-apxs2=/usr/local/apache/bin/apxs \
    --disable-debug \
    --disable-ftp \
    --disable-inline-optimization \
    --disable-magic-quotes \
    --disable-mbstring \
    --enable-wddx=shared \
    --enable-xml \
    --with-dom \
    --with-regex=system \
    --with-xml \
    --with-jpeg-dir=/usr/lib \
    --with-zlib-dir=/usr/lib \
    --with-zlib \
    --without-pdo-sqlite \
    --without-iconv \
    --without-sqlite \
    --enable-shared \
    --enable-pdo \
    --with-pdo-informix=/opt/informix
    
    make
    make install
    
    cp php.ini-dist /usr/local/lib/php.ini
  3. 现在,您可以查看PHP安装是否按计划进行。 您可以发出以下命令:
    php -m
  4. 该命令的输出应同时包括PDO和pdo_informix模块。 如果不包括这些,则buildconfconfiguremakemake install命令不会按计划进行。

    可以选择在与PHP本身不同的时间配置pdo_informix。

  5. 您可以自己编译pdo_informix,但是它需要从PHP的安装位置进行phpize。 如果在配置或编译PHP时配置或编译了pdo_informix,则无需执行此步骤。
    cd pdo_informix
    phpize
    ./configure
    make
  6. 将正确的扩展名添加到php.ini文件。 可在/usr/local/lib/php.ini中找到它。 可加载的扩展目录在php.ini文件中指定。 这是该行后最常见的: ; Directory in which the loadable extensions (modules) reside. ; Directory in which the loadable extensions (modules) reside.

    本示例中使用的条目如下所示:

    ; Directory in which the loadable extensions (modules) reside.
    extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20050922/"

php.ini文件中需要进行的其他更改是PDO和pdo_informix扩展的定义。 它们位于php.ini中的“动态扩展”部分。 如果将它们创建为共享模块,则需要将这些模块复制到上述扩展目录中,并在php.ini文件中启用它们,如下所示:

extension=pdo.so
extension=pdo_informix.so

测试新的动态Web服务器

要测试新的动态Web服务器,请完成以下步骤:

  1. 启动Apache。 您需要做的是以下操作(再次以root用户身份):
    /usr/local/apache/bin/apachectl start

    打开您喜欢的浏览器,然后在地址栏中输入localhost 。 将显示默认的Apache起始页。 这确认Apache已启动。

  2. 确保PHP与Apache一起使用。 您需要编辑浏览器中显示的index.html文件。 这对应于您安装Apache的位置。 此示例使用的位置在这里:/usr/local/apache/htdocs/index.html。

    擦除index.html文件,并将其替换为以下文件(名为index.php):

    <html>
    <body>
    <?php
    echo "PHP and Apache are playing nicely!";
    ?>
    </body>
    </html>

    然后,当您打开修改后的页面(http://localhost/index.php)时,您应该看到PHP and Apache are playing nicely! 。 如果看到PHP代码本身,则说明您PHP和Apache安装或配置存在缺陷。

  3. 确保Informix正在运行,并且有您可以查询的信息。 为了查看Informix是否正在运行,请执行以下操作:
    ps -aef | grep oninit

    如果找到任何进程,则Informix正在运行。 如果没有,请使用上面给出的命令启动Informix。 Informix使用的工具是dbaccess来创建或删除数据库,创建或删除表以及插入或删除数据。 您可以从以下位置运行dbaccess:

    /opt/informix/bin/dbaccess

    请记住要执行以下操作:

    1. 在sysuser数据库中添加需要访问'informix'.sysauth表的用户。
    2. 添加一个新的数据库和包含数据的表以测试服务器的设置。

    如果您不熟悉dbaccess,则Internet上有文档。

  4. 检查以确保您PHP和PDO Informix设置正常运行。 您应该转到默认的Apache文档位置(/ usr / local / apache / htdocs)以添加一个test.php文件。 以下是test.php文件的内容(如下所述):
    <?php
    
    $db = new PDO("informix:host=servername.domain.com; service=8201;
    database=test_db; server=testserver; protocol=onsoctcp;
    EnableScrollableCursors=1;", "testuser", "testpass");
    
    print "Connection Established!\n\n";
    
    $stmt = $db->query("select * from test_table");
    $res = $stmt->fetch( PDO::FETCH_BOTH );
    $rows = $res[0];
    echo "Table contents: $rows.\n";
    
    ?>

    连接字符串中的变量符合我们系统的需求。 选择变量及其值以适合您的系统和环境。 第一行是Informix数据库的连接字符串。 INFORMATIONIX:是启动连接字符串所必需的。 主机就是服务器主机名。 服务是为数据库打开的端口号(/ etc / services)。 数据库是您在上面创建的数据库的名称。 服务器是您先前创建的数据库实例的名称。 协议类型是您在/ etc / sqlhosts文件中输入的协议。 其余选项不言自明。 PDO对象的最后两个选项是用户名和密码。 确保已如上所述将用户添加到sysuser数据库。

    当您打开test.php的网页时,您应该看到Connection Established!Table Contents然后是您添加到表格中的实体内容。

恭喜你! 您已准备好使用LAIP系统!


翻译自: https://www.ibm.com/developerworks/data/library/techarticle/dm-0606bombardier/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值