今天因为工具需要需要配置一个web环境,由于初次接触在linux内核系统中配置Apache+mysql+PHP环境折腾了许久,下面整理了一篇安装教程与大家一起交流一下吧。
PHP之服务器环境搭建安装软件准备
1. Apache224.tar.gz
2. php-5.2.9.tar.gz
3. mysql-5.1.54.tar.gz
PHP和各个组件包
libxml2-2.6.30.tar.gz
xml c语言版的解析器
libmcrypt-2.5.8.tar.gz
加密算法扩展库
zlib-1.2.3.tar.gz
压缩图像组件
gd-2.0.35.tar.gz
处理图片的API
autoconf-2.61.tar.gz
自动配置源代码的shell脚本
freetype-2.3.5.tar.gz
操作字体的函数库
libpng-1.2.26.tar.gz
解析PNG图象格式的库
jpegsrc.v6b.tar.gz
ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
zend加速器安装
libxml2-2.6.30.tar.gz
1.解压libxml2-2.6.30.tar.gz
tar zxvf libxml2-2.6.30.tar.gz
2.配置libxml2-2.6.30
cd libxml2-2.6.30
./configure –prefix=/usr/local/libxml
23.编译
make
4.安装
make install
如果安装成功以后,在/usr/local/libxml2/目录下将生成bin、include、lib、man和share五个目录。
安装libmcrypt-2.5.8.tar.gz
1.解压libmcrypt-2.5.8.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
2.配置 cd libmcrypt-2.5.8.tar.gz
./configure –prefix=/usr/local/libmcrypt
3.编译
make
4.安装
make install
如果安装成功就会在/usr/local/libmcrypt/目录下生成bin、include、lib、man和share五个目录。
安装zlib-1.2.3.tar.gz
1.解压zlib-1.2.3.tar.gz
tar zxvf zlib-1.2.3.tar.gz
2.配置 cd zlib-1.2.3.
./configure –prefix=/usr/local/zlib
3.编译
make
4.安装
make install
如果安装成功将会在/usr/local/zlib目录下生成include、lib和share三个目录。
安装libpng-1.2.26.tar.gz
1.解压libpng-1.2.26.tar.gz
tar zxvf libpng-1.2.26.tar.gz
2.配置
cd libpng-1.2.26
./configure –prefix=/usr/local/libpng
3.编译
make
4.安装
make install
如果安装成功将会在/usr/local/libpng目录下生成bin、include、lib和share四个目录。
安装jpegsrc.v6b.tar.gz
1.建立相应的目录
(1)建立jpeg6的软件安装目录
mkdir /usr/local/jpeg6
(2)建立存放命令的目录
mkdir /usr/local/jpeg6/bin
(3)建立jpeg6库文件所在目录
mkdir /usr/local/jpeg6/lib
(4)建立存放头文件的目录
mkdir /usr/local/jpeg6/include
(5)建立存放手册的目录
mkdir /usr/local/jpeg6/man/man1
2.解压jpegsrc.v6b.tar.gz
tar zxvf jpegsrc.v6b.tar.gz
3.配置 cd jpeg-6b
./configure –prefix=/usr/local/jpeg6
//在安装时将软件安装到/usr/local/jpeg6目录下
--enable-shared
//建立共享库使用的GNU的libtool
--enable-static
//建立静态库使用的GNU的libtool
4.编译
make
5.安装
make install
安装freetype-2.3.5.tar.gz
1.解压freetype-2.3.5.tar.gz
tar zxvf freetype-2.3.5.tar.gz
2.配置 cd freetype-2.3.5
./configure --prefix=/usr/local/ freetype
3.编译
make
4.安装
make intall
安装autoconf-2.61.tar.gz
1.解压autoconf-2.61.tar.gz
tar zxvf autoconf-2.61.tar.gz
2.配置
cd autoconf-2.61
./configure
3.编译
make
4.安装
make install
安装gd-2.0.35.tar.gz
1.解压gd-2.0.35.tar.gz
tar zxvf gd-2.0.35.tar.gz
2.配置
cd gd-2.0.35
./configure –prefix=/usr/local/gd2/
--with-zlib=/usr/local/zlib/
//指定到zlib库文件的位置
--with-jpeg=/usr/local/jpeg6/
//指定到jpeg6库文件的位置
--with-png=/usr/local/libpng/
//指定到png库文件的位置
--with-freetype=/usr/local/freetype
//指定到freetype2字体库文件的位置
3.编译
make
4.安装
make install
注意:安装的时候出现错误
make[2]: *** [gd_png.lo] Error 1make[2]: Leaving directory `/tmp/gd-2.0.26gif"make[1]: *** [all-recursive] Error 1make[1]: Leaving directory `/tmp/gd-2.0.26gif"make: *** [all] Error 2
[root@RHEL3 gd-2.0.26gif]#
解决方法
cd gd-2.0.35
vi gd_png.c
找到“png.h”改成“/usr/local/libpng/include/png.h”
一
Apache安装
1.解压Apache224.tar.gz
tar zxvf Apache224.tar.gz
2.执行./configure --prefix=安装的目录
./configure
> --prefix=/usr/local/apache2
//指定Apache软件安装的位置
> --sysconfdir=/etc/httpd
//指定Apache服务器的配置文件存放位置
> --with-z=/usr/local/zlib/
//指定zlib库文件的位置
> --with-included-apr
//使用捆绑APR/APR-Util的副本
> --disable-userdir
//请求的映象到用户特定目录
> --enable-so
//以动态共享对象(DSO)编译
> --enable-deflate=shared
//缩小传输编码的支持
> --enable-expires=shared
//期满头控制
> --enable-rewrite=shared
//基于规则的URL操控
> --enable-static-support
3.执行make
make
4执行make install
make install
5.apache安装成功
6.安装成功后配置apache打开apache的配置文件vi /usr/local/conf/httpd.conf 部分配置项说明
(1)apache的安装目录 ServerRoot “当前的安装目录” 如:
ServerRoot “/usr/local/apache”
(2)apache使用的端口 Listen端口[1-65535中的一任意一个,一般默认为80]
Listen 80
(3)服务器根目录即用户访问的目录 DocumentRoot “根目录”
DocumentRoot “/usr/local/apache/htdocs”
(4)服务器索引文件即默认返回给用户的文件 DirectoryIndex索引文件名
DirectoryIndex index.html
7.修改文件的所有者和所有组
cd /usr/local/apache
chown –R nobody:root ./htdocs
8.修改apache下所有文件权限
cd /usr/local/apachechmod –R 755 *
9.启动apache
cd /usr/local/apache/bin
./apachectl start
10.重启apache
cd /usr/local/apache/bin
./apachectl restart
安装完毕后却不能找到mod_proxy和mod_rewrite模块,主要原因是APACHE2.2默认的安装选项是最小化的安装,一些扩展模块在默认的状态下都没有被安装,如果需要要在./configure后用参数指定,比方要用到mod_proxy和mod_rewrite两个模块进行实验,所以命令行是:
./configure --enable-mods-shared="proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http proxy_rewrite
这个配置不仅指定了这些模块,同时也默认安装其他最小项。这样配置完后make和make install后,mod_proxy和mod_rewrite两个模块都能找到了另外在安装apache同时可以添加以下配置项
> --prefix=/usr/local/apache2
//指定Apache软件安装的位置
> --sysconfdir=/etc/httpd
//指定Apache服务器的配置文件存放位置
> --with-z=/usr/local/zlib/
//指定zlib库文件的位置
> --with-included-apr
//使用捆绑APR/APR-Util的副本
> --disable-userdir
//请求的映象到用户特定目录
> --enable-so
//以动态共享对象(DSO)编译
> --enable-deflate=shared
//缩小传输编码的支持
> --enable-expires=shared
//期满头控制
> --enable-rewrite=shared
//基于规则的URL操控
> --enable-static-support
//建立一个静态链接版本的支持
12.设置apache开机自动启动
vi /etc/rc.d/rc.local
在最后一行添加
/usr/local/apache/bin/apachectl start
也可以直接执行
echo “/usr/local/apache/bin/apachectl start” >> /etc/rc.d/rc.local
Mysql的安装
1.为mysqld增加登录用户和用户组
groupadd mysqluseradd –g mysql mysql
2.解压mysql-5.1.54.tar.gz tar zxvf mysql-5.1.54.tar.gz
3.配置
./configure
>--prefix=/usr/local/mysql
//将软件安装到/usr/local/mysql目录
>--with-extra-charsets=all
//默认安装所有字符集
4.编译
make
5.安装
make install
6.创建mysql的配置文件,可以将源码包中的support-files目录中的my-medium.cnf文件作为模板,将其复制到/etc/目录下,并重命名为my.cnf即可
cd mysql-5.1.54
cp support-files/my-medium.cnf /etc/my.cnf
7.如果还没有安装过mysql,需要创建mysql授权表其实是初始化数据库。进入到安装目录即—prefix配置项指定的目录这里是”/usr/local/mysql”,执行bin目录下的mysql_install_db脚本,来初始化mysql数据库的授权表,该表贮存了数据库服务器访问的允许。
cd /usr/local/mysql
bin/mysql_install_db --user=mysql
8.如果使用root用户运行上面的命令,应当使用--user选项,选项的值应与你在第一步为运行服务器所创建的登录账户(mysql用户)相同。如果用MySQL用户登录来运行上面命令,可以省略--user选项。用mysql_install_db创建MySQL授权表后,需要手动重新启动服务器。将程序二进制的所有权改为root用户,数据目录的所有权改为运行mysqld程序的MySQL用户。如果现在位于安装目录(/usr/local/mysql)下
chown -R root ./
//将文件的所有属性改为root用户
chown -R mysql var
//将数据目录的所有属性改为mysql用户
chgrp -R mysql
//将组属性改为mysql组
9.在所需要的东西被安装完成以后,应当使用下面的命令启动MySQL服务了,命令行如下:
/usr/local/mysql/bin/mysqld_safe --user=mysql &
MySQL数据库服务启动之后,查看一下它的端口3306是否打开,如果看到以下结果表明MySQL服务启动成功。命令行如下:
netstat –tnl | grep 3306
10.使用mysqladmin验证服务器在运行中。
11.置访问权限,在MySQL安装过程中,使用mysql_install_db程序安装了MySQL数据库授权表,表定义了初始MySQL用户账户和访问权限,所有初始账户均没有密码。这些账户为超用户账户,可以执行任何操作。初始root账户的密码为空,因此任何人可以用root账户不用任何密码来连接MySQL服务器,并具有所有权限,这意味着MySQL安装未受保护。如果你想要防止客户端不使用密码用匿名用户来连接,你应当为匿名账户指定密码或删掉匿名账户,应当为MySQL root账户指定密码。使用“mysql–u root”启动MySQL客户端控制台,连接MySQL服务器。如果有匿名账户存在,它拥有全部的权限,因此删掉它可以提高安全,在MySQL客户端执行SQL语句如下:
bin/mysql -u root
//没有密码可以直接登录本机服务器
Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 3Server version: 5.0.41-log Source distributionType "help;" or "h" for help. Type "c" to clear the buffer.
mysql> DELETE FROM mysql.user WHERE Host="localhost" AND User="";
Query OK, 1 rows affected (0.08 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 1 rows affected (0.01 sec)
12.可以用几种方法为root账户指定密码,我们选用其中一种。在MySQL客户端命令行上使用
SET PASSWORD
指定密码,一定要使用PASSWORD()函数来加密密码。例如下面设置localhost域的密码为“123456”。其它域可以使用同样的语句,使用的SQL语句如下:
mysql> SET PASSWORD FOR "root"@"localhost" = PASSWORD("123456");
Query OK, 0 rows affected (0.00 sec)
如果想退出MySQL客户端,可以在MySQL客户端提示符下输入命令“exit”或者“quit”、还可以按键盘“Ctrl+c”组合键,都可以从MySQL客户端中退出。因为已经给MySQL服务器的root账号设置了密码,所以再次登录MySQL客户端就要提供密码才能进入。退出MySQL客户端和重新启动MySQL客户端的控制台命令如下:
13.如果想关闭MySQL服务器,在命令行使用MySQL服务器的mysqladmin命令,通过-u参数给出MySQL数据库管理员用户名root和通过-p参数给出密码,即可以关闭MySQL服务器。命令行如下:
[root@localhost mysql]# bin/mysqladmin -u root –p shutdown
//关闭MySQL 数据库
mysql> exit
//退出MySQL客户端
Bye[root@localhost mysql]# bin/mysql -u root -h localhost–p
//回车进入MySQL客户端
Enter password:
14.MySQL服务器和Apache服务器一样也有必要设置为开机自动运行,设置方法是进入到mysql源代码目录/usr/local/src/mysql-5.0.41/中,将子目录support-files下的mysql.server文件复制到/etc/rc.d/init.d目录中,并重命名为“mysqld”,命令行如下所示:
[root@localhost mysql]# cd /usr/php/amp/amp/ mysql-5.1.54
[root@localhost mysql-5.1.54]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
修改文件/etc/rc.d/init.d/mysqld的权限,命令行如下所示:
[root@localhost mysql-5.1.54]# chkconfig --add mysqld
15.使用chkconfig命令设置在不同系统运行级别下的自启动策略,首先使用“chkconfig --add mysqld”命令增加所指定的mysqld服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
然后使用“chconfig–level 3 mysqld on”命令和“chconfig–level 5 mysqld on”命令,在第三和第五等级中开启mysql服务,即在字符模式和图形模式启动时自动开启mysql服务。命令如下:
[root@localhost mysql-5.0.41]# chkconfig --level 3 mysqld on
[root@localhost mysql-5.0.41]# chkconfig --level 5 mysqld on
[root@localhost mysql-5.0.41]# chkconfig --list mysqldmysqld
0:关闭1:关闭2:关闭3:启用4:关闭5:启用6:关闭
php的安装
1.解压php-5.2.9.tar.gz
tar zxvf php-5.2.9.tar.gz
2.配置 cd php-5.2.9.tar.gz
./configure
//执行当前目录下软件自代的配置命令
> --prefix=/usr/local/php
//设置PHP5的安装路径
> --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-zlib-dir=/usr/local/zlib/
//告诉PHP放置zlib库的地方
> --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通讯特性
3.编译
make
4.安装
make install
5.需要修改Apache配置文件,添加PHP的支持,告诉Apache将哪些后缀作为PHP解析。例如,让Apache把.php或.phtml后缀的文件解析为PHP。使用vi打开Apache的配置文件/etc/httpd/httpd.conf,找到“AddType application/x-gzip.gz.tgz”指令项,并在其下方添加一条指令“Addtype application/x-httpd-php .php .phtml”。也可以将任何后缀的文件解析为PHP,只要在添加的语句中加入并用空格分开,这里以多添加一个.phtml来示例。
vi /etc/httpd/httpd.conf
If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:AddType application/x-compress .ZAddType application/x-gzip .gz .tgz
在这行下面添加
Addtype application/x-httpd-php .php .phtml
#添加这一条#添这一个是为了将.phps作为PHP的源文件进行语法高亮显示
Addtype application/x-httpd-php-source .phps
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
6.修改apache的配置文件后,需要重启服务器才能重新加载修改后的配置文件
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
7.如果安装后在/usr/local/php/etc/目录下没有找到php.ini配置文件,可以在php源码包中复制php.ini-dist文件到/usr/local/php/etc/并改名为php.ini
安装ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
1.解压ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
tar zxvf ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
2.进入ZendOptimizer-3.3.0a-linux-glibc21-i386
cd ZendOptimizer-3.3.0a-linux-glibc21-i386
3.执行安装
./install.sh
4.执行上面的操作会出现一个图形安装界面,按提示安装即可
5.安装成功 环境搭建完毕!你可以尽情体会PHP的强大功能了