目录
关于“Sudo”的快速说明
首页 后端开发 php教程 设置免费专用 Web 服务器:分步指南

设置免费专用 Web 服务器:分步指南

Sep 04, 2023 pm 08:05 PM

所有伟大的网站背后都有一个伟大的服务器。在本教程中,我将向您展示如何使用家里的旧计算机和一些免费软件来设置专用 Web 服务器(使用 Apache、MySQL 和 PHP)。 p>


1. 快速概述

在本教程中,我们的目标是完成几件事:

  • 我们将安装 Ubuntu Server 操作系统。我通常使用 Ubuntu,因为它易于使用并且

    简单的管理。它背后还有一个相当大且极其活跃的社区,这使得

    支持微风。

  • 我们将安装 OpenSSH 服务器。这允许您从远程计算机管理您的服务器。
  • 将安装 LAMP(Linux、Apache、MySQL 和 PHP)堆栈。这提供了运行的主干

    你的网页。 Apache 是基于 Unix 的操作系统上的行业标准 Web 服务器;这是大多数网络主机的做法

    use(NETTUTS 现在正在使用它!),这就是我们将要使用的。

  • 我们将安装防火墙来保护您的服务器免遭未经授权的访问。

为了学习本教程,您需要一些物品:

  • 用作服务器的计算机。它不需要很强大;只要不是古老的,就可以正常工作。请

    不要在台式电脑上执行此操作; Ubuntu 将彻底擦除您的计算机。

  • 一个 CD 刻录机和一张空白 CD。这些是为了让您可以将 Ubuntu 刻录到磁盘上以便安装它。
  • 时间。说实话,这个过程非常耗时,尤其是当您遇到问题时。尝试留出一个下午

    遵循本教程。

您可能会问为什么想要拥有自己的网络服务器。有几个原因,其中一些是:您可以进行自己的测试

您网站的基础;只需稍加修改,您就可以托管自己的网站;并且,随着您的学习,您将学到很多有关 Linux/Unix 的知识。

话虽如此,让我们开始吧!


2.下载Ubuntu服务器

首先,我们需要一张包含 Ubuntu 的 CD。将网络浏览器指向 http://www.ubuntu.com/,

然后从左侧菜单中单击“下载”。现在,您将看到一个带有两个选项卡的框:“桌面版”和

“服务器版”。单击“服务器版本”选项卡,然后选择“Ubuntu 8.04 LTS”。接下来,从

中选择下载位置 下拉框。最后,点击“开始下载”按钮。

设置免费专用 Web 服务器:分步指南

现在您需要将 ISO(您下载的文件)刻录到空白 CD 上。如果您不知道如何执行此操作,可以使用

优秀指南位于 https://help.ubuntu.com/community/BurningIsoHowto


3.安装Ubuntu服务器

现在您已经下载并刻录了 ISO,让我们在您的服务器上安装 Ubuntu。将磁盘放入驱动器中,然后从 CD 启动。在大多数现代计算机中,如果打开驱动器时磁盘位于驱动器中,则默认情况下会发生这种情况。如果没有,那么您需要在打开它时按下键盘上的某个键。对于我的笔记本电脑,它是 F12,对于我的服务器,它是 F2。这仅取决于您的计算机。您可以在 BIOS 期间打开计算机时通过查看屏幕上的文本来找到它。您会看到类似“按 [KEY] 更改启动顺序”的内容。按该键,然后选择您的 CD 驱动器。

还在我身边吗?好的。现在您已经启动了 Ubuntu,您应该看到以下屏幕:

设置免费专用 Web 服务器:分步指南

选择您的语言,然后按 Enter 键。现在您将看到此屏幕:

设置免费专用 Web 服务器:分步指南

选择“安装 Ubuntu 服务器”,然后我们就可以开始了!

安装程序现在会询问您是否希望它检测您的键盘布局。就我个人而言,我总是选择否,因为

从列表中选择标准美式键盘比让安装程序检测它要快。任何一个选项都可以,

只需按照屏幕上的说明操作即可。

