Apache

安装:

[root@localhost ~]# yum install httpd
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# vim index.html

[root@localhost html]# vim /etc/httpd/conf/httpd.conf
[root@localhost html]# mkdir /home/wwwroot
[root@localhost html]# systemctl restart httpd
[root@localhost html]# cd /home/wwwrooot
bash: cd: /home/wwwrooot: No such file or directory
[root@localhost html]# cd /home/wwwroot
[root@localhost wwwroot]# vim index.html
[root@localhost wwwroot]# vim /etc/selinux/config
[root@localhost wwwroot]# getenforce
Enforcing
[root@localhost wwwroot]# setenforce 0
[root@localhost wwwroot]# chmod -Rf 755
chmod: missing operand after ‘755’
Try 'chmod --help' for more information.
[root@localhost wwwroot]# vim /etc/httpd/conf/httpd.conf
[root@localhost wwwroot]# systemctl restart httpd

[root@localhost wwwroot]# setenforce 1
[root@localhost wwwroot]# setenforce 0
[root@localhost wwwroot]# setenforce 1
[root@localhost wwwroot]# ls -ldZ /var/www/html
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html
[root@localhost wwwroot]# ls -ldZ /home/wwwroot

[root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
[root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*
[root@localhost wwwroot]# restorecon -Rv /home/wwwroot

[root@localhost wwwroot]# vim /etc/httpd/conf.d/userdir.conf
[root@localhost wwwroot]# systemctl restart httpd
[root@localhost wwwroot]# su - linuxprobe
[linuxprobe@localhost ~]$ mkdir public_html
[linuxprobe@localhost ~]$ cd public_html/
[linuxprobe@localhost public_html]$ vim index.html
[linuxprobe@localhost public_html]$ cd ..
[linuxprobe@localhost ~]$ chmod -Rf 755 ~
[linuxprobe@localhost ~]$ exit
logout

[root@localhost wwwroot]# setenforce 0
[root@localhost wwwroot]# setenforce 1
[root@localhost wwwroot]# getsebool -a
[root@localhost wwwroot]# getsebool -a | grep http
[root@localhost wwwroot]# setsebool -P httpd_enable_homedirs=on

[root@localhost wwwroot]# htpasswd -c /etc/httpd/passwd abel
[root@localhost wwwroot]# file /etc/httpd/passwd
[root@localhost wwwroot]# vim /etc/httpd/conf.d/userdir.conf
<Directory "/home/*/public_html">
allowoverride all
authuserfile /etc/httpd/passwd
authname ahahahahahahahahah
authtype basic
require user abel
</Directory>
[root@localhost wwwroot]# systemctl restart httpd

 虚拟网站主机功能

基于IP地址

[root@localhost ~]# yum install httpd
[root@localhost home]# mkdir wwwroot
[root@localhost home]# mkdir -p /home/wwwroot
[root@localhost home]# mkdir -p /home/wwwroot/10
[root@localhost home]# mkdir -p /home/wwwroot/20
[root@localhost home]# mkdir -p /home/wwwroot/30

[root@localhost home]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
ONBOOT=yes
IPADDR0=192.168.10.10
IPADDR1=192.168.10.20
IPADDR2=192.168.10.30

[root@localhost home]# systemctl restart network
[root@localhost home]# ping 192.168.10.10
[root@localhost home]# ping 192.168.10.20
[root@localhost home]# ping 192.168.10.30

[root@localhost home]# cd /home/wwwroot
[root@localhost wwwroot]# ls
10  20  30
[root@localhost wwwroot]# echo "101010101010101010" > 10/index.html
[root@localhost wwwroot]# echo "202020202020202020" > 20/index.html
[root@localhost wwwroot]# echo "303030303030303030" > 30/index.html

[root@localhost wwwroot]# vim /etc/httpd/conf/httpd.conf
<virtualhost 192.168.10.10>
documentroot /home/wwwroot/10
servername www.linuxprobe.com
<directory /home/wwwroot/10>
allowoverride none
require all granted
</directory>
</virtualhost>

<virtualhost 192.168.10.20>
documentroot /home/wwwroot/20
servername www.linuxprobe.com
<directory /home/wwwroot/20>
</directory>
allowoverride none
require all granted
</virtualhost>

<virtualhost 192.168.10.30>
documentroot /home/wwwroot/30
servername www.linuxprobe.com
<directory /home/wwwroot/30>
</directory>
allowoverride none
require all granted
</virtualhost>

[root@localhost wwwroot]# systemctl restart httpd
[root@localhost wwwroot]# systemctl enable httpd

[root@localhost wwwroot]# ls -ldZ /var/www/html
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html
[root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
[root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10
[root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10/*
[root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20
[root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20/*
[root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30
[root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30/*
[root@localhost wwwroot]# restorecon -Rv /home/wwwroot
[root@localhost wwwroot]# firefox

 基于主机域名

[root@localhost ~]# yum install httpd
[root@localhost ~]# vim /etc/hosts
192.168.10.10 www.linuxprobe.com bbs.linuxprobe.com tech.linuxprobe.com
[root@localhost ~]# ping www.linuxprobe.com
[root@localhost ~]# ping bbs.linuxprobe.com
[root@localhost ~]# ping tech.linuxprobe.com
[root@localhost ~]# mkdir -p /home/wwwroot
[root@localhost ~]# mkdir -p /home/wwwroot/www
[root@localhost ~]# mkdir -p /home/wwwroot/bbs
[root@localhost ~]# mkdir -p /home/wwwroot/tech
[root@localhost wwwroot]# echo "wwwwwww" > www/index.html
[root@localhost wwwroot]# echo "techtech" > tech/index.html
[root@localhost wwwroot]# echo "bbsbbsbb" > bbs/index.html

[root@localhost wwwroot]# vim
/etc/httpd/conf/httpd.conf <virtualhost 192.168.10.10> documentroot /home/wwwroot/www servername www.linuxprobe.com <directory /home/wwwroot/www> allowoverride none require all granetd </directory> </virtualhost> <virtualhost 192.168.10.10> documentroot /home/wwwroot/bbs servername bbs.linuxprobe.com <directory /home/wwwroot/bbs> allowoverride none require all granetd </directory> </virtualhost> <virtualhost 192.168.10.10> documentroot /home/wwwroot/tech servername tech.linuxprobe.com <directory /home/wwwroot/tech> allowoverride none require all granetd </directory> </virtualhost> [root@localhost wwwroot]# systemctl restart httpd [root@localhost wwwroot]# systemctl enable httpd [root@localhost wwwroot]# ls -ldZ /var/www/html drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www/* [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs/* [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech/* [root@localhost wwwroot]# restorecon -Rv /home/wwwroot [root@localhost wwwroot]# firefox

基于端口号

[root@localhost ~]# yum install httpd
[root@localhost ~]# mkdir -p /home/wwwroot/6111
[root@localhost ~]# mkdir -p /home/wwwroot/6333
[root@localhost ~]# cd /home/wwwroot
[root@localhost wwwroot]# echo "611111111111" > 6111/index.html
[root@localhost wwwroot]# echo "633333333333" > 6333/index.html
[root@localhost wwwroot]# vim /etc/httpd/conf/httpd.conf
Listen 6111
Listen 6222

<virtualhost 192.168.10.10:6111>
documentroot /home/wwwroot/6111
servername www.linuxprobe.com
<directory /home/wwwroot/6111>
allowoverride none
require all granted
</directory>
</virtualhost>

<virtualhost 192.168.10.10:6222>
documentroot /home/wwwroot/6222
servername www.linuxprobe.com
<directory /home/wwwroot/6222>
allowoverride none
require all granted
</directory>

[root@localhost wwwroot]# systemctl restart httpd
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
       --------------------------------à SElinux 服务检测到6111和6222端口
       --------------------------------à SELinux安全上下文

[root@localhost wwwroot]# ls
-ldZ /var/www/html drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/6111 [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/6111/* [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/6222 [root@localhost wwwroot]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/6222/* [root@localhost wwwroot]# semanage port -l [root@localhost wwwroot]# semanage port -l | grep http http_cache_port_t tcp 8080, 8118, 8123, 10001-10010 http_cache_port_t udp 3130 http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000 pegasus_http_port_t tcp 5988 pegasus_https_port_t tcp 5989 [root@localhost wwwroot]# semanage port -a -t http_port_t -p tcp 6111 [root@localhost wwwroot]# semanage port -a -t http_port_t -p tcp 6222 [root@localhost wwwroot]# semanage port -l | grep http http_cache_port_t tcp 8080, 8118, 8123, 10001-10010 http_cache_port_t udp 3130 http_port_t tcp 6222, 6111, 80, 81, 443, 488, 8008, 8009, 8443, 9000 pegasus_http_port_t tcp 5988 pegasus_https_port_t tcp 5989 [root@localhost wwwroot]# systemctl restart httpd [root@localhost wwwroot]# systemctl enable httpd [root@localhost wwwroot]# restorecon -Rv /home/wwwroot
原文地址:https://www.cnblogs.com/dinghailong128/p/12178300.html