LINUX下MYSQL+APACHE+PHP
时间:2006-06-03 来源:cxm.cm
LINUX9 下安装APACHE+PHP+MYSQL
2006-4-19(CXM.CM整理)
一. 安装MySQL
我使用的的Mysql是4.1.10,源代码版,你也可以使用RPM包或者二进制版,安装方法可能不一样,请参考其它文章.
先下载Mysql4.1.10的源代码版,地址: http://dev.mysql.com/downloads/mysql/4.0.html
把它下到/usr/local/src目录下,如果没有该目录,就自己建一个.下载回来的包名字叫 mysql-4.1.10.tar.gz,然后我们把它解压出来:
# tar -zxvf mysql-4.1.10.tar.gz
解压后生成mysql-4.1.10目录,我们进入该目录:
# cd mysql-4.1.10
进入后就开始配置mysql了,配置过程中我们要给mysql设置一个安装目录,我们设置在 /usr/local/mysql 下,以为把文件放到一个地方比较容易
管理,如果你还想获得更多的配置信息,使用 ./configure --help:
# ./configure --prefix=/usr/local/mysql
(./configure --with-libc=/usr/local/glibc-2.4 --prefix=/usr/local/mysql)
然后等几秒钟,配置完成后就编译源代码:
# make
这个编译的过程比较长,如果机器比较慢的话,可能要近二十分种 ( PS:我的机器是很普通的机器,所有用了差不多15,6分种 :( ) . 编译完成后就安装:
# make install
等上几秒钟,安装完成.下面就到了最关键的部分了,为什么老安装不成功,(PS:至少我是安装了N次,N > 10 ,呵呵),问题关键就在这里,访问 mysql要一个专门的用户,而且必须给相应的访问权限,这里我们就设置root和mysql有权限访问.
我们先建立一个mysql和mysql组用户来访问mysql:
# (pw) groupadd mysql #建立mysql组
# (pw) useradd mysql -g mysql #建立mysql用户并且加入到mysql组中
建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤)
# ./scripts/mysql_install_db --user=mysql #初试化表并且规定用mysql用户来访问
初始化表以后就开始给mysql和root用户设定访问权限, 我们先到安装mysql的目录:
# cd /usr/local/mysql
然后设置权限
# chown -R root . #设定root能访问/usr/local/mysql
# chown -R mysql var #设定mysql用户能访问/usr/local/mysql/var ,里面存的是mysql的数据库文件
# chown -R mysql var/. #设定mysql用户能访问/usr/local/mysql/var下的所有文件
# chown -R mysql var/mysql/. #设定mysql用户能访问/usr/local/mysql/var/mysql下的所有文件
# chgrp -R mysql . #设定mysql组能够访问/usr/local/mysql
设置完成后,基本上就装好了,好了,我们运行一下我们的mysql:
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
如果没有问题的话,应该会出现类似这样的提示:
[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
这就证明你安装成功了,如果出现:
[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
040818 10:53:45 mysqld ended
则证明你的mysql运行不来,请查看错误日志: /usr/local/mysql/var/*.err 然后确定安装是否成功,如果没有成功,请检查上面的步骤是否正确 安装完成后,能够通过 /usr/local/mysql/bin/mysql 来连接mysql进行管理,如果你装了apache并且能够解析php的话,也能使用phpMyadmin来管 理你的mysql,记得装完后使用mysql或者mysqladmin来修改root的密码,这里我们就不说了,请参考相关的文章.
控制mysql就通过 /usr/local/mysql/libexec/mysqld 来控制启动或者停止mysql:
# /usr/local/mysql/libexec/mysqld start #启动mysql
# /usr/local/mysql/libexec/mysqld stop #停止mysql
# /usr/local/mysql/libexec/mysqld restart #重启mysql
为了每次系统重启后都能运行mysql,可以写一个脚本放到 /usr/local/etc/rc.d目录下,用来运行mysql,我们写一个脚本mysql_start.sh
cp /mysql-4.1.10/support-files/ my- huge.cnf /etc/my.cnf
#! /bin/sh
/usr/local/mysql/bin/mysqld_safe&
然后保存到/usr/local/etc/rc.d目录下,那么以后reboot系统后都能启动mysql了.
二. 安装Apache
安装Apache要简单点,我这里安装的Apache版本是 httpd-2.0.54,去下载压缩包: http://httpd.apache.org/download.cgi.
下载回来的包叫做 httpd-2.0.54.tar.gz 我们放在 /usr/local/src目录下.
首先进入目录后解压缩:
# cd /usr/local/src
# tar -zxvf httpd-2.0.54.tar.gz
然后就会得到 httpd-2.0.54目录,我们进入目录
# cd httpd-2.0.54
首先配置:
./configure --prefix=/usr/local/apache --enable-module=rewrite --enable-module=so --with-mpm=worker
执行上面的命令,如果没有错误信息,证明配置成功,然后进行编译:
# make
一两分钟就编译完了,然后进行安装:
# make install
安装完成后,Apache就存放在 /usr/local/apache目录下了, bin是执行文件的目录,conf是配置文件目录,htdocs是网页的主目录,logs是日志目 录.
Apache通过 bin/apachectl或者bin/httpd来控制启动或者停止.
# /usr/local/apache2/bin/httpd -k start #启动apache
# /usr/local/apache/bin/httpd -k stop #停止apache
# /usr/local/apache/bin/httpd -k restart #重启apache
http://crm.media86.com/cgi-bin/awstats.pl?config=www.yulequan.com
然后你可以通过 http://localhost 来测试apache是否安装成功,如果出现apache的页面则安装成功,否则请检查上面的步骤.
三 PHP安装
1,Curl安装curl-7.12.
./configure --with-prefix=/usr/local/curl
make
make test
make install
2,安装GD库gd-2.0.(在安装该包之前需要先安装其相关联的软件如下: libpng-1.2.8.tar.gz,freetype-2.1.2.tar.gz,jpegsrc.v6b.tar.gz,zlib-1.2.2.tar.gz)
./configure --with-png --with-freetype --with-jpeg --with-zlib
3,安装PHP时的配置项目(在安装该包是需要先安装如下包:mhash-0.9.1.tar.gz,libmcrypt-2.5.7.tar.gz)
./configure --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf -with-curl --with-mcrypt --with-mhash --with-gd --with-jpeg --with-png --with-zlib
安装apache + php + gd + libpng + zlib + jpegsrc + freetype
知道PHP处理图像,使用了GD库,而GD库开始时是支持GIF的,但由于GIF使用了有版权争议的LZW算法,会引起法律问题,于是从GD-1.6开始,GD库不再支持GIF,改为支持更好的,无版权争议的PNG。而我现在希望同时支持GIF,PNG和JPEG。由底向上的顺序介绍,即Jpeg->ttf->zlib->png->GD->PHP->Apache。
1.Jpeg6b的安装和配置
解包
[root@ns php_img]# tar zxvf jpegsrc.v6b.tar.gz
进入j-6b
[root@ns php_img]# cd jpeg-6b/
[root@ns jpeg-6b]# ./configure
[root@ns jpeg-6b]# make
[root@ns jpeg-6b]# make install
命令完成后,jpeglib.h被拷到/usr/include目录下,libjpeg.a和libjpeg.so被拷到/usr/local/lib目录下
[root@ns jpeg-6b]# cp jpeglib.h /usr/include
[root@ns jpeg-6b]# cp libjpeg.a /usr/local/lib
2. ttf 的安装和配置
[root@ns php_img]# tar zxvf freetype-1.3.1.tar.gz
[root@ns php_img]# cd freetype-1.3.1
[root@ns freetype-1.3.1]# ./configure
[root@ns freetype-1.3.1]#make
[root@ns freetype-1.3.1]#make install
编译gd 的时候有可能出现error don't found the freetype.h 如果出现的话:
cp /usr/local/include/freetype/* /usr/local/include/
3.zlib 安装:
[root@ns php_img]# tar zxvf zlib-1.1.3.tar.gz
[root@ns php_img]# cd zlib-1.1.3
[root@ns zlib-1.1.3]# ./configure
[root@ns zlib-1.1.3]# make
[root@ns zlib-1.1.3]# make install
4. libpng 安装:
[root@ns php_img]# tar zxvf libpng-1.2.0.tar.gz
[root@ns php_img]# cd libpng-1.2.0
[root@ns libpng-1.2.0]# cp scripts/makefile.std makefile
[root@ns libpng-1.2.0]#make
[root@ns libpng-1.2.0]#make install
5.GD-1.8.3的安装和配置
[root@ns php_img]# tar zxvf gd-1.8.3.tar.gz
[root@ns php_img]# cd gd-1.8.3
缺省情况下,GD库编译时并不加入JPEG支持,得修改Makefile文件。修改Makefile文件,使得:
CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
和
LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11
[root@ns gd-1.8.3]# make
[root@ns gd-1.8.3]# make install
注意: php 和apache 要以so模式一起安装 我们要先将apache和php解压,然后进入apache文件夹执行./configure然后进入php文件夹安装
[root@ns php_img]# tar zxvf apache_1.3.27.tar.gz
[root@ns php_img]#cd apache_1.3.27
[root@ns apache_1.3.27]#./configure
[root@ns php_img]# tar zxvf php-4.3.1.tar.gz
6. php-4.0.6的安装和配置
[root@ns php_img]# tar zxvf php-4.3.1.tar.gz
[root@ns php-4.3.1]# ./configure --with-apache=/home/wangbin/php_img/apache_1.3.27 --with-mysql --disable-debug --enable-track-vars --enable-url-includes --enable-sockets --with-gd=/usr/local --enable-gd-native-ttf --with-ttf=/usr/local --with-jpeg-dir=/usr/local --with-zlib-dir=/usr/local --with-png-dir=/usr/local
[root@ns php-4.3.1]#make
[root@ns php-4.3.1]#make install
四 GCC4.1.0安装
下载地址: ftp://linuxforum.net/pub/gcc/releases/gcc-4.1.0/gcc-4.1.0.tar.bz2
# tar jxf gcc-4.1.0.tar.bz2
# mkdir gcc-build;cd gcc-build
# ../gcc-4.1.0/configure --prefix=/usr/local/gcc4.1 && make && make install
# cd /usr/bin; mv gcc _gcc
# ln -s /usr/local/gcc4.1/bin/gcc gcc
# gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.1.0/configure --prefix=/usr/local/gcc4.1
Thread model: posix
gcc version 4.1.0
如果有以上的输出,说明gcc编译安装成功.
五. phpMyAdmin的安装
phpMyAdmin是比较好的通过web访问方式来管理数据库的免费程序,我们可以通过以下地址来下载。 国外网站下载: http://prdownloads.sourceforge.n ... php.tar.gz?download 我的站点下载:http://www.dragonson.org/soft/phpMyAdmin-2.5.1-php.tar.gz
#cd /usr/local/src
#tar -zxvf phpMyAdmin-2.5.1-php.tar.gz
#mv phpMyAdmin-2.5.1 phpmyadmin
# cd phpmyadmin
#vi config.inc.php 修改config.inc.php文件如下:
(1) 查找$cfg['PmaAbsoluteUri'] = ''; ,将该行内容更改为$cfg['PmaAbsoluteUri'] = 'http://202.4.142.209/phpmyadmin/'; 执行:wq!命令保存退出,在IE浏览器里输入http://202.4.142.209/phpmyadmin/,会出现如下图: 请注意阅读上图中的红色文字,默认的mysql数据库用户名root是没有密码的,这是一个安全漏洞,所以我们要修改数据库的密码,请执行如下步骤:
(2) 把 PHPMYADMIN目录及其内容拷到APACHE的下面
(3) 修改
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['PmaAbsoluteUri'] = 'http://192.168.1.201/phpmyadmin/';
$cfg['blowfish_secret'] = 'fdsfdsfd';