完成此操作后,您现在会看到一堆加载屏幕,上面写着“检测 CD-ROM 驱动器”等内容。

这些应该很快就可以顺利通过。但是,在这些屏幕期间,安装程序将尝试自动配置您的

网络设置。对于大多数情况,这将毫无怨言地起作用。但是,如果它不适合您,只需按照

屏幕上的说明使其正常工作。

完成所有这些后,它会要求您提供主机名。您通常可以将其设置为任何值;我总是设定

我的“网络服务器”。

设置免费专用 Web 服务器:分步指南

系统现在会要求您设置时钟的时区。对我来说,它是太平洋。选择适用于的一项

你。

现在,系统将检测更多硬件,系统将提示您“对磁盘进行分区”。选择“引导-使用整个”

磁盘”。

设置免费专用 Web 服务器:分步指南

您现在需要选择要分区的磁盘。对于大多数设置,只有一张磁盘可用;然而,

for more specialized systems, more options will be available here. Choose the one that applies to 你。

设置免费专用 Web 服务器:分步指南

它会询问您是否要将更改写入磁盘。选择“是”并按 Enter 键。安装程序现在将继续

格式化驱动器并设置分区。

现在奇迹发生了。系统将开始安装。当这种情况发生时,去喝杯咖啡。这可以带到任何地方

从 10 分钟到一个小时。这仅取决于您的系统。有时可能看起来像是被冻结了;别担心,

事实并非如此。就让它做它该做的事吧。但是,如果它在一个物体上停留超过一个小时,那么是的,它会被冻结。

设置免费专用 Web 服务器:分步指南

现在系统已安装完毕,需要设置您要登录的帐户。首先,充分发挥

命名并点击“继续”。

设置免费专用 Web 服务器:分步指南

现在给它你的用户名。它通常只会将其设置为您的名字,

但你可以改变它。您不能使用的一个名称是“root”。

设置免费专用 Web 服务器:分步指南

现在系统会要求您提供密码。您必须选择一个强密码,否则您的服务器将不会

一定要安全。我建议至少混合使用数字、小写字母和大写字母。但是,对于我的服务器

我使用符号以及上述符号的混合。请勿使用少于 7 个字符的密码。

设置免费专用 Web 服务器:分步指南

然后,重新输入您的密码以验证您输入的密码是否正确。

系统现在将尝试配置“包管理器”(我们很快就会了解它是什么)。提供您的

代理信息,或者如果您不使用代理,则将其留空,然后选择“继续”。

设置免费专用 Web 服务器:分步指南

系统现在将扫描多个服务器以查找更新和配置设置。

设置免费专用 Web 服务器:分步指南

完成后,您将看到几个安装服务器软件的选项。现在,请仔细听。

选择 OpenSSH 服务器,然后按空格键,而不是回车键。如果按 Enter 键,安装将继续进行,而不安装 OpenSSH 服务器。

您也可以安装“LAMP 服务器”,但我没有使用此选项的经验,因此我们将使用不同的方式安装它

稍后命令。

设置免费专用 Web 服务器:分步指南

系统现在将安装您选择的软件以及其他系统组件。

设置免费专用 Web 服务器:分步指南

最后,安装将完成。取出 CD,然后按 Enter 键。计算机将重新启动。如果一切顺利的话,你将会

出现的屏幕看起来类似于以下内容:

设置免费专用 Web 服务器:分步指南

恭喜!你刚刚完成了最困难的部分。 Ubuntu 现已安装完毕,是时候将这台计算机变成

网络服务器。


4.更新您的新服务器

在继续之前,我们需要确保您的服务器是最新的。为此,您需要登录。首先,输入您的用户名

(您之前选择的那个),按 Enter 键,然后键入您的密码。当您输入密码时,您会发现没有任何内容

似乎正在发生。别担心,这就是它设计的工作方式。输入密码后,按 Enter 键,

如果一切顺利的话,您的屏幕应该类似于下面的屏幕:

设置免费专用 Web 服务器:分步指南

现在,输入:

