Apache常见配置

时间:2024-01-25 18:06:19
 

一、yum安装与配置

1.1安装:

[root@apache ~]# yum install http\* -y

[root@apache ~]# echo "test01" >>/var/www/html/index.html

[root@apache ~]# firewall-cmd --permanent --add-service=http

[root@apache ~]# firewall-cmd --reload

[root@apache ~]# systemctl enable httpd.service

[root@apache ~]# systemctl restart httpd.service

1.2测试验证:

[root@apache ~]# curl localhost:80

test01

[root@apache ~]#

二、配置虚拟主机

2.1创建内容:

[root@apache ~]# mkdir /srv/{default,example}/www -p

[root@apache ~]# echo "test02" > /srv/default/www/index.html

[root@apache ~]# echo "test03" > /srv/excample/www/index.html

2.2如果开了SELinux,需配置安全上下文:

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

[root@apache ~]# restorecon -Rv /srv/

2.3添加配置文件

[root@apache ~]# vim /etc/httpd/conf.d/my.conf

输入:

<VirtualHost *:80>

DocumentRoot "/srv/default/www"

</VirtualHost>

<Directory "/srv/default/www">

    Require all granted

</Directory>

2.4验证:

[root@apache ~]# systemctl restart httpd.service

[root@apache ~]# curl localhost:80             

test02

[root@apache ~]#

2.5添加配置

[root@apache ~]# vim /etc/httpd/conf.d/my.conf

<VirtualHost *:80>

DocumentRoot "/srv/default/www"

</VirtualHost>

<Directory "/srv/default/www">

    Require all granted

</Directory>

 

<VirtualHost *:80>

ServerName www.test03.com 域名

ServerAlias test03  别名

DocumentRoot "/srv/example/www" 访问主页(默认进入index.html

</VirtualHost>

<Directory "/srv/example/www">

    Require all granted  

</Directory>

2.6修改hosts

[root@apache ~]# cat /etc/hosts

192.168.247.17  www.test03.com

192.168.247.17  test03

2.7测试验证:

[root@apache ~]# curl localhost:80

test02

[root@apache ~]#

[root@apache ~]# curl www.test03.com:80

test03

[root@apache ~]# curl test03:80

test03

[root@apache ~]#

三、控制访问

3.1添加配置:

[root@apache ~]# cat /etc/httpd/conf.d/my.conf  

#<VirtualHost *:80>

#DocumentRoot "/srv/default/www"

#</VirtualHost>

#<Directory "/srv/default/www">

#    Require all granted

#</Directory>

 

<VirtualHost *:80>

ServerName www.test03.com

ServerAlias test03

DocumentRoot "/srv/example/www"

</VirtualHost>

<Directory "/srv/example/www">

    Require all granted

    AllowOverride AuthConfig

</Directory>

3.2设置秘钥访问:

[root@apache ~]# cd /srv/example/www

[root@apache www]# vim .htaccess

输入:

AuthName testACL

Authtype Basic

AuthUserfile /srv/example/www/.htpasswd

require user tansk

3.3创建密码:

[root@apache www]# htpasswd -cm .htpasswd tansk

New password: (123456)

Re-type new password:(123456)

四、开启个人主页

(已关闭SELinux,否则需设置:setsebool -P httpd_enable_homedirs=on 

4.1修改配置:

[root@apache ~]# vim /etc/httpd/conf.d/userdir.conf   

设置:  

<IfModule mod_userdir.c>

    UserDir public_html

</IfModule>

4.2创建主页内容

[root@apache ~]# chmod -R 755 /home/tansk/

[root@WWW ~]# su tansk

[tansk@WWW root]$ cd

[tansk@WWW ~]$ mkdir public_html

[tansk@WWW ~]$ echo "this is tansk home" > public_html/index.html

[tansk@WWW ~]$ exit

4.3测试验证:

[root@apache ~]# systemctl restart httpd.service   

[root@apache ~]# curl http://192.168.247.17/~tansk/    

this is tansk home

[root@apache ~]#

 

4.4给个人用户主页设置密码

使用htpasswd命令生成密码数据库,并将tansk用户加进去

[root@apache ~]# htpasswd -c /etc/httpd/passwd.txt tansk

New password: (123456)

Re-type new password: (123456)

Adding password for user tansk

[root@apache ~]#

4.5编辑httpd子配置文件

vim /etc/httpd/conf.d/userdir.conf

修改为:

<Directory "/home/*/public_html">

    #AllowOverride FileInfo AuthConfig Limit Indexes

    #Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

    #Require method GET POST OPTIONS

    AllowOverride all

    authuserfile "/etc/httpd/passwd.txt"

    #提示信息

    authname "tansk’s home"

    authtype basic

    #需要认证的用户

    require user tansk

</Directory>

4.6登录验证