热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

设置VirtualBox上的UbuntuServer来Host网站

本文接上篇,在Windows环境下通过安装VirtualBox设置UbuntuServer之后,如何设置UbuntuServ

作者: 南风

  

首先说明一下,这里提到的Ubuntu server是安装在Windows 10上运行的VirtualBox上面的。Ubuntu server上host的网站,其访问可以分为在host machine上(也就是这里提到的Windows 10)以及在外网的访问。


 Web server 安装和基本设置:


这里的Ubuntu server是20.04 LTS (Focal Fossa): 64-bit PC (AMD64) Server,具体的安装请参考我之前的文章

Windows上安装VirtualBox运行Ubuntu Server及SSH登录

萤火虫,公众号:我是萤火虫Windows上安装VirtualBox运行Ubuntu Server及SSH登录

web server的选择和安装有不少组合,这里选择比较流行的LAMP。LAMP不是一个软件,而是一个组合:Linux, Apache HTTP Server, MySQL/MariaDB, and PHP。这里已经有了Ubuntu server,接下来介绍一下其他的软件安装,这里选的database是MySQL。


1.登录到Ubuntu server,检查和安装更新


sudo apt update


sudo apt upgrade


2.安装Apache MySQL PHP


sudo apt-get install apache2


sudo apt-get install mysql-server  mysql-client


sudo apt-get install php php-common php-mysql php-gd php-cli php-pear


sudo apt install libapache2-mod-php


3.基本设置—MySQL


a.使用mysql_secure_installation,根据提示,进行选择设置,建议选择是。


sudo mysql_secure_installation


b.启动database server


sudo etc/init.d/mysql start

c.编辑基本配置


sudo vi etc/mysql/my.cnf

可以添加类似如下基本设置:


[mysqld]

max_allowed_packet = 1M

thread_stack = 128K

max_cOnnections= 75

table_open_cache = 32M

key_buffer_size = 32M

d.重启mysql


sudo systemctl restart mysql


4. 基本设置— Apache


a.调整防火墙,确保Port打开(这里使用的是默认port)


sudo ufw allow 80/tcp

sudo ufw allow 443/tcp

sudo ufw reload

sudo ufw app list

sudo ufw app allow ‘Apache’

sudo ufw status

b.启动web server


sudo systemctl status apache2

sudo systemctl start apache2

sudo systemctl status apache2


5.本地host machine连接


完成上面的步骤后,就可以在host machine(这里是Windows 10)做测试。打开浏览器,输入ubuntu server的IP地址,比如,http://192.168.68.108 (请替换IP)就可以看到Apache2 Ubuntu Default page: 


6.  在其他PC或者手机上连接


为了使网页可以被外部设备访问,需要设置Ubuntu server的network和路由器的Port Forwarding。这里可参考“Windows上安装VirtualBox运行Ubuntu Server及SSH登录”。基本方法如下:

PC(outside) —> Router Port —> Windows 10 Port —> Ubuntu server Port

这里对应的Ubuntu server Port,默认的为80,亦可以更改。这里简单起见,我们就使用80。在VM VirtualBox Manager窗口,打开 Ubuntu server的network设置:


Setting—>Network->Adapter 1->Advanced-> Port Forwarding


来设置Virtual machine的Port Forwarding, 添加一个新的Port Forwarding Rule, 比如

Namehtml  ProtocolTCP  Host Port2024  Guest Port 80


这里Host IP和Guest IP可以为空。完成这一步,可以实现在host machine上访问。如果只是在host machine访问,这一步也可以省略,因为host machine会通过ubuntu server上默认的port 80来访问。


路由器的Port Forwarding设置,不同的路由器各有不同,基本原则是一致的。比如路由器的ip是1.2.3.4,设置的port为2024,host machine (windows 10) IP为5.6.7.8,设置的port是2024,那么就可以通过http://1.2.3.4:2024 来访问网页。这时候就可以看到看到Apache2 Ubuntu Default page。

设计自己的网站


有了网站的访问之后,接下来我们看如何添加一个自己的网站。

1. 可选择关闭默认的Apache的虚拟host


sudo a2dissite *default


-----------------------


Site 000-default disabled.


To activate the new configuration, you need to run:


systemctl reload apache2


------------------------

2. 编辑网页


默认的Ubuntu 允许访问的文件在/var/www,及public_html


cd var/www/html


创建网页文件


sudo mkdir -p mywebsite.com/{public_html,log}

添加网页文件,比如index.html


————————————————-———

Hellow World!

Hello World!

——————————————————————-


创建虚拟host文件


sudo vi etc/apache2/sites-available/mywebsite.com.conf




#domain: mywebsite.com

#public: var/www/html/mywebsite.com/public_html/

#Admin email, Server Name (domain name), and any aliases

ServerAdmin webmaster@mywebsite.com

ServerName  mywebsite.com

ServerAlias www.mywebsite.com

#Index file and Document Root (where the public files are located)

DirectoryIndex index.html index.php

DocumentRoot var/www/html/mywebsite.com/public_html


# Log file locations

LogLevel warn

ErrorLog  var/www/html/mywebsite.com/log/error.log

CustomLog var/www/html/mywebsite.com/log/access.log combined



3. 打开mywebsite


sudo a2ensite mywebsite.com.conf

------------

Enabling site mywebsite.com.

To activate the new configuration, you need to run:

systemctl reload apache2

-------------

sudo systemctl reload apache2


到这里,就可以通过上面介绍的访问方法,通过IP地址的相应的Port信息来访问在Ubuntu server上的网站了。



推荐阅读
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • Django + Ansible 主机管理(有源码)
    本文给大家介绍如何利用DjangoAnsible进行Web项目管理。Django介绍一个可以使Web开发工作愉快并且高效的Web开发框架,能够以最小的代价构建和维护高 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
  • DockerDataCenter系列(四)-离线安装UCP和DTR,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
疯狂的猿猴
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有