云与容器

如何在 Linux Ubuntu 和 Debian 上用 Nextcloud 搭建自己的云盘

Nextcloud 是一款自由的文件托管与协作软件。本文给出在 Ubuntu 与 Debian 上的完整安装步骤:Apache2、PHP 及依赖、MariaDB 数据库、下载解压、网页端安装以及虚拟主机配置。

· 2 分钟阅读 · 难度 中级 · 基于 Nextcloud 24

Nextcloud 是一款自由软件,既是文件托管站点,也是一个协作平台。它最初可以通过 WebDAV、任意网页浏览器或专用客户端访问,其开放的架构使它的功能从最初起就不断扩展。

Illustration 1 — Comment installer son propre cloud avec Nextcloud sur Linux Ubuntu et Debian

前置条件

1. 安装 Apache2

sudo apt update
sudo apt install apache2

2. 在 Linux 和 Debian 上安装 PHP

sudo apt install php

3. 安装 PHP 依赖

sudo apt install imagemagick php-imagick libapache2-mod-php php-common php-mysql php-fpm php-gd php-curl php-zip php-xml php-mbstring php-bz2 php-intl php-bcmath php-gmp

重启 Apache,使 PHP 扩展生效

sudo systemctl restart apache2

4. 安装 MySQL 服务器:MariaDB

sudo apt install mariadb-server

要以 root 用户连接 mysql,可以使用以下命令

sudo mysql

5. 创建数据库:

create database nextcloud;
create user nextclouduser@localhost identified by 'votre-mot-de-passe';
grant all privileges on nextcloud.* to nextclouduser@localhost identified by 'votre-mot-de-passe';
flush privileges;

exit;

从官方仓库下载 Nextcloud

wget https://download.nextcloud.com/server/releases/latest-24.zip

下载完成后,需要用 unzip 解压该压缩包。

sudo apt install unzip

sudo unzip latest-24.zip -d /var/www/html

为了让 Apache 网页服务器能够写入该目录,需要把目录的属主改为 www-data。

sudo chown -R www-data:www-data /var/www/html/nextcloud/

通过网页界面访问并完成安装

在浏览器中通过 http://votre-adresse-IP/nextcloud 访问 Nextcloud

Illustration 2 — Comment installer son propre cloud avec Nextcloud sur Linux Ubuntu et Debian

为你将要创建的管理员账户填写最合适的登录信息。

数据库信息按你创建数据库时所使用的内容填写。在本指南中我们使用的是:

用户:nextclouduser

数据库名称:nextcloud

密码:votre-mot-de-passe

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

创建虚拟主机

如果你拥有一个域名,则需要进行这一步。

nano /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
        DocumentRoot "/var/www/nextcloud"
        ServerName nextcloud.domaine.com

        ErrorLog ${APACHE_LOG_DIR}/nextcloud.error
        CustomLog ${APACHE_LOG_DIR}/nextcloud.access combined

        <Directory /var/www/nextcloud/>
            Require all granted
            Options FollowSymlinks MultiViews
            AllowOverride All

           <IfModule mod_dav.c>
               Dav off
           </IfModule>

        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
        Satisfy Any

       </Directory>

</VirtualHost>
a2ensite nextcloud.conf
systemctl reload apache2

更多内容即将发布