日期:2011-01-08  浏览次数:20398 次

  将这个脚本添加到启动事务中是个比较复杂的任务。如果你使用的不是RedHat Linux而且你没有把握做这件事,你最好请教一下了解的人。在RedHat Linux中,执行以下命令(在MySQL目录下)会完成这个工作:


% cp share/mysql/mysql.server /etc/rc.d/init.d/
% cd /etc/rc.d/init.d
% chmod 500 mysql.server
% cd /etc/rc.d/rc3.d
% ln -s ../init.d/mysql.server S99mysql
% cd /etc/rc.d/rc5.d
% ln -s ../init.d/mysql.server S99mysql



  现在一切都做好了!要测试这个工作,你可以重启你的系统并对这个服务作出请求,看看它是不是正常工作了。

在Linux下安装PHP

  正如我们前面提到的,PHP并不是一个独立运行的程序。它实际上是你的Web服务(可能是Apache)的一个插件。实际上你有三种方法在Apache中安装PHP插件:

  作为一个CGI程序,Apache每次需要处理PHP页面时运行它。

  作为一个模块编译到Apache程序中。

  在Apache每次启动时作为一个模块载入。

  第一种方法的安装和配置最简单,但是这需要Apache每次接收到PHP页面的请求时就将PHP作为一个程序调用。这肯定会降低你的Web服务器的响应时间,特别是同时接收到不止一个的请求时更是这样。

  第二种方法和第三种方法在性能方面同样的优秀,但是很可能你已经安装好了Apache,你大概不想再去下载一次,并重新编译和重新安装。因此,我们使用第三种方法。

  首先,我们从http://www.php.net/(或者在http://www.php.net/mirrors.php中列出的镜像站点之一)下载PHP的软件包。当我们在写这个教程的时候,PHP 4.0已经基本上成熟了。我自己就试过PHP 4.0-RC2,并没有遇到任何问题。估计最终的稳定版很快将会发布(可能到时候我们这个教程还没写完),我建议你安装最新的版本,这样当正式版出来时你将不需要做任何变动。在这里,我们安装的是3.0,我会注意指出3.0和4.0在安装时可能会有的差别。

  你所下载的文件的文件名将是php-version.tar.gz。我们的第一步是解开这个文件:


% tar xfz php-version.tar.gz
% cd php-version



  要将PHP作为Apache可载入的模块安装,你需要Apache的apxs程序。在个程序在绝大多数的Apache的版本中应该都已包括,但是如果你使用的是通过RedHat Linux安装的拷贝,你需要安装Apache高级RPM软件包来获得它。你可以从你的RedHat光盘上找到这个软件包,你也可以从http://www.redhat.com/下载。在默认的情况下,RedHat会将这个程序安装到/usr/sbin/apxs。如果你看到了这个文件,这证明它已经被安装了。

  在这个安装过程中,你必须以超级用户的身份登录,因为其中包括了一些对Apache配置文件的变动。

  下一步是配置PHP安装程序,以使它知道选择哪些选项,并在哪儿寻找它所需要的程序(例如Apache和MySQL)。除非你很有把握,否则你只需输入下面的命令(在同一行中):

% ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-apxs=/usr/sbin/apxs --enable-track-vars --enable-magic-quotes --enable-debugger


  如果你已经安装了PHP 3.0(不是4.0或更迟的版本),你也需要通过以下附加的参数告诉它在你的系统中从哪儿寻找MySQL:

  --with-mysql=/usr/local/mysql/


  当经过几屏对显示器的测试后,你会回到命令提示符下。下面两个命令会编译和安装PHP:


% make
% make install



  PHP现在已经被安装在/usr/local/php(除非你通过上面./configure的--prefix参数指定了不同的目录),你应该能在同一目录下(除非你通过上面./configure的--with-config-file-path参数指定了不同的目录)找到名为php.ini的配置文件, PHP提供了一个php.ini的模块文件,其文件名是php.ini-optimized (在PHP3.0中是php.ini-dist)。将这个文件拷贝到相应的目录:

% cp php.ini-optimized /usr/local/php/php.ini


  对于PHP 3.0:

% cp php.ini-dist /usr/local/php/php.ini


  你暂时不要担心php.ini的优化调整。现在,我们需要确保Apache知道从哪儿找PHP,这样它才能在启动时装载它。使用你熟悉的文本编辑器打开你的Apache httpd.conf 配置文件(在RedHat Linux中,在/etc/httpd/conf/httpd.conf)。 寻找象下面这样的一行:

LoadModule php4_module lib/apache/libphp4.so


  如果你安装的是PHP 3.0,这一行中的php4换成php3。 你所寻找的应该是一个新的未注释的行(不是以#开头的行),而不是你之前注释掉的那一行。一般情况下,它会和文件中其他LoadModule行显示在一起。当你找到它后,你需要改变路径以使它能够匹配文件中所有其他的LoadModule行。在RedHat Linux下,这意味着将这一行改变为:

LoadModule php4_module modules/libphp4.so


  然后,寻找以DirectoryIndex开始的行。这一行告诉Apache对于一个给定的目录寻找默认页时所使用的文件名。通常,你会看到index.html和其他一些文件名,你需要将index.php和index.php3添加到这一行:

DirectoryIndex index.html index.cgi ... index.php index.php3


  最后,到这个文件的最后并添加一个新行来告诉Apache哪些文件的扩展名被看成PHP文件:

AddType application/x-httpd-php .phtml .php .php3


  一切都做好后,保存改变并重启你的Apache服务。Apache启动时不应该有任何出错信息。

安装后的设置

  当PHP和MySQL都安装好之后,不管你是在Windows下、Linux下或其他操作系统下,第一件事都是为MySQL设置一个“root口令”。MySQL仅仅允许经授权的用户访问并操作它的数据库中所存储的信息,所以你必须让MySQL清楚谁是经授权的,谁是未经授权的。当MySQL第一次被安装时,它会生成一个叫“root”的用户,该用户可以不用口令访问所有的东西。你的第一个任务就是为root用户设置口令,这样才能保证不会任何人都可以搞乱你的数据库。

  你必须认识到MySQL的重要性,正如Web服务和FTP服务一样,在同一个网络上的任何机器都可以访问它。如果你在一个连接到Internet的计算机上工作,这就意味着这个世界上的任何人都可以试图连接你的MySQL服务器!你必须立即选择一个很难猜的口令!

  要设置MySQL中的root口令,在你安装MySQL的目录的bin子目录下输入下面的命令(包括引号):

mysqladmin -u root password "your new password"


  要确保MySQL接受这个改变,你必须告诉它重新载入经论证的用户和口令的列表:

mysqladmin -u root reload


  如果这个命令显示一个错误信息告诉你无法访问,不要担心,这仅仅证明口令已经生效了。

  要测试你的新密码,你可以请求MySQL服务器告诉你有关它的当前的状态