Nextcloud 是一款开源的私有云存储解决方案,允许用户轻松搭建自己的云服务。它不仅支持文件存储和共享,还提供了日历、联系人、任务管理、笔记等丰富的功能。本文将详细介绍如何在 Ubuntu 22.04 LTS 上使用 Apache 和 MariaDB 安装部署 Nextcloud,并修改默认存储路径为 /home/nextcloud_data。
首先,确保系统软件包为最新版本:
sudo apt update
sudo apt upgrade -y
安装 Apache 和 PHP 8.1 及其扩展:
sudo apt install apache2 libapache2-mod-php8.1 php8.1 php8.1-mysql php8.1-gd php8.1-curl php8.1-xml php8.1-mbstring php8.1-intl php8.1-zip php8.1-bcmath -y
启用 Apache 模块:
sudo a2enmod rewrite headers env dir mime setenvif
sudo systemctl restart apache2
MariaDB是MySQL的一个分支,用于存储Nextcloud的数据。安装命令如下:
sudo apt install mariadb-server -y
安装完成后,初始化数据库并设置root密码:
sudo mysql_secure_installation
根据提示操作,设置root密码、删除匿名用户、禁止root远程登录等。
登录到MariaDB命令行:sudo mysql -u root
。
在 MariaDB shell 中执行以下命令:
CREATE DATABASE nextcloud; //创建数据库
CREATE USER 'nextcloud_user'@'localhost' IDENTIFIED BY 'yourpassword'; //创建用户
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud_user'@'localhost'; //授予权限
FLUSH PRIVILEGES;//刷新权限
\q //退出MariaDB命令行
(1)官网下载页面(https://nextcloud.com/install/)自行下载,我这里直接使用wget命令下载Nextcloud:
sudo wget https://download.nextcloud.com/server/releases/latest.tar.bz2
(2)解压下载的文件:
sudo tar -xjf latest.tar.bz2
(3)将解压后的nextcloud文件夹移动到Nginx的默认网站目录:
sudo mv nextcloud /var/www/
(4)修改nextcloud文件夹的所有者和组:
sudo chown -R www-data:www-data /var/www/nextcloud
创建 Apache 虚拟主机配置文件:
sudo vim /etc/apache2/sites-available/nextcloud.conf
添加以下内容:
ServerName yourdomain.com
DocumentRoot /var/www/nextcloud
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
启用虚拟主机并禁用默认站点:
sudo a2ensite nextcloud.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2
Nextcloud 默认将用户数据存储在 /var/www/nextcloud/data 目录下。为了将其更改为 /home/nextcloud_data,执行创建新的存储目录:
sudo mkdir -p /home/nextcloud_data
sudo chown -R www-data:www-data /home/nextcloud_data
在浏览器中访问 http://yourdomain.com,按照 Nextcloud 的安装向导完成配置:
使用 Let’s Encrypt 为 Apache 配置 HTTPS:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com
如果启用了防火墙,确保允许 HTTP 和 HTTPS 流量:
复制
sudo ufw allow 'Apache Full'