Linux下Apache 2.2, MySQL 5.0和PHP 5.0的安装与配置

 更新时间:2016年11月25日 15:29  点击:1835

1.安装环境
操作系统:Red Hat Linux Enterprise AS 4.0
数据库:MySQL 5.0.24
Web服务器:Apache 2.2.3
脚本语言:PHP 5.1.6

2.安装MySQL 5.0.24
-------------下载软件包mysql-5.0.24.tar.gz,地址http://www.mysql.com-------------
# tar zvxf mysql-5.0.24.tar.gz //解压缩
# cd mysql-5.0.24 //进入解压缩后的文件目录
# ./configure --prefix=/usr/local/mysql \ //设定安装目录
--enable-thread-safe-client \ //编译线程安全版的客户端库
--without-debug \ //关闭debug功能
--localstatedir=/data/mysqldata \ //设定数据库文件目录
# make //编译
# make install //安装
# /usr/local/mysql/bin/mysql_install_db //初始化授权
# chown –R root:root /usr/local/mysql //文件属性改为root用户
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf //复制配置文件
----------------------------------启动MySQL服务----------------------------------
# /usr/local/mysql/bin/mysqld_safe --user=root & //启动MySQL
----------------------------------修改MySQL密码----------------------------------
# /usr/local/mysql/bin/mysqladmin -uroot password mysqlsecret //修改密码
----------------------------------关闭MySQL服务----------------------------------
# /usr/local/mysql/bin/mysqladmin -uroot -pmysqlsecret shutdown //关闭MySQL

3.安装Apache 2.2.3
-------------下载软件包httpd-2.2.3.tar.gz,地址http://www.apache.org-------------
# tar zvxf httpd-2.2.3.tar.gz
# cd httpd-2.2.3
# ./configure --prefix=/usr/local/apache \
--enable-module=most \
--enable-shared=max
# make
# make install
----------------------------------启动Apache服务----------------------------------
# /usr/local/apache/bin/apachectl start
----------------------------------关闭Apache服务----------------------------------
# /usr/local/apache/bin/apachectl stop
----------------------------------重启Apache服务----------------------------------
# /usr/local/apache/bin/apachectl restart

4.安装PHP 5.1.6
-------------------下载软件包php-5.1.6.tar.gz,地址www.php.net--------------------
# tar zvxf php-5.1.6.tar.gz
# cd php-5.1.6
# ./configure --prefix=/usr/local/php \
--with-mysqld=/usr/local/mysql \
--with-apxs2=/usr/local/apache/bin/apxs
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini

5.配置Apache服务的httpd.conf文件
*在LoadModule处添加 LoadModule php5_module module/libphp5.so
*在DirectoryIndex处添加 index.php
*在AddType application处添加
AddType application/x-httpd-php .php .phtml
AddType applicatoin/x-httpd-php-source .phps

将 Sajax 连接到相册

  利用刚刚创建的代码,我们将用 Sajax 迅速把相册从多页面应用程序转化成活动的 Ajax 应用程序。

  因为相册主要有两个函数,get_table() 和 get_image(),这也是需要用 Sajax 导出的全部函数。事实上,为了通过 Sajax 调用这些函数,这些函数本身基本上不需要修改,很快我们就会看到,我们只需要修改生成的链接即可。

  清单 9. Sajax 相册的头部

<?php
require("Sajax.php");

function get_image () { } // Defined later
function get_thumbs_table () { } // Defined later

// Standard Sajax stuff. Use Get, and export two
// main functions to javascript
$sajax_request_type = "GET";
sajax_init();
sajax_export("get_thumbs_table", "get_image");
sajax_handle_client_request();
?>

  对于本文而言,文档主体部分很简单。我们将使用 div 和 window 的 id 来显示服务器的输出。

  清单 10. 显示服务器输出的 div 和 window id

