明天小编跟大家解说下有关科技知识:详解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 环境就搭建终了了,虽然步骤繁琐,但是“工欲善其事,必先利其器”,花些工夫,搭建一个完满的环境是值得的。
来源:爱蒂网