现在开始搭建lamp环境。
大家都知道lamp是什么意思,我一开始不知道,所以还是啰嗦一下。
          Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件
开始安装:主要参考文章http://www.linuxdiyf.com/bbs/vie ... ache%2B%B0%B2%D7%B0
         该文章有人评论说顺序不能改,这个我就不知道了
1:安装环境
   fedora 16
   httpd-2.4.1.tar.gz
   mysql-5.5.21-linux2.6-i686.tar.gz
   php-5.4.0.tar.gz
2:安装mysql
   我用的是二进制源码包,直接解压就可以用
   tar zxvf   mysql-5.5.21-linux2.6-i686.tar.gz
   mv mysql-5.5.21-linux2.6-i686/* /usr/local/mysql
    scripts/mysql_install_db --user=root   我的mysql_install_db 在scripts目录且必须用如左命令,进入scripts后使用命令好像不行
    结果如下

 

进入support-files复制配置文件
    cp my-medium.cnf /etc/my.cnf
    启动mysql以及登录结果如下图

 

 

 修改root密码以及自动启动mysql
    ./mysqladmin -uroot password 111111
    [root@localhost support-files]# cp mysql.server /etc/rc.d/init.d/mysqld
    [root@localhost support-files]# chkconfig --add mysqld
    [root@localhost support-files]# service mysqld start
    Starting MySQL SUCCESS!
    [root@localhost support-files]#
    至此成功  
    备注:在设置mysql用service mysqld start 出现了这个问题
    [root@localhost init.d]# service mysqld start
Starting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.pid).

  上网搜了解决办法,是这么解决的。
   /etc/init.d/mysqld  这个文件进修改 在start 模块
   $bindir/mysqld_safe --user=root --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &

  添加了 --user=root ,  然后就可以了。
  但是在任何一个地方直接用mysql -u root -p 命令进入数据库mysql命令无法识别,我记得以前这样是可以的,现在不知道如何解决了
  再给几个命令
  ----------------------------------修改MySQL密码----------------------------------
# /usr/local/mysql/bin/mysqladmin -uroot password mysqlsecret //修改密码
----------------------------------关闭MySQL服务----------------------------------
# /usr/local/mysql/bin/mysqladmin -uroot -pmysqlsecret shutdown //关闭MySQL

查看端口
  netstat -anp|grep LISTEN 查看3306端口是否在监听中,来确定mysql是否启动了
  
3:安装apache
   tar zxvf  httpd-2.4.1.tar.gz
   cd httpd-2.4.1
  ./configure --prefix=/usr/local/apache \
> --enable-module=most \
> --enable-shared=max
   make
   make install
  我出现checking for APR... no 
  网上说缺apr和apr-util那么下载安装
  apr-1.4.6.tar.gz    apr-util-1.4.1.tar.gz
  安装apr
  ./configure 
  make && make install
安装apr-util
./configure --with-apr=/usr/local/apr
make && make install
  重新安装apache
  又显示缺少pcre 那就下载安装pcre
  pcre-8.30.tar.gz
  ./configure
   出现一下问题

 libtool: ignoring unknown tag CXX
   libtool: unrecognized option `-DHAVE_CONFIG_H'
   Try `libtool --help' for more information.
    make[1]: *** [pcrecpp.lo] Error 1
   make[1]: Leaving directory `/soft/pcre-7.9'
   make: *** [all] Error 
   在网上搜了一下啊,说是没有安装gcc-c++ 我又安装了gcc-c++   yum install gcc-c++
   之后就可以了
   现在重新安装apache 就可以了
    ----------------------------------启动Apache服务----------------------------------
# /usr/local/apache/bin/apachectl start

  输入网址localhost  显示 it works  说明apache安装成功


----------------------------------关闭Apache服务----------------------------------
# /usr/local/apache/bin/apachectl stop
----------------------------------重启Apache服务----------------------------------
# /usr/local/apache/bin/apachectl restart
    apache以服务的方式启动。
    cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
    要添加服务,一般通过chkconfig --add xxx来实现,但需要脚本中有相应的信息才行,否则chkconfig就会提示:xxx 服务不支持 chkconfig。
     所以我们首先编 辑httpd脚本,在第2行添加如下注释信息: 
  # chkconfig: 35 61 61  
  # description: Apache
  第一行的3个参数意义分别为:在哪些运行级别启动httpd(3,5);启动序号(S61);关闭序号(K61)。注意:第二行的描述必须要写!
  保存后执行:chkconfig --add httpd
      这样就可以 service httpd  stop  start restart 的方式启动了
4:安装php(因为以后有修改,请看最终版本)
   tar zxvf php-5.4.0.tar.gz
   cd php-5.4.0
   ./configure --prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-apxs2=/usr/local/apache/bin/apxs


  出现以下问题:
  checking libxml2 install dir... no
checking for xml2-config path... 
configure: error: xml2-config not found. Please check your libxml2 installation.

   我使用yum install libxml2 
yum install libxml2-devel 安装就行了也可以自己下载然后再安装。
   重新安装php
   ./configure --prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-apxs2=/usr/local/apache/bin/apxs
--with-zlib  \
--with-libxml-dir=/usr/lib
--enable-sockets                                     //对于以后安装cacti有帮助,否则会出现The following PHP extensions are missing:sockets Please                                                                                                                                                                                          
                                                                  //   install those PHP extensions and retry这个问题                                                           
  然后
  make 
  make install
  在make与make install 中出现make test 执行make test 命令后(这个命令执行时间较长),出现错误,我没管
然后修改配置文件。
备注:--with-libxml-dir=/usr/lib这一行必须有,否则页面无法显示。如果你是下载安装的libxml2.tar.gz  libxml2-devel
,且libxml2安装在/usr/local/libxml则修改为--with-libxml-dir=/usr/local/libxml2
如果你是用yum install libxml2 libxml2-devel 则libxml2应该在/usr/lib 下,如上。

这是又修改的,安装一些插件后,我的最终版本是


  a:在安装包目录下
  # cp php.ini-dist /usr/local/php/lib/php.ini
  对于这一个命令在php的解压安装包中没有
  php.ini-dist,变成了php.ini-development
  b:配置apache配置文件/usr/local/apache/conf/httpd.conf
     *在LoadModule处添加 LoadModule php5_module module/libphp5.so  (备注:我的httpd.conf中就有,所以不用写,添加前,先查看一下)

 

*在DirectoryIndex处添加 index.php
     *在AddType application处添加
     AddType application/x-httpd-php .php .phtml
     AddType applicatoin/x-httpd-php-source .phps (注意两个参数之间的空格)
     还有两个地方说明一下

 

   在serveradmin处修改一下
    在Documentroot 处是你编写的php文件放置的位置,这样可以在网页中显示
5:php测试
    在/usr/local/apache/htdocs 目录下编写index.php文件
   内容为
   <?php
    phpinfo();
?>
  在浏览器中输入localhost/index.php 显示如下

 

或者输入内容
  <?php
    echo "aaa";
   ?>
   在浏览器中输入localhost/index.php 显示如下
  aaa
  这样就成功了。

   备注:很多php启动不了或着其他原因是/usr/local/apache/conf/httpd.conf  文件没有配置好。并且httpd.conf文件有可能被其他程序修改
   所以要注意。
   比如无缘无故出现以下问题
   403 Forbidden:You don't have permission to access / on this server.
   这是因为在httpd.conf 文件中,某个目录或者文件出现denie  比如我的问题是
  <Directory "/usr/local/apache/htdocs">
  Require all granted
</Directory>
require 一行被注释了。 把注释去掉就可以了。