AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1256624
Accepted
MarGraz
MarGraz
Asked: 2020-07-06 12:43:31 +0800 CST2020-07-06 12:43:31 +0800 CST 2020-07-06 12:43:31 +0800 CST

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

  • 772

我还没有找到在不使用 snap的情况下在 Ubuntu 20.04 上安装 Nextcloud 19 的官方指南。

server apache2 nextcloud
  • 1 1 个回答
  • 1571 Views

1 个回答

  • Voted
  1. Best Answer
    MarGraz
    2020-07-06T12:43:31+08:002020-07-06T12:43:31+08:00

    在这里,我制作了有关如何在 Ubuntu Server 20.04 上安装 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 OR 14.2:

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

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

    14.2. 如果您更喜欢将“data”文件夹安装在“/home”分区,那里可能有更多空间,在“/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.你完成了。


    单击链接查看完整指南: Nextcloud 19 without snap on Ubuntu Server 20.04

    • 3

相关问题

  • 使用 dpkg 手动安装软件包是否会阻止未来的升级路径?

  • 如何从命令行刻录双层 dvd iso

  • 如果在服务器机器上运行 Ubuntu 桌面版,性能损失是多少?

  • 将桌面版剥离为服务器版的最简单方法是什么?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve