mirror of
https://codeberg.org/wownero/onion-wownero-blockchain-explorer-themefork.git
synced 2026-10-17 05:41:27 +02:00
📝 Add LMDB permission troubleshooting section to README
This commit is contained in:
@@ -217,6 +217,7 @@ WorkingDirectory=/home/wowexplorer/onion-wownero-blockchain-explorer-themefork/b
|
|||||||
|
|
||||||
Type=simple
|
Type=simple
|
||||||
ExecStart=/home/wowexplorer/onion-wownero-blockchain-explorer-themefork/build/xmrblocks \
|
ExecStart=/home/wowexplorer/onion-wownero-blockchain-explorer-themefork/build/xmrblocks \
|
||||||
|
-b /path/to/.wownero/lmdb \
|
||||||
--daemon-url=http://127.0.0.1:34568 \
|
--daemon-url=http://127.0.0.1:34568 \
|
||||||
--enable-json-api \
|
--enable-json-api \
|
||||||
--enable-autorefresh-option \
|
--enable-autorefresh-option \
|
||||||
@@ -226,16 +227,81 @@ ExecStart=/home/wowexplorer/onion-wownero-blockchain-explorer-themefork/build/xm
|
|||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=10
|
RestartSec=10
|
||||||
|
|
||||||
# Hardening
|
|
||||||
NoNewPrivileges=true
|
|
||||||
ProtectSystem=strict
|
|
||||||
ProtectHome=read-only
|
|
||||||
ReadWritePaths=/home/wowexplorer/.wownero
|
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### ⚠️ LMDB Permissions (Important!)
|
||||||
|
|
||||||
|
If your blockchain LMDB is owned by a different user (e.g., `jw` runs wownerod but `wowexplorer` runs the explorer), you need to grant access. **LMDB requires write access to the directory** for memory-mapping even for read-only access.
|
||||||
|
|
||||||
|
#### Option 1: Use ACLs (Recommended)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install ACL tools
|
||||||
|
sudo apt install acl
|
||||||
|
|
||||||
|
# Grant wowexplorer access to traverse to the lmdb directory
|
||||||
|
sudo setfacl -m u:wowexplorer:rx /home/jw
|
||||||
|
sudo setfacl -m u:wowexplorer:rx /home/jw/.wownero
|
||||||
|
|
||||||
|
# Grant rwx on the lmdb directory (required for LMDB memory-mapping)
|
||||||
|
sudo setfacl -m u:wowexplorer:rwx /home/jw/.wownero/lmdb
|
||||||
|
|
||||||
|
# Grant rw on the database files
|
||||||
|
sudo setfacl -m u:wowexplorer:rw /home/jw/.wownero/lmdb/data.mdb
|
||||||
|
sudo setfacl -m u:wowexplorer:rw /home/jw/.wownero/lmdb/lock.mdb
|
||||||
|
|
||||||
|
# Verify permissions
|
||||||
|
getfacl /home/jw/.wownero/lmdb/
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Option 2: Add user to group
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Add wowexplorer to the jw group
|
||||||
|
sudo usermod -aG jw wowexplorer
|
||||||
|
|
||||||
|
# Set directory permissions
|
||||||
|
chmod 711 /home/jw
|
||||||
|
chmod 750 /home/jw/.wownero
|
||||||
|
chmod 770 /home/jw/.wownero/lmdb
|
||||||
|
chmod 660 /home/jw/.wownero/lmdb/*
|
||||||
|
|
||||||
|
# Note: Group changes require service restart or reboot to take effect
|
||||||
|
sudo systemctl daemon-reexec
|
||||||
|
sudo systemctl restart wowexplorer
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Option 3: Run as the same user
|
||||||
|
|
||||||
|
Simply run the explorer as the same user that owns the blockchain:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
User=jw
|
||||||
|
Group=jw
|
||||||
|
```
|
||||||
|
|
||||||
|
### Troubleshooting LMDB Permission Errors
|
||||||
|
|
||||||
|
If you see `Failed to open lmdb environment: Permission denied` errors:
|
||||||
|
|
||||||
|
1. **ACLs are most reliable** - Group membership changes aren't picked up by systemd immediately
|
||||||
|
2. **LMDB needs write access** - Even for "read-only" access, LMDB needs to write lock files
|
||||||
|
3. **Check the full path** - Every directory from `/` to the lmdb folder needs execute permission
|
||||||
|
4. **Verify with sudo** - Test access manually: `sudo -u wowexplorer ls -la /path/to/.wownero/lmdb/`
|
||||||
|
|
||||||
|
Quick fix with ACLs:
|
||||||
|
```bash
|
||||||
|
sudo apt install acl
|
||||||
|
sudo setfacl -m u:wowexplorer:rx /home/jw
|
||||||
|
sudo setfacl -m u:wowexplorer:rx /home/jw/.wownero
|
||||||
|
sudo setfacl -m u:wowexplorer:rwx /home/jw/.wownero/lmdb
|
||||||
|
sudo setfacl -m u:wowexplorer:rw /home/jw/.wownero/lmdb/data.mdb
|
||||||
|
sudo setfacl -m u:wowexplorer:rw /home/jw/.wownero/lmdb/lock.mdb
|
||||||
|
sudo systemctl restart wowexplorer
|
||||||
|
```
|
||||||
|
|
||||||
### 4. Enable and start the service
|
### 4. Enable and start the service
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
Reference in New Issue
Block a user