linux下Apache、Mysql与php的安装配置

原创 2012年01月02日 14:48:41

        说点废话:在linux中,Apache、mysql与php合起来称之为LAMP,Apache是linux比较常用的服务器,而mysql则是linux中流行的数据库,php则是流行的编程语言。要想学习好linux服务器方面的知识,最最基础的就是要安装这三个软件。在windows下,安装这三个软件是一键式的,直接去下载wamp的软件包,安装,就可以配置好。但是在linux下面安装还是比较麻烦,特别是对于我这种菜鸟,更是花了很多时间。废话到此为止,下面介绍详细的安装步骤,我的linux系统是fedora9,别的系统安装应该一样。

1、下载LAMP所需要的安装包:       

          httpd-2.2.9.tar.gz;                                           //这是Apache服务器的源码包

          mysql-5.0.41.tar.gz;                                        //这是mysql数据库的源码包

          php-5.2.6.tar.gz;                                             //这个是php的源码包

          phpMyAdmin-3.0.0-rc1-all-languages.tar.gz;   //这个是数据库管理软件的源码包,以图形界面的方式登录、创建、修改数据库

          libxml2-2.6.30.tar.gz;                                       //php5需要的库文件

          libmcrypt-2.5.8.tar.gz;                                      //安装GD2前,需要安装此库文件

          zlib-1.2.3.tar.gz;                                               //安装GD2前,需要安装此库文件

          gd-2.0.35.tar.gz;                                               //让php5支持GIF、PNG、JPEG等格式图片

          Autoconf-2.61.tar.gz;                                        

          freetype-2.3.5.tar.gz;                                        //安装GD2前,需要安装此库文件

          libpng-1.2.31.tar.gz;                                          //安装GD2前,需要安装此库文件

          jpegsrc.v6b.tar.gz;                                            //安装GD2前,需要安装此库文件

          ZendOptimizer330a.tar.gz                                  //php加速器,提高网页浏览速度

2、将这些源码包copy到/usr/local/src/目录下,并用tar -xvz -f 命令解压到src目录下。

3、检查操作系统是否安装了gcc,检查方式是输入:gcc -v 命令,下面会显示gcc版本,如果没有安装gcc,得先安装gcc。

4、卸载默认的低版本环境:

1)卸载Apache以及相关软件包:

[root@localhost local]# rpm -qa|grep -i httpd
httpd-tools-2.2.8-3.i386
httpd-2.2.8-3.i386
system-config-httpd-1.4.4-1.fc8.noarch
httpd-manual-2.2.8-3.i386
 上面是查看与httpd相关的软件包,然后一一卸载,注意在卸载的过程中,可能出现包依赖,导致无法卸载,那么应该先卸载依赖的包,卸载是从下网上卸载。

[root@localhost local]# rpm -e httpd-manual-2.2.8-3.i386 --nodeps
[root@localhost local]# rpm -e system-config-httpd-1.4.4-1.fc8.noarch --nodeps
[root@localhost local]# rpm -e httpd-2.2.8-3.i386 --nodeps
[root@localhost local]# rpm -e httpd-tools-2.2.8-3.i386 --nodeps
2)卸载mysql以及相关软件包:

同卸载apache一样,先查看相关软件包,在卸载

3)卸载php以及相关软件包:

卸载apache一样,先查看相关软件包,在卸载

注意:这是卸载系统中用rpm安装的包,当你要卸载你以前用源码安装的包,只需要把安装包所在文件目录删除就可以。

5、安装PHP5需要的库文件

1)安装libxml2最新库文件:

[root@localhost src]# cd libxml2-2.6.30
[root@localhost libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2         //设置安装路径

[root@localhost libxml2-2.6.30]# make                                            //编译
[root@localhost libxml2-2.6.30]# make install                                    //安装
2)安装libmcrypt库文件:

[root@localhost src]# cd libmcrypt-2.5.8
[root@localhost libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt 
      [root@localhost libxml2-2.6.30]# make                                            //编译   
      [root@localhost libxml2-2.6.30]# make install                                    //安装
安装完libmcrypt库后,不同的linux版本可能还要安装下libltdl库:

[root@localhost libmcrypt-2.5.8]# cd /usr/local/src/libmcrypt-2.5.8/libltdl/
[root@localhost libltdl]# ./configure --enable-ltdl-install
      [root@localhost libxml2-2.6.30]# make                                            //编译
      [root@localhost libxml2-2.6.30]# make install                                    //安装

            3)安装zlib库

