Linux学习笔记 --Apache

来源:互联网 发布:win10软件锁许可管理器 编辑:程序博客网 时间:2024/06/06 13:24


Apache



#一.Apache的安装#

 

[root@localhost ~]# yum install httpd -y



[root@localhost ~]# systemctl start httpd

[root@localhost ~]# systemctl enable httpd

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

 


#二.Apache信息#

 

1.apache的默认发布目录

/var/www/html

 

2.apache的默认发布文件

/var/www/html/index.html

 

3.apache的配置文件

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

 

4.apache的默认端口

80

 

 

#三.Apache的基本配置#

 

1.修改默认发布文件


[root@localhost ~]# cd /var/www/html/

[root@localhost html]# vim westos.html



[root@localhost html]# vim /etc/httpd/conf/httpd.conf

164     DirectoryIndex index.html    ---------->   DirectoryIndex westos.html

 

[root@localhost html]# systemctl restart httpd

 


浏览器访问:http://172.25.254.129

 

[root@localhost html]# vim /etc/httpd/conf/httpd.conf

164     DirectoryIndex index.html    ---------->   DirectoryIndex westos.html index.html

 

[root@localhost html]# systemctl restart httpd

 

浏览器访问:http://172.25.254.129

 


[root@localhost html]# rm -fr westos.html

 

浏览器访问:http://172.25.254.129

 

2.修改默认发布目录[当selinux是disable状态时]

 

[root@localhost ~]# mkdir /mnt/westos/html -p

[root@localhost ~]# vim /mnt/westos/html/westos.html

 


[root@localhost html]# vim /etc/httpd/conf/httpd.conf

119 #DocumentRoot "/var/www/html"

120 DocumentRoot "/mnt/westos/html"

121

122 <Directory "/mnt/westos/html">   ##授权

123     Require all granted ##允许任何人访问

124 </Directory>

 


[root@localhost ~]# systemctl restart httpd

 

浏览器访问:http://172.25.254.129

 

3.修改默认发布目录[当selinux是enforcing状态时]

 

[root@localhost html]# vim /etc/httpd/conf/httpd.conf

119 #DocumentRoot "/var/www/html"

120 DocumentRoot "/mnt/westos/html"

121

122 <Directory "/mnt/westos/html">      ##授权

123     Require all granted             ##允许任何人访问

124 </Directory>

 


[root@localhost ~]# systemctl restart httpd

 

[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t '/mnt(/.*)?'

[root@localhost ~]# restorecon -RvvF /mnt

 

浏览器访问:http://172.25.254.129

 


4.apache的访问控制

 

[root@localhost html]# mkdir admin

 

1)设定IP的访问

 

[root@localhost html]# vim /etc/httpd/conf/httpd.conf

126 <Directory "/var/www/html/admin"> ##只允许172.25.254.129主机访问admin目录

127         Order Deny,Allow       

128         Allow from 172.25.254.129

129         Deny from All

130 </Directory>

 


[root@localhost ~]# systemctl restart httpd

 

浏览器访问:http://172.25.254.129/admin

 


[root@localhost html]# vim /etc/httpd/conf/httpd.conf

 

132 <Directory "/var/www/html/admin"> ##允许除了172.25.254.129主机的所有用户访问admin目录

133        Order Allow,Deny       

134        Allow from All

135        Deny from 172.25.254.129

136 </Directory>

 


[root@localhost ~]# systemctl restart httpd

 

浏览器访问:http://172.25.254.129/admin

 

 

2)设定用户的访问

 

htpasswd -cm /etc/httpd/accessuser admin ##设定帐号密码 [-c会覆盖原内容]

 

[root@localhost html]# vim /etc/httpd/conf/httpd.conf

138 <Directory "/var/www/html/admin">

139         AuthUserFile /etc/httpd/accessuser ##用户认证文件

140         AuthName "Please input name and password !" ##用户认证提示信息

141         AuthType basic ##认证类型

142         Require valid-user ##认证用户,认证文件中所有用户都可以通过

or [Require user admin] ##只允许认证文件中admin用户访问

143 </Directory>

 


[root@localhost ~]# systemctl restart httpd

 

浏览器访问:http://172.25.254.129/admin

 




5.apache语言支持

 

html语言默认支持

 

php语言

[root@localhost ~]# yum install php -y



[root@localhost ~]# systemctl start httpd

[root@localhost ~]# vim /var/www/html/index.php ##php测试页

<?php

phpinfo();

?>

 

[root@localhost ~]# systemctl restart httpd


 


cgi语言

[例子]

[root@localhost ~]# mkdir /var/www/html/cgi

[root@localhost ~]# vim /var/www/html/cgi/index.cgi ##cgi测试页

#!/usr/bin/perl

print "Content-type: text/html\n\n";

print `date`; ##执行date指令



[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

145 <Directory "/var/www/html/cgi">

146 Options +ExecCGI ##可执行CGI语言命令

147 AddHandler cgi-script .cgi ##添加操作者为以.cgi结尾的cgi脚本

148 </Directory>



[root@localhost ~]# systemctl restart httpd

[root@localhost ~]#chmod +x /var/www/html/cgi/index.cgi


测试

 

 

#四.Apache的虚拟主机#

 

1.定义

实现apache服务器在被访问不同域名时显示不同的主页

 

2.建立测试页

[root@localhost ~]# cd /var/www/

[root@localhost www]# mkdir -p virtual/news.westos.com

[root@localhost www]# mkdir -p virtual/money.westos.com

[root@localhost www]# mkdir virtual/news.westos.com/html -p

[root@localhost www]# mkdir virtual/money.westos.com/html -p

[root@localhost www]# echo "<h1>money.westos.com's page</h1>" > money.westos.com/html/index.html

[root@localhost www]# echo "<h1>news.westos.com's page</h1>" > news.westos.com/html/index.html

 


3.配置

[root@localhost ~]# cd /etc/httpd/conf.d/

[root@localhost conf.d]# vim default.conf ##未指定域名的访问都访问default

<Virtualhost    _default_:80>  ##虚拟主机开启的默认端口为80

        DocumentRoot "/var/www/html" ##默认虚拟主机发布目录

        CustomLog "logs/default.log" combined ##指定虚拟主机日志(全部)

</Virtualhost>

 

[root@localhost conf.d]# vim news.conf ##指定域名news.westos.com的访问都指定默认发布目录中

<Virtualhost    *:80>

        ServerName "news.westos.com"

        DocumentRoot "/var/www/virtual/news.westos.com/html"

        CustomLog "logs/news.log" combined

</Virtualhost>

 

<Directory "/var/www/virtual/news.westos.com/html"> ##默认发布目录的访问权限

            Require all granted

</Directory>

 


[root@localhost conf.d]# cp news.conf money.conf


[root@localhost conf.d]# vim money.conf ##指定域名money.westos.com的访问>都指定默认发布目录中

<Virtualhost    *:80>

        ServerName "money.westos.com"

        DocumentRoot "/var/www/virtual/money.westos.com/html"

        CustomLog "logs/money.log" combined

</Virtualhost>

 

<Directory "/var/www/virtual/money.westos.com/html"> ##默认发布目录的访问权限

            Require all granted

</Directory>

 


【浏览器所在主机】

[root@foundation66 ~]# vim /etc/hosts

172.25.254.129  www.westos.com  news.westos.com money.westos.com

 


4.测试

浏览器访问 www.westos.com news.westos.com money.westos.com






原创粉丝点击