如何在CentOS和Red Hat中安装apache web服务器

时间:2019-08-20 17:58:16  来源:igfitidea点击:

Web服务器顾名思义就是用于Web服务的服务器。
网站和web应用程序需要web服务器才能运行。

在这里我们将为web服务器安装apache。还有其他的web服务器也在linux中被广泛使用,比如nginx、lighttpd、cherokee等。

Web服务器详细配置

默认端口:80
文档根目录:/var/www/html
默认用户名:apache
配置文件:/etc/httpd/httpd.conf
注意:我们也可以在/etc/httpd/conf.d中创建一个配置文件

操作系统信息

IP地址:10.0.0.22
操作系统:CentOS 6.4版(最终版)
架构:i686

安装第一个Apache web服务器

安装Apache 软件包

yum install httpd

为apache设置SELINUX

setsebool -P allow_httpd_anon_write=1

为Web服务器设置IPTABLE

临时设置

[root@webserver ~]# iptables -A INPUT -p 80 -j ACCEPT
[root@webserver ~]# iptables -A OUTPUT -p 80 -j ACCEPT
[root@webserver ~]# iptables-save

永久设置

编辑文件/etc/sysconfig/iptables并添加下面两行

-A输入-p tcp–dport 80-j ACCEPT
-A输出-p tcp–dport 80-j ACCEPT

/etc/sysconfig/iptables配置参考:

[root@webserver ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -p tcp --dport 80 -j ACCEPT
COMMIT
[root@webserver ~]#

检查iptables规则:

iptables -nL

如何启动、停止、重启HTTP服务或者Apache服务

用于启动HTTP服务

service httpd start
或者
/etc/init.d/httpd start

停止HTTP服务

service httpd stop
或者
/etc/init.d/httpd stop

重启HTTP服务

service httpd restart
或者
/etc/init.d/httpd restart

用于检查HTTP服务状态

service httpd status
或者
/etc/init.d/httpd status

开机自启用http服务

设置在运行级别启用http服务,当系统重新启动时,该服务将自动运行:

chkconfig httpd on

查看服务自启动的运行级别:

[root@webserver html]# chkconfig --list|grep http
httpd          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@webserver html]# chkconfig httpd on
[root@webserver html]# chkconfig --list|grep http
httpd          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
[root@webserver html]#

测试

创建一个html页面,输入hello world

vi /var/www/html/index.html

hello world

chown apache:apache /var/www/html/index.html

打开web浏览器并输入下面url

http://web服务器IP

将可以看到index.html的内容

常见问题

启动httpd服务时,可能报下面的错误:

[root@localhost ~]# /etc/init.d/httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed for web服务器
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

需要设置Web服务器的FQDN,即全限定域名。

在/etc/hosts中添加FQDN对应表

[root@localhost ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.22   webserver.example.com webserver

编辑/etc/sysconfig/network并将 HOSTNAME设置为主机名信息

[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=webserver
[root@localhost ~]#

重新启动服务器,使主机名和FQDN生效:

init 6

或者

shutdown -r now

重新启动服务器后,检查主机名和FQDN。

hostname查看主机名
hostname-f查看FQDN

[root@webserver ~]# hostname
webserver
[root@webserver ~]# hostname -f
webserver.example.com
[root@webserver ~]#

启动或者重启httpd服务, 这时候应该不再报错。

service httpd start

或者

/etc/init.d/httpd start

检查httpd服务的状态

service httpd status
或者
/etc/init.d/httpd status