2,541   Apache Linux MySQL RedHat

本来对linux就不熟悉啦,还要在上面搭建LAMP,足足一个星期才搭好,以此文章来记录这艰难的过程。

因为没弄好,于是各种百度谷歌,网上还挺多资料的,但我只能说是多,至于可行性的话,就另当别论了。首先,linux系统版本不同,apache、mysql、php版本也不同,再者,在安装过程中少一步或者错一步都会出现问题,所以直接复制别人的命令,估计十有八九会被各种error、warning搞昏头。

悲剧的我就是这样,刚开始直接照搬别人的方法,结果弄了两天,只搭好apache和mysql,后来还发现apache是系统的集成啊,压根不是我装上的,心都凉了。好吧,口水太多,言归正传。

首先,说说LAMP的安装顺序。网上大部分顺序是先装linux系统(废话),apache,mysql,最后装php。为什么这样了,个人理解是php最后安装时需要与apache与mysql连接,就是设置php能够在apache上运行,同时能连接mysql。我就是按照这样的顺序来安装的。

然后,还得说一下我的服务器是redhat5.6,安装时它会提示你选择何种应用,有软件开发、服务器等,第一次装时我选择了服务器,结果它帮我安装了apache和php,这个是我在安装apache和php时发现的,坑爹啊。后来我重装了redhat系统,没有选择应用,就是纯净系统一样。这个有个不好地方是,有些服务器需要的包要自己手动安装,这个是后话

1,安装apache,版本httpd-2.2.23.tar.bz2,这个在官网上有得下载,自己挑个合适的版本:http://httpd.apache.org/download.cgi

首先,看看redhat系统是否安装了apache,

#rpm -qa|grep httpd  // rpm命令自己百度去行; httpd就是指apache,网上说是与历史有关;

如果没提示就没安装,有提示

httpd-manual-2.0.40-21
httpd-2.0.40-21

那就有安装,一个个卸载吧。

#rpm -e xxxxxxxxx.rpm  // 卸载会检查的依赖性

#rpm -e –nodeps xxxxxxxx.rpm // 卸载不检查的依赖性

卸载有个问题,就是包的依赖性,你卸载这个,但另外一个包在用到,所以不得不把另外一个包也卸载,卸载会有风险,可能其他包要用但没找到这个包就会报错,怎么办了。网上说不启动系统的apache就行了,本人没试过,我选择了另一种方式就是重装redhat,然后没有选择用途,就是纯净的系统,没有安装apache。这个是我后来才发现。

重装系统后,没有安装apache,那就自己用源码安装吧。

#tar -xjf httpd-2.2.23.tar.bz2 //解压

#cd http-2.2.23 //进入目录

# ./configure –prefix=/usr/local/httpd –enable-modules=so –enable-rewrite   //–prefix=/usr/local/httpd, 配置apache安装路劲, –enable-modules=so –enable-rewrite 一些基本配置

#make //编译,如果没有提示error的话,就接着下一步,如果有提示错误就见招拆招吧

#make install //安装

顺利安装后后,启动apache,

# /usr/local/httpd/bin/apachectl start // 这个启动方式自己安装的apache,系统安装的是service httpd start ,显然我这里使用第一中方法。

查看apache是否已经启动

#netstat -nltup|grep httpd

