1、学习 PHP 脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP、WAMP、MAMP 等。这里我介绍一下 LAMP 环境的搭建,即 Linux、Apache、MySQL、PHP环境。一、首先安装操作系统操作系统:centos6.3IP 地址:192.168.146.129网关:DNS:操作系统安装步骤,此处不在给出截图。备注:服务器系统采用最小化安装,安装一下 GCC 编译工具和一个桌面即可。如下图所示:二、LAMP 安装前的准备1、获取软件包httpd-2.4.2.tar.gz http:/httpd.apache.org/download.cgimysql-5.0.
2、18.tar.gz http:/ http:/ http:/ ftp:/xmlsoft.org/libxml2/libmcrypt-5.5.8.tar.gz http:/ http:/www.libgd.orgzlib-1.2.5.tar.gz http:/autoconf-2.69.tar.gz http:/ftp.gnu.org/gnu/autoconf/freetype-2.4.9.tar.gz http:/download.savannah.gnu.org/releases/freetype/libpng-1.5.10.tar.gz ftp:/ftp.simplesystems.org
3、/pub/libpng/png/src/jpegsrc.v8b.tar.gz http:/www.ijg.org/files/ZendGuard-5_5_0.tar.gz http:/ & make install;6.安装成功.如果安装成功将会在/usr/local/libpng 目录下生成 bin,include,lib 和 share 四个目录。在安装 GD2库配置时,通过在 configure 命令选项中加上“-with-png=/usr/local/libpng”选项,指定 libpng 库文件的位置。安装 jpeg8最新库文件step1:安装 GD2库前所需的 jpeg8库文件,需
4、要自己手动创建安装需要的目录,它们在安装时不能自动创建。命令行如下。rootlocalhost # mkdir /usr/local/jpeg8 /建立 jpeg8软件安装目录rootlocalhost # mkdir /usr/local/jpeg8/bin /建立存放命令的目录rootlocalhost # mkdir /usr/local/jpeg8/lib /创建 jpeg8库文件所在目录rootlocalhost # mkdir /usr/local/jpeg8/include /建立存放头文件目录rootlocalhost # mkdir -p /usr/local/jpeg8/m
5、an/man1 /建立存放手册的目录step2:configure 有点不一样,如下命令行示:rootlocalhost jpeg-8b# ./configure -prefix=/usr/local/jpeg8/ -enable-share -enable-static警告:configure: WARNING: unrecognized options: -enable-share在安装 GD2库配置时,可以在 configure 命令的选项中加上“-with-jpeg=/usr/local/jpeg8”选项,指定 jpeg8库文件的位置。安装 PHP 时也要指定该库文件的位置。安装 fr
6、eetype 最新库文件step1:进入软件源码包所在目录/usr/local/src/中,解压软件包 freetype-2.4.10.tar.gz 到当前目录 freetype-2.4.10下,并进入 freetype-2.4.10目录。命令行如下:#cd /usr/local/src/ /进入软件源码包所在目录#tar zxvf freetype-2.4.10.tar.gz /解压包到 freetype-2.4.10目录 #cd freetype-2.4.10 /进入目录 freetype-2.4.10中step2:使用 configure 命令检查并配置安装需要的系统环境,并生成安装配置
7、文件。命令行如下:#./configure -prefix=/usr/local/freetype /选项-prefix=/usr/local/freetype,是在安装时将软件安装到/usr/local/freetype 目录下step3:使用 make 命令编译源代码文件并生成安装文件,命令行如下:#make /对软件源代码文件进行编译step4:使用 make install 命令进行安装,命令行如下:#make install /开始安装 freetype 库文件如果安装成功将会在/usr/local/freetype 目录下存在 bin,include,lib 和 share 四个目
8、录。并在安装 GD2库时,通过 configure 命令选项中加上“-with-freetype=/usr/local/freetype/”选项,指定 freetype 库文件位置。安装 atuoconf 最新的库文件其方法与上面安装 freetype 相同。唯一注意的地方是 configure 时,不用指定路径。安装最新的 GD 库文件安装方法大致与 freetype 相同。唯一注意的地方是 configure 时的路径,命令行如下:#./configure /配置命令 -prefix=/usr/local/gd /指定安装软件的位置-with-jpeg=/usr/local/jpeg8/
9、/指定去哪找 jpeg 库文件-with-png=/usr/local/libpng/ /指定去哪找 png 库文件-with-freetype=/usr/local/freetype/ /指定去哪找 freetype 2.x 字体库的位置如果安装成功会在/usr/local/gd/目录下存在 bin、include 和 lib 这三个目录。在安装PHP5时,通过在 configure 命令选项中加上“-with-gd=/usr/local/gd”选项,指定 GD库文件的位置。如果报错:make2: * gd_png.lo Error 1make2: Leaving directory /tm
10、p/gd-2.0.35make1: * all-recursive Error 1make1: Leaving directory /tmp/gd-2.0.35make: * all Error 2解决方案:vi gd_png.c找到#include “png.h“改成#include “/usr/local/libpng/include/png.h“安装新版本的 apache 服务器1、卸载 apr、apr-utilyum remove apr apr-util下载安装:http:/apr.apache.org/download.cgiapr-1.4.6.tar.gz./configure
11、-prefix=/usr/local/apr-httpd/ & make & make install 下载安装:http:/apr.apache.org/download.cgiapr-util-1.5.1.tar.gz./configure -prefix=/usr/local/apr-util-httpd/ -with-apr=/usr/local/apr-httpd/ & make & make install下载:http:/ -o pcre-8.32.zip#cd pcre-8.32#./configure -prefix=/usr/local/pcre#make#make ins
12、tallrootlocalhost httpd-2.4.3# ./configure -prefix=/usr/local/apache243 -enable-mods-shared=all -enable-deflate -enable-speling -enable-cache -enable-file-cache -enable-disk-cache -enable-mem-cache -enable-so -enable-expires=shared -enable-rewrite=shared -enable-static-support -sysconfdir=/etc/httpd
13、 -with-z=/usr/local/zlib/ -with-apr=/usr/local/apr-httpd/ -with-apr-util=/usr/local/apr-util-httpd/ -with-pcre=/usr/local/pcre/ -disable-userdir#make & make install安装完成后,进入/usr/local/apache243/ 目录下,检查是否有以下文件:bin build cgi-bin error htdocs icons include logs man manual modules启动 Apache 服务器,并查端口是否开启,启
14、动 Apache 服务器的命令行如下:#/usr/local/apache243/bin/apachectl start提示信息:AH00558: httpd: Could not reliably determine the servers fully qualified domain name, using :1. Set the ServerName directive globally to suppress this message解决方案:vi /etc/httpd/httpd.conf加上下面一行,重启 apacheServerName localhost:80提示信息:Fire
15、fox cant establish a connection to the server at 192.168.146.129.解决方案:开启防火墙 命令:chkconfig iptables on查看端口命令行如下:#netstat -tnl|grep 80tcp 0 0 0.0.0.0:80 0.0.0.0:* LIST测试安装结果,打开浏览器,在地址栏中输入 URL 为:http:/192.168.146.129/如果浏览器中出现 It works!则表明 Apache 服务器可以使用。每种服务器软件都有必要制成开机时自动启动,Apache 服务器开机自动启动,只要在“/etc/rc.
16、d/rc.local”文件,加上 Apache 服务器的启动命令即可。可以直接打开“/etc/rc.d/rc.local”文件,在最后一行写入 Apache 启动命令,也可以用 echo 命令追加进去,如下命令行示:rootlocalhost apache242# echo “/usr/local/apache242/bin/apachectl start“ /etc/rc.d/rc.local安装 MySQL 数据库管理系统1、增加用户名和用户组#groupadd mysql#useradd -g mysql mysql2、进入源码包使用 configure 检查并配置安装需要的系统环境,并
17、生成安装配置文件#./configure -prefix=/usr/local/mysql /将软件安装在/usr/local/mysql 目录下-enable-thread-safe-client -with-extra-charsets=all /在安装 mysql 时安装所有字符集如果遇到错误信息:checking for tgetent in -lncurses. nochecking for tgetent in -lcurses. nochecking for tgetent in -ltermcap. nochecking for termcap functions librar
18、y. configure: error: No curses/termcap library found原因:缺少 ncurses 安装包解决方案:执行下面三行命令,执行完之后重新./configure(配置)yum list|grep ncursesyum -y install ncurses-develyum install ncurses-devel接着#make & make install3、创建 mysql 数据库服务器的配置文件,可以使用源码包 support-files 目录中的 my-f 文件作为模板,将其复制到/etc/目录下,命名为 f 文件即可。rootlocalhos
19、t mysql-5.0.18# cp support-files/my-f /etc/f4、如果还没安装过 MySQL,必须创建 MySQL 授权表。进入到安装目录/usr/local/mysql 下,执行 bin 目录下的 mysql_install_db 脚本,用来初始化 MySQL 数据库的授权表,其中存储了服务器访问允许。rootlocalhost mysql-5.0.18#cd /usr/local/mysqlrootlocalhost mysql# bin/mysql_install_db -user=mysql /创建授权表如果使用 root 用户运行上面的命令,应当使用-use
20、r 选项,选项的值应当与你在第一步为运行服务器所创建的登录账户(mysql 用户)相同。如果用 mysql 用户登录来运行上面的命令,可以省略-user 选项。用 mysql_install_db 创建 mysql 授权表后,需要手动重新启动服务器。5、将程序二进制的所有权改为 root 用户,数据目录的所有权改为运行 mysqld 程序的mysql 用户。如果现在位于安装目录(/usr/local/mysql)下,命令行如下:rootlocalhost mysql# chown -R root .(注意有点) /将文件的所有属性改为 root用户rootlocalhost mysql# ch
21、own -R mysql var /将数据目录的所有属性改为 mysql 用户rootlocalhost mysql# chgrp -R mysql . /将组属性改为 mysql 组rootlocalhost mysql# ls -ltotal 40drwxr-xr-x. 2 root mysql 4096 Feb 7 20:50 bindrwxr-xr-x. 3 root mysql 4096 Feb 7 20:50 includedrwxr-xr-x. 2 root mysql 4096 Feb 7 20:50 infodrwxr-xr-x. 3 root mysql 4096 Feb 7 20:50 libdrwxr-xr-x. 2 root mysql 4096 Feb 7 20:50 libexecdrwxr-xr-x. 3 root mysql 4096 Feb 7 20:50 mandrwxr-xr-x. 7 root mysql 4096 Feb 7 20:50 mysql-test