Dynadot 搬瓦工 腾讯云

在 Ubuntu VPS 上使用 NGINX + MariaDB + PHP 部署 OwnCloud 教程

Sider GigsGigsCloud

以下将介绍如何在一台 Ubuntu VPS 上使用 NGINX 部署 OwnCloud,用作个人网盘或小型团队文件共享。示例环境为 Ubuntu 20.04/22.04,其他主流版本操作大致相似。

1. 准备与系统更新

  1. 更新系统软件包:
    sudo apt update && sudo apt upgrade -y
    
  2. 安装常用工具:
    sudo apt install -y curl wget unzip
    
  3. 确保 VPS 适配
    • 至少 1GB 内存(建议更高),硬盘空间根据需求规划。
    • 拥有 root 或 sudo 权限。

2. 安装 LNMP 环境 (Nginx + MariaDB + PHP)

2.1 安装 Nginx

sudo apt install -y nginx

安装完成后,启动并设置开机自启:

sudo systemctl enable nginx
sudo systemctl start nginx

测试方式:访问 http://<服务器IP>,若能看到 “Welcome to nginx” 即表示安装成功。

2.2 安装并配置 MariaDB

sudo apt install -y mariadb-server

启动并设置开机自启:

sudo systemctl enable mariadb
sudo systemctl start mariadb

安全初始化:执行 sudo mysql_secure_installation,根据提示设置 root 密码、删除测试数据库等。

2.3 安装 PHP-FPM 及必要扩展

OwnCloud 需要 PHP 及若干扩展,示例以 Ubuntu 22.04(PHP 8.1)为例:

sudo apt install -y php-fpm php-cli php-common php-gd php-json php-mysql \
php-curl php-xml php-zip php-mbstring php-intl php-imagick

安装完成后,确认 PHP-FPM 运行并开机自启:

sudo systemctl enable php8.1-fpm
sudo systemctl start php8.1-fpm

检查版本php -v;可进入 /etc/php/8.1/fpm/php.ini 修改上传大小、执行超时等参数。

3. 创建 OwnCloud 数据库

  1. 登录 MariaDB:
    sudo mysql
    
  2. 创建数据库及用户(示例):
    CREATE DATABASE owncloud_db;CREATE USER 'owncloud_user'@'localhost' IDENTIFIED BY 'StrongPassw0rd!';GRANT ALL PRIVILEGES ON owncloud_db.* TO 'owncloud_user'@'localhost';FLUSH PRIVILEGES;EXIT;
    

4. 下载并解压 OwnCloud

  1. 获取最新安装包(使用官方链接):
    wget https://download.owncloud.org/community/owncloud-complete-latest.tar.bz2
    
  2. 解压到指定目录
    sudo tar -xjf owncloud-complete-latest.tar.bz2 -C /var/www/
    

    解压后可得到 /var/www/owncloud 文件夹。

  3. 设置文件权限
    sudo chown -R www-data:www-data /var/www/owncloudsudo chmod -R 755 /var/www/owncloud
    

5. 配置 Nginx

  1. 创建配置文件
    /etc/nginx/sites-available/ 中创建 OwnCloud 虚拟主机,比如 owncloud.conf
    sudo nano /etc/nginx/sites-available/owncloud.conf
    

    内容示例:

    upstream php-handler {    server unix:/run/php/php8.1-fpm.sock;}server {    listen 80;    server_name owncloud.example.com;  # 或者使用服务器IP以便直接访问    root /var/www/owncloud;    index index.php;    # 客户端最大上传大小    client_max_body_size 512M;    fastcgi_buffers 64 4K;    # ownCloud 主要位置配置    location / {        rewrite ^ /index.php;    }    location ~ \.php(?:$|/) {        include fastcgi_params;        fastcgi_split_path_info ^(.+\.php)(/.+)$;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        fastcgi_param PATH_INFO $fastcgi_path_info;        fastcgi_pass php-handler;        fastcgi_read_timeout 300;        include fastcgi_params;    }    location ~* \.(?:css|js|woff|svg|gif)$ {        try_files $uri /index.php$uri$is_args$args;        add_header Cache-Control "max-age=15778463";    }    # 禁止访问一些敏感文件和目录    location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {        deny all;    }}
    
  2. 启用该配置并重启 Nginx
    sudo ln -s /etc/nginx/sites-available/owncloud.conf /etc/nginx/sites-enabled/sudo nginx -t  # 检查配置是否正确sudo systemctl reload nginx
    

你可以用 server_name _; 代替域名,直接通过服务器 IP 访问即可。

6. 初次访问与安装

  1. 浏览器访问
    在浏览器中打开 http://owncloud.example.comhttp://<服务器IP> 进入 OwnCloud 安装页面。
  2. 设置管理员账户与数据目录
    • 管理员用户名、密码:自行设置
    • 数据目录:建议使用默认 /var/www/owncloud/data 或改为更安全的路径(要确保权限正确)。
  3. 配置数据库
    • 选择 MySQL/MariaDB
    • 填入第 3 步中创建的数据库名、用户名、密码
    • 数据库主机:localhost
  4. 完成安装
    会自动初始化并跳转至 OwnCloud 控制台,表示部署成功。

7. HTTPS 与安全强化

  1. 开启 HTTPS
    • 可使用 Let’s Encrypt 身份签发:
      sudo apt install certbot python3-certbot-nginxsudo certbot --nginx -d owncloud.example.com
      
    • 获得证书后 Nginx 配置会自动添加 HTTPS 端口和重定向。
  2. 调优 PHP-FPM
    • 编辑 /etc/php/8.1/fpm/php.ini 调整 upload_max_filesizepost_max_sizememory_limit 及执行超时等参数。
  3. 定期更新
    • 通过系统包管理器及 OwnCloud 后台进行更新,避免安全漏洞。
  4. 防火墙配置
    sudo ufw allow 80sudo ufw allow 443sudo ufw enable
    

    或参考云服务器安全组规则,开放 80 与 443 端口。

8. 常见问题

  • “403 Forbidden” 或 “404 Not Found”
    • 检查 Nginx 配置文件中的 root 路径或 PHP-FPM 的 socket 路径是否一致。
    • 确保权限为 www-data:www-data
  • 文件上传大小受限
    • /etc/nginx/nginx.conf 或虚拟主机配置里设置 client_max_body_size
    • 在 PHP-FPM 的 php.ini 配置里修改 upload_max_filesizepost_max_size
  • 白屏/500 错误
    • 检查 Nginx 日志 /var/log/nginx/error.log 和 OwnCloud 日志 /var/www/owncloud/data/owncloud.log 提示信息。
    • 检查 PHP 版本、扩展是否安装正确。

配置完成后,你已在 Ubuntu VPS 上使用 NGINX 成功部署 OwnCloud,拥有自己的私有云盘。若需要更强大的文件同步、外部存储或更完善的协作功能,可随时参阅 OwnCloud 官方文档 了解更多。祝你使用愉快!

Dynadot Hostwinds
赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《在 Ubuntu VPS 上使用 NGINX + MariaDB + PHP 部署 OwnCloud 教程
文章链接:https://oldtang.com/14116.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。