Apache安装日志
为了在Linux服务器上安装Escaas代码开发文档—doxygen,我打算在服务器上搭建个网站,于是选用Apache,结果安装的过程却不太顺利,走了不少弯路,浪费许多时间,此以为记,便于日后参考。
安装步骤
下载 apache,例如:httpd-2.2.34.tar.gz
解压httpd-2.2.34.tar.gz
1
tar -xzvf httpd-2.2.34.tar.gz
进入解压后的目录httpd-2.2.34,进行安装,关于linux下的压缩文件
1
2
3
4
5cd httpd-2.2.34
./configure
make
make install
make clean在上述中,如果./configure后不添加参数则按默认路径安装,如果需要指定路径可以采用:./configure –prefix=/home/software/httpd-2.2.34 指定路径的方式进行安装。
在本例中采用的是默认路径,因此安装程序会自动在/usr/local中创建 apache2 目录,Apache服务器软件的所有配置文件和可执行文件就都保存在这里。如果要卸载,只需将 apache2 目录删除即可。
接下来要修改配置文件/usr/local/apache2/conf/httpd.conf,要修改的有如下几项:
Listen
1
2
3修改Listen行,确定服务的IP地址和端口号:
Listen 192.168.3.33:80
说明:192.168.3.33是当前计算机的IP地址,通过80端口提供Web服务。 此项不特意设也可,默认端口就80。ServerName
1
2
3ServerName localhost
或者
ServerName 192.168.3.33:80DocumentRoot
1
2修改DocumentRoot ,根据需要自行设定主页所在的根目录。
DocumentRoot "/var/www/html/doxygen_doc/developer"1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29<Directory "/var/www/html/doxygen_doc/developer">
#
# Possible values for the Options directive are "None", "All",
# 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
#
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
</Directory>DirectoryIndex
1
2
3<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
启动httpd服务
1
/usr/local/apache2/bin/apachectl start
如果一切正常,那么现在打开浏览器,输入:http:\\localhost 或者 http:\\192.168.3.33 就应该可以打开index.html网页了,此处即是我遇到问题的地方,一开始执行
./apachetl start
提示ServerName不明确,也就是前面提到的要给ServerName明确的定义或者是localhost或者是指定的ip,其次又遇到80端口被占用的问题,于是换端口,换了端口也提示被占用,后面把这些端口都kill了,但是依然不行。1
2ps -ef //可以看到有若干个httpd,占着若干个刚刚修改的端口,把这些都kill
kill pid //pid是通过ps -ef 看到的进程id无论配置文件怎么改,端口怎么设置都不行,原来是电脑没重启的缘故,昨天北配停电,今早开机就可以用了,自己电脑上装了一遍,windows服务器上装了一遍,linux服务器上装了一遍,唯独linux不行,就没想过重启一下,应该是一些服务没有生效,没有重启虽然执行
./apachetl start
但实际上httpd服务并没有生效,这才导致无法在浏览器上访问。自动启动httpd服务
上面只是当前启动了httpd服务,如果电脑重启或者关机重开时候,httpd服务是没有自动启动的,下面是一种自动启动的方式,已在服务器上设置,但还未验证:
1
2在/etc/rc.d/rc.local中增加启动apache的命令,例如:/usr/local/httpd/bin/apachectl start
chmod u+x rc.local
总归遇到的所有问题都解决了,开心。
by:Huming
@2017年9月6日10:59:53