Red hat 9.0下PHP和Mysql的安装.
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
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