Ubuntu server 22.04安装nextcloud

前言

网上很多都是基于snap或者docker进行的部署,很是方便,关于直接在服务器上部署的教程很少,本人决定尝试进行直接安装。

一、准备工作

1、升级系统

sudo apt update
sudo apt upgrade

2、所需环境

Operating System :Ubuntu 22.04

Database                :Mysql 8

Webserver                :Apche 2.4

PHP Runtime              :8.3

二、安装MySQL8

1、更新

sudo apt update
sudo apt upgrade

2、安装mysql server

sudo apt install mysql-server

如果这一步出现问题,就换个源,可以换成中科大的源。

3、对mysql进行配置

sudo mysql_secure_installation

看不懂就翻译一下,按照步骤来就行。

4、验证一下是否安装成功

sudo systemctl status mysql

成功就显示:● mysql.service - MySQL Community Server.........

一堆运行信息

5、登录mysql

sudo mysql -u root -p

默认是不用输密码的,直接就能进去。

6、创建一个nextcloud账户

CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';

password可以替换成你自己的密码。(这需要在MySQL中运行)

7、退出MySQL终端

FLUSH PRIVILEGES;
EXIT;

至此,MySQL已经安装完成,后面数据替换位置等其他问题,可自行摸索。

三、安装Apache

1、更新

sudo apt update
sudo apt upgrade

2、安装Apache

apt install apache2

3、检测一下

systemctl status apache2

成功就显示:● apache2.service - The Apache HTTP Server...........

同时可以打开浏览器,访问一下Ubuntu server IP地址,出现Apache2 Default Page页面。

4、配置Apache

在/var/www/html/新建文件夹nextcloud

mkdir /var/www/html/nextcloud

给一下权限

sudo chown -R www-data:www-data /var/www/html/nextcloud

四、安装PHP

1、更新

sudo apt update
sudo apt upgrade

2、安装PHP

sudo apt install php

3、安装PHP拓展

sudo apt install php8.1-fpm libapache2-mod-php8.1
sudo apt-get install php8.1-curl php8.1-dom php8.1-mbstring php8.1-imagick php8.1-ldap php8.1-imap php8.1-mysql php8.1-gd php8.1-zip php8.1-bz2 php8.1-intl php8.1-smbclient php8.1-bcmath php8.1-gmp php8.1-apcu php8.1-memcached php8.1-redis php8.1-phar
sudo apt install libmagickcore-dev
sudo apt install ffmpeg
sudo apt install redis

4、新建PHP运行文件夹php8.1-fpm

mkdir /run/php/php8.1-fpm

5、启用一些模块

a2enmod proxy_fcgi setenvif
a2enconf php8.1-fpm
a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime
a2enmod setenvif

6、重启Apache

systemctl restart apache2

7、测试PHP

在/var/www/html下新建info.php的文件

vi /var/www/html/info.php

按下i,输入以下内容,按下esc,输入:wq保存

<?php echo phpinfo();?>

打开浏览器,输入IP/info.php,会出现详细的PHP信息页。

至此,所有准备工作已经完成。

五、安装nextcloud

1、进入安装目录

cd /var/wwww/html/nextcloud

2、获取在线安装文件setup-nextcloud.php

打开官网:Nextcloud - Open source content collaboration platform

选择Get Nextcloud→nextcloud server跳转下载页面

选择DOWNLOAD SERVER→COMMUNITY PROJECTS

复制Web installer 按钮的连接。

如下:

setup-nextcloud.phpicon-default.png?t=N7T8https://download.nextcloud.com/server/installer/setup-nextcloud.php

3、在线下载 

wget https://download.nextcloud.com/server/installer/setup-nextcloud.php

4、打开浏览器

IP/nextcloud/stusetup-nextcloud.php

5、进入安装界面

一路next即可

6、nextcloud安装配置

自己输入一个管理员账号与密码

MySQL账户

用户:nextcloud

密码:自己安装MySQL时创建的nextcloud用户密码

数据库名称:nextcloud

7、浏览器输入

IP/nextcloud/nextcloud

8、nextcloud优化配置

vi /var/www/nextcloud/config/config.php

按需修改

<?php

  #添加可以访问的网站域名或者nextcloud主机的IP地址,否则局域网内或者外网访问时会出现请使用合法IP或者域名方可登录的提示  
  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'xxx.xxx.xxx',
    2 => '192.168.1.17',
  ),

  
  'overwrite.cli.url' => 'http://localhost/nextcloud',

  'installed' => true,

  #防止出现不能https访问问题
  'overwriteprotocol' => 'https',

  #默认电话区域
  'default_phone_region' => 'CN',

  #开启缓存,分类型同时使用APCU和REDIS。
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'filelocking.enabled' => true,
  'memcache.locking' => '\OC\Memcache\Redis',
  'memcache.distributed' => '\OC\Memcache\Redis',
  'redis' => [
     'host' => 'localhost',
     'port' => 6379,
  ],

  
);

至此,nextcloud安装完成。

六、拓展

nextcloud装完后会有一些警告提示,请自行百度解决。

