科技知识:详解CentOS5.5 下搭建 PHP 环境(最佳的LAMP环境)

明天小编跟大家解说下有关科技知识:详解CentOS5.5 下搭建 PHP 环境(最佳的LAMP环境),置信小同伴们对这个话题应该也很关注吧,小编也搜集到了有关科技知识:详解Cent…

明天小编跟大家解说下有关科技知识:详解CentOS5.5 下搭建 PHP 环境(最佳的LAMP环境),置信小同伴们对这个话题应该也很关注吧,小编也搜集到了有关科技知识:详解CentOS5.5 下搭建 PHP 环境(最佳的LAMP环境)的相关材料,希望小同伴会喜欢也可以协助大家。

本文详细论述在 Linux 零碎中搭建 PHP 环境,由于 PHP 就是由 C 言语编写的,最后也是运转在 Linux 零碎中,所以Linux 是 PHP 的最佳环境。

关于本文中运用到的软件,请点击此链接下载。

CentOS5.5如今官方曾经不再提供,引荐大家运用centos6以上版本:

centos6.8下载地址:///softs/499124.html

centos7.2下载地址:///softs/499109.html

>>> 【点击下载】

本文中作者是以虚拟机(VMware)装置的 CentOS 5.5 停止实验。上面停止装置详解

1、预备任务

一、请先确认你所装置的 Linux 零碎中能否曾经装置了Apache、MySQL、PHP,假如装置请先卸载。

检查能否装置(Apache为例)

[ Linux]# rpm -qa|grep httpd

注:rpm -qa 是检查本机中曾经装置的一切软件。 grep httpd 是过滤出与 httpd(apache) 有关的软件。注:grep php 是检查 PHP;grep mysql 是检查 MySQL

假如执行完命令后呈现空,那么阐明机器中没有装置 Apache 软件,假如呈现诸如下状况阐明曾经装置。

假如如上图所示的那样,那么就需求把这三个软件都卸载了。

卸载命令如下:

[ Linux]# rpm -e httpd-2.2.3-43.el5.centos –nodeps

注:–nodeps 是强迫卸载

二、请保证你的 Linux 零碎中装置了 gcc、g++ 编译器

反省能否装置很复杂,在命令行中敲入“gc”或“g+”,按 tab 键,看上面能否有命令显示。

假如没有也没关系,装置 gcc、g++ 的办法非常复杂

装置gcc:

yum -y install gcc

装置g++:

yum install gcc-c++

三、将一切的软件(大局部都是 tar 包)包拷贝到 /tmp/lamp 底下,并解压

解压 tar.gz 命令(php软件为例):tar zxvf php-5.2.6.tar.gz

当执行完此命令后,会在以后目录下创立一个 php-5.2.6 的文件夹,解压的一切文件会放置在 php-5.2.6 文件夹中

请依照异样的办法将一切的包都解压,并且删除一切的 *.tar.gz 文件

[ lamp]# rm -rf *.gz

以上命令删除一切的 .gz 文件

四、编译装置软件包引见

在 Linux 零碎装置每个源代码软件包的进程如下: △ 配置(configure) △ 编译(make) △ 装置(make install)

2、搭建 LAMP 环境(请依照上面给出的顺序停止装置)

这里一切的软件都装置在 /usr/local 下 一、装置libxml

装置顺序:1、进入 libxml 目录;2、配置参数(包括装置途径;依赖软件;装置功用等);3、编译;4、装置。注:一切软件包装置相似

[ lamp]# cd libxml2-2.6.30/ [ libxml2-2.6.30]# ./configure –prefix=/usr/local/libxml2

./configure 为软件包配置参数命令,–prefix 表示指定的装置目录,大局部目录若不在会自动创立,一般不会,需求我们手动创立

[ libxml2-2.6.30]# make && make install

以上命令是将编译和装置在一同执行,由于软件小,装置速度比拟快,若大的软件,能够会花比拟长的工夫。

