Apache2.2+mysql5+php5.3配置[转载]

上次配了一次这样的环境,今天又配了一次,我靠,又浪费我几个小时查资料,今天老子决定把它记下来。

1,配置Apache2.2

我下载的是Apache httpd-2.2.14.tar.gz,这个安装倒是比较顺利,按照http://lamp.linux.gov.cn/Apache/ApacheMenu/install.html所提供的编译安装步骤一步步向下走就OK,具体如下:

 

解压$ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar
$ cd httpd-NN
配置$ ./configure --prefix=PREFIX --with-mpm=worker(PREFIX 表示你要安装的路径。流媒体一定要加上此项,用于多线程的需要)编译完之后用./apachectl -l查看,如果list出来的c文件有worker.c就说明Ok了。
编译$ make
安装$ make install
配置$ vi PREFIX/conf/httpd.conf
测试$ PREFIX/bin/apachectl -k start

 

配置httpd.conf文件

在此行修改端口号,默认的是80

#Listen 12.34.56.78:80
Listen 8080

serverName可以是域名,如果没有域名就用本机的IP即可。

ServerName 192.168.1.243:8080

DocumentRoot "/usr/local/apache2/htdocs" 就是根目录,根windows IIS的Inetpub目录一样

<IfModule dir_module>
DirectoryIndex index.html index.php 此处用来添加默认主页
</IfModule>
<Directory "/usr/local/apache2/htdocs">此处应该是用来设置要发布的网站的主目录

Ok

现在可以通过IP:port进行测试了,如果出现it works的页面,说明安装成功。

 

2,安装mysql5,我用的是mysql-5.0.87-linux-i686-glibc23.tar.gz。详细是按下面步骤进行的:

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

注:有很版本说数据库存在var文件夹下,不过此版本没有var文件夹,数据库存在data文件夹中。

客户端测试时,先进到 cd /usr/local/mysql/bin/文件夹下。

用客户端可执行文件,用root登录:

使用test库进行测试,建好teacher表

查询teacher表

 

3,安装PHP5.3 ,我用的是php-5.3.0.tar.gz

首先解压文件到 /usr/local/php5

# cd /usr/local/php5

#./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php5/etc
cp php.ini-dist /usr/local/php5/etc/php.ini

# make
# make install

整合php和apache
# cp php.ini-development /usr/local/php5/etc/php.ini (以前版本是php.ini-dist或其它的,刚开始我也奇怪)
vi /usr/local/php5/etc/php.ini

将extension=php_mysql.dll前面的#去掉

注意在/usr/local/apache2/conf/httpd.conf加上下代码使apache执行PHP

AddType application/x-httpd-php .php
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php4 .php4
AddType application/x-httpd-php-source .phps
配置完后,重启apache2
#/usr/local/apache2/bin/
#./apachectl restart
最后在apache2的htdocs文件夹下建一个内容为<?php phpinfo(); ?> test.php的php文件
通过IP:port/test.php访问,会出现一个列出php信息的网面.(我顶它个肺,网上很多资料都写成<? phpinfo(); ?> ,我开开始也这样写,结果一片空白,搞了我好久,所以没学过php的,一定要注意问号后面要加上php).
至此已完
另注:

安装完PHP5.3后,重启apache2时,会出现下面一个错误,不能重启:

httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

 


最后一步重新启动apache报如下错误

原因是Linux有一个SELinux保护模式引起的。

按照网上的说法,我先进行了下的操作:

在/etc/selinux/config 把selinux给disable掉了,reboot,Apache启动成功,其余的PHP什么的都正常了,但还是和网上说的一般,关掉了selinux,系统可能会不安全的。

 

2.不关闭SELINUX的方法:

# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache2/modules/libphp5.so
# ./apachectl restart
# setenforce 1

 

重启apache,成功

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值