How to install Apache web server on Linux

1. Check the local system version

[root@node ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
[root@node ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core) 

Two, configure the yum warehouse

1. Configure Ali's yum source

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

2. Check the yum repository

[root@node ~]# yum repolist all  |grep enable
base/7/x86_64                        CentOS-7 - Base             enabled: 10,072
docker-ce-stable/7/x86_64            Docker CE Stable - x86_64   enabled:    183
extras/7/x86_64                      CentOS-7 - Extras           enabled:    515
mongodb-org/7                        MongoDB Repository          enabled:    187
updates/7/x86_64                     CentOS-7 - Updates          enabled:  4,346
[root@node ~]# 

3. Install the http package

[root@node ~]# yum -y install httpd
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-97.el7.centos.5 will be installed
--> Processing Dependency: httpd-tools = 2.4.6-97.el7.centos.5 for package: httpd-2.4.6-97.el7.centos.5.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-97.el7.centos.5.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-97.el7.centos.5.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-97.el7.centos.5.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-7.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
---> Package httpd-tools.x86_64 0:2.4.6-97.el7.centos.5 will be installed
---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================================================
 Package                           Arch                         Version                                        Repository                     Size
===================================================================================================================================================
Installing:
 httpd                             x86_64                       2.4.6-97.el7.centos.5                          updates                       2.7 M
Installing for dependencies:
 apr                               x86_64                       1.4.8-7.el7                                    base                          104 k
 apr-util                          x86_64                       1.5.2-6.el7                                    base                           92 k
 httpd-tools                       x86_64                       2.4.6-97.el7.centos.5                          updates                        94 k
 mailcap                           noarch                       2.1.41-2.el7                                   base                           31 k

Transaction Summary
===================================================================================================================================================
Install  1 Package (+4 Dependent packages)

Total download size: 3.0 M
Installed size: 10 M
Downloading packages:
(1/5): apr-1.4.8-7.el7.x86_64.rpm                                                                                           | 104 kB  00:00:00     
(2/5): mailcap-2.1.41-2.el7.noarch.rpm                                                                                      |  31 kB  00:00:00     
(3/5): httpd-2.4.6-97.el7.centos.5.x86_64.rpm                                                                               | 2.7 MB  00:00:00     
(4/5): apr-util-1.5.2-6.el7.x86_64.rpm                                                                                      |  92 kB  00:00:02     
(5/5): httpd-tools-2.4.6-97.el7.centos.5.x86_64.rpm                                                                         |  94 kB  00:00:02     
---------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                              1.1 MB/s | 3.0 MB  00:00:02     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : apr-1.4.8-7.el7.x86_64                                                                                                          1/5 
  Installing : apr-util-1.5.2-6.el7.x86_64                                                                                                     2/5 
  Installing : httpd-tools-2.4.6-97.el7.centos.5.x86_64                                                                                        3/5 
  Installing : mailcap-2.1.41-2.el7.noarch                                                                                                     4/5 
  Installing : httpd-2.4.6-97.el7.centos.5.x86_64                                                                                              5/5 
  Verifying  : apr-1.4.8-7.el7.x86_64                                                                                                          1/5 
  Verifying  : mailcap-2.1.41-2.el7.noarch                                                                                                     2/5 
  Verifying  : httpd-tools-2.4.6-97.el7.centos.5.x86_64                                                                                        3/5 
  Verifying  : apr-util-1.5.2-6.el7.x86_64                                                                                                     4/5 
  Verifying  : httpd-2.4.6-97.el7.centos.5.x86_64                                                                                              5/5 

Installed:
  httpd.x86_64 0:2.4.6-97.el7.centos.5                                                                                                             

Dependency Installed:
  apr.x86_64 0:1.4.8-7.el7     apr-util.x86_64 0:1.5.2-6.el7     httpd-tools.x86_64 0:2.4.6-97.el7.centos.5     mailcap.noarch 0:2.1.41-2.el7    

Complete!

3. Start the httpd service

[root@node ~]# systemctl enable --now httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

4. Add an IP address

1. Check the original IP

[root@node conf.d]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.166  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::8a83:7297:7cb8:9934  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4f:3c:68  txqueuelen 1000  (Ethernet)
        RX packets 3551027  bytes 4447887320 (4.1 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1082308  bytes 122960632 (117.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2. Add IP address

[root@node conf.d]# ip addr add 192.168.3.164/24 dev ens33 
[root@node conf.d]# ip add |grep  ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.3.166/24 brd 192.168.3.255 scope global noprefixroute dynamic ens33
    inet 192.168.3.164/24 scope global secondary ens33

Five, modify the httpd configuration file

1. Create the root directory of three virtual hosts

 mkdir -p /var/www/web{1,2,,3}

2. Add the content of the webpage file

[root@node conf.d]# mkdir -p /var/www/web{1,2,,3}
[root@node conf.d]# echo "web1 service" > /var/www/web1/index.html
[root@node conf.d]# echo "web2 service" > /var/www/web2/index.html
[root@node conf.d]# echo "web3 service" > /var/www/web3/index.html

Six, ip-based virtual host

1. Modify the httpd service configuration file

[root@node conf.d]# cat ip.conf 
#Listen 8181
<VirtualHost 192.168.3.166:80>
ServerName web1.huawei.com
DocumentRoot /var/www/web1
</VirtualHost>
<VirtualHost 192.168.3.164:80>
ServerName web2.huawei.com
DocumentRoot /var/www/web2
</VirtualHost>
#<VirtualHost *:8181>
#ServerName web3.huawei.com
#DocumentRoot /var/www/web3
#</VirtualHost>

2. Restart the httpd service

 systemctl restart httpd

3. IP access effect

[root@node conf.d]# curl 192.168.3.166
web1 service
[root@node conf.d]# curl 192.168.3.164
web2 service

Seven, port-based virtual host

1. Modify the httpd configuration file

[root@node conf.d]# cat port.conf 
Listen 8181
<VirtualHost *:8181>
ServerName web2.huawei.com
DocumentRoot /var/www/web2
</VirtualHost>
<VirtualHost *:8181>
ServerName web3.huawei.com
DocumentRoot /var/www/web3
</VirtualHost>
#<VirtualHost *:8181>
#ServerName web3.huawei.com
#DocumentRoot /var/www/web3
#</VirtualHost>

2. Modify /etc/hosts


[root@node conf.d]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
#192.168.3.166 web1.huawei.com
192.168.3.166 web2.huawei.com
192.168.3.164 web3.huawei.com

3. Restart the httpd service

systemctl restart httpd

4. Access test results

[root@node conf.d]# curl web2.huawei.com:8181
web2 service
[root@node conf.d]# curl web3.huawei.com:8181
web3 service

5. Access test based on domain name

[root@node conf.d]# curl web3.huawei.com
web2 service
[root@node conf.d]# curl web2.huawei.com
web1 service
Post a Comment (0)
Previous Post Next Post