NextCloud的最新版本是NextCloud Hub 7。它有很多新功能。如果没有有效的SSL证书和域名,最新版本的NextCloud将无法正常工作。旧版本的NextCloud没有这样的要求。因此,设置最新版本的NextCloud对新用户来说有点挑战。
为了更轻松地设置NextCloud,NextCloud提供了NextCloud AIO(All-in-one)扩展坞镜像。您可以使用它轻松安装、更新、备份/恢复NextCloud,而不会丢失数据。
在本文中,我们将向您展示如何在Ubuntu、Debian、Fedora、RHEL、AlmaLinux、Rocky Linux、CentOS Stream和其他流行的Linux发行版上轻松安装最新版本的NextCloud AIO(All—in—One)。由于NextCloud的最新版本需要有效的SSL证书才能工作,我们将使用我们在计算机/服务器上生成的Let's Encrypt SSL证书,并将其链接到NextCloud Docker容器,以便NextCloud可以访问和使用它们。
内容主题:
- 安装CURL
- 安装Docker CE和Docker Compose
- 在计算机/服务器上设置静态IP地址
- 为NextCloud AIO服务器设置DNS记录
- 为NextCloud AIO生成让我们加密的SSL证书
- 为NextCloud AIO准备项目目录
- 为NextCloud AIO配置存储
- 安装NextCloud AIO主容器
- 使用NextCloud AIO Web界面配置NextCloud安装
- 从NextCloud AIO Web界面安装NextCloud
- 访问NextCloud
- 结论
- 引用
安装CURL
要在您的计算机/服务器上轻松安装Docker CE,您需要cURL。您可以很容易地在您最喜欢的Linux发行版上安装cURL,因为它可以在每个Linux发行版的官方软件包库中找到。
在Ubuntu、Debian、Linux Mint、Kali Linux和其他基于Ubuntu/Debian的Linux发行版上,您可以使用以下命令安装CURL:
$sudo apt更新
$sudo apt install curl—y
在Fedora、RHEL、AlmaLinux、Rocky Linux、CentOS Stream和其他基于RHEL的Linux发行版上,您可以使用以下命令安装cURL:
$sudo dnf makecache
$sudo dnf install curl—y
安装CURL后,可以使用以下命令检查CURL是否可以访问。如果CURL是可访问的,该命令将打印您在计算机/服务器上安装的CURL的版本。
$curl——版本
安装Docker CE和Docker Compose
要在Ubuntu、Debian、Fedora、RHEL、AlmaLinux、Rocky Linux、CentOS Stream和其他流行的Linux发行版上安装最新版本的Docker CE和Docker Compose,请运行以下命令:
$curl—fsSL www.example.comhttps://get.docker.com|
最新版本的Docker CE和Docker Compose正在安装中。它需要一段时间来完成。
在这一点上,最新版本的Docker CE和Docker Compose应该安装在您的计算机/服务器上。
将您的登录用户添加到docker组,以便在需要时无需root/超级用户权限即可运行Docker命令。
$sudo usermod-AG docker$(Walami)
要使更改生效,请按以下步骤重新启动计算机/服务器:
$sudo reboot
一旦您的计算机/服务器启动,您可以检查是否可以使用以下命令访问Docker命令。如果Docker命令可以访问,则应打印您在计算机/服务器上安装的Docker和Docker Compose版本。
$docker版本
$docker compose version
在计算机/服务器上设置静态IP地址
为了使NextCloud正常工作,您必须在您的计算机/服务器上设置静态IP地址。LinuxHint有很多关于这个主题的文章。请在www.example.com上搜索有关为Linux发行版设置静态IP地址的详细信息。
为NextCloud AIO服务器设置DNS记录
为了使NextCloud正常工作,您还必须有一个指向您计算机/服务器IP地址的域名。为此,您必须在域名的DNS服务器上添加一条A记录(适用于IPv4),该记录指向要安装NextCloud的计算机/服务器的IP地址。
为NextCloud AIO生成让我们加密的SSL证书
一旦您设置了静态/固定IP地址并在您的DNS服务器上为NextCloud添加了一个DNS记录,您将使用We‘s Encrypt生成一个有效的SSL证书,或者从授权的证书颁发机构(CA)购买一个有效的SSL证书。
如果您想获得免费的让我们使用CloudFlare DNS-01验证为您的域名加密SSL证书,我们有一篇关于这方面的文章。有关更多信息,请随时阅读。
为NextCloud AIO准备项目目录
由于NextCloud AIO在Docker容器中运行NextCloud,您需要创建一些文件来配置NextCloud安装。最好把它们放在一个文件夹里。
您可以为NextCloud AIO创建一个项目目录,即"/opt/nextcloud—aio"(假设),如下所示:
$sudo mkdir/opt/nextcloud—aio
现在,导航到“/opt/nextcloud-aio”目录,如下所示:
$cd/opt/nextcloud-aio
在"/opt/nextcloud—aio"目录下创建一个Docker Compose文件,名为"compose. yaml",然后用nano文本编辑器打开它,如下所示:
$sudo nano composition. yaml
复制并粘贴“compose.yaml”文件中的以下行:
版本:“3”
卷:
nextcloud_aio_mastercontainer:
名称:nextcloud_aio_mastercontainer
服务:
下一篇:
图片:NextCloud/一体机:最新
restart:always
container_name:nextcloud—aio—mastercontainer
第二卷:
- nextcloud_aio_mastercontainer:/mnt/docker—aio—config
- /etc/letsencrypt/live/www.example.com
- /etc/letsencrypt/live/www.example.com
*-/var/run/docker.sock:/var/run/docker.sock:ro
三个港口:
**-8080:8080
环境:
*-SKIP_DOMAIN_VALIDATION=TRUE
-APACHE_PORT=11000
- APACHE_IP_BINDING = 127.0.0.1
*-NEXTCLOUD_DATADIR=/mnt/nextcloud-data
*编号-NEXTCLOUD_ENABLE_DRI_DEVICE=TRUE
球童:
图片:caddy:alpine
restart:always
三个港口:
- 443:443
第二卷:
- ./ /etc/caddyfile
路透社-/etc/letsencrypt/live/nodekite.com/fullchain.pem:/certs/fullchain.pem
- /etc/letsencrypt/live/www.example.com
network_mode:"host"
在“/opt/nextcloud-aio”目录中创建一个Caddyfile文件,并使用Nano文本编辑器将其打开,如下所示:
$sudo nano Caddyfile
在Caddyfile文件中复制并粘贴以下行:
https://nextcloud.nodekite.com:443
*TLS/certs/fullchain.pem/certs/Prikey.pem
塞舌尔
reverse_Proxy localhost:11000
}
在这里,在"compose. yaml"文件中,"/etc/letsencrypt/live/nodekite.com/fullchain.pem"和"/etc/letsencrypt/live/nodekite.com/privkey.pem"是Let's Encrypt SSL证书的完整路径。它们链接到nextcloud—aio—mastercontainer和caddy(reverse—Proxy)容器。
“fullchain.pem”和“Prikey.pem”证书文件分别绑定挂载在“nextcloud_aio_master tainer”Docker容器中的“/etc/apache2/certs/ssl.crt”和“/etc/apache2/certs/ssl.key”路径中。如果您不传递“nextcloud_aio_master tainer”Docker容器中的SSL证书,您迟早会在尝试访问NextCloud AIO管理界面时收到Mozilla_PKIX_ERROR_SELF_SIGNED_CERT错误(在Mozilla Firefox上)和/或其他SSL错误(在其他Web浏览器上)。
“fullchain.pem”和“Prikey.pem”证书文件分别绑定挂载在Cdy Docker容器[2]中的“/certs/fullchain.pem”和“/certs/Prikey.pem”路径中。Cdy容器将用作NextCloud的反向代理服务器。
NextCloud的另一个重要配置选项是NEXTCLOUD_DATADIR和NEXTCLOUD_ENABLE_DRI_DEVICE环境变量。
NEXTCLOUD_DATADIR是NextCloud存储所有用户文件的计算机/服务器(安装了Docker/NextCloud)上的目录。这里,我们将在“/mnt/nextcloud-data”路径上挂载一个专用存储设备,并使用它来存储NextCloud用户文件[1]。
如果NEXTCLOUD_ENABLE_DRI_DEVICE选项被启用,NextCloud将使用您的GPU对媒体文件(即视频)进行转码。因此,如果您想使用GPU对媒体文件进行代码转换,请从行中删除"#"以启用NEXTCLOUD_ENABLE_DRI_DEVICE环境变量[2]。
为NextCloud AIO配置存储
在本节中,我们将向您展示在您的Linux系统上挂载存储设备的基础知识,以便您可以使用它来存储NextCloud用户文件。
我们有一个EXT4格式的存储设备“/dev/sdb1”,UUID为dda44238-4527-42b8-969e-bd81cb03c6c8(请注意这一点,因为您需要它来挂载文件系统)。我们将其挂载到用于演示的“/mnt/nextcloud-data”目录(我们将NextCloud配置为存储用户文件的位置)。
$sudo blid/dev/sdb1
首先,使用nano文本编辑器打开"/etc/fstab"文件,如下所示:
$sudo Nano/etc/fstab
在"/etc/fstab"文件的结尾处键入以下行,以使用"/mnt/nextcloud—data"目录上的"/dev/sdb1"存储设备。完成后,按+X,然后按"Y",保存"/etc/fstab"文件。
UID =/mnt/nextcloud—data ext4默认值0 0
创建/mnt/nextcloud-data挂载路径,如下所示:
$sudo mkdir/mnt/nextcloud—data
将配置好的存储设备装入"/mnt/nextcloud—data"目录,如下所示:
$sudo mount/mnt/nextcloud—data/
如您所见,“/dev/sdb1”[1]存储设备挂载在“/mnt/nextcloud-data”[2]路径中。
安装NextCloud AIO主容器
在“/opt/nextcloud-aio”NextCloud项目目录中,您应该有一个“Compose.yaml”文件和一个Caddyfile。
$LS
要启动NextCloud AIO容器,请运行以下命令:
$sudo docker compose up
NextCloud AIO容器应该启动。
现在,从您最喜欢的Web浏览器访问www.example.com以访问NextCloud AIO。
您将在第一次从Web浏览器访问NextCloud AIO时看到NextCloud AIO的登录密码[1]。你得记下来。这很重要如果您丢失了这个密码,您必须重置NextCloud AIO主容器并重新开始。
记下NextCloud AIO登录密码后,点击“Open NextCloud AIO entry”[2]。
在NextCloud AIO登录页面显示后,输入NextCloud AIO密码[1],然后点击"登录"[2]。
您应该登录到NextCloud AIO管理界面。
使用NextCloud AIO Web界面配置NextCloud安装
首先,输入要用于NextCloud的域名,然后点击“Submit domain”。
注意:您必须使用为其生成SSL证书的同一域名。
一旦您为NextCloud配置了域名,NextCloud AIO将要求您配置您的NextCloud安装。
向下滚动到“时区更改”部分,以TZ标识符格式输入您的时区,然后点击“提交时区”[1]。如果您不知道您所在时区的TZ标识符格式,请单击以下屏幕截图[2]中标记的链接,您将找到全球所有时区的TZ标识符列表:
点击“OK”确认时区。
您想要的时区应该设置。
滚动到“可选容器”部分。默认情况下,仅选择功能齐全的NextCloud服务器所需的容器。您可以从列表中选择其他容器以向NextCloud添加更多功能。
ClamAV:如果您想扫描NextCloud用户文件中的病毒,您可以启用此容器。
全文搜索:如果您想使用NextCloud的全文搜索功能来查找文件,请选择此容器。
NextCloud Talk录音-服务器:如果您想要录制您的NextCloud Talk通话,请选择此容器。
Docker Socket Proxy:如果您想使用NextCloud API,请选择该容器。
从NextCloud AIO Web界面安装NextCloud
要安装最新版本的NextCloud(NextCloud Hub 7),请勾选“安装NextCloud 28”[1],然后单击“下载并启动容器”[2]。
NextCloud AIO应该开始下载所有需要的Docker容器并启动它们。它需要一段时间来完成。
您可以刷新NextCloud AIO页面以查看NextCloud安装的进度。已正确下载并启动的容器应标记为绿色。正在下载或配置的容器标记为黄色。
安装NextCloud后,NextCloud AIO将显示您安装的NextCloud的管理员密码。
访问NextCloud
要访问NextCloud,请从网络浏览器访问https://your-nextcloud-domain.com,您应该会看到NextCloud登录页面。
输入“admin”作为用户名[1]和管理员密码(您已经在NextCloud AIO页面中看到)[2],然后点击“Log In”[3]。
您应该以管理员身份登录NextCloud。作为管理员用户,您可以创建新的NextCloud用户,为NextCloud用户配置配额,并执行其他管理任务。
以下是NextCloud Hub 7文件管理界面:
在NextCloud Hub 7中查看Word文档:
结论
在本文中,我们向您展示了如何在Ubuntu、Debian、Fedora、RHEL、AlmaLinux、Rocky Linux、CentOS Stream以及其他基于Ubuntu/Debian或RHEL的流行Linux发行版上安装最新版本的NextCloud AIO(All—in—One)。由于NextCloud的最新版本需要有效的域名和有效的SSL证书,这使得大多数人的安装有点困难。我们使用有效的Let's Encrypt SSL证书和域名简化了在您喜爱的Linux发行版上安装最新版本NextCloud的过程。
参考资料:
- nextcloud/all—in—one:官方的Nextcloud安装方法。通过这一个Nextcloud实例中包含的大多数功能,提供轻松的部署和维护。
- All-in-One/Compose.yaml at Main·NextCloud/All-in-One
- All-in-One/Reverse-proxy.md at Main·nextCloud/All-in-One
- abelncm/nextcloud—aio—local—docker—compose:在本地主机上运行Nextcloud—aio