centos5.5下lamp平台的搭建

 

    需要网上下载的源文件包下载地址:
    http://download.mysql.cn/download_file/gz/5.0/mysql-5.0.22.tar.gz
    http://cn.php.net/distributions/php-5.3.4.tar.gz
    http://mirror.bjtu.edu.cn/apache//httpd/httpd-2.2.17.tar.gz
    http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
     利用ssh远程管理工具,将从上述地址下载的软件上传到/usr/src
     Linux文件系统不存在以后缀来区分类型的,一般以目录来区分,所以最好将源代码包存放在/usr/local/src,可以将解压的后的文件存放在/usr/local/
    Lamp平台的安装最好,最好按照linux,apache,mysql,php的顺序安装,方便编译的时候相互联系调用,当然假如你水平够高了,也可以不需要安装这个顺序安装,但是想必你也就不需要看这份文档了。
第一部,apache的安装
    cd /usr/src    进入源文件存放文件夹
    tar zxvf httpd-2.2.17.tar.gz   解压释放源文件,默认是释放在当前文件夹下
    cd /httpd-2/2/17  进入释放后的文件夹
    ./configure  \
    --prefix=/usr/local/apache/ \                 /*配置apache服务存放的位置*/  
    --enable-so \                             /*以动态共享对象(DSO)编译*/       
    --enable-rewrite                         /*基于规则的URL操控*/            
    /**/ 之间的东西为注释,这些命令本来可以写并为一行, 但是为了方便学习,将一条命令,做为一行,便于查看。
make   编译,必须做这一步,不编译就不能进行下一步的安装
make install  编译安装。Q
编译安装完整之后,最好对安装的结果进行测试,给自己的主机一个ip,ip的设置可以通过netconfig图形化的设置,也可以在/etc/sysconfig/network-scripts/ifcfg-eth0下直接修改网卡的配置文件。选一台客户机测试,当页面出现it works! 则说明服务成功建立。
 
第二部,安装mysql
    useradd mysql
    cd /usr/src
    tar zxvf  mysql-5.0.22.tar.gz
    cd mysql-5.0.22
    cp Support-files/my-medium.cnf.sh  /etc/my.cnf 
    Support-files文件下有多个文件库,是适合不同大小类型的数据库模版,可以分析自己的工作环境自己选择,我这里选择中型的搭建,将它复制为/etc/my.cnf。名字必须为my.conf。回车后可能出现overwrite,选择Y,因为有些linux原先默认是安装了这个的。
配置编译
Mysql的安装需要依赖1个库文件,所以在编译之前先将这个库安装好,也就之前下载的ncurses-5.6.库
tar zxvf /usr/src/ncurses-5.6.tar.gz  -C  /usr/src/  /*大C后面跟着的是解压释放的位置*/  
cd /usr/src/ncurses-5.6
./configure \
> --prefix=/usr/ \    /*配置ncurses库存放的位置*/  
> --with-shared \    /*配置ncurses为共享库*/  
> --without-debug   /*配置ncurses库不测试*/  
make 
make install
    ncurses库文件安装完成后,就可以对mysql进行安装了。
