在 Ubuntu Server 20.04(Apache 2)上无需 snap 安装 Nextcloud 19

在 Ubuntu Server 20.04(Apache 2)上无需 snap 安装 Nextcloud 19

我还没有找到在 Ubuntu 20.04 上安装 Nextcloud 19 的官方指南无需使用 snap

答案1

这里我做了一个指南安装方法Ubuntu Server 20.04 上无需 snap 的 Nextcloud 19 (单击链接查看完整指南)。


安装 NextCloud 19

1.安装全新版本的 Ubuntu Server 20.04

2.打开终端并执行以下命令来更新您的系统:

sudo apt-get update
sudo apt-get updgrade

3.这将安装 Nextcloud 核心系统的软件包:

sudo apt-get install apache2 mariadb-server libapache2-mod-php7.4
sudo apt-get install php7.4-gd php7.4-json php7.4-mysql php7.4-curl php7.4-mbstring
sudo apt-get install php7.4-intl php-imagick php7.4-xml php7.4-zip

4.运行以下命令禁用 Apache 2 目录列表

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

5.需要保护和配置我们的“mariadb-server”。从终端,这些命令将启动设置,脚本将提示您一些问题,您可以对所有问题回答“是”,还可以创建一个新的 root DB 用户:

sudo mysql_secure_installation

    Enter current password for root (enter for none):    press Enter
    Set root password? [Y/n]:    Y
    New password:    Enter password (this is the MariaDB root password that MUST be different from system root password)
    Re-enter new password:    Repeat password
    Remove anonymous users? [Y/n]:    Y
    Disallow root login remotely? [Y/n]:    Y
    Remove test database and access to it? [Y/n]:    Y
    Reload privilege tables now? [Y/n]:    Y   

6.重新启动MariaDB

sudo systemctl restart mariadb.service

7.登录MariaDB服务器

sudo mysql -u root -p

8.创建一个新的数据库,您可以选择一个名称(注意,命令末尾的分号很重要)。注意力:不要使用鼠标滚轮直接在终端内复制并粘贴此命令,因为它会立即执行,而是使用 CTRL + SHIFT + V!

CREATE DATABASE choose_a_db_name_here;

每次成功的操作你都会看到:

Query OK, 1 rows affected (0.00 sec)

9.创建数据库用户和密码

CREATE USER 'choose_your_db_username_here'@'localhost' IDENTIFIED BY 'password_here';

10.然后你需要授予用户对数据库的完全访问权限

GRANT ALL ON database_name_chosen_before.* TO 'username_chosen_before'@'localhost' IDENTIFIED BY 'user_password_chosen_before' WITH GRANT OPTION;

11.保存更改并退出 MariaDB

FLUSH PRIVILEGES;
EXIT;

12.编辑 php.ini 文件来更改一些默认设置

sudo nano /etc/php/7.4/apache2/php.ini

按“CTRL + W”,搜索并更改以下行并保存 php.ini。您可以找到这里时区列表

file_uploads = On
allow_url_fopen = On
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M     <-- Use always a size that is a bit more of "upload_max_filesize"
max_execution_time = 300
display_errors = Off
date.timezone = use_your_timezone e.g. Europe/Rome (remove the ';' at the row beginning)

13.现在是时候从官方存储库下载 NextCloud 最新版本,解压它,然后将解压后的文件夹移动到 Apache2“html”文件夹:

cd /tmp && wget https://download.nextcloud.com/server/releases/nextcloud-19.0.0.zip
unzip nextcloud-19.0.0.zip
sudo mv nextcloud /var/www/nextcloud/

选择执行14.1或14.2:

14.1.如果你想安装根分区中的“数据”文件夹 - / -,在这种情况下可能您没有足够的空间,请运行以下命令来设置正确的权限:

sudo chown -R www-data:www-data /var/www/nextcloud/
sudo chmod -R 755 /var/www/nextcloud/

14.2.如果您希望安装“/home”分区中的“data”文件夹,您可能有更多空间,在“/home”中创建一个文件夹,您可以将其命名为“clouddata”,然后运行以下命令来设置正确的权限:

sudo mkdir /home/clouddata/
sudo chown -R www-data:www-data /home/clouddata/
sudo chown -R www-data:www-data /var/www/nextcloud/
sudo chmod -R 755 /var/www/nextcloud/

15.为 NextCloud 配置 Apahce 2 站点配置文件。此文件将控制用户如何访问 NextCloud 内容。运行以下命令创建一个名为“nextcloud.conf”的新配置文件

sudo nano /etc/apache2/sites-available/nextcloud.conf

然后将下面的内容复制并粘贴到文件中并保存。替换“ServerName”和“ServerAlias”行使用您自己的域名和目录根位置,保存文件并退出

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/nextcloud/
     ServerName example.com
     ServerAlias www.example.com
  
     Alias /nextcloud "/var/www/nextcloud/"

     <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

16.现在通过运行以下命令来配置 VirtualHost

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

17.要加载上述所有设置,请重新启动 Apache 2

sudo systemctl restart apache2.service

18.打开浏览器并浏览您之前指定的服务器域名:“example.com”。您应该看到NextCloud 设置向导完成安装。

注意:要从互联网访问你的家庭服务器,如果您使用自己的域名(example.com),则可能需要配置“A”记录类型来自域名供应商管理面板的值,将你的公网 IP 与域名绑定。如果您的 ISP 只为您提供一组动态公共 IP,您可以使用免费 DDNS 服务每次调制解调器重启时自动更新您的公共 IP。有些免费的 DDNS 服务不需要您每月确认您的帐户。您还需要从调制解调器路由器配置面板允许通过端口 80 (HTTP) 和 443 (HTTPS) 的流量

18.1.在里面“创建管理员账户”区域,创建有效的管理员用户名和密码;

18.2.在里面“数据文件夹”区域,指定“数据文件夹”的路径 - 您已在本指南的第 14.1 或 14.2 点选择了它;

18.3.在里面“配置数据库”区域,指定数据库名称和账户,您已经在本指南第8点和第9点选择了它,然后单击完成设置;

19.尝试通过浏览器访问你的域名“www.example.com”,你可能会收到以下消息“通过不受信任的域访问”如果出现此错误,则需要修改“/var/www/nextcloud/config”文件夹中的“config.php”文件:

sudo nano /var/www/nextcloud/config/config.php

通过 nano 编辑器检查所有用箭头突出显示的部分:

<?php
$CONFIG = array (
  'instanceid' => 'here you will see a unique id',
  'passwordsalt' => 'here you will see password',
  'secret' => 'here you will see a secret key',
  'trusted_domains' => 
  array (
    0 => 'localhost',
    1 => 'example.com', <---------- CHECK YOUR DOMAIN HERE
  ),
  'datadirectory' => '/home/clouddata',  <---------- CHECK YOUR DATA DIRECTORY HERE (we chose it at point 14.x)
  'dbtype' => 'mysql',
  'version' => '19.0.0.12',
  'overwrite.cli.url' => 'http://example.com/nextcloud',   <---------- CHECK YOUR DOMAIN HERE
  'dbname' => 'next_db',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'here you will see the DB username',
  'dbpassword' => 'here you will see the DB password',
  'installed' => true,
);

20.你完成了。


点击链接查看完整指南: Ubuntu Server 20.04 上无需 snap 的 Nextcloud 19

相关内容