文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>在FC4下安装PHP4+MYSQL5+APACHE2

在FC4下安装PHP4+MYSQL5+APACHE2

时间:2005-12-08  来源:rainballdh

more do and more think,more gain.

首先大家要去各自的官方网站下载软件包.
httpd-2.0.54.tar.gz:http://archive.apache.org/dist/httpd/httpd-2.0.54.tar.gz
PHP-4.4.0.tar.gz:http://cn2.php.net/get/php-4.4.0.tar.gz/from/cn.php.net/mirror
mysql5.0:http://www.mysql.com去下载MYSQL5.0:mysql-standard-5.0.16-linux-i686.tar.gz

然后我们按照先装MYSQL,再装APACHE,最后安装PHP的顺序.
1.然后,要在终端里面输入以下命令:
[code]shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -
shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
shell> cd mysql
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &[/code]
这些命令都在INSTALL_BINARY这个文件里面!
如果在安装没有错误提示的话,那就说明安装完成.然后就要起动MYSQL SERVER,在终端输入:

[code]shell> cd support-files
shell> ./mysql.server start
如果提示[root@rainball support-files]# ./mysql.server start
Starting MySQL [ 确定 ][/code]
祝贺你已经成功安装MYSQL5.0了!


2.安装APACHE
[root@bugkill local]# cd /usr/local/apache
[root@bugkill apache]# ls
mysql-4.1.9 httpd-2.0.54.tar.gz mysql-4.1.9.tar.gz
[root@bugkill apache]# tar zxvf httpd-2.0.54.tar.gz
[root@bugkill apache]# cd httpd-2.0.54
[root@bugkill httpd-2.0.54]# ./configure --prefix=/usr/local/apache --enable-track-vars --enable-cgi --with-config-file-path=/usr/local/apache/conf

解释:
--prefix=/opt/apache 指定把apahce安装到/usr/local/apache目录中;
--enable-cgi 支持CGI;
--with-config-file-path=/usr/local/apache/conf 指定把apache的配制文件放在/usr/local/apache/conf中;比如httpd.conf配制文件就在这个目录中;
--enable-track-vars 为启动cookie的get/post等追踪功能

如果需要更多的选项,可能通过下面的命令来查看;
[root@bugkill httpd-2.0.54]# ./configure --help

下一步就是make 和make install
[root@bugkill httpd-2.0.54]# make
[root@bugkill httpd-2.0.54]# make install
安装完成后,会在/usr/local目录下生成/usr/local/apache

注:启动apache;如果编译成功后,我们首先想到的是如何启动apache,在这里,我们要明白apache的守护进程是 /opt/apache/bin目录中 apachectl ;
启动apache守护进程;
[root@bugkill httpd-2.0.54]# /usr/local/apache/bin/apachectl start
打开浏览器,输入 http://localhost 就能看到一个apache的欢迎页面了,这表示我们已经成功解决了apache的安装。

配制apache,我只做简单的说明,一个网站能简单运行起来就OK
1]配制文件是/usr/local/apache/conf/httpd.conf,如果是用rpm包安装的,应该在/etc/httpd/conf中,如果是其它方法安装的,用locate httpd.conf或find来查找。
2]编译安装的apache默认存放主页的位置应该是/usr/local/apache/htdocs
3]改配制文件时,我们要对原文件进行备份.
[root@bugkill httpd-2.0.54]# cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.confBAK

注意:一些重要配制选项的说明:
ServerRoot "/usr/local/apache"
[注]这是ServerRoot指定apache程序所在的的目录,比如日志文件、配制文件等目录,这个不要改动。

Listen 80 [注]apache 默认端口80,如果您想改在别的端口访问,就改一下。最好还是不要改了。比如我要改为8080,那访问网址时,应该用如下的格式
http://10.0.2.30:8080

ServerAdmin root@localhost 注:在这里,把管理员的信箱放上去,比如我的管理信箱是 [email protected] 那就改这句为
ServerAdmin [email protected]

#ServerName new.host.name:80 注:前面有#号就是注销掉了,我们要在下面加一行。比如我没有域名,我就用自己本地机的IP设置为10.0.2.30,所以我在这里就设置了相同的;应该 是:当然,这个得与自己机器所设置的IP地址一致,在这里,我的网卡的IP地址,我已经设置成了10.0.2.30
ServerName 10.0.2.30:80

DocumentRoot "/usr/local/apache/htdocs" 这个是存放网页的目录,也就是说,我们应该把网页的目录指定到哪里,这样当访问网址时,就调用这个目录的文件。比如我把存放网页的目录指定到了 /usr/local/apache/htdocs,那应该这样写

DocumentRoot "/usr/local/apache/htdocs "

; 注:这句应该和DocumentRoot 的目录保持一致。比如我在上面设置的是/usr/local/apache/htdocs,那在这句中,也应该用这 /usr/local/apache/htdocs

也就是:
;

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

;

AddDefaultCharset ISO-8859-1
注:这句是指定网页的默认语言的,如果网页出乱中文乱码,应该改AddDefaultCharset 后面的值为GB2312。也就是改成下面这样的。

AddDefaultCharset GB2312

找到下面的一行在后面加上index.php ,让网站的默认页是index.php也行;

DirectoryIndex index.html index.html.var index.php

