今天总于搞定apache+php+mysql了

来源:互联网 发布:淘宝助理批量手机详情 编辑:程序博客网 时间:2024/05/16 09:36

做了几天了,才搞定这几个东东,不过对linux熟练了不少 

  首先,采用版本: 
  Apache1.3.33 
  PHP5 
  MySQL4.1.11 

1.安装Apahce: 

  cd apache 
  ./configure --prefix=/usr/local/apache --enable-so 
  make && make install 

2.安装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的一些路径参数)  
   
  ./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/var  
如果出现 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 
  chmod 700 /etc/init.d/mysqld 
  chkconfig --add mysqld 
  chkconfig --level 345 mysqld on //copy编译目录的一个脚本  
//设置使mysql每次启动都能自动运行  

3.安装PHP 

  cd php 
  ./configure --prefix=/usr/local/php --with-apxs=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql 

  make && make install 
  cp php.ini-dist /usr/local/lib/php.ini 

PHP和Apache安装后的基本配置   

  1.Apache的配置   

  Apache的配置文件是/usr/local/httpd/conf/httpd.conf,编辑httpd.conf 文件,在文件结尾加上以下两行: 

  LoadModule php4_module modules/libphp4.so 
  AddType application/x-httpd-php .php .php3 
                                                                                
  同时修改DirectoryIndex为: 
  DirectoryIndex index.html index.php index.php3 

  2.PHP的配置   

  PHP的配置文件是/usr/local/lib/php.ini,编辑php.ini文件来配置PHP的选项。特别注意的是,安装完成后register_globals变量默认设置为Off,需要将它改成On。否则会出现PHP读不到post的数据的现象。 

 

我的系统环境为:linux red hat Febore Core 4

  原来编译MySQL4.1.11一直有问题,是因为没有注意到系统原来有默认安装一个MySQL,上网查阅相关文章,不想卸载了,直接编译安装MySQL4.1.11,将里面的conf文件copy到系统默认安装的mysql覆盖.测试结果:OK


  原来安装Apache1.3.33+PHP4的时候:
  /usr/local/apache/bin/apachectl start
  结果系统提示,无法载入libphp4.so, 原因:权限不够

  上网查阅资料,原来是从Febore Core 3开始系统采用了一个selinux,结果关了这个"selinux"就可以正常启动Apache了.解决这个的时候相关文章还说可以通过升级系统达到不用关闭"selinux"就可以正常使用Apache的效果,但是我们校园网升级比较麻烦,所以还是关掉算了.

  安装phpMyAdmin的时候,发现无法连接数据库,上网查阅,原来是用户密码在MySQL4x以后的版本,采用了新的算法,所以使用时要重新设定一下:

  mysql>SET PASSWORD OLD_PASSWORD('root');

这样就OK了,真是问题多多啊.

不过现在还是无法解决的一个问题就是:
现在可以用phpMyAdmin管理数据库了,但是进入到某个数据库的某个表的时候,点击"浏览"查看表中的数据的时候,竟然会显示不出,但明明这张表中是有数据的.这个问题有待解决... 

原创粉丝点击