我还没有找到在 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