Ubuntu下搭建WEB服务器(基于Apache HTTP Server)

1 前言

        大家好,我是小何,前几天自己尝试了一下在Ubuntu搭建一个基于Apache HTTP Server的WEB服务器,并设计了一个简单的网页,最后通过内网穿透将网站发布出去,进行了简单的测试,现在将学习记录下来,供大家参考,如有问题请多多指正。

2 环境条件

        1、主机:Ubuntu 22.04.3 LTS

        2、web服务器:Apache

        3、内网穿透软件:cpolar

3 WEB服务器搭建

3.1 Apache服务器介绍

        常见的web服务器有Apache、Ngnix、IIS,Apache音译为阿帕奇,是全世界最受欢迎的web服务器,因其快速、可靠并且可通过简单的API扩充,能将Python\Perl等解释器部署在其上面等优势,受到广泛的关注与使用。

        Apache HTTP Server(简称Apache)是一款非常有名的应用软件。它是世界上使用最广泛的Web服务器应用程序,在商业Web服务器市场中占有超过50%的份额。

3.2 安装Apache服务

        这里使用Apache服务,在Ubuntu安装命令如下:

        sudo apt install apache2 -y

        // -y 是为了同意安装过程中的yes/no

        安装完毕,查看apache2版本号并检查是否启动服务器:

        apache2 -v

        sudo service apache2 status

        // -v 命令是查看版本

        显示active(runing),则表示服务器正在运行。

3.2.1 Apache常用命令

        sudo service apache2 status      //检查是否启动apache2服务器

        sudo systemctl status apache2     //查systemdinit系统apache2服务

        sudo service apache2 start       //启动服务

        sudo service apache2 stop        //结束服务

        sudo service apache2 restart     //重启服务

        sudo systemctl restart apache2    //重启Apache服务

3.3 调整防火墙

        检查可用的ufw应用程序配置

        sudo ufw app list

        让我们启用最严格的配置文件,它仍然允许您配置的流量,允许端口80上的流量(正常,未加密的网络流量):

        sudo ufw allow ‘Apache’

        验证更改:

        sudo ufw status

3.4 检查Web服务器

        通过以下命令检查systemdinit系统以确保服务正在运行:

        sudo systemctl status apache2

        安装 w3m:

        sudo apt-get install w3m

        查看主机Ubuntu的IP:

        ifconfig

        例如本机IP为192.168.81.128。

        在Ubuntu上用浏览器访问http://192.168.81.128,可以看到默认的Apache网页,到此已经基本完成了web服务器的安装。

3.5 发布网页并设置虚拟主机

        使用Apache Web服务器时,可以使用虚拟主机(类似于Nginx中的服务器块)来封装配置详细信息并从单个服务器托管多个域。也就是说,可以将自己Ubuntu设置成虚拟主机,把设计的网页存放在虚拟主机上部署发布。

3.5.1 简单网页测试

        网页存放路径在/var/www,因此我们可以将设计好的网页存放在该路径下,当别人访问内网IP时便可以看到发布的内容。

        首先,在该路径下创建目录,文件名mytest666.com可以自己设置:

        sudo mkdir -p /var/www/mytest666.com/html

        分配目录的所有权:

        sudo chmod -R 755 /var/www/mytest666.com

        先做一个简单的网页进行测试,用编辑器nano(也可以使用其他编辑器,后续写网页代码可以使用vscode)创建网页index.html:

        nano /var/www/mytest666.com/html/index.html

        添加以下示例HTML:

        <html>

            <head>

                <title>hello world</title>

            </head>

            <body>

                <h1>hello world</h1>

            </body>

        </html>

        Ctri+x是退出并保存,按y然后Enter键进行保存,完成后保存并关闭文件。其他编辑器例如vi、gedit操作不同。

3.5.2 配置虚拟主机

        在/etc/apache2/sites-available/mytest666.com.conf中创建新的虚拟主机文件:

        sudo nano /etc/apache2/sites-available/mytest666.com.conf

        粘贴在以下配置块中,针对我们的新目录和域名进行更新:

 <VirtualHost *:80>                               #此处要配置端口号

                ServerAdmin admin@mytest666.com

                ServerName mytest666.com

                ServerAlias www.mytest666.com

                DocumentRoot /var/www/mytest666.com/html    #网页存放路径

                ErrorLog ${APACHE_LOG_DIR}/error.log

                CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

        完成后保存并关闭文件。

        启用a2ensite文件:

        sudo a2ensite mytest666.com.conf

        禁用在000-default.conf中定义的默认站点:

        sudo a2dissite 000-default.conf

        测试配置错误:

        sudo apache2ctl configtest

        应该看到以下输出:Syntax OK,表示配置成功。

        重启Apache以实现更改:

        sudo systemctl restart apache2

        在Ubuntu上用浏览器访问http://192.168.81.128:80,可以看到设计好的测试界面,服务器搭建完成。