二、装置libmcrypt

[ lamp]# cd libmcrypt-2.5.8/ [ libmcrypt-2.5.8]# ./configure –prefix=/usr/local/libmcrypt [ libmcrypt-2.5.8]# make && make install

三、装置zlib

[ lamp]# cd zlib-1.2.3/ [ zlib-1.2.3]# ./configure [ zlib-1.2.3]# make && make install

./configure 前面不要跟 –prefix 参数,让其装置在默许目录中,由于装置 libpng 的时分会用到 zlib。 四、装置libpng

[ lamp]# cd libpng-1.2.31/ [ libpng-1.2.31]# ./configure –prefix=/usr/local/libpng [ libpng-1.2.31]# make && make install

五、装置jpeg6

这个软件配置的时分不会自动创立目录,需求我们手动创立

[ libpng-1.2.31]# mkdir /usr/local/jpeg6 [ libpng-1.2.31]# mkdir /usr/local/jpeg6/bin [ libpng-1.2.31]# mkdir /usr/local/jpeg6/lib [ libpng-1.2.31]# mkdir /usr/local/jpeg6/include [ libpng-1.2.31]# mkdir -p /usr/local/jpeg6/man/man1

生成目录终了!

[ lamp]# cd jpeg-6b/ [ jpeg-6b]# ./configure –prefix=/usr/local/jpeg6/ –enable-shared –enable-static [ jpeg-6b]# make && make install

./configure 中参数阐明: –enable-shared 树立共享库运用的GNU的libtool –enable-static 树立静态库运用的GNU的libtool

六、装置freetype

[ lamp]# cd freetype-2.3.5/ [ freetype-2.3.5]# ./configure –prefix=/usr/local/freetype [ freetype-2.3.5]# make && make install

七、装置autoconf

[ lamp]# cd autoconf-2.61/ [ autoconf-2.61]# ./configure [ autoconf-2.61]# make && make install

这个软件间接装置在默许目录下。

八、装置GD

[ lamp]# cd gd-2.0.35/ [ gd-2.0.35]# ./configure –prefix=/usr/local/gd2 –with-jpeg=/usr/local/jpeg6/ –with-png=/usr/local/libpng/ –with-freetype=/usr/local/freetype/ [ 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字体库的地位

留意 装置此软件包能够会呈现以下错误,如下图所示:

假如呈现如此错误,处理办法:

[ gd-2.0.35]# vi gd_png.c

找到关键词”png.h” 命令:/png.h 回车

交换为:/usr/local/libpng/include/png.h

效果如下图所示:

保管加入,持续执行”make && make install” 执行即可装置成功。

九、装置Apache(关键)

[ lamp]# cd httpd-2.2.9/ [ 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 [ httpd-2.2.9]# make && make install

./configure 中的参数阐明: –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 树立一个静态链接版本的支持

测试 Apache 效劳器

1、反省 /usr/local/ 下能否呈现 apache2 目录;

2、反省 /etc/ 目录上面能否呈现 httpd 目录,即外面能否有 httpd.conf 文件、extra目录等外容

3、开启 apache 效劳器

[ httpd]# /usr/local/apache2/bin/apachectl start

stop(封闭)、restart(重启)

4、检查 apache 效劳器能否启动,即检查 80 端口能否启动

[ httpd]# netstat -tnl|grep 80

执行完命令,呈现如下所示,表示曾经启动 tcp 0 0 :::80 :::* LISTEN

5、在阅读器中拜访 假如在本机的话,请在阅读器地址栏中输出:http://localhost 或 http://127.0.0.1

假如是近程衔接的话,比方:SSH衔接,那么请在阅读器地址栏中输出 Linux 的 ip 地址。比方:http://192.168.1.233

若网页中呈现大字“ It works! ”阐明 Apache 装置成功。 测试终了!

添加 Apache 每次开机自动启动

[ /]# echo “/usr/local/apache2/bin/apachectl start” >> /etc/rc.d/rc.local

十、装置MySQL(重要)

装置 MySQL 之前先树立一个专门管理 MySQL 的组和用户名

树立一个组名叫“mysql”

[ /]# groupadd mysql

树立一个用户名叫“mysql”,让他属于“mysql”组

[ /]# useradd -g mysql mysql [ lamp]# cd mysql-5.0.41/ [ mysql-5.0.41]# ./configure –prefix=/usr/local/mysql –with-extra-charsets=all [ mysql-5.0.41]# make && make install

./configure 参数阐明: –with-extra-charsets=all 装置MySQL 一切的字符集 留意 在 ./configure 的时分假如呈现如下错误

缘由:短少ncurses装置包。

处理办法:下载装置相应软件包

yum list|grep ncurses yum -y install ncurses-devel

ncurses装置完成之后,再停止 ./configure 配置!

MySQL装置完成之后,设置一些内容,这些内容十分繁琐,但是又十分关键的,希望大家耐烦学习。

1、设置配置文件 my.cnf,放在 /etc/ 目录下

[ mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf

2、初始化数据库文件,装置完 MySQL 之后,并不会呈现 MySQL 的数据文件及数据寄存地位

首先切换到 MySQL 的装置目录下

[ mysql-5.0.41]# cd /usr/local/mysql/

运用 bin 目录下的 mysql_install_db 停止初始化数据库文件,并运用下面建的 mysql 用户

[ mysql]# bin/mysql_install_db –user=mysql

运转完之后,会发现 MySQL 装置目录中会多一个 var 目录,外面放置的就是数据库文件,包括我们曾经建的数据库都会放置在这个目录外面。

3、设置 MySQL 装置目录权限

改动目录下的一切文件和目录的拥有者为 root

[ mysql]# chown -R root .

改动 var 目录的拥有者为 mysql 用户

[ mysql]# chown -R mysql ./var/

改动一切目录和文件的用户组为 mysql 组

[ mysql]# chgrp -R mysql .

4、启动 MySQL

[ 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 命令,那么就能登录

[ 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 那么复杂,应该如下:

[ mysql]# bin/mysql -h 127.0.0.1 -u root -p123456

-h 指定主机名 -u 用户名 -p 密码

6、封闭 MySQL 数据库效劳器

[ mysql]# bin/mysqladmin -u root -p shutdown

这里的是 root 用户是 MySQL 中的用户,执行后会提示你输出密码,Enter password:

输出密码,回车即可封闭数据库。

启动命令,请看本节4

7、参加到开机默许启动

[ mysql]# echo “/usr/local/mysql/bin/mysqld_safe –user=mysql &” >> /etc/rc.d/rc.local

十一、装置PHP(重要)

这里我们装置 PHP 的高版本 php-5.3.19,装置参数比拟多,请一定留意。

[ lamp]# cd php-5.3.19/ [ 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通讯特性

编译能够呈现的成绩:

呈现如下报错:

处理办法:

cd /usr/local/mysql/lib/mysql/ ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so

编译OK后,呈现“Thank you for using PHP.”,阐明配置成功。

[ php-5.3.19]# make && make install

编译和装置,工夫会比拟长,耐烦等候吧!

编译完成后,需求以下配置

1、设置 php.ini 配置文件

[ php-5.3.19]# cp php.ini-development /usr/local/php/etc/php.ini

注:/usr/local/php/etc 是在配置的时分指定的地位 2、和 Apache 整合

先翻开 Apache 的配置文件 httpd.conf

[ 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 修正后的效果如下图

保管并加入,重启 Apache

[ php-5.3.19]# /usr/local/apache2/bin/apachectl stop [ 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 效劳器整分解功。

到此,CentOS 下的 LAMP 环境就搭建终了了,虽然步骤繁琐,但是“工欲善其事,必先利其器”,花些工夫,搭建一个完满的环境是值得的。

来源:爱蒂网

作者: 准妈妈网

为您推荐

返回顶部