nextcloud安装

nextcloud安装

1.服务器配置

1
CentOS 8 上的示例安装4GB 2TB

2.替换源

1
2
3
4
5
6
7
8
9
10
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下载新的base.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

yum makecache

如果能更新的话就说明替换正常
yum update

3.安装依赖

1
2
3
首先安装一些您在安装过程中需要的依赖项,但它们在日常使用情况下也很有用
dnf install -y epel-release yum-utils unzip curl wget \
bash-completion policycoreutils-python-utils mlocate bzip2

4.安装apache

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
现在确保您的系统是最新的
dnf update -y

安装
dnf install -y httpd

在其中创建一个虚拟主机并在/etc/httpd/conf.d/nextcloud.conf其中添加以下内容
<VirtualHost *:80>
DocumentRoot /var/www/html/nextcloud/
ServerName your.server.com

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

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

</Directory>
</VirtualHost>

确保 apache Web 服务已启用开机自启并启动:
systemctl enable httpd.service
systemctl start httpd.service

5.安装 Remi 存储库配置包的命令:

1
2
3
4
5
6
7
8
9
10
11
安装 Remi 存储库配置包的命令:
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

安装 yum-utils 软件包的命令(用于 yum-config-manager 命令):
dnf install yum-utils

您需要一个版本,这意味着从发行版中替换基本包。包与基本存储库具有相同的名称,即 php-*。在默认情况下启用的 remi-safe 存储库中提供了一些常见的依赖项。
您必须为 7.4 启用模块流:
dnf module reset php
dnf module install php:remi-7.4
dnf update

6.安装 PHP 和所需的模块

1
2
3
4
5
6
接下来安装此安装所需的 PHP 模块。请记住,因为这是一个有限的基本安装,我们只安装必要的模块,而不是全部。如果您要进行更完整的安装,请参阅源安装文档中的 PHP 模块列表,在 Linux 上安装。:
dnf install -y php php-gd php-mbstring php-intl php-pecl-apcu\
php-mysqlnd php-opcache php-json php-zip

安装可选模块 redis/imagick
dnf install -y php-redis php-imagick

7. 安装数据库

1
2
3
4
5
6
7
8
9
10
11
如前所述,我们将使用 MySQL/MariaDB 作为我们的数据库:
dnf install -y mariadb mariadb-server

确保启用数据库服务以在引导时启动。:
systemctl enable mariadb.service
systemctl start mariadb.service

提高 MariaDB 安全性:(初始密码为空,所以直接回车就可以了,然后设置新密码XXXXXX 然后一直按y)
mysql_secure_installation

完成此操作后,请确保使用用户名和密码创建一个数据库,以便 Nextcloud 可以访问它。有关数据库设置和配置的更多详细信息,请参阅数据库配置文档。

8.安装redis

1
2
3
dnf install -y redis
systemctl enable redis.service
systemctl start redis.service

9.安装nextcloud

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
转到为服务器所有者下载 Nextcloud 服务器 > 下载 > 存档文件,然后下载 tar.bz2.zip 存档(去官网下载https://nextcloud.com/install/#instructions-server)。运行到这一步

这会下载一个名为 nextcloud-xyztar.bz2 或 nextcloud-xyzzip 的文件(其中 xyz 是版本号)。

下载其对应的校验和文件(https://download.nextcloud.com/server/releases/),例如 nextcloud-xyztar.bz2.md5 或 nextcloud-xyztar.bz2.sha256。
验证 MD5 或 SHA256 和:

这是一种方式
md5sum -c nextcloud-x.y.z.tar.bz2.md5 < nextcloud-x.y.z.tar.bz2
sha256sum -c nextcloud-x.y.z.tar.bz2.sha256 < nextcloud-x.y.z.tar.bz2

这是第二种zip的方式
md5sum -c nextcloud-x.y.z.zip.md5 < nextcloud-x.y.z.zip
sha256sum -c nextcloud-x.y.z.zip.sha256 < nextcloud-x.y.z.zip


md5sum -c nextcloud-23.0.3.zip.md5 < nextcloud-23.0.3.zip
sha256sum -c nextcloud-23.0.3.zip.sha256 < nextcloud-23.0.3.zip

这是第三种方式
您还可以验证 PGP 签名:
wget https://download.nextcloud.com/server/releases/nextcloud-x.y.z.tar.bz2.asc
wget https://nextcloud.com/nextcloud.asc
gpg --import nextcloud.asc
gpg --verify nextcloud-x.y.z.tar.bz2.asc nextcloud-x.y.z.tar.bz2


为了便于演示,我们以 zip 文件的形式获取了 Nextcloud 的最新版本,使用上述命令确认下载,现在我们将其解压:
unzip nextcloud-*.zip

将内容复制到您的网络服务器的根目录。在我们的例子中,我们使用的是 apache,所以它将是/var/www/html/:
cp -R nextcloud/ /var/www/html/

在安装过程中,不会创建数据文件夹,因此我们将手动创建一个以帮助安装向导:
mkdir /var/www/html/nextcloud/data

确保 apache 对整个 nextcloud 文件夹具有读写权限:
chown -R apache:apache /var/www/html/nextcloud

10.配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
重启阿帕奇:
systemctl restart httpd.service

创建访问 apache 的防火墙规则:
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

(注意如果你设置数据目录自定义,则,这里需要修改)同样,可以在SELinux configuration中找到有关 SELinux 的大量文章,因此如果您在 Enforcing 模式下使用 SELinux,请运行该页面上建议的命令。以下命令仅适用于本教程:
自定义:semanage fcontext -a -t httpd_sys_rw_content_t '/home/nextcloudData/data(/.*)?'
默认:semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?'

semanage fcontext -a -t httpd_sys_rw_content_t '/home/nextcloudData/data(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.htaccess'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.user.ini'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?'
restorecon -R '/var/www/html/nextcloud/'
setsebool -P httpd_can_network_connect on

到了,这一步就可以通过 ip 地址访问(不用加端口),设置mysql ,数据目录等

11.更换数据目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
第一种自定义
这里就直接创建你自己自定义数据目录
mkdir /home/nextcloudData


cp -rf /var/www/html/nextcloud/data/ /home/nextcloudData/

修改 /var/www/html/nextcloud/config/config.php 文件

参考给的config.php

确保 apache 对整个 nextcloud 文件夹具有读写权限:
chown -R apache:apache /home/nextcloudData

Step4, 查看SELinux模式。(这一步很重要)
/usr/sbin/sestatus -v
状态要disabled

重启虚拟机

nextcloud安装
http://example.com/2023/08/08/nextcloud安装/
作者
zgx
发布于
2023年8月8日
许可协议