如何使用Ubuntu桌面制作家庭服务器?


26

我当时想在文件服务器中制作我的Ubuntu台式机,以便在家中使用它。我有一台旧笔记本电脑。我可以将其用作文件服务器,以便我的其他4个系统可以从该旧计算机(服务器)下载数据或查看数据。我想使其成为无线设备,并且还希望通过Internet进行访问,并拥有一个路由器。但是我不知道如何在Ubuntu桌面或Ubuntu服务器上执行此操作。我不想安装Ubuntu服务器。

想要共享我的所有云端硬盘。想要某些密码或某种安全性来限制某些文件夹的访问。

* 我正在查看逐步指南,以及如何从其他计算机访问*

我厌倦了使用filezilla,但在Ubuntu中只有基于客户端的应用程序可用。它像ubuntu中的filezilla服务器一样。

另一个系统在Windows以及Ubuntu上。
我是网络和服务器类型事物的新手,将不胜感激。


您的网络中有哪些客户端?Windows,仅Linux,便携式设备,媒体播放器等。这对于建议哪种协议和服务器应用程序可以提出建议非常重要。
gertvdijk

@gertvdijk:Windows和Linux都。
twister_void 2013年

1
您问,您将使用新的基于服务器GUI还是基于终端的服务器。我的意思是,您将安装Ubuntu Desktop,然后将计算机作为服务器,还是先安装Ubuntu服务器,然后安装服务。在开始输入答案之前,我想知道,因为这两种情况都需要解释很多东西。
2013年

@LuisAlvarado,我想使用Ubuntu Desktop制作系统GUI服务器。您的声明“安装Ubuntu Desktop,然后使计算机成为服务器”。答案更加令人赞赏。
twister_void 2013年

Answers:


19

由于您需要基于GUI的服务器(这是将Ubuntu桌面转换为出色的服务器;)),因此只需继续执行以下步骤即可:

  1. 更新所有内容。确保您已经更新和升级了系统

    sudo apt-get update && sudo apt-get upgrade

    这样,我们在同一页面上。

  2. 确保您的无线网卡正常工作。如果您碰巧有一个基于Broadcom的无线卡,请检查“ 安装Broadcom无线驱动程序”。如果还有另一个,很可能会在使用无线网卡名称搜索后在askubuntu中找到答案。无论如何,我将假定它工作正常。

  3. 按照如何使用Samba打开计算机之间的网络发现和共享来安装和配置Samba服务

  4. 通过遵循如何启用两台PC之间的文件共享来安装SSH服务(主要是为了简化两台Ubuntu计算机之间的通信方式)。如果愿意,您也可以在Windows中使用腻子。A 如何使用SSH(ssh和rsync命令)?指南也可以。

  5. 如果您要通过服务器共享Internet。我的意思是,您的路由器将通过有线电缆连接到服务器,然后与其他计算机无线共享Internet,然后按照“ 如何连接和共享Internet连接(有线和无线)”进行操作。否则,如果您想通过有线连接到另一台计算机,然后共享与其他PC的连接(通过有线以太网)

  6. 如果您还希望与其他计算机共享打印机,则可以按照“ 什么是CUPS服务器”以及如何共享打印机(本地或通过网络)进行操作

  7. 由于您将要制造服务器,因此如果您碰巧通过服务器共享Internet连接,我还建议安装SQUID PROXY。通常,这将改善带宽使用,并且感觉所有客户端PC的互联网速度都更快。要安装,请遵循“ 可用的已更新Web缓存服务器(缓存HTTP代理)”中的第一个答案(由Rinzwind提供)

    记住要在其中/etc/squid/squid.conf/etc/squid3/squid.conf为网站权限配置鱿鱼代理,应该反向缓存的内容以及其他内容。

    完成这7个步骤后,我们应该有一个系统

    • 可以与局域网中的其他计算机共享文件夹,并且他们可以看到共享文件夹,而无需太多麻烦,权限或其他步骤。

    • 可以毫无问题地通过SSH或Samba共享连接到服务器。

    • 服务器可以通过无线或有线连接共享Internet。

    • 服务器现在可以将打印机共享给包括Windows之类的所有其他计算机。