1、网页服务器未正确设置以解析:

  1. 您的网页服务器未正确设置以解析“/.well-known/webfinger”。更多信息请参见文档↗。
  2. 您的网页服务器未正确设置以解析“/.well-known/nodeinfo”。更多信息请参见文档↗。
  3. 您的网页服务器未正确设置以解析“/.well-known/caldav”。更多信息请参见文档↗。
  4. 您的网页服务器未正确设置以解析“/.well-known/carddav”。更多信息请参见文档↗。
#先将路径:/var/www/html/nextcloud 下在的.htaccess文件复制至/var/www/html下
#.htaccess是隐藏文件,直接在nextcloud目录下 
cp .htaccess /var/www/html

#在/var/www/html/目录下打开此文件
vi .htaccess
#修改IfModule mod_rewrite.c的内容:

<IfModule mod_rewrite.c>

  RewriteEngine on

  RewriteCond %{HTTP_USER_AGENT} DavClnt

  RewriteRule ^$ /nextcloud/remote.php/webdav/ [L,R=302]

  RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

  RewriteRule ^\.well-known/carddav /nextcloud/remote.php/dav/ [R=301,L]

  RewriteRule ^\.well-known/caldav /nextcloud/remote.php/dav/ [R=301,L]

  RewriteRule ^\.well-known/webfinger /nextcloud/index.php/.well-known/webfinger [R=301,L]

  RewriteRule ^\.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo [R=301,L]

  RewriteRule ^remote/(.*) remote.php [QSA,L]

  RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]

  RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]

  RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]

</IfModule>

#然后再打开路径:apache2.conf文件,修改
vi /etc/apache2/conf/apache2.conf

#原:
AllowOverride none

#改:
AllowOverride ALL

#最后

systemctl restart apache2

2、PHP优化配置

进入php.ini文件进行配置

vi /etc/php/8.1/fpm/php.ini
找到对应参数修改
memory_limit = 2048M
upload_max_filesize = 1000M
post_max_size = 1000M
max_input_time 3600
max_execution_time = 3600

#删除以下配置选项前  ; 并修改参数
opcache.enable = 1
opcache.interned_strings_buffer = 24
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
systemctl restart apache2
#重启apache2

3、OPcache 内部字符串缓存几乎已满。

为确保重复的字符串可以被有效地缓存,建议在您的 PHP 设置中 opcache.interned_strings_buffer 设置一个高于 8 的值。

vi /etc/php/8.1/fpm/conf.d/10-opcache.ini

修改如下:

; configuration for php opcache module
; priority=10
zend_extension=opcache.so

opcache.enable=1
opcache.enable_cli=1
opcache.jit_buffer_size=256M
opcache.memory_consumption = 128
opcache.interned_strings_buffer = 32
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
opcache.save_comments=1

重启PHP

service php8.1-fpm restart

4、cron.php 不执行

使用系统定时任务服务每 5 分钟执行一次 cron.php 文件。
cron.php 需要由系统用户“www-data”执行。

在 /etc/systemd/system目录新建 nextcloudcron.service 和 nextcloudcron.timer 两个文件:

vi /etc/systemd/system/nextcloudcron.service

输入以下内容:

Description=Nextcloud cron.php job

[Service]
User=www-data
ExecCondition=php -f /var/www/html/nextcloud/occ status -e #根据安装位置修改
ExecStart=/usr/bin/php -f /var/www/html/nextcloud/cron.php #根据安装位置修改,/usr/一般不用改
KillMode=process

按下esc输入:wq保存。

vi /etc/systemd/system/nextcloudcron.timer

输入以下内容:

[Unit]
Description=Run Nextcloud cron.php every 5 minutes
 
[Timer]
OnBootSec=5min
OnUnitActiveSec=5min
Unit=nextcloudcron.service
 
[Install]
WantedBy=timers.target

#这里所有内容不用修改,定时5分钟执行。

按下esc输入:wq保存。

最后,执行下面的命令就可以了:

systemctl enable --now nextcloudcron.timer

如果中间修改了nextcloudcron.service 和 nextcloudcron.timer文件执行一下

