最全Linux下Apache+PHP+MySQL(包含libxml2,libxslt,libpng,zlib,curl,jpeg,gd2,freetype)最终版!

来源:互联网 发布:谭伯牛 知乎 编辑:程序博客网 时间:2024/06/02 10:33

最全Linux下Apache+PHP+MySQL(包含libxml2,libxslt,libpng,zlib,curl,jpeg,gd2,freetype)配置

注:本文档中[解压进入目录]表示解压下载的工具包,并进入解压后的目录

一、准备工作

系统:Ubuntu 10.04

需要编译工具:build-essential,flex,bison

可使用sudo apt-get install build-essential flex bison安装

需要的工具:mysql,php,httpd(apache),libxml2,libpng,gd2,zlib,curl,libxslt,jpeg,freetype(可以从官方下载)

二、开始安装

1、Apache安装

#[解压进入目录]

配置apache安装信息, 配置安装后目录,模块动态配置,允许重写重配置

# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite

# make

# (sudo) make install

修改httpd.conf文件

//ServerName 主机名称,无dns用IP替代

ServerName 192.168.0.10:80

//DocumentRoot 修改文档路径,就是要放置目标网页的地方

DocumentRoot "/var/www/html"

//DirectoryIndex 修改默认的首页名称

DirectoryIndex index.html index.php index.htm

 

2、libxml2安装

#[解压进入目录]

#./configure

此处不用自定义安装目录,影响libxslt安装

#make

#(sudo) make install

 

3、安装 zlib

#[解压进入目录]

#./configure

此处不用自定义安装目录,影响libpng和gd的安装

#make

#(sudo) make install

 

4、安装 jpeg

#[解压进入目录]

#./configure --prefix=/usr/local/jpeg8 --enable-shared --nable-static

#make

#(sudo) make install

 

5、安装freetype

#[解压进入目录]

#./configure --prefix=/usr/local/freetype

#make

#(sudo) make install

安装过程可能出现错误,可忽略

 

6、安装 libpng

#[解压进入目录]

#./configure –prefix=/usr/local/libpng

#make

#(sudo) make install

 

7、安装 gd2

#[解压进入目录]

#./configure 

#cd config

缺省情况下,GD库编译时并不加入JPEG支持,得修改Makefile文件。修改Makefile文件,使得:

CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF

LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11

此后,编译并安装:

#make

#make install

 

8、安装curl

#[解压进入目录]

#./configure --prefix=/usr/local/curl

#make

#make install

 

9、安装libxslt(需要1.1.0以上版本)

#[解压进入目录]

#./configure --prefix=/usr/local/libxslt

如果libxml2使用自定义安装目录,那么需要加--with-libxml2-dir=/usr/local/libxml2

#make

#make install

 

10、安装MySql

#tar xvf mysql-max-5.0.27-linux-i686-glibc23.tar.gz

#sudo mv mysql-max-5.0.27-linux-i686-glibc23 /usr/local/

#sudo ln –s /usr/local/ mysql-max-5.0.27-linux-i686-glibc23 /usr/local/ mysql

现在我们来为mysqld增加一个登录用户和组:

#sudo groupadd mysql

#sudo useradd -g mysql mysql

然后我们来进入mysql所在的目录执行mysql_install_db脚本,用来初始化mysql数据库的授权表,其中贮存了服务器访问允许

cd /usr/local/mysql

TMPDIR=/tmp/

MYSQL_UNIX_PORT=/tmp/mysql.sock

export TMPDIR MYSQL_UNIX_PORT

sudo scripts/mysql_install_db --user=mysql

如果顺利的话会输出一些信息,这些信息的最后会有http://www.mysql.com

最后我们将程序二进制的所有权改为root,数据目录的所有权改为运mysqld的用户。在终端输入:

#chown-R root .(注意最后有个点)

#chown-R mysql data

#chgrp-R mysql.(注意最后有个点)

#sudo bin/mysqld_safe--user=mysql &

应该会进入光标不停闪动的状态,这就代表mysql顺利启动了。

这时候我们再打开一个终端,

在里面输入:bin/mysqladmin version 

MySQL安装完以后会以用户root创建两个账户。这些账户为超用户账户,可以执行任何操作。初始root账户的密码为空,因此任何人可以用root账户不用任何密码来连接MySQL服务器,并具有所有权限。在Linux中这两个root账户均用于从本机连接,一个账户主机名应指定为 localhost,另一个账户为实际的主机名或IP号。此外Mysql还创建了两个匿名用户账户,每个账户的用户名均为空。匿名账户没有密码,因此任何人可以使用匿名账户来连接MySQL服务器。这样无疑太危险了,所以我们要给这4个帐号设上密码:

#/usr/local/mysql/bin/mysql -u root

mysql> set password for ''@'localhost'= password('newpwd');

mysql> set password for ''@'host_name'= password('newpwd');

mysql> set password for 'root'@'localhost'= password('newpwd');

mysql> set password for 'root'@'host_name'= password('newpwd');

用服务器主机名替换set password语句中的host_name。如果你不知道是哪个主机名,在set password之前执行下面的语句:

mysql> select host, user from mysql.user;

如果想以root进入mysql的话,要输入命令:

#/usr/local/mysql/bin/mysql -u root -p

以后启动的话:

#sudo /usr/local/mysql/bin/mysqld_safe -user=mysql &

 

11、安装PHP5

#[解压进入目录]

#./configure --prefix=/usr/local/php5 --with-xml --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/curl --enable-ftp --with-libxml-dir=/usr/local/lib --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd --with-jpeg-dir=/usr/local/jpeg8 --with-zlib-dir=/usr/lib --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype

#make

#(sudo) make install

修改位于php安装文件夹内的文件php.ini-develop(product)

extension=php_bz2.dll

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mysql.dll

extension=php_mysqli.dll

之前的分号去掉

然后把它拷贝到/usr/local/php/lib/下,并命名为php.ini:

#sudo cp php.ini-dist /usr/local/php/lib/php.ini

 

12、让apache支持PHP

# vi /usr/local/apache/conf/httpd.conf

找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

 

三、重启apache

# /usr/local/apache/bin/apachectl restart