[plantuml]
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
[/plantuml]
[plantuml]
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
[/plantuml]
動態網頁相關的 http 服務基礎是 LAMP,( L inux server with A pache2, M arriaDB, and Php) 系統服務的縮寫。不用 最近流行的 Nginx取代 Apache是因爲 WebDAV的支持不夠完整,嘗試加入各種插件編譯過後,在Windows和macOS客戶機上,很難直接掛載 WebDAV 網盤,還是用回 Apache吧。
... NOTICE: Not enabling PHP 8.3 FPM by default. NOTICE: To enable PHP 8.3 FPM in Apache2 do: NOTICE: a2enmod proxy_fcgi setenvif NOTICE: a2enconf php8.3-fpm NOTICE: You are seeing this message because you have apache2 package installed. ...
drop database MY_DB_NAME; drop user MY_DB_USER; CREATE DATABASE MY_DB_NAME; CREATE USER 'MY_DB_USER'@'localhost' IDENTIFIED BY 'MY_DB_PASSWORD'; GRANT ALL ON MY_DB_NAME.* TO 'MY_DB_USER'@'localhost' IDENTIFIED BY 'MY_DB_PASSWORD' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
#可检查 资料库中所有 表格。。。 SHOW DATABASES; # 選擇資料庫 USE vm1;# wp, vm1, vm2,... # 查看資料庫中的列表 SHOW TABLES;
define('AUTH_KEY', 'XX GENERATE IT BY YOURSEVES XX K+M1@hJ+?7@8y$_49Th~R,JUd%s-Nx|X4'); define('SECURE_AUTH_KEY', 'XX GENERATE IT BY YOURSEVES XX ](J(yeyFvrc8gae^ugT-qw+8j{g@$([vx'); define('LOGGED_IN_KEY', 'XX GENERATE IT BY YOURSEVES XX !]Rqqh;LQMA*2+|9&ecu31P/zBCn:5Ds&'); define('NONCE_KEY', 'XX GENERATE IT BY YOURSEVES XX ]P`IUKb$,g~2?nA|}.rF/Gu=2kjN:LzeW'); define('AUTH_SALT', 'XX GENERATE IT BY YOURSEVES XX t[9qXtr{BF1qm1]TU9-yZfqHgjJCCSa6X'); define('SECURE_AUTH_SALT', 'XX GENERATE IT BY YOURSEVES XX rv ~H~fQw4RTn*c{ELw ,qx}Thm+LIG;2eo'); define('NONCE_SALT', 'XX GENERATE IT BY YOURSEVES XX nK&k!LK5U9TF3Ui_k@!5gB3[=lWHmcaNz');
# with sudo -s nano /var/www/wordpress/wp-config.php
3.4 將之前數據庫的賬號密碼放入wp-config.php:
... // ** Database settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'MY_DB_NAME' );
# 加密信息: 僅授權用戶可讀, cyue 可讀寫 <Directory /var/www/webdav/info> DAV On AuthType Digest AuthName "webdav" AuthUserFile /var/www/apache/var/users.password <Limit PUT POST MOVE DELETE MKCOL> Require user cyue </Limit> <Limit GET> Require valid-user </Limit> </Directory>
# 個別用戶私人資料區, 僅該用戶可讀寫 # cyue <Directory /var/www/webdav/cyue> DAV On AuthType Digest AuthName "webdav" AuthUserFile /var/www/apache/var/users.password Require user cyue </Directory>
# may <Directory /var/www/webdav/may> DAV On AuthType Digest AuthName "webdav" AuthUserFile /var/www/apache/var/users.password Require user may </Directory> # jj <Directory /var/www/webdav/jj> DAV On AuthType Digest AuthName "webdav" AuthUserFile /var/www/apache/var/users.password Require user jj </Directory>
# johnny <Directory /var/www/webdav/johnny> DAV On AuthType Digest AuthName "webdav" AuthUserFile /var/www/apache/var/users.password Require user johnny </Directory>
# shari <Directory /var/www/webdav/shari> DAV On AuthType Digest AuthName "webdav" AuthUserFile /var/www/apache/var/users.password Require user shari </Directory>
# tony <Directory /var/www/webdav/tony> DAV On AuthType Digest AuthName "webdav" AuthUserFile /var/www/apache/var/users.password Require user tony </Directory>
# yezi <Directory /var/www/webdav/yezi> DAV On AuthType Digest AuthName "webdav" AuthUserFile /var/www/apache/var/users.password Require user yezi </Directory>
# yuchen <Directory /var/www/webdav/yuchen> DAV On AuthType Digest AuthName "webdav" AuthUserFile /var/www/apache/var/users.password Require user yuchen </Directory>
# yuhan <Directory /var/www/webdav/yuhan> DAV On AuthType Digest AuthName "webdav" AuthUserFile /var/www/apache/var/users.password Require user yuhan </Directory> </VirtualHost>
【Local Markdown File】 Unsupported markdown: list Unsupported markdown: list Unsupported markdown: list Unsupported markdown: list Unsupported markdown: list Unsupported markdown: list MD file Picture files WebDAV File System Service WordPress WWW Content Service Typora Browser
WebDAV 上傳腳本或許不適用於 Windows 上的中文文件名樣式?還好剪貼簿圖片的文件名沒中文,目前沒遇到問題。
我的脚本用另一台VPS的 WebDAV 服務當作圖傳服務器,以免服務器掛了圖片資料丟失。
我的脚本簡單的假設每次curl上傳圖片都成功,沒有定義錯誤處理,只能依賴http通信品質了。
8.1 UNIX(Linux/macOS)的 Typora的圖片上傳脚本:’upload.sh’
#!/bin/bash for i in "$@"; do curl -f --digest -u MY_USER:MY_PASSW https://dav2.go2see.me/md-pics/ -T $i done echo "Upload Success:" for file in "$@"; do IFS='/' read -r -a array <<< "$file" id="${#array[@]}" echo "https://dav2.go2see.me/md-pics/""${array[$id-1]}" done
set argCount=0 for %%I in (%*) do ( @echo on curl -f --digest -u MY_USER:MY_PASSW https://dav2.go2see.me/md-pics/ -T %%I @echo off )
echo "Upload Success:"
for %%I in (%*) do ( echo https://dav2.go2see.me/md-pics/%%~nxI )
用法:
Alice ->Bob: Authentication RequestBob -->Alice: Authentication ResponseAlice ->Bob: Another authentication RequestAlice <--Bob: another authentication Response[/plantuml]
動態網頁相關的 http 服務基礎是 LAMP,( L inux server with A pache2, M arriaDB, and Php) 系統服務的縮寫。不用 最近流行的 Nginx取代 Apache是因爲 WebDAV的支持不夠完整,嘗試加入各種插件編譯過後,在Windows和macOS客戶機上,很難直接掛載 WebDAV 網盤,還是用回 Apache吧。
...NOTICE: Not enabling PHP8.3FPM by default.NOTICE: To enable PHP8.3FPMin Apache2 do:NOTICE: a2enmod proxy_fcgi setenvifNOTICE: a2enconf php8.3-fpmNOTICE: You are seeing this message because you have apache2 package installed....
drop database MY_DB_NAME;drop user MY_DB_USER;CREATEDATABASEMY_DB_NAME;CREATEUSER'MY_DB_USER'@'localhost'IDENTIFIEDBY'MY_DB_PASSWORD';GRANTALLONMY_DB_NAME.*TO'MY_DB_USER'@'localhost'IDENTIFIEDBY'MY_DB_PASSWORD'WITHGRANTOPTION;FLUSHPRIVILEGES;EXIT;
define('AUTH_KEY', 'XX GENERATE IT BY YOURSEVES XX K+M1@hJ+?7@8y$_49Th~R,JUd%s-Nx|X4');define('SECURE_AUTH_KEY', 'XX GENERATE IT BY YOURSEVES XX ](J(yeyFvrc8gae^ugT-qw+8j{g@$([vx');define('LOGGED_IN_KEY', 'XX GENERATE IT BY YOURSEVES XX !]Rqqh;LQMA*2+|9&ecu31P/zBCn:5Ds&');define('NONCE_KEY', 'XX GENERATE IT BY YOURSEVES XX ]P`IUKb$,g~2?nA|}.rF/Gu=2kjN:LzeW');define('AUTH_SALT', 'XX GENERATE IT BY YOURSEVES XX t[9qXtr{BF1qm1]TU9-yZfqHgjJCCSa6X');define('SECURE_AUTH_SALT', 'XX GENERATE IT BY YOURSEVES XX rv ~H~fQw4RTn*c{ELw ,qx}Thm+LIG;2eo');define('NONCE_SALT', 'XX GENERATE IT BY YOURSEVES XX nK&k!LK5U9TF3Ui_k@!5gB3[=lWHmcaNz');
# with sudo -snano /var/www/wordpress/wp-config.php
3.4 將之前數據庫的賬號密碼放入wp-config.php:
...// ** Database settings - You can get this info from your web host ** ///** The name of the database for WordPress */define( 'DB_NAME', 'MY_DB_NAME' );/** Database username */define( 'DB_USER', 'MY_DB_USER' );/** Database password */define( 'DB_PASSWORD', 'MY_DB_PASSWORD' );/** Database hostname */define( 'DB_HOST', 'localhost' );/** Database charset to use in creating database tables. */define( 'DB_CHARSET', 'utf8' );/** The database collate type. Don't change this if in doubt. */define( 'DB_COLLATE', '' );...
----------------------------------------Processing /etc/letsencrypt/renewal/vm1.go2see.me.conf----------------------------------------Failed to renew certificate vm1.go2see.me witherror: The nginx plugin is not working; there may be problems with your existing configuration.The error was: NoInstallationError("Could not find a usable 'nginx' binary. Ensure nginx exists, the binary is executable, and your PATH is set correctly.")
【Local Markdown File】 Unsupported markdown: list Unsupported markdown: list Unsupported markdown: list Unsupported markdown: list Unsupported markdown: list Unsupported markdown: list MD file Picture files WebDAV File System Service WordPress WWW Content Service Typora Browser