让我知道这些步骤中的任何一个步骤似乎都很难帮助您。

其他东西可能是安装xbmc并将所有电影放到服务器上。然后通过xbmc配置选项启用Web服务,以便其余计算机可以从同一服务器上观看电影。ubuntu服务器实际上可以做很多事情。


哇!!!!!!!这是9个问题,共1个问题
。– Aditya

为什么是它;)。他的问题需要这么多答案才能获得正确的服务器。
路易斯·阿尔瓦拉多

@LuisAlvarado,谢谢路易斯·阿尔瓦拉多。好的答案
twister_void 2013年

6

好吧,您可以使用samba文件服务器来做到这一点。

您可以通过安装 sudo apt-get install samba

首先,在/etc/samba/smb.conf的[global]部分中编辑以下键/值对:

   workgroup = EXAMPLE
   ...
   security = user

安全参数在[global]部分中更远,默认情况下已注释。另外,更改EXAMPLE以更好地匹配您的环境。

在文件底部创建一个新部分,或者取消注释其中一个示例,以共享目录:

[share]
    comment = Ubuntu File Server Share
    path = /srv/samba/share
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0755

    comment: a short description of the share. Adjust to fit your needs.

    path: the path to the directory to share.

此示例使用/ srv / samba / sharename,因为根据文件系统层次结构标准(FHS),/ srv是应提供特定于站点的数据的位置。从技术上讲,只要权限正确即可将Samba共享放置在文件系统上的任何位置,但建议遵循标准。

浏览:使Windows客户端可以使用Windows资源管理器浏览共享目录。

guest ok: allows clients to connect to the share without supplying a password.

只读:确定共享是只读的还是授予写特权。如该示例所示,仅当值为no时才允许写特权。如果值为yes,则对共享的访问是只读的。

create mask: determines the permissions new files will have when created.

现在已经配置了Samba,需要创建目录并更改权限。从终端输入:

sudo mkdir -p /srv/samba/share
sudo chown nobody.nogroup /srv/samba/share/

[Note]  

The -p switch tells mkdir to create the entire directory tree if it doesn't exist. Change the share name to fit your environment.

最后,重新启动samba服务以启用新配置:

sudo restart smbd
sudo restart nmbd

值得一提的是:Samba和更多信息,您也可以查看。


这只是剪切和粘贴。
don.joey 2013年

2
是的,我提到了功劳所在。
rɑːdʒɑ

太。复杂。
Jebeld17年

4

安装openssh-server将使您能够通过Internet或从家里的设备安全地访问整个驱动器,只要它们支持sFTP。如果出于某些原因没有这样做,则可以在另一个答案中详细介绍一下Samba共享。这是我设置我的方法:

安装OpenSSH服务器apt-get install openssh-server

打开端口22:我使用了多种方法gufw(您可能需要安装它,我不确定它是否是默认值)。如果您想稍后将其打开以连接到Internet,则需要将端口22从路由器转发到服务器。通常,您可以通过路由器上的Web界面执行此操作。如果可以的话,也在那里为服务器分配一个静态IP(即,关闭服务器的DHCP)。

编辑ssh配置设置:备份并打开文件,/etc/ssh/sshd_config然后更改/添加设置

PermitRootLogin no
AllowUsers guarav_java other_user_if_necessary

为了获得最大的安全性,您可以按照以下步骤设置基于密钥的登录名https://help.ubuntu.com/community/SSH/OpenSSH/Keys,但是如果您设置了一个非常强壮的密码并将其保存在该密码上就足够了每个客户端计算机。