@]AK)8KSO75NA2U)S7F(_TH

提示80端口被httpd使用过程中

停止apache

# /usr/local/httpd/bin/apachectl start

查看apache是否停止

#netstat -nltup|grep httpd // 停止了就不会显示80端口被httpd使用

在本机浏览器输入http://localhost,在apache启动情况下,会显示It works!

dg

系统安装的apache,默认根目录在/var/www/html;自己安装的apache,默认根目录在/usr/local/httpd/htdocs, 有个index.html, 写着It works;需要修改根目录的,自己编辑httpd.conf

#vim /usr/local/httpd/conf/httpd.conf //编辑httpd.conf

在#ServerName www.example.com:80,下面增加

ServerName locahost:80

将 DocumentRoot “/usr/local/httpd/htdocs” 注释,即在前面加 # 号;

然后在下面增加

DocumentRoot “/var/www/html”

接着,修改<Directory “/usr/local/httpd/htdocs”>,变成

<Directory “/var/www/html”>

保存文件并退出,重启apache,然后在”/var/www/html”下建一个写着hello world的index.html,再次在浏览器输入http://localhost,就会显示hello world啦。

 

2,安装mysql,版本5.5.35,为什么是这个版本了, 因为其他版本我都没安装成功,呵呵。我使用rpm包安装方式,总共需要安装三个包,

MySQL-server-5.5.35-1.rhel5.x86_64.rpm

MySQL-client-5.5.35-1.rhel5.x86_64.rpm

MySQL-devel-5.5.35-1.rhel5.x86_64.rpm

当时官网只有redhat(我的是x86_64)系统的只有mysql5.6的http://dev.mysql.com/downloads/mysql/, 后来从其他网站下载了5.5.35,ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.5/

rpm包安装比较方便点,不过遇到包的依赖性问题就得有耐心啦,因为要安装这个包得先安装那个包,安装那个包,还得安装另外一个包,不断循环安装,知道能安装你想要的包为止,当时我都没做记录,试过有5层循环。基本的安装包都在光盘的Server文件里,没有的话就得上网找啦。

安装mysql-server包

#rpm -ivh MySQL-server-5.5.35-1.rhel5.x86_64.rpm

如果显示如下

Preparing…        ########################################### [100%]

1:MySQL-server  ###########################################[100%]

。。。。。。(省略显示)

/usr/bin/mysqladmin -u root password  ‘new-password’

/usr/bin/mysqladmin -u root -h test1 password ‘new-password’

。。。。。。(省略显示)

 

那就代表mysql-server安装成功了,我投几次安装不同的版本时,除了第一二行外,没有下面修改密码的提示,结果执行修改密码时,就提示错误啦,

mysqladmin: connect to server at ‘localhost’ failed
error: ‘Access denied for user ‘root’@’localhost’ (using password: NO)’

上网找了半天,换了好几个版本,重装了N遍都是一样的错误。但是可以正常启动mysql

#service mysql start // 采用rpm包安装,可使用service 服务名 start 命令来启动

Starting MySQL                                             [确定]

#service mysql stop

Shutting down MySQL.                                       [确定]

当时我就晕了,差点放弃了。第一天就这样结束了。

第二天,我删除了原来安装的mysql-server,包括安装的所有文件,记得有个my.cnf,在/usr/下面,也删了,然后重启电脑,接着安装。

结果终于有提示修改密码的,当时我还不知道安装的是哪个版本,因为我下载了好几个版本。暂时不修改密码,先把mysql-client也安装了

#rpm -ivh MySQL-server-5.5.35-1.rhel5.x86_64.rpm

这个只有以下提示就代表成功了。

Preparing…        ########################################### [100%]

1:MySQL-server  ###########################################[100%]

接着就启动并进入mysql,看看是不是真的安装成功

#service mysql start

Starting MySQL                                             [确定]

#mysql

Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 9 Server version: 5.5.35 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

显然已经进入mysql了,因为默认是没有密码的,所以可以直接进入,退出先修改root用户给的密码。

mysql> exit
Bye
[root@localhost var]# /usr/bin/mysqladmin -u root password  ‘new-password’

修改成功后再次进入mysql

[root@localhost var]# mysql -u root -p
Enter password:

这时候会提示需要输入root用户的密码,输入后即可再次进入mysql

mysql> show databases

-> ;

+——————–+ | Database           | +——————–+ |

information_schema |

| mysql              | |

performance_schema | |

test               |

+——————–+ 5 rows in set (0.00 sec)

mysql>

 

show batabases 后面不要漏了 “;”,刚开始我就是漏了这个 “;”,害得我浪费好几个小时,直接输入 ” show batabases; ” 就行啦。

支持mysql安装成功,好像忘了mysql-devel了,这个我也忘了什么时候安装的啦, 印象中是在安装php的是时候,提示需要安装mysql-devel,就安装了,然后接着安装php,就没提示这个错误了。总结安装mysql-client的方法安装上去,有错误提示就百度解决。

 

3,安装php,版本php-5.3.28.tar.gz,官网下载地址:http://www.php.net/downloads.php

还需要支持GD库,就是png,jpeg,gif之类的,这个又搞了一天。先说说GD库吧

这个在redhat系统包中有部分,我按照网上说的(上一遍文章中有链接),使用rpm包安装,如果有提示包的依赖性,就从系统包中找,接着安装,没有的话就上网找包,继续安装,安装完所有需要的包为止。好吧,下面安装php

#tar zxvf php-5.3.28.tar.gz // 解压

#cd php-5.3.28

#./configure –prefix=/usr/local/php –with-apxs2=/usr/local/httpd/bin/apxs –with-mysql=/var/lib/mysql  –with-gd –with-curl –with-zlib –with-libxml –with-libpng –with-jpeg –enable-soap –enable-sockets –enable-mbstring

这个有来头啦。–prefix=/usr/local/php 安装位置,–with-apxs2=/usr/local/httpd/bin/apxs 连接apache,–with-mysql=/var/lib/mysql 连接mysql,这三个根据自己安装路径来选择

–with-gd –with-zlib –with-libxml –with-libpng –with-jpeg 这些配置GD库,因为不知道路径就没写了。

在编译的过程中,还会提示各种错误,我都忘记有那些了,总之有error就百度,直到成功编译为止。编译成功还还提示with-libxml –with-libpng –with-jpeg 无法找到路径,网上说是没有指名路径,但因为是rpm安装的,路径太多,我都不知道安装在那里,就不管它了,直接安装。

#make

#make install

安装成功后,需要配置下apache的httpd.conf,才能在根目录下运行php

在对应位置添加

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

同时修改

DirectoryIndex index.html index.php

重启apache,在根目录下新建index.php

<?php

phpinfo();

?>

在本机浏览器输入http://localhost/index.php ,激动人心的时刻来了。

预知后事如何,请听下回分解。

 

 

 

 

 

 

 




Leave a Reply

Your email address will not be published. Required fields are marked *