sudo aptitude update && sudo aptitude dist-upgrade
登录后复制

它会要求您输入密码,并且在您输入密码时您将看不到任何内容。完成此操作后,它会询问您是否

你想继续。输入“y”并按 Enter 键。您的屏幕将类似于以下内容:

设置免费专用 Web 服务器:分步指南

您的系统现在将下载并安装所有最新更新。这将需要一段时间,具体取决于您的互联网连接。之后

它已完成,您的计算机将需要重新启动。为此,请键入:

sudo shutdown -r now
登录后复制

并让它重新启动。您的服务器现已完全更新。


关于“Sudo”的快速说明

现在,您可能已经注意到您输入的所有命令都以“sudo”开头。这是因为他们需要

管理员权限,这就是“sudo”的作用。它以管理员身份运行命令(即“关闭”),使其能够工作

适当地。这也是它要求您输入密码的原因。但是,在您输入“sudo”一次并输入密码后,

五分钟内您无需再次输入密码。并非所有命令都需要 sudo,只有修改系统某些部分的命令才需要。

这些都掌握了吗?很好。


5.安装Apache、MySQL和PHP

现在是时候安装一些程序了。为了从互联网访问您的网站,我们需要安装 Web 服务器 (Apache)。除了网络服务器之外,我们还将

还需要数据库服务器(MySQL)和服务器端语言(PHP),以便我们可以运行 WordPress 等流行应用程序。所以,

让我们开始吧!

在 Ubuntu 上安装程序与在 Windows 或 Windows 上安装程序有很大不同

OS X,Ubuntu 将通过一个简单的命令为您下载并安装程序。这是因为 Ubuntu 有一个叫做

程序包管理器,它管理系统上的几乎所有程序。我们所要做的就是告诉包管理器

(称为“aptitude”)我们希望它安装 Apache、MySQL 和 PHP。为此,请键入以下命令:

sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-server
登录后复制

然后按 Enter 键。 Aptitude 将下载并安装您指定的程序。它还将下载并安装任何内容

依赖关系。

设置免费专用 Web 服务器:分步指南

在安装过程中,MySQL 会要求您输入 root 密码。您可以将其设置为任何值,只要确保它长且安全即可。

无论您做什么,都不要将此留空。

设置免费专用 Web 服务器:分步指南

一切完成后,您现在就拥有了一个完全运行的 Web 服务器。要测试它,首先输入以下内容查找服务器的 IP:

ifconfig | grep inet
登录后复制

设置免费专用 Web 服务器:分步指南

通常是返回的第一个 IP。就我而言,它是 192.168.177.129。现在您知道了 IP,请打开网络浏览器并指向它

到你的服务器IP。如果您看到“它有效!”消息,然后恭喜,它成功了。

设置免费专用 Web 服务器:分步指南

但是,我们还没有完成。我们不希望 Apache 或 PHP 泄露有关其自身的任何信息,因为不需要这些信息

由您的用户执行,可能会带来安全风险。首先,备份原来的Apache配置文件:

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
登录后复制

现在打开配置文件:

sudo nano /etc/apache2/apache2.conf
登录后复制

向下滚动(向下箭头)到显示“ServerTokens Full”的位置,并将其更改为“ServerTokens Prod”

设置免费专用 Web 服务器:分步指南

现在,进一步向下滚动并将“ServerSignature On”更改为“ServerSignature Off”

设置免费专用 Web 服务器:分步指南

最后,按 Control-O,然后按 Control-X。这将保存文件并退出文本编辑器。

现在,我们需要对 PHP 做同样的事情。首先,备份原来的PHP配置文件:

sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak
登录后复制

打开配置文件:

sudo nano /etc/php5/apache2/php.ini
登录后复制

将“expose_php = 开”更改为“expose_php = 关”

设置免费专用 Web 服务器:分步指南

再次按 Control-O,然后按 Control-X。现在配置文件已更新,重新启动 Apache:

sudo /etc/init.d/apache2 restart
登录后复制

您已完成 Apache、MySQL 和 PHP 的设置。


6.安装防火墙