systemctl daemon-reload

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Ubuntu Server 22.04 安装教程: 1. 下载 Ubuntu Server 22.04 的 ISO 镜像文件,并将其写入 USB 或 DVD。 2. 将 USB 或 DVD 插入计算机,并启动计算机。 3. 在启动时,选择从 USB 或 DVD 启动。 4. 选择“Install Ubuntu Server”来开始安装过程。 5. 选择语言和时区。 6. 设置键盘布局。 7. 选择安装类型。如果您想要完全控制分区和安装过程,请选择“Manual”;否则,请选择“Guided - use entire disk”。 8. 设置主机名和用户名。 9. 设置密码。 10. 安装 OpenSSH 服务器(可选)。 11. 安装 GRUB 引导程序。 12. 安装完成后,重新启动计算机。 13. 登录 Ubuntu Server。 14. 更新软件包:sudo apt update && sudo apt upgrade。 15. 安装所需软件:sudo apt install [软件名称]。 16. 配置网络:sudo nano /etc/netplan/00-installer-config.yaml。 17. 保存并退出。 18. 应用更改:sudo netplan apply。 19. 完成! 希望这个教程对您有所帮助! ### 回答2: Ubuntu Server 22.04是一款开源的Linux操作系统,广泛用于企业级应用程序的部署和管理。在安装Ubuntu Server 22.04之前,需要先下载镜像文件,并通过USB启动盘或光盘将其刻录到目标服务器上。以下是Ubuntu Server 22.04安装教程: 步骤1:启动Ubuntu Server 22.04 将启动盘或光盘插入目标服务器,然后将服务器的启动顺序设置为从启动盘或光盘启动。服务器启动后,您将看到Ubuntu Server 22.04的启动屏幕,选择“Install Ubuntu Server”开始安装。 步骤2:选择安装语言及地区 在安装过程中,您需要选择您的首选语言以及当前的地区。 步骤3:设置键盘布局 您需要选择您的键盘布局。默认情况下,该选项已设置为英语(美国)。 步骤4:配置网络 Ubuntu Server 22.04需要连接到网络,因此您需要配置网络设置。您可以使用静态IP地址或自动配置(DHCP)。 步骤5:安装Ubuntu Server 22.04 在此步骤中,您需要选择磁盘分区以及文件系统格式等选项。建议选择默认选项。 步骤6:设置管理员账户 安装完成后,您需要设置管理员账户和密码。建议设置强密码,并确保管理员账户拥有足够的权限。 步骤7:安装服务器软件 Ubuntu Server 22.04自带许多软件,您可以根据您的需求选择安装,包括Web服务器、文件服务器、数据库服务器等。 步骤8:重启服务器 安装完成后,您需要重启服务器以使更改生效。 总结 Ubuntu Server 22.04是一个强大的开源操作系统,可用于企业级应用程序的部署和管理。在安装Ubuntu Server 22.04之前,您需要下载安装镜像文件,并在目标服务器上设置启动盘或光盘。在安装过程中,请务必确定您配置了正确的网络设置和分区选项,以确保服务器的正常使用。 ### 回答3: Ubuntu Server 22.04 是最新发布的一款 Ubuntu服务器操作系统,其设计用于提供高度可靠、安全和经过优化的解决方案。Ubuntu Server 22.04 拥有出色的稳定性、安全性和灵活性,可用于云计算、虚拟化、Web 服务器、数据库、安全、存储、高性能计算和物联网 (IoT) 等领域。 以下是 Ubuntu Server 22.04安装教程: 1. 准备工作 在安装 Ubuntu Server 22.04 之前,需要完成以下准备工作: 1. 制作 Ubuntu Server 22.04 安装盘或写入 USB 盘 2. 确保其上的设备(计算机、笔记本电脑或虚拟机)符合 Ubuntu Server 22.04 的要求 3. 下载 Ubuntu Server 22.04 ISO 文件 2. 安装 一旦完成准备工作,可以开始安装 Ubuntu Server 22.04。以下是详细步骤: 1. 将制作好的安装盘或 USB 盘插入计算机或笔记本电脑的 USB 接口上 2. 启动设备,并按照显示器上的提示进入 BIOS 设置界面(按下 F2、F12 或 Del 键) 3. 将启动顺序更改为从光驱或 USB 设备启动 4. 重启计算机或笔记本电脑 5. 选择“Install Ubuntu Server”开始安装 6. 选择安装语言 7. 选择时区和键盘布局 8. 选择设备上的操作系统安装类型(新安装或升级) 9. 输入主机名和域名 10. 创建新用户和密码 11. 选择所需的软件包并安装 12. 安装完成后,选择“Restart now”重启设备 3. 配置网络 一旦 Ubuntu Server 22.04 安装完成并重启,需要进行网络配置,以便与网络连接。以下是详细步骤: 1. 进入命令行模式 2. 安装网络管理工具“netplan”(sudo apt-get install netplan.io) 3. 打开“/etc/netplan”目录 4. 编辑“01-netcfg.yaml”文件 5. 按照需要配置静态或动态 IP 地址、网关和 DNS 6. 保存文件并关闭 7. 运行“sudo netplan apply”命令以应用新配置 8. 重启设备以使更改生效 4. 安全性设置 为了确保服务器安全,需要进行以下安全性设置: 1. 安装防火墙(sudo apt-get install ufw) 2. 配置防火墙以允许所需的流量进入 3. 禁用 root 用户登录(sudo passwd --lock root) 4. 创建基于非 root 用户的 sudo 用户 5. 安装 SSH(sudo apt-get install openssh-server) 6. 配置 SSH 以使用公钥验证 7. 禁用使用密码的 SSH 访问 综上所述,以上是 Ubuntu Server 22.04 安装教程,包括准备工作、安装、网络配置和安全性设置。通过这些步骤,可以轻松地将 Ubuntu Server 22.04 安装到设备上,从而利用其出色的稳定性、安全性和灵活性,开展各种项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值