源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

详解CentOS5.5 下搭建 PHP 环境(最佳的LAMP环境)

  • 时间:2022-03-22 01:22 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:详解CentOS5.5 下搭建 PHP 环境(最佳的LAMP环境)
本文详细阐述在 Linux 系统中搭建 PHP 环境,由于 PHP 就是由 C 语言编写的,最初也是运行在 Linux 系统中,所以Linux 是 PHP 的最佳环境。 关于本文中使用到的软件,请点击此链接下载。 CentOS5.5现在官方已经不再提供,推荐大家使用centos6以上版本: centos6.8下载地址:[url=http://www.1sucai.cn/softs/499124.html]http://www.1sucai.cn/softs/499124.html[/url] centos7.2下载地址:[url=http://www.1sucai.cn/softs/499109.html]http://www.1sucai.cn/softs/499109.html[/url] >>> 【[url=http://pan.baidu.com/s/1hsx6Ws8]点击下载[/url]】 本文中作者是以虚拟机(VMware)安装的 CentOS 5.5 进行试验。下面进行安装详解 [b]1、准备工作[/b] 一、请先确认你所安装的 Linux 系统中是否已经安装了Apache、MySQL、PHP,如果安装请先卸载。 查看是否安装(Apache为例)
[root@gamejzy Linux]# rpm -qa|grep httpd 
注:rpm -qa 是查看本机中已经安装的所有软件。 grep httpd 是过滤出与 httpd(apache) 有关的软件。注:grep php 是查看 PHP;grep mysql 是查看 MySQL 如果执行完命令后出现空,那么说明机器中没有安装 Apache 软件,如果出现诸如下情况说明已经安装。 [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100152_0_33877.jpg[/img] 如果如上图所示的那样,那么就需要把这三个软件都卸载了。 卸载命令如下:
[root@gamejzy Linux]# rpm -e httpd-2.2.3-43.el5.centos --nodeps 
注:--nodeps 是强制卸载 [b]二、请保证你的 Linux 系统中安装了 gcc、g++ 编译器[/b] 检查是否安装很简单,在命令行中敲入“gc”或“g+”,按 tab 键,看下面是否有命令显示。 如果没有也没关系,安装 gcc、g++ 的方法十分简单 安装gcc:
yum -y install gcc 
安装g++:
yum install gcc-c++ 
[b]三、将所有的软件(大部分都是 tar 包)包拷贝到 /tmp/lamp 底下,并解压[/b] 解压 tar.gz 命令(php软件为例):tar zxvf php-5.2.6.tar.gz  当执行完此命令后,会在当前目录下创建一个 php-5.2.6 的文件夹,解压的所有文件会放置在 php-5.2.6 文件夹中 请按照同样的方法将所有的包都解压,并且删除所有的 *.tar.gz 文件
[root@gamejzy lamp]# rm -rf *.gz 
以上命令删除所有的 .gz 文件 [b]四、编译安装软件包介绍[/b] 在 Linux 系统安装每个源代码软件包的过程如下: △ 配置(configure) △ 编译(make) △ 安装(make install) 2、搭建 LAMP 环境(请按照下面给出的顺序进行安装) 这里所有的软件都安装在 /usr/local 下 [b]一、安装libxml[/b] 安装顺序:1、进入 libxml 目录;2、配置参数(包括安装路径;依赖软件;安装功能等);3、编译;4、安装。注:所有软件包安装类似
[root@gamejzy lamp]# cd libxml2-2.6.30/ 
[root@gamejzy libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2 
./configure 为软件包配置参数命令,--prefix 表示指定的安装目录,大部分目录若不在会自动创建,个别不会,需要我们手动创建
[root@gamejzy libxml2-2.6.30]# make && make install 
以上命令是将编译和安装在一起执行,由于软件小,安装速度比较快,若大的软件,可能会花比较长的时间。 [b]二、安装libmcrypt [/b]
[root@gamejzy lamp]# cd libmcrypt-2.5.8/ 
[root@gamejzy libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt 
[root@gamejzy libmcrypt-2.5.8]# make && make install 
[b]三、安装zlib[/b]
[root@gamejzy lamp]# cd zlib-1.2.3/ 
[root@gamejzy zlib-1.2.3]# ./configure 
[root@gamejzy zlib-1.2.3]# make && make install 
./configure 后面不要跟 --prefix 参数,让其安装在默认目录中,因为安装 libpng 的时候会用到 zlib。 [b]四、安装libpng[/b]
[root@gamejzy lamp]# cd libpng-1.2.31/ 
[root@gamejzy libpng-1.2.31]# ./configure --prefix=/usr/local/libpng 
[root@gamejzy libpng-1.2.31]# make && make install 
[b]五、安装jpeg6[/b] 这个软件配置的时候不会自动创建目录,需要我们手动创建
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/bin 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/lib 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/include 
[root@gamejzy libpng-1.2.31]# mkdir -p /usr/local/jpeg6/man/man1 
生成目录完毕!
[root@gamejzy lamp]# cd jpeg-6b/ 
[root@gamejzy jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static 
[root@gamejzy jpeg-6b]# make && make install 
./configure 中参数说明: --enable-shared  建立共享库使用的GNU的libtool --enable-static   建立静态库使用的GNU的libtool [b]六、安装freetype [/b]
[root@gamejzy lamp]# cd freetype-2.3.5/ 
[root@gamejzy freetype-2.3.5]# ./configure --prefix=/usr/local/freetype 
[root@gamejzy freetype-2.3.5]# make && make install 
[b]七、安装autoconf[/b]
[root@gamejzy lamp]# cd autoconf-2.61/ 
[root@gamejzy autoconf-2.61]# ./configure 
[root@gamejzy autoconf-2.61]# make && make install 
这个软件直接安装在默认目录下。 [b]八、安装GD[/b]
[root@gamejzy lamp]# cd gd-2.0.35/ 
[root@gamejzy gd-2.0.35]# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ 
[root@gamejzy gd-2.0.35]# make && make install 
./configure 中参数说明: --with-jpeg=/usr/local/jpeg6/ 指定到哪去找jpeg库文件的位置 --with-png=/usr/local/libpng/ 指定到哪去找png库文件的位置 --with-freetype=/usr/local/freetype/ 指定到哪去找freetype 2.x字体库的位置 注意 安装此软件包可能会出现以下错误,如下图所示: [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100152_1_40464.jpg[/img] 如果出现如此错误,解决方法:
[root@gamejzy gd-2.0.35]# vi gd_png.c 
找到关键词"png.h" 命令:/png.h 回车 替换为:/usr/local/libpng/include/png.h 效果如下图所示: [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100153_2_3657.jpg[/img] 保存退出,继续执行"make && make install" 执行即可安装成功。 [b]九、安装Apache(关键)[/b]
[root@gamejzy lamp]# cd httpd-2.2.9/ 
[root@gamejzy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support 
[root@gamejzy httpd-2.2.9]# make && make install 
[b]./configure 中的参数说明:[/b] --sysconfdir=/etc/httpd 指定Apache服务器的配置文件(httpd.conf等文件)存放位置 --with-included-apr 使用捆绑APR/APR-Util的副本 --enable-so 以动态共享对象(DSO)编译 --enable-deflate=shared 缩小传输编码的支持 --enable-expires=shared 期满头控制 --enable-rewrite=shared 基于规则的URL操控 --enable-static-support 建立一个静态链接版本的支持 [b]测试 Apache 服务器[/b] 1、检查 /usr/local/ 下是否出现 apache2 目录; 2、检查 /etc/ 目录下面是否出现 httpd 目录,即里面是否有 httpd.conf 文件、extra目录等内容 3、开启 apache 服务器
[root@gamejzy httpd]# /usr/local/apache2/bin/apachectl start 
stop(关闭)、restart(重启) 4、查看 apache 服务器是否启动,即查看 80 端口是否启动
[root@gamejzy httpd]# netstat -tnl|grep 80 
执行完命令,出现如下所示,表示已经启动 tcp        0      0 :::80                       :::*                        LISTEN [b]5、在浏览器中访问 [/b]如果在本机的话,请在浏览器地址栏中输入:[url=http://localhost/]http://localhost[/url] 或 [url=http://127.0.0.1/]http://127.0.0.1[/url] 如果是远程连接的话,比如:SSH连接,那么请在浏览器地址栏中输入 Linux 的 ip 地址。比如:[url=http://192.168.1.233/]http://192.168.1.233[/url] 若网页中出现大字“ [b]It works![/b] ”说明 Apache 安装成功。 测试完毕! 添加 Apache 每次开机自动启动
[root@gamejzy /]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local 
[b]十、安装MySQL(重要)[/b] 安装 MySQL 之前先建立一个专门管理 MySQL 的组和用户名 建立一个组名叫“mysql”
[root@gamejzy /]# groupadd mysql 
建立一个用户名叫“mysql”,让他属于“mysql”组
[root@gamejzy /]# useradd -g mysql mysql 
[root@gamejzy lamp]# cd mysql-5.0.41/ 
[root@gamejzy mysql-5.0.41]# ./configure --prefix=/usr/local/mysql --with-extra-charsets=all 
[root@gamejzy mysql-5.0.41]# make && make install 
./configure 参数说明: --with-extra-charsets=all 安装MySQL 所有的字符集 注意 在 ./configure 的时候如果出现如下错误 [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100153_3_17434.jpg[/img] 原因:缺少ncurses安装包。 解决方法:下载安装相应软件包
yum list|grep ncurses 
yum -y install ncurses-devel 
ncurses安装完成之后,再进行 ./configure 配置! MySQL安装完成之后,设置一些内容,这些内容非常繁琐,但是又非常关键的,希望大家耐心学习。 1、设置配置文件 my.cnf,放在 /etc/ 目录下
[root@gamejzy mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf 
2、初始化数据库文件,安装完 MySQL 之后,并不会出现 MySQL 的数据文件及数据存放位置 首先切换到 MySQL 的安装目录下
[root@gamejzy mysql-5.0.41]# cd /usr/local/mysql/ 
使用 bin 目录下的 mysql_install_db 进行初始化数据库文件,并使用上面建的 mysql 用户
[root@gamejzy mysql]# bin/mysql_install_db --user=mysql 
运行完之后,会发现 MySQL 安装目录中会多一个 var 目录,里面放置的就是数据库文件,包括我们已经建的数据库都会放置在这个目录里面。 3、设置 MySQL 安装目录权限 改变目录下的所有文件和目录的拥有者为 root
[root@gamejzy mysql]# chown -R root . 
改变 var 目录的拥有者为 mysql 用户
[root@gamejzy mysql]# chown -R mysql ./var/ 
改变所有目录和文件的用户组为 mysql 组
[root@gamejzy mysql]# chgrp -R mysql . 
4、启动 MySQL
[root@gamejzy mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql & 
& 表示在后台启动 这时,使用 netstat -tnl,如果看见 3306 端口,那么说明启动成功 tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN 5、设置权限,如果我们现在直接使用 bin 目录下的 mysql 命令,那么就能登录
[root@gamejzy mysql]# bin/mysql 
这样就太危险了!因此需要设置权限。 先登录进 MySQL 中,使用 SQL 命令删除主机不是“localhost” 的用户名(MySQL 中的用户都mysql库中的user表),只留允许本机登录的账号。
mysql> delete from mysql.user where Host != 'localhost'; 
刷新授权表
mysql> flush privileges; 
设置允许本机进入 MySQL 的 root 用户的密码
mysql> set password for 'root'@'localhost'=password('123456'); 
注:设置的密码必须记住,不然就进不去 MySQL 数据库了。 到这步的时候,我们的 root 用户,就已经设置了密码(密码为“123456”),我们可以测试一下,键入“exit”退出MySQL 这时登录 MySQL 数据库的命令不能是 bin/mysql 那么简单,应该如下:
[root@gamejzy mysql]# bin/mysql -h 127.0.0.1 -u root -p123456 
-h 指定主机名 -u 用户名 -p 密码 6、关闭 MySQL 数据库服务器
[root@gamejzy mysql]# bin/mysqladmin -u root -p shutdown 
这里的是 root 用户是 MySQL 中的用户,执行后会提示你输入密码,Enter password: 输入密码,回车即可关闭数据库。 启动命令,请看本节4 7、加入到开机默认启动
[root@gamejzy mysql]# echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local 
[b]十一、安装PHP(重要)[/b] 这里我们安装 PHP 的高版本 php-5.3.19,安装参数比较多,请一定注意。
[root@gamejzy lamp]# cd php-5.3.19/ 
[root@gamejzy php-5.3.19]# ./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-mcrypt=/usr/local/libmcrypt/  
> --with-mysqli=/usr/local/mysql/bin/mysql_config  
> --enable-soap  
> --enable-mbstring=all  
> --enable-sockets 
./configure 参数说明: --with-config-file-path=/usr/local/php/etc 指定PHP5配置文件存入的路径 --with-apxs2=/usr/local/apache2/bin/apxs 告诉PHP查找Apache 2的地方 --with-mysql=/usr/local/mysql/ 指定MySQL的安装目录 --with-libxml-dir=/usr/local/libxml2/ 告诉PHP放置libxml2库的地方 --with-png-dir=/usr/local/libpng/ 告诉PHP放置libpng库的地方 --with-jpeg-dir=/usr/local/jpeg6/ 告诉PHP放置jpeg库的地方 --with-freetype-dir=/usr/local/freetype/ 告诉PHP放置freetype库的地方 --with-gd=/usr/local/gd2/ 告诉PHP放置gd库的地方 --with-mcrypt=/usr/local/libmcrypt/ 告诉PHP放置libmcrypt库的地方 --with-mysqli=/usr/local/mysql/bin/mysql_config 变量激活新增加的MySQLi功能 --enable-soap 变量激活SOAP和Web services支持 --enable-mbstring=all 使多字节字符串支持 --enable-sockets 变量激活socket通讯特性 编译可能出现的问题: 出现如下报错: [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100153_4_79249.jpg[/img] 解决方法:
cd /usr/local/mysql/lib/mysql/ 
ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so 
编译OK后,出现“Thank you for using PHP.”,说明配置成功。
[root@gamejzy php-5.3.19]# make && make install 
编译和安装,时间会比较长,耐心等待吧! 编译完成后,需要以下配置 1、设置 php.ini 配置文件
[root@gamejzy php-5.3.19]# cp php.ini-development /usr/local/php/etc/php.ini 
注:/usr/local/php/etc 是在配置的时候指定的位置 2、和 Apache 整合 先打开 Apache 的配置文件 httpd.conf
[root@gamejzy php-5.3.19]# vi /etc/httpd/httpd.conf 
会发现文件中有这么条内容
LoadModule php5_module  modules/libphp5.so 
这就说明 PHP 已经加载到 Apache 服务器中了,我们所要做的是告诉 Apache 服务器,哪些后缀名使用 PHP 解析 在 vi 编辑器中搜索“AddType application/x-compress .Z” 在后面添加一条:AddType application/x-httpd-php .php 修改后的效果如下图 [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100154_5_29335.jpg[/img] 保存并退出,重启 Apache
[root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl stop 
[root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl start 
3、测试 Apache 服务器是否可以解析 PHP 往 /usr/local/apache2/htdocs 目录下添加一个phpinfo.php 文件,键入以下代码:
<?php 
header("Content-Type:text/html;Charset=utf-8"); 
phpinfo(); 
?> 
打开浏览器,访问该文件,看到如下图所示,说明 PHP 安装成功,并且和 Apache 服务器整合成功。 [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100154_6_19002.jpg[/img] 到此,CentOS 下的 LAMP 环境就搭建完毕了,虽然步骤繁琐,但是“工欲善其事,必先利其器”,花些时间,搭建一个完美的环境是值得的。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部