其它的都默认就好了,这是最简单的了。其它的也不要改动什么,可以研究下。比如设置请求时间,进程数,这些都比较简单,改一下数字就行了。还有就是设置 log存放位置,里面也有选项,其实看一下就明白了,如果我们以实践为基础的话,想把LOG文件放在哪,就放在哪。还有cgi的存放位置等,也可以自己定 义;
配制好后,我们就重启apache后,我们就进行相应的处事处事阶段,比如我们要设置存放主页的目录等。

比如我们上面已经把主页目前设置为/usr/local/apache/htdocs,那我们就应该建一个目录到/usr/local/apache/htdocs中
[root@bugkill htodcs]# mkdir grouphome
[root@bugkill htodcs]# chmod 755 grouphome
然后我们把index.html的文件放入到/usr/local/apache/htdocs/grouphome目录中的时候,可能访问不到的情况,这时不要忘记设置权限。
[root@bugkill htodcs]# chmod -R 755 /usr/local/apache/htdocs/grouphome
然后就重启apache的守护进程httpd

[root@bugkill htodcs]# /usr/local/apache/bin/apachectl restart

查看是否已经启动了apache服务器??

在浏览器的地址栏中输入localhost,这样应该能看到页面了
注:如果是通过root用户,或者其它用户把相应的网站文件复制到网站存放的目录下的,要改变网站存放目录中所有文件的权限,就是上面所说的chmod -R 755 目录名,OK

3.编译和安装:本文是通过动态编译安装的php;

[root@bugkill php]# ls
php-4.4.0.tar.bz2
[root@bugkill php]# tar zxvf php-4.4.0.tar.bz2
[root@bugkill php]# cd php-4.4.0
[root@bugkill php]#
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/usr/local/php/etc

一点说明:

--prefix=/usr/local/php 指定把php-4.4.0安装到/usr/local/php目录中;
--with-mysql=/usr/local/mysql 指定mysql数据服务器安装的位置;
--with-apxs2=/usr/apache/bin/apxs 这是加入apache中为DSO模块的位置;
-enable-track-vars 为启动cookie的get/post等追踪功能
--with-config-file-path=/usr/local/php/etc 指定php的配制文件存放的目录是/usr/local/php/etc目录,我们安装完成后,也要把php.ini复制到这个目录中来。

安装:

[root@bugkill php-4.4.0]# make

[root@bugkill php-4.4.0]# make install

复制php.ini-dist为php.ini,并存放到/usr/local/php/etc/目录下

[root@bugkill php-4.4.0]# cp php.ini-dist /usr/local/php/etc/php.ini

编辑/usr/local/php/etc/php.ini文件,找到如下的一行
;default_charset = "iso-8859-1"
在这行下面加一行
default_charset = "gb2312"

更改apache的配制文件:得加一行,目的是让apache能解释php程序。
找到#AddType application/x-tar .tgz 这行,在下面加一行。前面不要加#号。

AddType application/x-httpd-php .php

找到下面一行在后面加上index.php,这表示网站的默认页也能够为index.php

DirectoryIndex index.html index.html.var index.php

注意:改变了http.conf后,要重启apache服务器,否则不会生效!!

然后我们在网站存放的目录下建一个index.php的文件。我们还是用前面apache自己指定网站存放的位置,/usr/local/apache/htdocs/目录。在这个目录中建一个文件index.php,内容是如下的

;

然后改变这个文件的权限

chmod 755 index.php

在浏览器中打入 http://localhost/index.php ,就能看到php的信息了。如果还是出现的是 ; 字样的页面,那就是没有成功 ,可能是您改变了apache的配制文件,忘记了重启apache服务器了,要重启一下试试看。

把apache mysql php 配制好后,就重启httpd 和mysql 服务.

注意:如果重新起动APACHE出现:/usr/local/apache/bin/apachectl start Syntax error on line 232 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp4.so into server: /usr/local/apache/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied
那就要按照下面的方法解决:

Fedora Core 2开始就了SELinux (Security-Enhanced Linux )这个东西,不过在 FC2下是默认不打开的,从FC3开始就默认打开了,但是打开了是很安全,但是很多操作也不能操作了。

比如再FC4下装Apache + PHP,手工编译的,但是去无法解析PHP,看错误提示,都是什么:

[root@localhost ~]# /usr/local/apache/bin/apachectl start Syntax error on line 232 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp4.so into server: /usr/local/apache/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied

郁闷了,总是无法加载libphp4.so这个包,想了半天没有结果,搜索一下,原来是SELinux再搞鬼,哼,把你给关了。


使用vi/gedit/kate/bluefish任何的文本编辑工具打开 /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=enforcing

把 SELINUX=enforcing 注释掉:#SELINUX=enforcing ,然后新加一行为:
SELINUX=disabled

保存,关闭。


然后再使用文本编辑工具打开:/etc/sysconfig/selinux,找到:
# 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=enforcing

如果SELINUX已经是 SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing 注释掉,新加一行:
SELINUX=disabled

保存,退出。

重启系统,然后看看我们的Apache已经能够运行PHP了。呵呵。

如果你碰到其他类似提示:

cannot restore segment prot after reloc: Permission denied

哪应该是SELinux的问题,可以考虑把它关闭。


相关阅读 更多 +
排行榜 更多 +
坦克冒险大师安卓版

坦克冒险大师安卓版

策略塔防 下载
自动防御

自动防御

策略塔防 下载
枪战大乱斗2

枪战大乱斗2

飞行射击 下载