Linux下Apache+Mysql+PHP的安装与配置

(1)       Apache的安装与配置

思路:首先在官网下载APACHE源码,本系统下载版本为httpd-2.2.17.tar.gz,下面几步为在终端的配置命令

tar zxvf httpd-2.2.17.tar.gz

cd httpd-2.2.17

./configure --prefix=/usr/local/apache

make

make install

service httpd start

如果出现:

Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 222.31.76.227 for ServerName

                                                           [  OK  ]

 

 

 

 说明安装成功!

 

如果希望apache开机自启动的话,可以通过以下命令在/etc/rc.d/rc.local加入自启动命令:

echo "service httpd start">>/etc/rc.d/rc.local

 

测试Apache

/var/www/html目录下建立index.html文件

<h1>Welcome to Apache!!</h1>

 

 


保存后,在浏览器上输入http://XXX.XXX.XXX.XXXWeb服务器的IP)查看结果

注意:iptables必须关闭或者将80端口加到iptables

 

 

 

 

 

 

 

 

 

(2)       Mysql-client的安装与配置

思路:由于MYSQL没有源码包可以下载,所以本系统使用MYSQL的二进制安装包,使用版本为mysql-5.5.10-linux2.6-x86_64.tar.gz,下面几步为在终端的配置命令(可直接粘贴)

tar zxvf mysql-5.5.10-linux2.6-x86_64.tar.gz

cd /usr/local

ln -s /home/software/mysql-5.5.10-linux2.6-x86_64 mysql

cd mysql/

vi INSTALL-BINARY

看到以下部分为安装步骤

To install and use a MySQL binary distribution, the basic command

sequence looks like this:

shell> groupadd mysql

shell> useradd -r -g mysql mysql

shell> cd /usr/local

shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz

shell> ln -s full-path-to-mysql-VERSION-OS mysql

shell> cd mysql

shell> chown -R mysql .

shell> chgrp -R mysql .

shell> scripts/mysql_install_db --user=mysql

shell> chown -R root .

shell> chown -R mysql data

# Next command is optional

shell> cp support-files/my-medium.cnf /etc/my.cnf

shell> bin/mysqld_safe --user=mysql &

# Next command is optional

shell> cp support-files/mysql.server /etc/init.d/mysql.server   //开机自启动(后面还需几步)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


如果已经安装在安装操作系统时已经安装过MYSQL,那么前6步(高亮部分)目前已经完成

(需要注意的是 data目录下存放的就是一个又一个数据库,所以,必须将权限设置为mysql,否则,mysql本身进不去,配置就会失败)

chown -R mysql.mysql .

scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/

chown -R root .

chown -R mysql data

cp support-files/my-medium.cnf /etc/my.cnf

bin/mysqld_safe --user=mysql &

service mysqld start

若显示:

Starting MySQL..                                           [  OK  ]

则说明mysql已成功启用!

 

使用  mysql_install_db --user=mysql  创建新的MySQL授权表,使用者为mysql

使用 mysqld_safe --user=mysql &     以用户名user_name或数字用户ID user_id运行mysqld服务器。(本文中的“用户”指系统登录账户,而不是 授权表中的MySQL用户)

 

MYSQL自启动

cp support-files/mysql.server /etc/init.d/mysqld

chmod 700 /etc/init.d/mysqld

chkconfig --add mysqld

如果遇到以下问题:

启动MYSQL出错,提示:
Starting mysqld daemon with databases from /usr/local/mysql/data
STOPPING server from pid file /usr/local/mysql/data/xmcncn.pid
061103 15:25:32  mysqld ended
解决方法:
vi /etc/my.cnf
看看[mysqld]下有没有
port  = 3306
添加上就可以了
touch /tmp/mysql.sock
killall -9 mysqld
/usr/local/mysql/bin/mysqld_safe -user=mysql &
成功启动

 

 

 

 

 

 

 

 

 

 

 

 

  

3php的安装与配置

首先,安装php前,以下包可能会需要安装:zlib-1.2.3.tar.gzlibpng-1.2.24.tar.gzfreetype-2.3.11.tar.gzlibtool-2.4.tar.gzjpegsrc.v6b.tar.gzautoconf-2.61.tar.gzgd-2.0.35.tar.gzlibxml2-2.7.3.tar.gz

 

在官网下载php源码,本系统下载版本为php-5.3.6.tar,下面几步为在终端的配置命令(可直接粘贴)

cd /home/software/

tar -xvf php-5.3.6.tar

cd php-5.3.6

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql

配置后若如下显示License,则说明成功,否侧可能还缺少上述的包。

checking whether -lc should be explicitly linked in... no

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

creating libtool

appending configuration tag "CXX" to libtool

 

Generating files

updating cache ./config.cache

creating ./config.status

creating main/internal_functions.c

creating main/internal_functions_cli.c

+----------------------------------------------------------------------------------------+

| License:                                              |

| This software is subject to the PHP License, available in this     |

| distribution in the file LICENSE.  By continuing this installation  |

| process, you are bound by the terms of this license agreement.  |

| If you do not agree with the terms of this license, you must abort |

| the installation process at this point.                        |

+-----------------------------------------------------------------------------------------+

 

Thank you for using PHP.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


make

make test  //可以不做

make install

cp php.ini-development /etc/php.ini

vi /usr/local/apache/conf/httpd.conf

加入一句话:

AddType application/x-httpd-php .php

 

 


cd /var/www/html

vi index.php

新建php测试代码为:

<?php

phpinfo();

?>

 

 

 

 

重启apache,重启前要先修改/etc/selinux/config,将SELINUX=enforcing 改成SELINUX=disabled

vi /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#       enforcing - SELinux security policy is enforced.

#       permissive - SELinux prints warnings instead of enforcing.

#       disabled - SELinux is fully disabled.

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

#       targeted - Only targeted network daemons are protected.

#       strict - Full SELinux protection.

SELINUXTYPE=targeted

 

 

 

 

 

 

 

 

 

 

 


service httpd restart

出现以下语句说明重启成功:

Stopping httpd:                                            [  OK ]

Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 222.31.76.227 for ServerName

                                                         [  OK ]

 

 

 

 

 


在浏览器输入http://XXX.XXX.XXX.XXX/index.php,若显示phpinfo信息说明php配置成功。

 

 

 

若能显示phpinfo信息,但发现无法连接数据库(没有MYSQL的信息),说明phpmysql相连的模块包没有安装成功,可尝试下载安装php-mysqlrpm(php-mysql-5.1.6-27.el5.x86_64.rpm),安装它还需先安装php-pdorpm(php-pdo-5.1.6-27.el5.x86_64.rpm)pdo就是专门用于连接phpmysql的。

在以后的web端配置安装时,若phpinfo的基本信息能正常显示,但缺少某个模块功能,可单独下载其对应的rpm包,安装即可。

 

/var/www/html下新建一个test.php,用于测试连接远程数据库:

<head>

<title>Web2</title>

</head>

<body>

<?php

echo "Hello World!";

$db=mysql_connect("远程服务器IP","用户名","password") or die ("mysql connected failed! ");

mysql_select_db("数据库名",$db);

$sql="select * from users";

$result=mysql_fetch_row(mysql_query($sql));

print_r($result);

?>

</body>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


在浏览器输入http://XXX.XXX.XXX.XXX/test.php,若能显示数据库中相应信息说明php与远程数据库连接成功。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值