Red hat 9.0下PHP和Mysql的安装.

March 8, 2009 | tags linksys  Linux  asterisk  网络电话  免费网络电话软件   | views
Comments 0

php 安装


OS:RedHat9.0
kernel: 2.4.20
1.安装版本的选择:

选择较新的Release版5.1.2
采用Source code安装

2.下载

http://www.phpchina.cn/downloads/PHP/php-5.1.2.tar.gz

注意因为PHP采用 source code(Tarball) 安装,所以需要先安装支持的包,比如jpg,GD等包

这里一并下载:

(1)perl(php需要)
http://downloads.activestate.com/ActivePerl/Linux/5.6/ActivePerl-5.6.1.638-i686-linux.rpm
(2)curl(可以不要)
http://curl.haxx.se/download/curl-7.15.0.tar.gz
(3)libxml2(php需要)
http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.19.tar.gz
(4)libxslt(可以不要)
http://ftp.gnome.org/pub/GNOME/sources/libxslt/1.1/libxslt-1.1.15.tar.gz
(5)zlib(这个好像是必需要的)
http://www.zlib.net/zlib-1.2.3.tar.gz


下面是php对图形支持需要的库
(1)GD
http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
(2)freetype
http://keihanna.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.10.tar.gz
(3)jpeg
http://www.ijg.org/files/jpegsrc.v6b.tar.gz
(4)libpng
http://nchc.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.8.tar.gz


3.安装

先安装需要的库(解压缩这种低级问题就不说了)

安装GD库(让PHP支持GIF,PNG,JPEG)
a.安装 jpeg6
建立目录:
# mkdir -p /usr/local/jpeg6
# mkdir -p /usr/local/jpeg6/bin
# mkdir -p /usr/local/jpeg6/lib
# mkdir -p /usr/local/jpeg6/include
# mkdir -p /usr/local/jpeg6/man
# mkdir -p /usr/local/jpeg6/man1
# mkdir -p /usr/local/jpeg6/man/man1

# cd jpeg-6b
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
# make; make install

b.安装libpng
# cd libpng-1.2.8
# cp scripts/makefile.std makefile
# make; make install

c.安装 freetype
# cd freetype-2.1.10
# mkdir -p /usr/local/freetype
# ./configure --prefix=/usr/local/freetype
# make;make install

d.:安装zlib
#cd zlib.1.2.3
# ./configure
# make;make install

e.安装GD库
# mkdir -p /usr/local/gd2
# cd gd-2.0.33
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/
--with-png=/usr/local/lib/
--with-zlib=/usr/local/lib/
--with-freetype=/usr/local/freetype/
# make; make install

e.安装Curl库
# mkdir -p /usr/local/curl
# ./configure --prefix=/usr/local/curl
# make; make install

安装php5需要的支持库


a.安装libxml2
# cd libxml2-2.6.19
# mkdir -p /usr/local/libxml2
# ./configure --prefix=/usr/local/libxml2
# make; make install

b.安装 libxslt(可选安装,你可以不安装)
# mkdir -p /usr/local/libxslt
# cd libxslt-1.1.15
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
# make; make install

安装perl 就简单了

rpm -ivh  ActivePerl-5.6.1.638-i686-linux.rpm

 

安装php5

./configure --prefix=/usr/local/php \ 
->--with-apxs2=/usr/local/apache2/bin/apxs  \
->--with-mysql=/usr/local/mysql/  \
->--with-libxml-dir=/usr/local/libxml2/  \
->--with-zlib-dir=/usr/lib  \

下面是GD
->--with-gd=/usr/local/gd2/  \
->--with-jpeg-dir=/usr/local/jpeg6/  \
->--with-png=/usr/local/lib  \
->--with-freetype-dir=/usr/local/freetype/  \
curl库
->--with-curl=/usr/local/curl/  \
支持ftp 以及soap 和xslt等等
->--enable-ftp  \
->--enable-soap  \
->--with-xsl=/usr/local/libxslt/  \
->--enable-xslt

其中apache2\mysql\libxml2\zlib  等项是必须的,其他的GD库等等都是可选

然后make;make install

编译安装完毕,拷贝配置文件

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

 


4.重新配置apache2让他支持php。

配置 httpd.conf 让apache支持PHP

# vi /usr/local/apache2/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

找到DirectoryIndex  加入index.php  index.phps
DirectoryIndex index.php index.html index.html.var

找到
LoadModule php5_module        modules/libphp5.so