<body>
<h1>Sajax photo album</h1>
<div id="window"></div>
</body>

  最后还要编写 JavaScript 回调函数。该例中,因为所有的服务器输出都直接输出到 window div 标记,所以可以重复使用简单的回调函数。将回调函数添加到 Sajax 函数调用中,就可以得到头(head)。

  清单 11. 简单的头

<head>
<title>Creating a Sajax photo album</title>
<style type="text/css">
body { text-align: center }
div#window { margin: 0 auto 0 auto; width: 700px;
padding: 10px; border: 1px solid #ccc; background: #eee; }
table.image_table { margin: 0 auto 0 auto; }
table.image_table td { padding: 5px }
table.image_table a { display: block; }
table.image_table img { display: block; width: 120px
padding: 2px; border: 1px solid #ccc; }
img.full { display: block; margin: 0 auto 0 auto;
width: 300px; border: 1px solid #000 }
</style>

<script language="javascript">
<? sajax_show_javascript(); ?>

// Outputs directly to the "window" div
function to_window(output) {
 document.getElementById("window").innerHTML = output;
}

window.onload = function() {
 x get table to window);
};

</script>
</head>

  最后一步是保证应用程序中的所有链接都是自定义的 Sajax 调用。只需要取上一节中的代码并作如下替换:href="index.php?start=0&step=5" 变为 onclick="x_get_table(0, 5, to_window)",href="expand.php?index=0" 变为 onclick="x_get_image(0, to_window)"。

  并在相应的函数中做同样修改:get_image_link() 和 get_table_link()。这样向 Sajax 的转化就完成了(如图 6 所示)。所有链接都变成了与远程 PHP 调用对应的 JavaScript 调用,PHP 使用 JavaScript 响应处理程序 to_window() 直接输出到页面。

  整个应用程序都包含在一个页面中,还可以把其余功能(get_table()、get_image() 等)放在不能从 Web 访问的单独的库文件中。在大多数 Ajax 应用程序中,每个发往服务器的请求都需要由单独的脚本处理,或至少需要编写一个非常庞大的处理程序脚本来重定向请求。将所有这些文件都集中到一起可能非常麻烦。使用 Sajax 永远只需要一个文件,在该文件中只需定义我们使用的函数即可。Sajax 代替了处理程序脚本。


  可以看到 URL 仍然保持不变,并带来了更多愉快的用户体验。window div 显示在一个灰色的框中,通过 Sajax 生成的内容非常清楚。脚本不一定要知道自身或者它在服务器上的位置,因为所有的链接最终都成为直接对页面自身的 JavaScript 调用。因此我们的代码能够很好的模块化。我们只需要保持 JavaScript 和 PHP 函数在同一个页面上即可,即使页面位置发生了变化也没有关系。

  扩展相册


下载下列文件至/usr/local/src/
apache(Unix平台最流行的WEB服务器平台)2.tar.gz
MySQL(和PHP搭配之最佳组合)-5.0.22.tar.gz
php(做为现在的主流开发语言)-5.1.2.tar.gz
解压缩:
#tar xvz(parallels的虚拟行平台)f apache(Unix平台最流行的WEB服务器平台)2.tar.gz
#tar xvz(parallels的虚拟行平台)f MySQL(和PHP搭配之最佳组合)-5.0.22.tar.gz
#tar xvz(parallels的虚拟行平台)f php(做为现在的主流开发语言)-5.1.2.tar.gz
 
#cd ..        //在/usr/local/目录下创建文件夹
# mkdir apache(Unix平台最流行的WEB服务器平台)
# mkdir MySQL(和PHP搭配之最佳组合)
# mkdir php(做为现在的主流开发语言)
 
//MySQL(和PHP搭配之最佳组合)安装过程
#cd ../MySQL(和PHP搭配之最佳组合)               //找到/usr/local/MySQL(和PHP搭配之最佳组合)文件夹
#groupadd MySQL(和PHP搭配之最佳组合)
#usseradd -g MySQL(和PHP搭配之最佳组合) MySQL(和PHP搭配之最佳组合)
 
#cd ../MySQL(和PHP搭配之最佳组合)-5.0.22       //找到/usr/local/src/MySQL(和PHP搭配之最佳组合)-5.0.22文件夹
#./configure --prefix=/usr/local/MySQL(和PHP搭配之最佳组合) --localstatedir=/var/lib/MySQL(和PHP搭配之最佳组合)/ --with-client-ldflags=-all-static --with-MySQL(和PHP搭配之最佳组合)d-ldflags=-all-static --with-MySQL(和PHP搭配之最佳组合)d-user=MySQL(和PHP搭配之最佳组合) --enable-assembler --with-extra-charsets=all
#make ; make install
 
/usr/local/MySQL(和PHP搭配之最佳组合)/bin/MySQL(和PHP搭配之最佳组合)_install_db //初始化MySQL(和PHP搭配之最佳组合)
                     //对MySQL(和PHP搭配之最佳组合)进行配置
#chown –R root /usr/local/MySQL(和PHP搭配之最佳组合)
#chown –R MySQL(和PHP搭配之最佳组合) /var/lib/MySQL(和PHP搭配之最佳组合)/
#chgrp –R MySQL(和PHP搭配之最佳组合) /usr/local/MySQL(和PHP搭配之最佳组合)
#cp support-files/my-medium.cnf /etc/my.cnf
 
/usr/local/MySQL(和PHP搭配之最佳组合)/bin/MySQL(和PHP搭配之最佳组合)d_safe –user=MySQL(和PHP搭配之最佳组合) &         //启动MySQL(和PHP搭配之最佳组合)
 
/usr/local/MySQL(和PHP搭配之最佳组合)/bin/MySQL(和PHP搭配之最佳组合)admin –u root –p password 123     //将密码改为123
enter password:
              
              //测试一下新密码
/usr/local/MySQL(和PHP搭配之最佳组合)/bin/MySQL(和PHP搭配之最佳组合) –u root –p MySQL(和PHP搭配之最佳组合)
enter password:                             //如果顺利的话就能进入MySQL(和PHP搭配之最佳组合)了.
      
                 
//apache(Unix平台最流行的WEB服务器平台)安装过程
./configure --prefix=/usr/local/apache(Unix平台最流行的WEB服务器平台) --enable-mods=shared=all --enable-module=so --disable-info
make
make install
 
apache(Unix平台最流行的WEB服务器平台)安装过程中,遇到libiconv.so.2的问题,解决方法如下:
ln –sf /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
 
//在窗口栏中敲入本机IP,如果出现着名的羽毛网页,就算成功了….
 
 
 
//php(做为现在的主流开发语言)安装过程
./configure --prefix=/usr/local/php(做为现在的主流开发语言) --with-MySQL(和PHP搭配之最佳组合)=/usr/local/MySQL(和PHP搭配之最佳组合) --with-apxs2=/usr/local/apache(Unix平台最流行的WEB服务器平台)/bin/apxs --enable-calendar --with-openssl=/usr/ --with-config-file-path=/usr/local/php(做为现在的主流开发语言)
make
make install
cp /usr/local/src/php(做为现在的主流开发语言)-5.1.2/php(做为现在的主流开发语言).ini-dist /usr/local/lib/php(做为现在的主流开发语言).ini
 
 
#cd usr/local/apache(Unix平台最流行的WEB服务器平台)/conf
//然后打开httpd.conf在相应的地方进行修改
AddType application/x-httpd-php(做为现在的主流开发语言) .php(做为现在的主流开发语言)
AddType application/x-httpd-php(做为现在的主流开发语言)-source .php(做为现在的主流开发语言)s
 
DocumentRoot "/usr/local/apache(Unix平台最流行的WEB服务器平台)/htdocs"
 
LoadModule php(做为现在的主流开发语言)5_module modules/libphp(做为现在的主流开发语言)5.so
 
//把测试的.php(做为现在的主流开发语言)文件放入/usr/local/apache(Unix平台最流行的WEB服务器平台)/htdocs/,在窗口栏中如能打开页面,则大功告成了
//常见问题1:ERROR 2002: Can't connect to local MySQL(和PHP搭配之最佳组合) server through socket '/var/lib/MySQL(和PHP搭配之最佳组合)/MySQL(和PHP搭配之最佳组合).sock
  ' (2)
//解决方法: 权限问题
chown -R MySQL(和PHP搭配之最佳组合) /var/lib/MySQL(和PHP搭配之最佳组合)/
//常见问题2:Warning: MySQL(和PHP搭配之最佳组合) Connection Failed: Can't connect to local MySQL(和PHP搭配之最佳组合) server
// through socket '/tmp/MySQL(和PHP搭配之最佳组合).sock' (111) in /home/httpd/html/show.php(做为现在的主流开发语言) on line 9
//解决方法: 将/tmp/MySQL(和PHP搭配之最佳组合).sock link 到 /var/lib/MySQL(和PHP搭配之最佳组合) 目录里即可:
linux# ln -s /var/lib/MySQL(和PHP搭配之最佳组合)/MySQL(和PHP搭配之最佳组合).sock /tmp/MySQL(和PHP搭配之最佳组合).sock
 
/**********************************************************
清除指定目录内的文件
**********************************************************/
function clean_dir($path)        {
        if (!is_dir($path))        {
                if (is_file($path))        {
                        unlink($path);
                }
                return;
        }
        $p=opendir($path);
        while ($f=readdir($p))        {
                if ($f=="." || $f=="..") continue;
                clean_dir($path.$f);
        }
        rmdir($path);
        return;
}
/**********************************************************
删除指定目录下所有文件与子目录
**********************************************************/
function DeltreeDir($dir)  {
$dir = realpath($dir);
        if (!$dir || !@is_dir($dir))
                return 0;
        $handle = @opendir($dir);
        if ($dir[strlen($dir) - 1] != DIRECTORY_SEPARATOR)
                $dir .= DIRECTORY_SEPARATOR;
        while ($file = @readdir($handle))    {
                if ($file != '.' && $file != '..')         {
                        if (@is_dir($dir . $file) && !is_link($dir . $file))
                                DeltreeDir($dir . $file);
                        else
                                @unlink($dir . $file);
                }
        }
        closedir($handle);
        @rmdir($dir);
} 在PHP邮件列表中问得最多的问题可能就是:“如何在我的Windows机器上安装PHP?”,那么也许我可以帮助回答这个问题。当你正确安装完成后,你会发现在Windows下开发PHP程序还是不错的。
 
  本教程的目的是向你展示如何用“Apache和Windows”的组合来开发PHP程序。
 
  教程中如未指明具体版本,则PHP为PHP3或PHP4 Beta 2或3,Apache为 1.3.x。
 
一、安装Apache
首先,你须要一个WEB服务器,我推荐Apache。先到htp://www.apache.org/dist看看。在这页上有世界范围的Apache镜像站点列表,找到离你最近的那个。Apache软件一般叫作apache_1_3_x.win32.exe。把它当到你机器里,运行它。它会问你将Apache安装到什么地方,你可以设为c:Apache,因为马上你就要修改它的配置文件。如果安装没出什么错的话,Apache就可以用了。有很多readme文件可供参考,但仅有一个文件是讲Win32平台的,包括Window 9x和Windows NT。
 
二、安装PHP
这个问题在PHP邮件列表中出现的次数太多了。你需要安装最新的Windows版的PHP。你也许会想到你自己去编译PHP3,但我认为对于一般的开发目的,这不需要。PHP也有遍布全世界的镜像站点(中国似乎没有)。选择一个镜像,找到下载区域,选择“Source code and Windows distribution”,下载“Windows Binary”。你只须要将当下来的文件Unzip(WinZip就挺好的)到你喜欢的目录中,如C:PHP4B3.我推荐用版本号作为目录名,这样将来你试用更新版本时,无须删掉老的版本。
 
在Windows 95/97下安装PHP4 Beta,需要有DCOM的支持。如果你的机器上未装, 到这里去下载一份。
 
三、配置PHP
与PHP一起分发的文件包里有一个Readme文件,里面讲述了如何配置。有一个文件名为PHP.INI-dist,它是PHP的主要配置文件。将它拷贝到你的Windows系统目录(Windows 9x的Windows或Windows NT的WinNT目录),并且改名为PHP.INI。需要对此文件作适当的修改,最主要的事情是加入一些可能要用到的模块,象MySQL等。在PHP.INI文件中找到象下面的这一节内容:
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; if you wish to have an extension loaded automaticly, use the
; following syntax: extension=modulename.extension
; for example, on windows,
; extension=msql.dll ; or under UNIX,
[!--infotagslink--]

相关文章

  • IntelliJ IDEA2021.1 配置大全(超详细教程)

    这篇文章主要介绍了IntelliJ IDEA2021.1 配置大全(超详细教程),需要的朋友可以参考下...2021-04-18
  • Windows VPN服务器配置图文教程 超详细版

    VPN可以虚拟出一个专用网络,让远处的计算机和你相当于处在同一个局域网中,而中间的数据也可以实现加密传输,用处很大,特别是在一些大公司,分公司处在不同的区域。...2016-01-27
  • PHP7快速编译安装的步骤

    编译安装非常的简单了我们现在的php版本已经到了php7了,下文小编来为各位介绍一篇关于PHP7快速编译安装的步骤,希望文章能够帮助到各位。 一、安装必要一些依赖 yum...2016-11-25
  • Tomcat配置及如何在Eclipse中启动

    这篇文章主要介绍了Tomcat配置及如何在Eclipse中启动,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-04
  • Laravel4安装配置的方法

    如果我们需要安培Laravel4的话最php最低要求要在php5.3.7版本并且我们需要把mcrypt与openss这两个扩展开启才可以,具体步骤我们参考下文。 前面我们介绍我了 com...2016-11-25
  • Rstudio中安装package出现的问题及解决

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • 详解Maven profile配置管理及激活profile的几种方式

    这篇文章主要介绍了详解Maven profile配置管理及激活profile的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-26
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • IDEA如何添加配置文件到classpath中

    这篇文章主要介绍了IDEA如何添加配置文件到classpath中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-19
  • vscode安装git及项目开发过程

    这篇文章主要介绍了vscode安装git及项目开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-19
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31
  • 部署PHP时的4个配置修改说明

    以下就是部署PHP时的4个配置修改说明,大家一个一个进行学习研究。1、short_open_tag 是什么呢? 决定是否允许使用代码开始标志的缩写形式(<&#63; &#63;> )。如果要和 XML 结合使用PHP,可以禁用此选项以便于嵌入使用<&#63;x...2015-10-21
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • Node调试工具JSHint的安装及配置教程

    现在我们介绍一种在Node下检查简单错误的JS代码验证工具JSHint。  JSHint的具体介绍参考http://www.jshint.com/about/,说直白点儿,JSHint就是一个检查JS代码规范与否的工具,它可以用来检查任何(包括server端和client端...2014-05-31
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • 华为畅享20Pro配置怎么样?华为畅享20Pro参数配置分析

    华为畅享20Pro配置怎么样?对于即将上市的华为畅享20 Pro手机,很多的网友们也是相当关注的,大家都想要知道这款华为畅享20 Pro手机的配置到底怎么样,赶紧看看吧...2020-06-29
  • 在PyCharm中安装PaddlePaddle的方法

    这篇文章主要介绍了在PyCharm中安装PaddlePaddle的方法,本文给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-05
  • Vue-Router的routes配置详解

    在使用vue-router的项目中,实例化VueRouter是其配置选项routes该选项指定路由与视图的组件的关系或者路由与其他路由的关系,Router配置选项中是其中最重要的配置。本文就详细的介绍一下...2021-10-25