linux mysql apache php 安装_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文件
Welcome to Apache!!
保存后,在浏览器上输入http://XXX.XXX.XXX.XXX(Web服务器的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 &成功启动
(3)php的安装与配置
首先,安装php前,以下包可能会需要安装:zlib-1.2.3.tar.gz、libpng-1.2.24.tar.gz、freetype-2.3.11.tar.gz、libtool-2.4.tar.gz、jpegsrc.v6b.tar.gz、autoconf-2.61.tar.gz、gd-2.0.35.tar.gz、libxml2-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测试代码为:
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的信息),说明php与mysql相连的模块包没有安装成功,可尝试下载安装php-mysql的rpm包(php-mysql-5.1.6-27.el5.x86_64.rpm),安装它还需先安装php-pdo的rpm包(php-pdo-5.1.6-27.el5.x86_64.rpm),pdo就是专门用于连接php和mysql的。
在以后的web端配置安装时,若phpinfo的基本信息能正常显示,但缺少某个模块功能,可单独下载其对应的rpm包,安装即可。
在/var/www/html下新建一个test.php,用于测试连接远程数据库:
Web2echo "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);
?>
在浏览器输入http://XXX.XXX.XXX.XXX/test.php,若能显示数据库中相应信息说明php与远程数据库连接成功。