如何在CentOS和Red Hat中安装apache web服务器
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