最全Linux下Apache+PHP+MySQL(包含libxml2,libxslt,libpng,zlib,curl,jpeg,gd2,freetype)最终版!
最全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