Files
Obsidian-Main/21.01. Linux/架站/Nextcloud.md
Awin Huang afeb207be2 vault backup: 2025-08-20 14:35:48
Affected files:
Too many files to list
2025-08-20 14:35:48 +08:00

143 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## docker-compose.yml
```yaml
version: '3'
services:
app:
image: nextcloud
ports:
- 8080:80
volumes:
- ./data:/var/www/html
restart: always
```
## config.php
Nextcloud 的 config 檔放在`/var/www/html/config/config.php`,對應到本機就是 `./data/config/config.php`,在安裝完成之後,需要修改 `trusted_domains``overwriteprotocol``overwrite.cli.url` 這幾個參數,如下:
```php
<?php
$CONFIG = array (
'htaccess.RewriteBase' => '/',
'memcache.local' => '\\OC\\Memcache\\APCu',
'apps_paths' =>
array (
0 =>
array (
'path' => '/var/www/html/apps',
'url' => '/apps',
'writable' => false,
),
1 =>
array (
'path' => '/var/www/html/custom_apps',
'url' => '/custom_apps',
'writable' => true,
),
),
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'redis',
'password' => '',
'port' => 6379,
),
'upgrade.disable-web' => true,
'instanceid' => 'och3g4qo42hq',
'passwordsalt' => 'kASfV5cf4Rh+EcvGNKQkmK01HD2UbI',
'secret' => 'Vze6ZS+qgeOmacEn3ctbtV3uZaEpzeJDufjkkm4A9lgmUYpF',
'trusted_domains' =>
array (
0 => 'nc.awin.one',
),
'datadirectory' => '/var/www/html/data',
'dbtype' => 'mysql',
'version' => '28.0.3.2',
'dbname' => 'nextcloud',
'dbhost' => 'db',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => 'F5vy&46Fzbn:hFnlHji.sWfS*SP~wC',
'overwriteprotocol' => 'https',
'overwrite.cli.url' => 'https://nc.awin.one',
'maintenance_window_start' => 1,
'default_phone_region' => 'TWN',
'installed' => true,
'mail_smtpmode' => 'smtp',
'mail_sendmailmode' => 'smtp',
'mail_from_address' => 'awinhuang',
'mail_domain' => 'gmail.com',
'mail_smtphost' => 'smtp.gmail.com',
'mail_smtpport' => '587',
'mail_smtpauth' => 1,
'mail_smtpname' => 'awinhuang@gmail.com',
'mail_smtppassword' => 'stcg ozpc ypsl enbp',
'maintenance' => false,
'loglevel' => 2,
);
```
## 遇到的問題
1. 你經由安全的連線存取系統,但系統卻生成了不安全的 URL。這很有可能是因為你使用了反向代理伺服器但反向代理伺服器的改寫規則並未正常工作請閱讀關於此問題的文件頁面 ↗。
1.`config/config/php` 新增
```
'overwriteprotocol' => 'https',
'overwrite.cli.url' => 'https://nc.awin.one',
```
這兩行
2. 增加 cron: `nextcloud_clean.sh` 在 crontab
1. `*/5 * * * * /home/awin/script/nextcloud_clean.sh`
3. 伺服器未設定維護時段的開始時間。這代表了每天耗費大量資源的背景作業也會在您主要使用的時間內執行。我們建議將其設定為低使用率的時間,以減少使用者受到這些繁重任務帶來的負載影響。
1. 在 `config/config/php` 增加 `'maintenance_window_start' => 1,`
4. 您並未設定手機國際冠碼。設定後使用者在個人檔案設定手機號碼時不必再輸入國際冠碼。若要這樣做請新增「default_phone_region」至設定檔允許的國家及地區請參閱 ISO 3166-1 code 清單。
1. 在 `config/config/php` 增加 `'default_phone_region' => 'TWN',`
5. 您尚未為 WOPI 請求設定允許清單。若無此設定,使用者可以透過 WOPI 請求將受限制的檔案下載至 Nextcloud 伺服器
6. 此站台缺少一些建議的 PHP 模組。為了改善效能與相容性強烈建立您安裝這些模組bz2
7. How to know if redis is being used
```
docker exec -it redis /bin/sh
cd
redis-cli monitor
ctrl+c
```
8. gmail app password for nextcloud: `stcg ozpc ypsl enbp`
9. 大檔案無法上傳
1. 改善傳輸的效率: `sudo docker exec -u 33 e84abbefd5ed php occ config:app:set files max_chunk_size --value 0`
2. `docker-compose.yml` 要增加 3 個 environment
```yaml
- PHP_MEMORY_LIMIT=10240M
- PHP_UPLOAD_LIMIT=10240M
- POST_MAX_SIZE=10240
```
3. ReverseProxy 要增加:
### 大檔案無法上傳
1. 改善傳輸的效率: `sudo docker exec -u 33 e84abbefd5ed php occ config:app:set files max_chunk_size --value 0`
2. `docker-compose.yml` 要增加 3 個 environment
```yaml
- PHP_MEMORY_LIMIT=10240M
- PHP_UPLOAD_LIMIT=10240M
- POST_MAX_SIZE=10240
```
3. ReverseProxy 要增加:
```yaml
client_max_body_size 0;
fastcgi_read_timeout 600;
fastcgi_send_timeout 600;
fastcgi_connect_timeout 600;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
```````
4. 上傳檔案時遇到 "server repliedL Not Found": `sudo docker exec -u 33 e84abbefd5ed php occ files:scan --all`