如何设置一个可用作 Web 服务器的本地家庭服务器?我有一台装有 Ubuntu 12.10 的旧台式机,希望将其用作我的中央 Web 和本地服务器。我家里还有多个 Windows 7 系统,希望将它们加入到这个网络和无线路由器中。我应该从哪里开始呢?
答案1
XAMPP 有点像可怕的黑客,除非您是开发人员,否则我不建议使用它。
要安装 LAMP 堆栈,有三种方法。我个人倾向于安装 taskel,然后从那里安装 lamp 堆栈。与之相当的方法似乎是使用 安装元包lamp-server
。apt-get install lampserver
完成此操作后,您可以喝杯咖啡,享受工作顺利完成的喜悦。
然而,你也许想用困难的方式来做这件事
手动安装 apache2 apt-get install apache2
,然后安装 PHPsudo apt-get install php5 libapache2-mod-php5
和 mysqlsudo apt-get install mysql-server
然后我通常会设置 phpmyadmin(临时!)来更改 mysql 的根地址 - 但是,执行此操作的“正确”方法是使用 mysql cli - 使用mysql -u root
以 root 身份登录,然后在 mysql 提示符下mysql>
输入命令分号SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
是必不可少的 - 它告诉 mysql 命令何时结束。
现在,你需要让一切协同工作 - 你需要编辑 apache 的 php 配置文件,然后将sudo nano /etc/php5/apache2/php.ini
一行更改;extension=mysql.so
为extension=mysql.so
从理论上来说,这应该可以让一切运转起来。
答案2
答案3
对于 ubuntu 我不知道,但对于 windows,有 iis,它是 windows 的一部分,可以借助 windows 7 桌面来创建家庭服务器。
在 win 7 中激活/安装 iis 的步骤
步骤 1 - 打开控制面板并单击程序和功能。
第 2 步 - 有一个选项可以打开或关闭 Windows 功能或类似的功能。
步骤 3 - 寻找互联网信息服务和您需要的一切,如 ftp 服务、asp 支持和其他您可以识别自己的东西。
答案4
首先在开发系统上设置 LAN
您可以通过设置家庭组来设置您的 Windows 7 设备,方法是进入。您可能需要升级 Windows 7 版本才能HomeGroup
使用Control Panel
此功能(我读到此功能仅适用于某些版本的 Windows 7。您必须至少有一个 Windows 7 系统才能设置此网络。对我来说,我选择我的一个 Windows 7 系统作为主系统这是不是将成为服务器,但仅用于测试和设置网络。该系统通过无线路由器 (Zyxel P2812) 连接到互联网。
手边备好纸笔,记下一些 IP 详细信息是个好主意。我个人只是在桌面上保存一个文本文件,最终在每个系统加入网络时将其共享给它们,并将每个新系统的详细信息添加到此文件(设置为共享)。设置网络后,您可以通过将其放在public
Windows 文件夹中或将其放在可以设置为共享的文件夹中来在网络中共享此文件,方法是右键单击相关文件夹选择,properties
然后advanced sharing
除非您调整了任何设置,否则Manage advanced sharing settings
此文件夹将可通过您设置的家庭/工作网络访问。您可以通过并单击您加入的网络来更改所连接的网络类型Network and Sharing Center
。
记下您的 DNS 和 IP 详细信息
从您设置的设备homegroup
打开命令提示符并输入 ipconfig
我有两个 IPv4 地址,我都记了下来,但下面的那个lan
正在起作用。
如果此系统可能成为您的主机,则记下指向您域名的 DNS 地址。对我来说,这是我的开发系统,我不希望在这台机器上托管。
在用于开发的Windows系统上安装Xampp
尽管我不会使用 Xampp 在我的开发机器(我设置的那台机器homegroup
)上进行托管。在生产环境中设置与开发环境相同的环境是个好主意。在至少一台设备上安装 Xampp 还允许您测试您的端口是否打开以及您的服务是否可以从至少一个系统访问。这不是安装 Xampp 的指南,因此请查找其他地方了解如何安装,因为这里已经详细介绍了。但请确保此系统上至少有 Apache(我还有 Tomcat)正在运行且可访问,方法是转到localhost:80
和localhost:8080
连接辅助系统
在辅助 Windows 7 设备上,您应该能够join homegroup
毫不费力地完成此操作。对我来说情况并非如此,但我能够继续执行下一步:
Ping 你的开发系统
除非您能够做到这一点,否则您将无法继续下一步。要 ping 您的开发系统,请打开新的命令提示符或cmd.exe
键入ping [ip address you took down]
如上所述,我的开发系统上实际上有多个 IPv4 地址。
测试你的 LAN(或 WLAN)
如果您 ping 成功,您现在可以测试您的服务是否可以通过您的 LAN 访问,只需打开浏览器并输入您的开发机器 IP 和 Apache(80)或 Tomcat(8080)的端口,您应该会在浏览器中看到任一服务页面。
如果您无法从 LAN 上的辅助系统访问这些服务
那么很可能是开发系统的防火墙阻止了这些端口(不是被路由器阻止)。要更改此设置,Inbound Rules
请Advanced settings
在Windows Firewall
除非您成功完成此操作,否则您无法继续下一步。
通过 WLAN 测试您的服务
这部分比较棘手(或者说可能比较棘手)。很可能您的 ISP 关闭了端口 80。您需要转到路由器的防火墙,并在那里为相同的端口创建规则。这是路由器特有的,我无法在这里介绍。如果您没有静态 IP,那么您可能需要使用http://dynds.org为此。我的 ISP 为我提供了一台Zyxelp2812
预先配置了此服务的优质路由器。确保您的路由器将流量重定向到您的本地 IP
现在去http://canyouseeme.org并测试端口是否可通过 WLAN 访问。这可确保您的 Web 服务器在设置后也能通过这些端口接受请求,因为路由器在正常工作时不会阻止通过这些端口的流量。同样,如果此步骤失败,您将无法继续。
设置服务器
我使用的是 Ubuntu 12.10。我只是模仿了我在开发机器上所做的一切,但改变了我的 Ubuntu“服务器”的安装。我通过访问服务并在我之前设置的文件中记录我的 DNS 和本地 IP 来测试我的 LAN 是否与这台机器兼容,并在我使其可访问网络的文件夹中共享。
我确保已设置好适用于 Linux 的 Xampp 并安装了 Tomcat(满足我自己的需要)。
ifconfig
我通过更改路由器设置记下我的本地 IP,nm-tool
以指向此系统的本地 IP
为你的服务器添加 SSH 支持
只需通过以下方式在您的服务器上安装 openssh 服务器sudo apt-get install openssh-server
调整你的 BIOS
对我来说,我会检查 BIOS 设置以使我的主机达到最佳状态。我特意这样做是为了确保WOL
在不使用时能够将系统从睡眠状态唤醒。我的网站流量不大,所以不需要我的系统全天候运行,这将节省我的电费。
保护您的系统
至关重要的是确保所有服务都以最低权限运行,并且您已安装和配置所有必要的安全措施。
重定向您的域名
您现在可以将您的域名重定向到您的 Web 主机。您不应再将此系统用作桌面,也不应该像桌面一样打开/关闭它,因为这会影响您的正常运行时间并可能影响您的 SEO。如果您需要访问此机器上的内容,请使用 Putty 等 SSH 客户端来更改您服务上的内容。