RedHat linux AS 5下安装Apache2.2.6_MYSQL5.0.27_PHP5.2.6

 

1、删除系统自带老版本:
删除apache+php+mysql,判断是不是rpm安装如:

  1. rpm -q php
复制代码

返回php版本,则是rpm安装,用 rpm -e php --nodeps 即可彻底删除系统自带的php
如果不返回PHP版本则是二进制安装,直接删除目录就可以!同理apache mysql也一样!

2、安装Apache
下载地址:http://httpd.apache.org/

  1. # tar xzvf httpd-2.2.4.tar.gz
  2. # cd httpd-2.2.4
  3. # ./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all --enable-cgi --enable-rewrite --enable-deflate --with-mpm=worker
  4. # make
  5. # make install
复制代码

3、安装Mysql
下载地址:

  1. # chmod 755 mysql-5.0.45-linux-i686-glibc23.tar.gz   //设置mysql-5.0.45-linux-i686-glibc23.tar.gz属性为755
  2. # tar xzvf mysql-5.0.45-linux-i686-glibc23.tar.gz //解压
  3. # cp -r mysql-5.0.45-linux-i686-glibc23 /usr/local       //
  4. # mv mysql-5.0.45-linux-i686-glibc23 mysql       //
  5. # cd mysql       //
  6. # groupadd mysql // 建立mysql组
  7. # useradd mysql -g mysql  //建立mysql用户并且加入到mysql组中
  8. # cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
  9. 在 support-files目录下有4个模版文件,我们选择其中一个座位Mysql的配置文件,覆盖/etc/my.cnf(系统默认的配置,其中设置了性能参数和Mysql的一些路径参数)
  10. # cd /usr/local/mysql 进入mysql目录
  11. # ./scripts/mysql_install_db --user=mysql //初试化表并且规定用mysql用户来访问。初始化表以后就开始给mysql和root用户设定访问权限
  12. # chown -R root .  //设定root能访问/usr/local/mysql   
  13. # chown -R mysql data //设定mysql用户能访问/usr/local/mysql/data   里面存的是mysql的数据库文件.这个目录是在/etc/my.cnf中有配置,在mysql_install_db时产生。   
  14. # chown -R mysql data/    //设定mysql用户能访问/usr/local/mysql/data/mysql下的所有文件
  15. # chgrp -R mysql . //设定mysql组能够访问/usr/local/mysql
  16. # /usr/local/mysql/bin/mysqld_safe --user=mysql &   运行mysql 如果没有问题的话,应该会出现类似这样的提示:
  17.                                                   [1] 42264
  18.                                                     # Starting mysqld daemon with databases from /usr/local/mysql/var
  19.                                                   如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置。大多数问题是权限设置不正确引起的。
  20. # /usr/local/mysql/bin/mysqladmin -u root password yourpassword   //默认安装密码为空,为了安全你必须马上修改.
  21. # cp support-files/mysql.server /etc/rc.d/init.d/mysqld 设置使mysql每次启动都能自动运行
  22. # chmod 700 /etc/init.d/mysqld
  23. # chkconfig --add mysqld
  24. # chkconfig --level 345 mysqld on
  25. # service mysqld start //启动mysqld服务
  26. # netstat -atln //查看3306端口是否打开。要注意在防火墙中开放该端口。
复制代码

4、安装PHP
(1). 安装zlib (安装libpng和gd前需要先安装zlib),

  1. # tar zxvf zlib-1.2.3.tar.gz
  2. # cd zlib-1.2.3
  3. # ./configure
  4. # make;make install
复制代码

(2). 安装libpng,

  1. # tar zxvf libpng-1.2.12.tar.gz
  2. # cd libpng-1.2.12
  3. # ./configure
  4. # make;make install
复制代码

(3). 安装freetype,

  1. # tar zxvf freetype-2.2.1.tar.gz
  2. # cd freetype-2.1.10
  3. # ./configure --prefix=/usr/local/freetype
  4. # make;make install
复制代码

(4). 安装jpeg,

  1. # tar zxvf jpegsrc.v6b.tar.gz
  2. # cd jpeg-6b
  3. # mkdir /usr/local/jpeg
  4. # mkdir /usr/local/jpeg/bin
  5. # mkdir /usr/local/jpeg/lib
  6. # mkdir /usr/local/jpeg/include
  7. # mkdir /usr/local/jpeg/man
  8. # mkdir /usr/local/jpeg/man/man1
  9. # ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
  10. # make;make install
复制代码

(5). 安装gd,

  1. # tar zxvf gd-2.0.35.tar.gz
  2. # cd gd-2.0.35
  3. # ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg --with-freetype=/usr/local/freetype --with-png --with-zlib
  4. //编译过程中会看到如下信息
  5. ** Configuration summary for gd 2.0.33:

  6.    Support for PNG library:          yes
  7.    Support for JPEG library:         yes
  8.    Support for Freetype 2.x library: yes
  9.    Support for Fontconfig library:   no
  10.    Support for Xpm library:          no
  11.    Support for pthreads:             yes
  12. //可以看到png 、 jpeg 、 freetype都已经安装上了
  13. # make
  14. # make install
复制代码