3.5.3 Apache添加端口(基于端口)

        有时需要配置多个网页对应不同的端口,因此需要在Apache添加多个端口号,端口号的配置在/etc/Apache2 路径下的ports.conf文件中。

        首先用编辑器打开/etc/Apache2 路径下ports.conf文件:

        sudo nano /etc/Apache2/ports.conf

        在主配置文件添加监听端口,例如添加端口号8080:

        Listen 8080

        然后在/etc/apache2/sites-available/mytest666.com.conf中配置虚拟主机文件,添加8080的端口虚拟配置:

<VirtualHost *:8080>                             #此处要配置端口号

                ServerAdmin admin@mytest666.com

                ServerName mytest666.com

                ServerAlias www.mytest666.com

                DocumentRoot /var/www/mytest666.com/testb    #网页存放路径

                ErrorLog ${APACHE_LOG_DIR}/error.log

                CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

        完成后保存并关闭文件。

        启用a2ensite文件:

        sudo a2ensite mytest666.com.conf

        禁用在000-default.conf中定义的默认站点:

        sudo a2dissite 000-default.conf

        测试配置错误:

        sudo apache2ctl configtest

        应该看到以下输出:Syntax OK,表示配置成功。

        重启Apache以实现更改:

        sudo systemctl restart apache2

        在Ubuntu上用浏览器访问http://192.168.81.128:8080,可以看到设计好的测试界面。

3.6 内网穿透公网访问

        当我们在本地搭建了服务器Ubuntu系统和web网站后,只能在局域网或内网上访问网站,那没有公网IP,我们如何将网站发布到公网上呢?

        可以使用路由器进行转发,路由器的转发作用:在局域网中,连接到同一路由器的各个设备可以通过路由器访问公网。这是因为路由器在局域网和公网之间起到了中继的作用,它具有连接局域网和公网的能力,同时提供网络地址转换(NAT)和端口转发等功能。

        也可以通过cpolar做内网穿透把它发布到公网上访问。Cpolar作为一款体积小巧却功能强大的内网穿透软件,不仅能够在多种环境和应用场景中发挥巨大作用,还能适应多种操作系统,应用最为广泛的Windows、macOS系统自不必多说,稍显小众的Linux、树莓派、群晖等也在支持之列,真正做到了广泛适用性。从这篇介绍开始,我们将会为大家详细介绍,cpolar在Linux系统下的各种应用类型。

        Linux系统在桌面级应用范围较小,但却广泛应用于服务器级系统中。当然,为了保证服务器硬件资源都集中于数据交换和处理上,服务器级的Linux系统很少带有图形化界面,但基于Linux开发的Ubuntu系统,却拥有较为美观的图形化界面及与Windows相似的操作方式,是我们熟悉Linux系统的较好平台。

        正如前面所说,Ubuntu系统虽然操作方法与Windows类似,都是以图形化为主,但在细节上还是有一定差别,其中就包括软件的安装方式。

        首先,进入cpolar网站:www.cpolar.com ,在Ubuntu上打开终端,执行命令。

        首先,我们需要安装curl:

        sudo apt-get install curl | sudo bash

        curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

        正常显示版本号即安装成功

        cpolar version

        登录cpolar官网后台,邮箱注册后,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里

        可以看到有正常生成相应的公网地址,测试穿透本地8080端口成功,按Ctrl+C返回。

4 参考资料及链接

        1、ubuntu20.04服务器搭建自己的个人网站_ubuntu搭建个人网站-CSDN博客

        2、在乌班图(ubuntu)上安装web服务器详解_ubuntu安装web服务器-CSDN博客

        3、Linux:apache配置与应用_linux配置apache服务器使用域名访问-CSDN博客

        4、Apache添加端口的三种方法(基于ip、端口、域名)_httpd 配置端口-CSDN博客

        5、Cpolar快速入门教程:Ubuntu系列 - cpolar 极点云官网

        6、【在Ubuntu上搭建web站点,通过内网穿透即可公网访问】https://www.bilibili.com/video/BV1jk4y1G7Dq?vd_source=2c178927fd78879d66b3542502bcb442

  • 30
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值