./configure  \
--prefix=/usr/local/mysql
make
make install
编译安装好后,首先要初始化数据库,让一些数据库系统本身需要的文件建立起来。
./scripts/mysql_install_db  初始化数据库
cd /usr/lo cal/mysql
修改mysql文件的权限,将权限赋予给mysql用户,和mysql组
chown -R mysql.mysql .  /*最后那一点代表着当前文件夹*/  
cd bin
运行mysql服务,
./mysqld_safe --user=mysql &   /*命令后面加上&,代表后台运行*/ 
后台运行mysql 成功会提示Starting mysqlddaemonwithdatabases from/usr/local/mysql/var
netstat -ntl 查看端口状态  
3306端口,mysql的监听端口,次端口启用,则说明mysql配置成功
./mysqladmin  -u  root  password  '123'  修改数据库管理员的密码,默认是没有设置密码的,很危险,所以必须设置一个密码,此处设置为123.
客户端登陆测试
./mysql -u root -p 后面跟回车,回车之后会提示你输入密码,此处密码123
出现mysql> , 则说明进入mysql 数据库了,此时你可以输入写命令测试,比如查看数据库show databases;
到此,mysql 的安装结束
第三部,php的安装
    安装php之前,需要安装3个库文件。分别是
    libxml2
    libxml2-devel
    zlib-devel
    这个3库文件安装光碟里面有,连接光碟,再挂载光碟到/mnt
    3个库文件的安装是有先后顺序要求的,他们之间存在依赖关系,libxml2-devel的安装必须依赖于zlib-devel。所以最先安装zlib-devel
    mount /dev/cdrom /mnt
    cp /mnt/CentOS/zlib-devel-1.2.3-3.i386.rpm   /usr/src/
    rpm -ivh /usr/src/zlib-devel-1.2.3-3.i386.rpm 
    cp /mnt/CentOS/libxml2-2.6.26-2.1.2.8.i386.rpm  /usr/src/
    rpm -ivh /usr/src/libxml2-2.6.26-2.1.2.8.i386.rpm 
    cp /mnt/CentOS/libxml2-devel-2.6.26-2.1.2.8.i386.rpm  /usr/src/
    rpm -ivh /usr/src/libxml2-devel-2.6.26-2.1.2.8.i386.rpm  
    cd /usr/src
    tar zxvf  php-5.3.4.tar.gz  
    cd php-5.3.4
 ./configure \
> --prefix=/usr/local/php \
> --with-apxs2=/usr/local/apache/bin/apxs \      /*告诉php用apache下的这个进程加载
                                              php动态共享对象*/
> --with-mysql=/usr/local/mysql/ \             /*告诉php,mysql在什么位置*/
> --with-config-file-path=/usr/local/php         /*告诉php在哪去寻找配置文件*/
make
make install
cp php.ini-development  /usr/local/php/php.ini  建立php 的配置文件
这个版本的php有2个版本的php配置模板,php.ini-production和php.ini-development,选择其中一个就可以了,还有写版本的php,其配置文件模板是php.ini-dist。效果是一样的,复制到php安装文件下php.ini就可以了。
修改apache配置文件对php的支持
动态共享对象的加载,apache能够自己加载不需要我们去设置了,我们只需要在应用程序对象处加载一行对php的支持
Vi /us/local/apache/conf/http.conf
在命令行模式下输入“/”再输入"AddTyepe"找到应用程序对象,再加上一行
ADDType application/x-httpd-php .php
保存退出,重启apache服务
/usr/local/apache/bin/apachectl stop
/usr/local/apache/bin/apachectl start
在这里重启apache服务可能遇到一个问题Permission denied。在做很多其他服务也会碰到这个问题,一般的解决方法是。
首先关闭selinux,编辑/etc/sysconfig/selinux
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    # enforcing - SELinux security policy is enforced.
    # permissive - SELinux prints warnings instead of enforcing.
    # disabled - SELinux is fully disabled.
    SELINUX=enforcing
    如果SELINUX已经是 SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing 注释掉,新加一行:
    SELINUX=disabled
    保存,退出
如果还没有解决在你保证SElinux 被disable后.还执行下chcon -t texrel_shlib_t如: chcon -t texrel_shlib_t /路径/路径/名字.so (这个文件视具体执行文件.)
我这里是执行chcon -t texrel_shlib_t /usr/local/apache/modules/libphp5.so 
然后就可以重新启动apache服务了。
最后测试
你可以在/usr/local/apache/htdocs/下建立一个最简单的php文件进行测试
vi test.php
<?php
Phpinfo();
?>
在你的客户机上输入本地的ip/test.php如果不能够成功,则检查之前的步骤,不仔细修改再测试.
到此lamp架构的搭建已经完成,希望对你能够有点帮忙,愿大家在这条路上能够走的更远,更深。

你可能感兴趣的:(apache,mysql,PHP,centos,lamp,编译安装)