(6). 正式安装php

  1. # tar zxvf php-5.2.3.tar.gz
  2. # cd php-5.2.3
  3. # ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd=/usr/local/gd --with-zlib --with-libpng --with-jpeg=/usr/local/jpeg --with-freetype=/usr/local/freetype --enable-sockets --with-iconv --enable-mbstring --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/usr/local/php5/etc
  4. # make
  5. # make install
复制代码

(7).整合php和apache

  1. cp php.ini-dist /usr/local/php5/etc/php.ini
  2. vi /usr/local/php5/etc/php.ini
复制代码

将extension=php_mysql.dll前面的#去掉
注意在/usr/local/apache2/conf/httpd.conf加上下代码使apache执行PHP

  1. AddType application/x-httpd-php .php
  2. AddType application/x-httpd-php3 .php3
  3. AddType application/x-httpd-php4 .php4
  4. AddType application/x-httpd-php-source .phps
复制代码

(8). 安装ZendOptimizer,

  1. # tar zxvf ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz
  2. # cd ZendOptimizer-3.0.1-linux-glibc21-i386
  3. # ./install.sh

解决MySQL不允许从远程访问的方法

 

/*------------------------1--------------------------*/
修改my.ini中的ip(如果有 localhost 修改为 ip)

/*------------------------2--------------------------*/

./mysql -u root -p123
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

/*------------------------3--------------------------*/

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION
//赋予任何主机访问数据的权限
mysql>FLUSH PRIVILEGES
//修改生效
mysql>EXIT
//退出MySQL服务器

 

 

查看Mysql操作日志

 

mysql的操作日志在Mysql的Data的主目录下,命名类似:{mysql_data}/{server_name}-bin.00000X
这样的日志是不能直接看的,可以通过mysqlbinlog命令转换成我们识别的格式
mysqlbinlog localhost-bin.000202 > new_file_name.log

[hx@localhost data]$ mysqlbinlog
mysqlbinlog Ver 3.0 for pc-linux-gnu at i686
By Monty and Sasha, for your professional use
This software comes with NO WARRANTY: This is free software,
and you are welcome to modify and redistribute it under the GPL license

Dumps a MySQL binary log in a format usable for viewing or for piping to
the mysql command line client

Usage: mysqlbinlog [options] log-files
-d, --database=name List entries for just this database (local log only).
-D, --disable-log-bin
                      Disable binary log. This is useful, if you enabled
                      --to-last-log and are sending the output to the same
                      MySQL server. This way you could avoid an endless loop.
                      You would also like to use it when restoring after a
                      crash to avoid duplication of the statements you already
                      have. NOTE: you will need a SUPER privilege to use this
                      option.
-f, --force-read    Force reading unknown binlog events.
-?, --help          Display this help and exit.
-h, --host=name     Get the binlog from server.
-o, --offset=#      Skip the first N entries.
-p, --password[=name]
                      Password to connect to remote server.
-P, --port=#        Use port to connect to the remote server.
-j, --position=#    Deprecated. Use --start-position instead.
--protocol=name     The protocol of connection (tcp,socket,pipe,memory).
-r, --result-file=name
                      Direct output to a given file.
-R, --read-from-remote-server
                      Read binary logs from a MySQL server
--open_files_limit=#
                      Used to reserve file descriptors for usage by this
                      program
-s, --short-form    Just show the queries, no extra info.
-S, --socket=name   Socket file to use for connection.
--start-datetime=name
                      Start reading the binlog at first event having a datetime
                      equal or posterior to the argument; the argument must be
                      a date and time in the local time zone, in any format
                      accepted by the MySQL server for DATETIME and TIMESTAMP
                      types, for example: 2004-12-25 11:25:56 (you should
                      probably use quotes for your shell to set it properly).
--stop-datetime=name
                      Stop reading the binlog at first event having a datetime
                      equal or posterior to the argument; the argument must be
                      a date and time in the local time zone, in any format
                      accepted by the MySQL server for DATETIME and TIMESTAMP
                      types, for example: 2004-12-25 11:25:56 (you should
                      probably use quotes for your shell to set it properly).
--start-position=# Start reading the binlog at position N. Applies to the
                      first binlog passed on the command line.
--stop-position=#   Stop reading the binlog at position N. Applies to the
                      last binlog passed on the command line.
-t, --to-last-log   Requires -R. Will not stop at the end of the requested
                      binlog but rather continue printing until the end of the
                      last binlog of the MySQL server. If you send the output
                      to the same MySQL server, that may lead to an endless
                      loop.
-u, --user=name     Connect to the remote server as username.
-l, --local-load=name
                      Prepare local temporary files for LOAD DATA INFILE in the
                      specified directory.
-V, --version       Print version and exit.

Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- -----------------------------
database                          (No default value)
disable-log-bin                   FALSE
force-read                        FALSE
host                              (No default value)
offset                            0
port                              3306
position                          4
read-from-remote-server           FALSE
open_files_limit                  64
short-form                        FALSE
socket                            (No default value)
start-datetime                    (No default value)
stop-datetime                     (No default value)
start-position                    4
stop-position                     18446744073709551615
to-last-log                       FALSE
user                              (No default value)
local-load                        (No default value)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值