您可能想为每个连接的人创建一个用户。如果这样做,则可以将它们全部添加到同一组(例如ssh_users),并允许该组中的每个人都使用进行连接AllowGroups ssh_users。(有关更多信息,请参见http://knowledgelayer.softlayer.com/learning/how-do-i-permit-specific-users-ssh-access

检查设置是否有效:您可以使用以下命令检查配置文件中是否存在语法错误:sshd –t

从服务器连接到自身:此时,您应该可以通过终端ssh localhost(假设您已经拥有openssh-client)从自身连接到计算机。然后从网络上的另一台计算机上尝试ssh <ip-address>

如果服务器的ip在您的家庭网络上是静态的,则可以/etc/hosts在通过该行连接到它的Ubuntu计算机上将条目添加到

server_ip_address        theserver

这意味着您可以简单地与ssh theserver或任何您称呼的人建立联系。您可以在Windows上执行相同的操作(请参见此处:http : //helpdeskgeek.com/windows-7/windows-7-hosts-file/

通过sFTP连接:如果您可以从终端中家庭网络中的另一台计算机连接到服务器,则可以通过sFTP连接到服务器,并安全地浏览和传输文件。就个人而言,我设置了键盘快捷键,以便可以使用键盘命令挂载/卸载服务器(在Ubuntu上):

gvfs-mount sftp://user@ipaddress
gvfs-mount -u sftp://user@ipaddress

(该-u标志是umount命令)

把那些进入“命令:”盒子系统设置>键盘>快捷方式>自定义快捷键> +(新建快捷方式),给它一个名称,点击应用,然后点击右侧栏中,输入一个键组合(CTRL+SHFT++CTRL+SHFT+-分别似乎是合乎逻辑) 。

您可以将IP地址替换为中的IP地址/etc/hosts。这会将服务器安装为Nautilus中的驱动器,您可以像浏览本地计算机上的文件夹一样浏览这些文件夹。在Windows中,您可以使用FTP软件(Filezilla等)进行连接。我没有尝试过,但是我敢肯定Windows Explorer本身中也可能集成了sFTP。

基于密钥的登录的另一个好处是,每次连接时都不会提示您输入密码(除非您设置了一个保护密钥的密码)。在使用密码登录后(在将其向外界开放之前),您可能希望对其进行研究。

从外部连接:最后一步是查看您是否可以从互联网(即隔壁或其他任何地方)进行连接。如果您的房屋没有静态IP地址,那么跟上您的IP地址可能会很棘手。我个人使用动态dns服务(http://afraid.org/是免费的),但是您可能会找到其他更好的解决方案。然后,您可以使用指向您的家庭网络的动态网址替换上述安装命令中的ipaddress。

最后一个安全提示是,如果要执行此操作(/var/log/auth.log),请在SSH日志上保留选项卡,以确保未发生任何不良情况。如果找到的话,Fail2Ban是一种解决方案(http://www.fail2ban.org/wiki/index.php/Main_Pagehttps://help.ubuntu.com/community/Fail2ban)。为了最大程度地降低风险,您可以更改端口SSHD侦听非标准端口(如500),并更改路由器和服务器防火墙上的相应端口转发规则(为什么:https : //serverfault.com/questions/189282 / why-change-default-ssh-port),尽管我还没有亲自测试过gvfs-mount


2

右键单击要用作主公共目录的文件夹,然后转到“共享选项”。将出现一个弹出对话框,提示您安装提示,以获取正确运行家庭服务器,安装,重新引导,重复和允许文件夹共享所需的其他软件包。就这么简单!:)


1
我想在本地网络上共享所有驱动器以及主文件夹,这些系统具有Ubuntu和Windows。那么我如何分享。
twister_void 2013年

打开一个终端:“ Sudo nautilus”文件系统<主页(右键单击)<共享选项。您可能还必须更改权限,但是请尝试先不更改权限。主目录是我建议共享的唯一目录。其他的风险太大,可能会损坏您的文件系统。
Jebeld17年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.