部署Nextcloud详细步骤及优化方法

一、安装PHP8.0以上

我这里使用PHP8.0.30

go 复制代码
[root@localhost ~]# php -v
PHP 8.0.30 (cli) (built: Aug  3 2023 17:13:08) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
[root@localhost ~]# 

安装方法参考

二、安装MYSQL8.0以上

我这里使用mysql8.0.35

go 复制代码
[root@localhost ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.35 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

三、安装nginx或apache,

我这里使用apache,版本:2.4.6

go 复制代码
[root@localhost ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   May 30 2023 14:01:11
[root@localhost ~]# 

apache安装方法有编译安装

这里使用YUM来再安装一次

go 复制代码
#检查旧版apche,并卸载旧版      
[root@localhost ~]# rpm -qa | grep httpd
[root@localhost ~]# yum  remove httpd*
[root@localhost ~]# yum install httpd
[root@localhost ~]# systemctl start httpd

# Apache配置文件:

```go
[root@localhost ~]# find / -name httpd
/run/httpd
/etc/sysconfig/httpd
/etc/logrotate.d/httpd
/etc/httpd
/var/log/httpd
/var/cache/httpd
/usr/sbin/httpd
/usr/lib64/httpd
/usr/share/httpd
/usr/libexec/initscripts/legacy-actions/httpd
/data/httpd
[root@localhost ~]# 

[root@localhost ~]# find / -name httpd.conf
/etc/httpd/conf/httpd.conf
/usr/lib/tmpfiles.d/httpd.conf
[root@localhost ~]# 
go 复制代码
#开放80端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@localhost ~]# 
[root@localhost ~]# firewall-cmd --zone=public --add-port=443/tcp --permanent    
success
[root@localhost ~]# 
#检查确认是否开启
[root@localhost ~]# firewall-cmd --reload 
[root@localhost ~]# firewall-cmd  --list-ports
80/tcp  443/tcp 
[root@localhost ~]# 
[root@localhost ~]# 

三、安装Nextcloud

1、

go 复制代码
#启用Apache PHP模块
[root@localhost ~]# yum install mod_php
#vim 

2、

go 复制代码
#启用Aapache https访问模块
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
#增加与修改处
#1、DirectoryIndex处增加index.php
#
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
#2、 LoadModule 处增加
   LoadModule proxy_module modules/mod_proxy.so
   LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

#3、AddType处增加
    AddType application/x-httpd-php .php
    AddType text/html .php
#、测试
[root@localhost ~]# echo " <?php phpinfo() ?>" > /var/www/html/index.php
[root@localhost ~]# systemctl restart httpd 
[root@localhost ~]# echo " <?php phpinfo() ?>" > /var/www/html/index.php
[root@localhost ~]# systemctl restart httpd 

3、创建Nextcloud目录,并下载最新Nextcloud文件到创建目录

go 复制代码
[root@localhost ~]# mkdir -p /data/nextcloud/
[root@localhost ~]# chown -R apache. /data/nextcloud/
[root@localhost ~]# chmod -R 755 /data/nextcloud/
[root@localhost ~]#  cd /data/nextcloud/
[root@localhost nextcloud]#  wget https://download.nextcloud.com/server/releases/latest.zip
[root@localhost nextcloud]# ls
latest.zip
[root@localhost nextcloud]# unzip latest.zip 
[root@localhost nextcloud]# ls
latest.zip  nextcloud
[root@localhost nextcloud]# rm -rf latest.zip 
#修改发布目录
[root@localhost html]# vim /etc/httpd/conf/httpd.conf
[root@localhost html]# systemctl restart httpd

4、创建数据库,并登录

root@localhost \~\]# mysql -uroot -p ```go mysql> CREATE DATABASE nextcloud; Query OK, 1 row affected (0.01 sec) mysql> create user 'nextcloud'@'%' identified by '123456'; Query OK, 0 rows affected (0.01 sec) mysql> grant all privileges on nextcloud.*to 'nextcloud'@'%'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> ``` ![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/288efeffc9ab705ab95a2f486d03eb7a.webp) ![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/36ccef433d7bfb208f0221f43a05d33d.webp) 四、优化nextcloud 1、 ```go [root@localhost ~]# vim /data/nextcloud/nextcloud/config/config.php #在Nextcloud的config.php配置文件后面添加: 'activity_expire_days' => '90', #使得MySQL数据库中oc_activity表中的数据记录只保存90天的 'memcache.local' => '\\OC\\Memcache\\Redis', #配置redis 'redis' => array ( 'host' => 'localhost', 'port' => 6379, ), 'memcache.locking' => '\\OC\\Memcache\\Redis', 'check_for_working_wellknown_setup' => false, 'default_phone_region' => 'CN', ); ~ ``` 2、 ![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/9e0016d61922da4e7e77909545c72e62.webp) 安装下面三个模块 ```go yum install php-imagick php-gmp php-opcache ``` 3、![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/ee162c943d04e525f8e51f474b00f3a1.webp) ```go [root@localhost ~]# vim /etc/php.ini ``` 把memory_limit值修改为512M ![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/6c4e413bf9d948ade0223d64e81dac75.webp) 4、![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/56fe6b9ee78e99bdb92f5b37bab1e07f.webp) ```go vim /data/nextcloud/nextcloud/config/config.php #增加: 'default_phone_region' => 'CN', ``` 5、 ![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/dc9e5d02e88d271a5453e00c2dcef5eb.webp) ```go vim /data/nextcloud/nextcloud/config/config.php #增加: 'check_for_working_wellknown_setup' => false, ``` 6、 ![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/eedded9c0acde3f52abbfa72ffe9b80d.webp) 这个错误大多是配置redis后出现的 检查有没有安装redis,安装后还需要安装php-redis扩展 ```go [root@localhost ~]# yum install redis [root@localhost ~]# systemctl start redis [root@localhost ~]# yum install php-redis ``` 7、 ![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/618f95e84989759eb627d92211094f73.webp) 启用https访问 ```go [root@localhost ~]# yum install mod_ssl openssl [root@localhost ~]# vim /etc/httpd/conf.d/ssl.conf ``` 8、 ![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/05eb4f6648e454c1efc5f83e1408bbf1.webp) 点击后面查看哪些文件无效,大部份是.htaccess .user.ini 两个文件,可以重nextcloud目录重新拷贝过来 9、 ![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/d0ddd3edc5b7ac87f691f4dd311c0f4d.webp) ```go [root@localhost nextcloud]# vim /etc/php.ini ``` 在php配置文件中注释掉output_buffering 。找到这个,前面加上; ![在这里插入图片描述](https://file.jishuzhan.net/article/1734381940670205953/1a65f0a8faffd675954cc9317f6e297a.webp)

相关推荐
noravinsc11 分钟前
Linux 下 Module 工具的介绍与使用
linux·运维·服务器
Sunlight_77731 分钟前
第五章 SQLite数据库:1、SQLite 基础语法及使用案例
java·linux·服务器·jvm·数据库·tcp/ip·sqlite
Silence4Allen33 分钟前
Ubuntu 安装WPS Office
linux·ubuntu·wps
程序员JerrySUN1 小时前
驱动开发硬核特训 · Day 11(下篇):从 virtio_blk 看虚拟总线驱动模型的真实落地
linux·驱动开发·嵌入式硬件
半兽先生1 小时前
CentOS 中安装 vim
linux·centos·vim
长流小哥3 小时前
Linux网络编程实战:从字节序到UDP协议栈的深度解析与开发指南
linux·c语言·开发语言·网络·udp
fakaifa3 小时前
【2025最新版】火鸟门户v8.5系统源码+PC、H5、小程序 +数据化大屏插件
小程序·php·源码下载·火鸟门户·同城门户系统
极小狐3 小时前
极狐GitLab 功能标志详解
linux·运维·服务器·elasticsearch·gitlab·极狐gitlab
onejason4 小时前
利用 PHP 爬虫按关键字搜索淘宝商品
前端·php
雾原4 小时前
Red Hat Enterprise Linux (RHEL)系统部署
linux