[Postgresql] 最简单的Postgresql 安装和允许除本机外其他外部网络访问的配置(on Ubuntu)

本文介绍了在Ubuntu上安装最新版PostgreSQL的步骤,并详细讲解如何配置postgresql.conf和pg_hba.conf文件,以允许外部网络访问数据库,包括修改listen_addresses和添加访问规则,确保PostgreSQL服务对外可用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么鬼,标题连waiwang两字都敏感吗。。还给我设成私密。。。汗

Installation:

安装最新版本的postgresql:

sudo apt-get install postgresql-client

sudo apt-get install postgresql

正常情况下,安装完成后,PostgreSQL服务器会自动在本机的5432端口开启。

这部分参考了阮一峰的博客http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html

至于图形界面,我使用了pgadmin4,如何安装请follow https://askubuntu.com/questions/788457/how-to-install-pgadmin-4-in-server-mode-on-ubuntu-16-04 

 

Configuration:

安装完之后你会发现,只有本机自己能访问postgresql, 也就是只有127.0.0.1:5432被listen了,这时候要做一下配置来允许外网访问你的数据库。

有两个文件需要修改:

postgresql.conf

sud
<think>嗯,用户之前问过开源云盘系统,现在具体问Nextcloud在Ubuntu上用Docker部署。可能他们已经有了Ubuntu服务器,想快速搭建私有云。用户可能是个人用户或者小企业,需要简单、可靠的部署方法。 首先,用户的需求明确:Nextcloud的Docker部署。之前介绍过Nextcloud的特点,现在需要具体步骤。Docker部署相对简单,适合不想处理复杂依赖的用户。 需要检查用户是否了解Docker基础,可能需要简要说明DockerDocker Compose的安装步骤。同时,要确保步骤清晰,避免出错,比如权限问题、目录挂载、端口冲突等。 可能需要注意数据持久化,所以Docker卷的使用很重要。还要提到数据库的选择,比如MariaDB或PostgreSQL,这里选MariaDB更常见。 安全方面,SSL证书是必须的,用Let's Encrypt的Certbot,但Docker部署可能需要先配置Nginx反向代理或者整合到Nextcloud容器中。 另,后续维护如备份、升级也要提及,帮助用户长期管理。可能用户还需要知道如何访问初始化设置,所以步骤里包括访问IP创建管理员账户。 需要对比之前的回答,补充Docker特有的内容,比如docker-compose.yml的编写,可能的环境变量设置,以及常见问题如权限错误的解决方法。 最后,确保语言简洁,步骤详细但不过于复杂,适合不同技术水平的用户跟随操作。可能用户需要扩展功能,比如OnlyOffice,可以提到但简要,保持回答重点在部署上。</think>以下是通过 **Docker** 在 **Ubuntu 系统** 上部署 **Nextcloud** 的详细步骤,分为环境准备、部署流程常见问题解决: --- ### 一、环境准备 1. **Ubuntu 系统** - 推荐 Ubuntu 20.04/22.04 LTS,确保已更新系统: ```bash sudo apt update && sudo apt upgrade -y ``` 2. **安装 Docker Docker Compose** - 安装 Docker: ```bash curl -fsSL https://get.docker.com | sudo sh sudo usermod -aG docker $USER # 当前用户加入docker组 newgrp docker # 刷新用户组权限 ``` - 安装 Docker Compose: ```bash sudo apt install docker-compose-plugin -y ``` --- ### 二、部署 Nextcloud #### 步骤 1:创建 Docker Compose 配置文件 新建 `docker-compose.yml` 文件,内容如下: ```yaml version: '3' services: nextcloud: image: nextcloud:latest container_name: nextcloud restart: unless-stopped ports: - "8080:80" # 宿主机端口:容器端口(访问用8080) volumes: - ./nextcloud:/var/www/html # 数据持久化 - ./apps:/var/www/html/custom_apps - ./config:/var/www/html/config - ./data:/var/www/html/data environment: - NEXTCLOUD_TRUSTED_DOMAINS=your-domain.com # 无域名可注释此行 depends_on: - db db: image: mariadb:latest container_name: nextcloud-db restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=your_root_password # 自定义数据库root密码 - MYSQL_PASSWORD=your_db_password # 自定义Nextcloud数据库密码 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud volumes: - ./db:/var/lib/mysql # 数据库持久化 redis: # 可选:Redis缓存加速 image: redis:alpine container_name: nextcloud-redis restart: unless-stopped volumes: - ./redis:/data ``` #### 步骤 2:启动容器 ```bash mkdir -p nextcloud && cd nextcloud # 创建项目目录 nano docker-compose.yml # 粘贴上述内容后保存 docker compose up -d # 后台启动容器 ``` #### 步骤 3:初始化配置 1. **访问 Nextcloud** 浏览器打开 `http://服务器IP:8080`,按提示完成初始化: - 输入管理员账号密码。 - 数据库选择 **MySQL/MariaDB**,填写信息: - 数据库用户:`nextcloud` - 数据库密码:`your_db_password`(与docker-compose.yml中一致) - 数据库名:`nextcloud` - 数据库主机:`db`(Docker内部服务名) 2. **完成安装** 等待自动配置完成,即可进入Nextcloud主界面。 --- ### 三、进阶配置 #### 1. **配置 HTTPS(SSL 证书)** - 使用 **Nginx 反向代理** 或直接在 Nextcloud 容器中集成 Certbot: 修改 `docker-compose.yml` 中 Nextcloud 的端口映射为 `443:443`,并挂载证书目录(需提前申请证书)。 #### 2. **性能优化** - **启用 Redis 缓存**:在Nextcloud配置文件中(`config/config.php`)添加: ```php 'memcache.local' => '\\OC\\Memcache\\Redis', 'memcache.distributed' => '\\OC\\Memcache\\Redis', 'redis' => [ 'host' => 'redis', 'port' => 6379, ], ``` #### 3. **备份与恢复** - **数据备份**:直接备份 `nextcloud/` 目录下的 `data`、`config` `db` 卷。 - **恢复**:替换对应目录后重启容器即可。 --- ### 四、常见问题解决 1. **权限错误** 若文件上传失败,修复数据目录权限: ```bash docker compose exec nextcloud chown -R www-data:www-data /var/www/html/data ``` 2. **数据库连接失败** 检查 `docker-compose.yml` 中的数据库密码是否一致,并确保 `db` 容器已启动。 3. **性能缓慢** - 增加 PHP 内存限制:在 `config/php.ini` 中设置 `memory_limit = 512M`。 - 启用 Redis 缓存(参考上文)。 --- ### 五、总结 - **优点**:Docker 部署隔离依赖,升级方便(只需更新镜像)。 - **适用场景**:个人/团队私有云盘,支持跨平台同步(Windows/macOS/Android/iOS)。 - **扩展功能**:通过应用市场安装插件(如 **OnlyOffice**、**Collabora Online** 实现文档协作)。 如需更详细配置(如HTTPS、高可用部署),可进一步说明需求!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值