[root@localhost src]# cd zlib-1.2.3

[root@localhost zlib-1.2.3]# ./configure --prefix=/usr/local/zlib
      [root@localhost libxml2-2.6.30]# make                                            //编译
      [root@localhost libxml2-2.6.30]# make install                                    //安装
 安装成功后,在后面安装php5时,在configure命令的选项中,加上“--with-zlib-dir=/usr/local/zlib”,指定zlib库文件位置。

4)安装libpng库文件

[root@localhost src]# cd libpng-1.2.31

[root@localhost libpng-1.2.31]# ./configure --prefix=/usr/local/libpng
      [root@localhost libxml2-2.6.30]# make                                            //编译
      [root@localhost libxml2-2.6.30]# make install                                    //安装
5)安装jpeg6库文件

由于安装jpeg6时候,不能自动创建需要目录,所以需要先手动创建目录:

[root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6

[root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6/bin
[root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6/lib
[root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6/include
[root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6/man/man1
     mkdir: 无法创建目录 “/usr/local/jpeg6/man/man1”: 没有那个文件或目录
[root@localhost libpng-1.2.31]# mkdir -p /usr/local/jpeg6/man/man1
然后再安装:

[root@localhost src]# cd jpeg-6b

[root@localhost jpeg-6b]# ./configure \
> --prefix=/usr/local/jpeg6/ \
> --enable-shared \
> --enable-static
[root@localhost libxml2-2.6.30]# make                                            //编译
[root@localhost libxml2-2.6.30]# make install                                    //安装
在进行编译的时候,如果提示:make: Nothing to be done for `all'.表示已经编译过了,直接安装即可。

6)安装freetype库文件

[root@localhost src]# cd freetype-2.3.5
[root@localhost freetype-2.3.5]# ./configure --prefix=/usr/local/freetype
      [root@localhost libxml2-2.6.30]# make                                            //编译
      [root@localhost libxml2-2.6.30]# make install                                    //安装
7)安装autoconf库文件

[root@localhost src]# cd autoconf-2.61
[root@localhost autoconf-2.61]# ./configure
      [root@localhost libxml2-2.6.30]# make                                            //编译
      [root@localhost libxml2-2.6.30]# make install                                    //安装

8)安装GD库文件

[root@localhost gd-2.0.35]# ./configure \

> --prefix=/usr/local/gd2 \
> --with-zlib=/usr/local/zlib/ \
> --with-jpeg=/usr/local/jpeg6/ \
> --with-png=/usr/local/libpng/ \
> --with-freetype=/usr/local/freetype/
      [root@localhost libxml2-2.6.30]# make                                            //编译
      [root@localhost libxml2-2.6.30]# make install                                    //安装
6、安装配置Apache服务器

 1)安装Apache服务器

[root@localhost home]# cd /usr/local/src/httpd-2.2.9

[root@localhost httpd-2.2.9]# ./configure \               
> --prefix=/usr/local/apache2 \
> --sysconfdir=/etc/httpd \                     //指定Apache服务器配置文件存放位置
> --with-z=/usr/local/zlib/ \                     //指定zlib库文件位置
> --with-included-apr \                            //使用捆绑APR/APR-Util的副本
> --disable-userdir \                                //请求的映像到用户特定目录
> --enable-so \                                        //以动态共享对象编译
> --enable-deflate=shared \                     //缩小传输编码的支持
> --enable-expires=shared \
> --enable-rewrite=shared \
> --enable-static-support                       //建立一个静态链接版本的支持
            [root@localhost libxml2-2.6.30]# make                                            //编译
            [root@localhost libxml2-2.6.30]# make install                                    //安装

 检查安装的文件、查看配置文件httpd.conf和extra子目录是否存在、启动Apache服务器、查看80端口是否打开:

[root@localhost apache2]# ls
bin    cgi-bin  htdocs  include  logs  manual
build  error    icons   lib      man   modules
[root@localhost apache2]# ls /etc/httpd/httpd.conf 
/etc/httpd/httpd.conf
[root@localhost httpd]# ls extra/
httpd-autoindex.conf  httpd-languages.conf           httpd-ssl.conf
httpd-dav.conf        httpd-manual.conf              httpd-userdir.conf
httpd-default.conf    httpd-mpm.conf                 httpd-vhosts.conf
httpd-info.conf       httpd-multilang-errordoc.conf
[root@localhost httpd]# netstat -tnl|grep 80
tcp        0      0 :::80                       :::*                        LISTEN  
在浏览器中输入:http://localhost/访问Apache服务器,出现“It works!”的页面,表示Apache能够正常运行。
2)配置Apache服务器
a、 将Apache配置为系统服务:
[root@localhost httpd]# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
[root@localhost httpd]# vi /etc/rc.d/init.d/httpd
在用vi打开的httpd中,在#!/bin/sh下增加两行文字,如下:
# description: http server
# chkconfig: 235 98 98

然后,注册和启动该服务:
[root@localhost httpd]# chkconfig --add httpd
[root@localhost httpd]# service httpd start
httpd (pid 21099) already running
注意:在安装过程中,要把SELINUX关闭,不然的话,会引起"Cannot load /usr/local/apache/modules/libphp5.so"错误。
b、修改/etc/httpd/http.conf文件(因为安装过程是将apache配置文件放在/etc/httpd/目录下):
一、找到:#ServerName www.example.com:80(#:表示注释掉了),在下面一行,添加自己虚拟机的IP地址,我的是:192.168.1.104,所以添加:ServerName 192.168.1.104:80;
二、找到:DocumentRoot "/usr/local/apache2/htdocs",这个是存放网页的默认目录,如果你不想把网页存放在htdocs下,可以重新建立个目录,并修改这个路径;
三、找到:DirectoryIndex,这个是网站的默认页,改为:DirectoryIndex index.html index.html.var index.php。
c、将Apache设置为开机启动:
[root@localhost httpd]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local 
注意:修改完配置之后,一定要重启Apache服务器,才能生效。
7、安装配置Mysql
1)安装mysql      
步骤一:为mysql增加一个登录用户和用户组,用户和用户组名为:mysql。如果是别的名称,那么下面的步骤也要替 换为相应的名称。
[root@localhost mysql-5.1.30]# groupadd -r mysql
[root@localhost mysql-5.1.30]# useradd -m -r -g mysql -d /var/lib/mysql -s /bin/bash \
> -c "MySQL Server" mysql
注意:如果有用户名和组,应该先删除掉,然后再添加,尽量不要出现警告。  
步骤二:配置、安装
[root@localhost mysql-5.1.30]# ./configure --prefix=/usr/local/mysql \
> --sysconfdir=/etc \                                                   //指定配置文件存放目录
> --localstatedir=/var/lib/mysql \                                      //指定数据库文件存放目录
> --enable-local-infile \
> --with-extra-charsets=all                                             //安装所有字符集
[root@localhost mysql-5.1.30]# make
[root@localhost mysql-5.1.30]# make install
2)配置mysql
步骤一、创建mysql授权表:
[root@localhost mysql-5.1.30]# cd /usr/local/mysql
[root@localhost mysql]# /usr/local/mysql/bin/mysql_install_db --user=mysql
步骤二、修改数据库权限:
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql:mysql /var/lib/mysql
步骤三、复制配置文件:
[root@localhost mysql]# cp /usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf
        注意:复制配置文件之前一定要先创建授权表,不然会报:“skip federate”的错误,但是还是要到my.cnf里面注释掉skip-federated。
步骤四、复制启动脚本,并改名为mysql:
[root@localhost mysql]# cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
步骤五、添加mysql到系统服务中:
[root@localhost mysql]# chkconfig --list | grep mysql
mysql          	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭
[root@localhost mysql]# chkconfig --add mysql
[root@localhost mysql]# chkconfig --list | grep mysql
mysql          	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭
[root@localhost mysql]# chkconfig --level 35 mysql on
[root@localhost mysql]# alias mysql=/usr/local/mysql/bin/mysql
步骤六、启动mysql:
如果不注释掉“skip-federated”的话,就会出现错误:Starting MySQL..Manager of pid-file quit without updating f[失败]。这个时候不要惊慌,可以首先打开日志文件:
[root@localhost mysql]# vi var/localhost.localdomain.err 
120101 20:56:55 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var
^G/usr/local/mysql/libexec/mysqld: File './mysql-bin.index' not found (Errcode: 13)
120101 20:56:55 [ERROR] Aborting


120101 20:56:55 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete


120101 20:56:55 mysqld_safe mysqld from pid file /usr/local/mysql/var/localhost.localdomain.pid ended
120101 21:02:33 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var
120101 21:02:34 [ERROR] /usr/local/mysql/libexec/mysqld: unknown option '--skip-federated'
120101 21:02:34 [ERROR] Aborting

发现,有两个错误。第一个错误是因为没有找到“mysql-bin.index”这个文件,但是我们用find命令查找,发现有这个文件,这个时候,我们看看第二个错误,原来是因为没有注销掉skip-federated,先把第二个错误解决,再看能不能启动。

结果,注释掉之后,就不会出现错误了。正确的启动为:

[root@localhost mysql]# service mysql start
Starting MySQL..                                           [确定]
注意:还有可能出现一个错误,那就是3306端口被占用了,这个时候启动也会出现错误,错误不要怕,看日志文件能够解决很多问题。
关于怎么关闭端口,这里说一下:
[root@localhost mysql]# netstat -anp|grep 3306        //查看端口对应的进程
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1649/mysqld 
[root@localhost mysql]# kill -9 3306
步骤七、查看一下版本号、信息等:
[root@localhost mysql]# bin/mysqladmin version       //查看版本
[root@localhost mysql]# bin/mysqladmin variables     //查看参数
步骤八、增加访问权限、删除匿名用户:
[root@localhost mysql]# bin/mysql -u root           //没有密码就可以直接登录本机服务器
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';//删除匿名用户,提高安全性
Query OK, 1 row affected (0.05 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');//为root账户设置密码
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye
[root@localhost mysql]# bin/mysql -u root -h localhost -p
Enter password: 
步骤九、将登录mysql路径添加进系统环境变量:
用vi打开:/root/.bashrc在最下面空行处添加:export PATH=$PATH:/usr/local/mysql/bin/

8、安装配置PHP

1)配置安装php

[root@localhost src]# cd php-5.2.8
[root@localhost php-5.2.8]# ./configure \
> --prefix=/usr/local/php \
> --with-config-file-path=/usr/local/php/etc \
> --with-apxs2=/usr/local/apache2/bin/apxs \
> --with-mysql=/usr/local/mysql/ \
> --with-libxml-dir=/usr/local/libxml2/ \
> --with-png-dir=/usr/local/libpng/ \
> --with-jpeg-dir=/usr/local/jpeg6/ \
> --with-freetype-dir=/usr/local/freetype/ \
> --with-gd=/usr/local/gd2/ \
> --with-zlib-dir=/usr/local/zlib/ \
> --with-mycrypt=/usr/local/libmcrypt/ \
> --with-mysqli=/usr/local/mysql/bin/mysql_config \
> --enable-soap \
> --enable-mbstring=all \
> --enable-sockets
[root@localhost mysql-5.1.30]# make
[root@localhost mysql-5.1.30]# make install
2)创建配置文件到指定配置文件目录中:
[root@localhost php-5.2.8]# cp php.ini-dist /usr/local/php/etc/php.ini
3)修改PHP配置文件:
[root@localhost php-5.2.8]# vi /usr/local/php/etc/php.ini 
打开后,找到:;default_charset = "iso-8859-1"这一行,在这一行的下一行增加:default_charset = "gb2312"
然后,找到:;extension=php_mysql.dll;extension=php_mysqli.dll这两行,把这两行的分号去掉。
4)添加Apache对PHP支持:
[root@localhost php-5.2.8]# gedit /etc/httpd/httpd.conf
打开后,找到:#AddType application/x-tar .tgz这一行,然后在下面一行添加:“AddType application/x-httpd-php .php .phtml”(不要#号)。这是告诉Apache将哪些后缀解析为php。修改完成后要重启Apache服务器。
9、安装加速器
为了提高PHP程序的运行速度,可以安装Zend加速器:
[root@localhost src]# cd ZendOptimizer-3.3.0a-linux-glibc21-i386
[root@localhost ZendOptimizer-3.3.0a-linux-glibc21-i386]# ./install.sh 
执行上面两句后,会出现Zend的安装界面:
在第一个界面里面,直接点击“OK”按钮;
第二个界面直接点击“EXIT”按钮;
第三个界面直接点击“Yes”按钮;
第四个界面是Zend安装的路径,直接点击“OK”就行,用默认的路径;
第五个界面要输入“php.ini”路径,在里面输入:/usr/local/php/etc 然后点击“OK”就行;
第六个界面会问是否使用Apache服务器,选择“Yes”;
第七个界面会出现Apache的路径,直接点击"ok"就行;
最后几个界面直接按键盘上的“Enter”键就行。
10、安装phpMyAdmin
[root@localhost src]# cp -a phpMyAdmin-3.0.0-rc1-all-languages /usr/local/apache2/htdocs/phpmyadmin
[root@localhost src]# cd /usr/local/apache2/htdocs/phpmyadmin/
[root@localhost phpmyadmin]# cp config.sample.inc.php config.inc.php
phpMyAdmin安装比较简单,直接把解压包复制到apache服务器的htdocs目录下,然后改名,最后还得创建php的配置文件。

在使用phpMyAdmin之前,需要先配置下:
phpMyAdmin是mysql数据库管理软件,登录数据库需要身份验证,这里提供三种验证模式,所有的验证模式均是改变config.inc.php的配置文件。
1)HTTP身份验证:
[root@localhost phpmyadmin]# vi config.inc.php 
登录后,只需要修改:
$cfg['Servers'][$i]['auth_type'] = 'http';//只需要把这一行改成http就行了。
2)cookie身份验证:
$cfg['blowfish_secret'] = 'xxxxxx';//这里添加任意的字符串
$cfg['Servers'][$i]['auth_type'] = 'cookie';//这里修改为cookie身份验证
3)config身份验证:
$cfg['Servers'][$i]['auth_type'] = 'config';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
//添加下面两行
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '123456';
11、综合测试
(1)php和Apache的测试:
vi建立一个test.php的文件:
[root@localhost phpmyadmin]# vi /usr/local/apache2/htdocs/test.php
在里面输入:
<?php
phpinfo();
?>

这样就表明成功了。在这个下面,还可以看Zend是否安装成功噢,如果出现:

这样就表明安装加速器成功了噢。
(2)mysql、php和apache的综合测试:
[root@localhost ~]# vi /usr/local/apache2/htdocs/testsql.php 
<html>
<head>
  <title>MySQL Test</title>
</head>
<body>
<h1>MySQL Test</h1>

<?php
   echo '<p>1</p>';
   $link = mysql_connect('192.168.1.104','root','123456');
   echo '<p>2</p>';
?>
</body>
</html>
用浏览器打开,发现无法连接上:

这个是因为mysql默认的是localhost域才能有权限登录,如果将ip地址改为localhost域就可以。解决方法如下:
在浏览器里面登录进入mysql:http://192.168.1.104/phpmyadnin/index.php(不过不能用ip地址进入,那就在虚拟机里面用:http://localhost/phpmyadmin/index.php),修改权限:

改为:

这样,再登录就可以了:


     至此,已经完成了整个LAMP的安装配置,在配置过程中,可能每个人遇到的问题不一样,遇到问题时候,不要害怕,先看看日志文件,哪里出错了,然后再google一下,就能找到错误原因和解决方法了。要相信,遇到的错误别人肯定也遇到过。



































       















           

相关文章推荐

Linux MySql+Php详细配制

转自:http://www.jb51.net/article/23255.htm 无意中还找到了CentOS的专业论坛,记住:http://www.centospub.com  于是,开始的学习配...
  • geek87
  • geek87
  • 2013年08月20日 00:03
  • 5450

linux配置mysql并用php进行连接

linux配置mysql并用php进行连接

linux下apache+php搭建配置记录

第1章  环境说明 1.1 系统说明 Centos 6.2 (最小化安装) 1.2 软件说明 httpd-2.4.2.tar.gz apr-util-1.4.1.tar.gz apr-1....
  • yincg
  • yincg
  • 2013年04月10日 13:20
  • 48851

Linux安装php-7.0.16,完成php和apache的配置

Linux安装php-7.0.16,完成php和apache的配置

Linux下Apache和PHP的安装与配置

Linux下Apache和PHP的安装与配置 准备工作:httpd-2.2.21.tar.gz,

Linux下Apache+mysql+PHP运行环境搭建教程

环境: lamp服务器: RHEL5.2(kernel2.6.18),iptables stop .selinuxdisabled.lamp主机IP地址是192.168.0.21.已经在DNS...

Linux下Apache和PHP安装

1. Apache的安装 Apache的官网 : http://httpd.apache.org/ apache版本: 2.4.9 2. 下载Apache 先从官网下载...

Linux配置apache支持php

Linux配置apache支持php 博客分类: Linux ApachePHPLinuxMySQLWeb  1.apache已经linux存在,查看apache版本信息及安装目录...

Linux Apache PHP编译配置

1、下载Apache Web服务器源码及相关依赖库 进入http://www.apache.org ,选择一个服务器下载相关的源码。这里请注意:apache其实是一个基金会名称,旗下有很多开源项目,a...

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。 1.   最基本的算法是,从小到大遍历: for (i = 2 to A -1)          if (i * B > A)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux下Apache、Mysql与php的安装配置
举报原因:
原因补充:

(最多只允许输入30个字)