我们现在将通过安装 Shorewall(一种命令行防火墙)来进一步锁定我们的服务器。安装它:

sudo aptitude install shorewall
登录后复制

默认情况下,Shorewall 安装时没有任何规则,允许完全访问。然而,这不是我们想要的行为。

相反,我们将阻止除端口 80 (HTTP) 和端口 22 (SSH) 之外的所有连接。首先复制配置

文件到 Shorewall 目录:

sudo cp /usr/share/doc/shorewall-common/examples/one-interface/* /etc/shorewall/
登录后复制

现在,打开“规则”文件:

sudo nano /etc/shorewall/rules
登录后复制

在“#LAST LINE”上方添加这些行

HTTP/ACCEPT	net		$FW
SSH/ACCEPT	net		$FW
登录后复制

设置免费专用 Web 服务器:分步指南

然后按 Control-O 和 Control-X。您的防火墙现已配置为仅接受 HTTP 和 SSH 流量。我们需要做的最后一件事

要做的就是告诉 Shorewall 在启动时启动。因此,打开主 Shorewall 配置文件:

sudo nano /etc/shorewall/shorewall.conf
登录后复制

向下滚动到“STARTUP_ENABLED=No”并将其设置为“STARTUP_ENABLED=Yes”

设置免费专用 Web 服务器:分步指南

按 Control-O 和 Control-X。现在,打开 Shorewall 默认配置文件:

sudo nano /etc/default/shorewall
登录后复制

并将“startup=0”更改为“startup=1”。按 Control-O 和 Control-X。最后,启动防火墙:

sudo /etc/init.d/shorewall start
登录后复制

恭喜!您的防火墙现已设置并保护您的服务器。


7. 将您的网站添加到您的网络服务器

现在您已完成所有设置,您可能想向其中添加一个网站。默认情况下,Apache 提供的所有文件

互联网上的地址位于“/var/www/”。但是,您无法写入此文件夹。让我们做到这一点,以便您可以:

sudo usermod -g www-data [YOUR USERNAME]
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www
登录后复制

发生的情况是,您将自己添加到“www-data”组,并使网站文件夹对“www-data”成员可写

组。

现在,您将使用 SFTP(不要与 FTPS 混淆)登录服务器。一些支持 SFTP 的客户端有:

WinSCP(Windows,免费),FileZilla(Windows,Linux,OS X,免费),

Cyber​​duck(OS X,免费),以及我个人最喜欢的 Transmit

(OS X,30 美元)

使用您的用户名和密码连接到您的服务器,如果您的客户端支持,则使用默认路径“/var/www”(如果不支持,则使用默认路径)

登录后只需浏览到 /var/www ):(传输如图)

设置免费专用 Web 服务器:分步指南

您现在可以将文件添加到此文件夹 (/var/www),当您使用您的浏览器浏览该文件夹时,它们将显示在您的服务器上

网络浏览器。

现在,您可能想知道为什么我们使用 SFTP 而不是 FTP。主要是因为 SFTP 已内置于 OpenSSH(您安装的)

较早)。然而,它也比 FTP 安全得多,并且使恶意用户很难(如果不是不可能)获得访问权限

您的登录凭据。


8. 让您的服务器可访问 Internet

如今,大多数现代家庭网络都位于路由器后面。因此,如果没有

,您的网络服务器将不会对互联网可见。 一点工作。由于我没有可用的所有路由器进行测试,因此我只能为您提供该领域的一般指导。

有两种方法可以将服务器开放到互联网:DMZ 或端口转发。您会注意到的主要区别是,对于 DMZ,您的服务器使用

我们之前安装的防火墙是为了保护自身。但是,通过端口转发,您的服务器将受到路由器防火墙的保护。

但是,在我们继续之前,您需要为您的服务器提供一个静态 LAN 地址。为此,请登录您的路由器,然后查找某些内容

类似于“静态 IP”或“静态路由”。为服务器提供静态 LAN 地址后,您可以执行接下来的部分。请记住,

Google 是您的朋友。

要转发,有一个很棒的网站,PortForward.com,虽然丑陋,但可以

帮助您完成几乎所有路由器的工作。您要转发的端口是 22 和 80。

要创建 DMZ,您需要登录路由器并查找“DMZ 设置”之类的内容。找到它后,将您的服务器添加到

DMZ,然后您就可以了。同样,Google 在这种情况下会很有帮助。

现在,找到您的公共 IP,瞧!您可以从任何地方访问您的服务器,只要

因为您的 IP 不会改变。


9.远程管理您的服务器

除了允许您上传文件之外,OpenSSH 还允许您从任何地方登录到您的服务器,只要您知道它的 IP。对于 Windows,您将

需要一个 SSH 客户端。我推荐腻子。对于 OS X,SSH 是

已安装。只需打开终端,然后输入“ssh you@yourip”。对于 Putty,选择 SSH,然后输入您的 IP、用户名和密码

当它要求的时候。您会注意到,登录后,它看起来与服务器上的屏幕完全相同:

设置免费专用 Web 服务器:分步指南

您可以从这里做任何您实际坐在服务器上要做的事情。要从服务器注销,只需键入“exit”并按 Enter 键即可。


10. 就是这样!

您现在拥有一个功能齐全的网络服务器。它是一个很好的试验场,甚至适合托管流量相当低的网站。显然还有很多需要学习,但希望您已经对网络服务器的工作原理有了一些了解。

如果您想了解有关我所涵盖主题的更多信息,这里有一些很棒的指南:

  • 安装软件
  • 设置 Apache、MySQL 和 PHP
  • 海岸墙配置指南
  • 如何转发

此外,请务必查看 Envato Market 上数千个有用的 PHP 脚本。从表单和购物车到数据库抽象的一切内容,肯定会为您作为开发人员的下一阶段的工作提供帮助。

设置免费专用 Web 服务器:分步指南

以上是设置免费专用 Web 服务器:分步指南的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

11个最佳PHP URL缩短脚本(免费和高级) 11个最佳PHP URL缩短脚本(免费和高级) Mar 03, 2025 am 10:49 AM

长URL(通常用关键字和跟踪参数都混乱)可以阻止访问者。 URL缩短脚本提供了解决方案,创建了简洁的链接,非常适合社交媒体和其他平台。 这些脚本对于单个网站很有价值

Instagram API简介 Instagram API简介 Mar 02, 2025 am 09:32 AM

在Facebook在2012年通过Facebook备受瞩目的收购之后,Instagram采用了两套API供第三方使用。这些是Instagram Graph API和Instagram Basic Display API。作为开发人员建立一个需要信息的应用程序

在Laravel中使用Flash会话数据 在Laravel中使用Flash会话数据 Mar 12, 2025 pm 05:08 PM

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

构建具有Laravel后端的React应用程序:第2部分,React 构建具有Laravel后端的React应用程序:第2部分,React Mar 04, 2025 am 09:33 AM

这是有关用Laravel后端构建React应用程序的系列的第二个也是最后一部分。在该系列的第一部分中,我们使用Laravel为基本的产品上市应用程序创建了一个RESTFUL API。在本教程中,我们将成为开发人员

简化的HTTP响应在Laravel测试中模拟了 简化的HTTP响应在Laravel测试中模拟了 Mar 12, 2025 pm 05:09 PM

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

php中的卷曲:如何在REST API中使用PHP卷曲扩展 php中的卷曲:如何在REST API中使用PHP卷曲扩展 Mar 14, 2025 am 11:42 AM

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

在Codecanyon上的12个最佳PHP聊天脚本 在Codecanyon上的12个最佳PHP聊天脚本 Mar 13, 2025 pm 12:08 PM

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

宣布 2025 年 PHP 形势调查 宣布 2025 年 PHP 形势调查 Mar 03, 2025 pm 04:20 PM

2025年的PHP景观调查调查了当前的PHP发展趋势。 它探讨了框架用法,部署方法和挑战,旨在为开发人员和企业提供见解。 该调查预计现代PHP Versio的增长

See all articles