用源码包安装Apache


1.
下载: httpd-2.0.50 ,比如我们在/opt目录下建一个临时的安装目录software,把下载下来的httpd-2.0.50.tar.gz,放到/opt/software/目录中;

http://nagoya.apache.org/mirror/httpd/httpd-2.0.50.tar.gz

2.
解压:

[root@qzjci mysql]# cd /opt/software/
[root@qzjci software]# ls

mysql-4.0.16 httpd-2.0.50.tar.gz mysql-4.0.16.tar.gz
[root@qzjci software]#tar zxvf httpd-2.0.50.tar.gz

3.
编译:在这个地方值得注意的是,我们要把httpd-2.0.50安装到我们指定的目录中,为了系统和安全和优化,建议把自己用源码包安装的服务器类软件都放在/opt 目录里。所以在这里,我们就要把httpd-2.0.50也安装到/opt/apache这个目录中;

[root@qzjci software]# cd httpd-2.0.50

[root@qzjci httpd-2.0.50]#./configure --prefix=/opt/apache --enable-track-vars --enable-cgi --with-config-file-path=/opt/apache/conf

一点简单的说明:这个apache的安装,有很多的选项,如果您是比较精通,所以必要看此文,可以自己定义来安装。因为我大多是采用默认的配制,如果您想让apache有更多的功能,比如支持压缩输出以及jsp等支持,可以看其它的文章。这篇文件主还要给初学linux的弟兄写的一个简单的入门型文章,直接的说,就是给一点都不懂在linux如何安装apache,并支持php+mysql的。能让初学linux的弟兄自己架一个最简单的网站,这样弄明白原理以后,就便于深入学习和研究。我写此文的目的仅此而已;

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

如果需要更多的选项,可能通过下面的命令来查看;

[root@qzjci httpd-2.0.50]#./configure --help

下一步就是make make install

[root@qzjci httpd-2.0.50]#make

[root@qzjci httpd-2.0.50]#make install

安装完成后,会在/opt/目录下生成/opt/apache

最后运行chkconfigApache加到系统的启动服务组里面:

[root@qzjci httpd-2.0.50]#/sbin/chkconfig – del httpd

[root@qzjci httpd-2.0.50]#/sbin/chkconfig –add httpd

 


4.
启动apache;如果编译成功后,我们首先想到的是如何启动apache,在这里,我们要明白apache的守护进程是 /opt/apache/bin目录中 apachectl

启动apache守护进程;
[root@qzjci httpd-2.0.50]# /opt/apache/bin/apachectl start

 

为了方便可以建立启动文件的链接文件,如下:


[root@qzjci httpd-2.0.50]#ln –s /opt/apache/bin/apachectl start /etc/rc.d/init.d/httpd

所以下次启动Apache时就可以直接输入

[root@qzjci httpd-2.0.50]# /etc/rc.d/init.d/httpd start

 


打开浏览器,输入 http://localhost 就能看到一个apache的欢迎页面了,这表示我们已经成功解决了apache的安装。

安装仅仅是第一步,那我们如何配制她呢,比如我们想自己指定网站存放的目录??

5.
配制apache,我们只做简单的说明,只是让一个网站能简单运行起来就OK了,如果入门后,我们才能进一步学习;学习根本就不能一天的事,可能要花一辈子,或许一辈子过去了,自己感觉也没有学到什么:)

1]
配制文件是/opt/apache/conf/httpd.conf,如果是用rpm包安装的,应该在/etc/httpd/conf中,如果是其它方法安装的,用locate httpd.conf来查找。

2]
编译安装的apache默认存放主页的位置应该是/opt/apache/htdocs
这个目录。我们可以把这个目录清空,然后换成自己的东西。当然我们也可以自己来指定一个目录来存放我们自己的小站;


3]
改配制文件时,我们要对原文件进行备份,切记!!

[root@qzjci root]# cp /opt/apache/conf/httpd.conf /opt/apache/conf/httpd.confBAK

3.
一些重要配制选项的说明:


ServerRoot "/opt/apache"
[
]这是ServerRoot指定apache程序所在的的目录,比如日志文件、配制文件等目录,这个不要改动。


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

http://www.linuxsir.org:8080



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

ServerAdmin [email protected]




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

ServerName 192.168.0.1:80



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

DocumentRoot "/var/home/freewill"


注:这句应该和DocumentRoot 的目录保持一致。比如我在上面设置的是/var/home/freewill,那在这句中,也应该用这/var/home/freewill

也就是:


#
# 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后,我们就进行相应的处事处事阶段,比如我们要设置存放主页的目录等。

比如我们上面已经把主页目前设置为/var/home/freewill,那我们就应该建一个目录到/var/home
[root@qzjci home]# mkdir freewill
[root@qzjci home]# chmod 755 freewill

然后我们把index.html的文件放入到/var/home/freewill目录中的时候,可能访问不到的情况。
这时不要忘记设置权限,切记!!

[root@qzjci www]# chmod -R 755 freewill

然后就重启apache的守护进程httpd

[root@qzjci apache]# /opt/apache/bin/apachectl restart

查看是否已经启动了apache服务器??
[root@qzjci apache]# ps aux | grep httpd

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

你可能感兴趣的:(linux,apache,.htaccess,cgi,linux,浏览器,mysql)