安装svn时候我们说过,svn是Apache的一个module,同样php也一样,
这样的结构就比较简单了。
对了如果你发现还有
LoadModule php4_module        modules/libphp4.so
说明你安装过php4  哈哈,赶快把php4注释了吧,否则不会正确的!

我这里还有svn的module
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

 

重新启动apache
/usr/local/apache2/bin/httpd -k restart

另外我建立了一个新的目录用来安装phpmyadmin

<Directory /var/www/html/admin>
  AuthType Basic
  AuthName "Restricted Area"
  AuthUserFile /etc/php/php-auth-file
  Require valid-user
</Directory>


5.测试

在你的apache文件根目录下(默认是htdocs\)
新建一个test.php



http://192.168.0.1/test.php

Over

Mysql 安装

1.安装版本的选择:

这里使用较新的mysql5.0 安装。
 注意 mysql 官方不建议使用Tarball(Source Code)方式安装,所以我们采用
由mysql自己编译好的binary方式来安装,简单。当然,mysql还给Redhat企业版等
提供了Rpm的安装包。

2.下载
这里要注意了,由于glibc的版本不同需要下载相应的tar,

看看自己的glibc版本
rpm -qa | grep glibc

glibc-common-2.3.2-27.9.7
glibc-kernheaders-2.4-8.10
glibc-2.3.2-27.9.7
glibc-devel-2.3.2-27.9.7
glibc-utils-2.3.2-27.9.7

我的机器上是2.3,所以我下载了
mysql-max-5.0.22-linux-i686-glibc23.tar.gz

保存到/wxd/tar/mysql

(选择max ,免得有什么功能没有安装,哈哈)

3.解压缩,

#cd /usr/local
#tar -zxvf /wxd/tar/mysql/mysql-max-5.0.22-linux-i686-icc-glibc23.tar.gz

 

 

 


有关编码:
显示系统编码
SHOW VARIABLES LIKE 'character_set_%';

 

#ln -s /wxd/tar/mysql/mysql-max-5.0.22-linux-i686-icc-glibc23.tar.gz  mysql

 


# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
将配置文件拷贝到/etc


4.建立mysql需要的用户和组


添加mysql用户及用户组
# groupadd mysql
# useradd -g mysql mysql

修改mysql目录权限
# chown -R root /usr/local/mysql
# chgrp -R mysql /usr/local/mysql
(以上两句可以直接#chown -R root:mysql /usr/local/mysql)

# chown -R mysql /usr/local/mysql/data
操作mysql数据库的用户是mysql 所以要拥有数据库目录的所有权

5.生成系统数据库

# /usr/local/mysql/scripts/mysql_install_db --user=mysql&

6.启动mysql
# /usr/local/mysql/bin/safe_mysqld --user=mysql&

**注意:执行完这个命令后,会在/tmp产生一个mysql.sock 的文件  这是访问mysql必须的!
**注意是safe_mysqld  不是mysqld_safe


另外,mysql目录下有一个安装文件 INSTALL-BINARY ,介绍了安装的步骤!


其他设定:
关于mysql的一些配置项可以在/etc/my.cnf 中更改!

另外,

  设置mysql执行程序的path:
#vi /etc/profile
添加:
PATH="$PATH":/usr/local/mysql/bin
不要忘了
export PATH

设置mysql开机启动
cd /usr/local/mysql; /usr/local/mysql/bin/safe_mysqld --user=mysql &

或者使用mysql 提供的脚本
cp /usr/local/mysql/support-files/mysql.server  /usr/local/mysql/bin

mysql.server start 启动mysql
mysql.server stop  停止mysql

修改mysql超级用户root的密码

#mysqladmin -u root -p password '123456'
Enter password: 
回车就行 ,默认的密码为空


登陆mysql 看看

mysql -u root -p

输入密码

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.0.22-max-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


看看系统数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

 

不过现在还不能从Remote 访问!

增加一个本地访问超级用户
mysql>GRANT ALL PRIVILEGES ON *.* TO
hotplum@localhost
           IDENTIFIED BY '12345' WITH GRANT OPTION;

增加一个远端访问超级用户
mysql>GRANT ALL PRIVILEGES ON *.* TO
hotplum@"%"
           IDENTIFIED BY '12345' WITH GRANT OPTION;


  @"%"为任意位置访问  12345 是访问密码

 

本文地址 : http://jz3.net/post/24.html




发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。