1. 下载Chrome-novnc Image

2. 部署Chrome-novnc容器

  1. 在“映像”中选中对应的镜像,点击“启动”;

  1. 网络使用默认配置,下一步;在常规设置中勾选“启用自动重新启动”,然后下一步;

  1. 进入“端口设置”,其中容器端口5900和8083可以不改,本地端口中8083对应的端口,建议修改为一个NAS上未占用的端口,后续需要在路由器上开启此端口的NAT映射;然后下一步;

  1. 进入”存储空间设置“,直接下一步;

  1. 然后进入”摘要“页面,可以看到之前的设置详情;点击”完成“;

  2. 进入”容器“菜单,就可以看到运行的容器了;

3. 为Chrome-novnc容器配置反向代理

  1. 打开控制面板,进入”登录门户“,切换到”高级“页签;

  1. 进入”反向代理服务器“设置,”新增“一条反向代理服务器规则;常规配置中其中来源侧的协议需要使用HTTPS,主机名为外部访问的域名,端口为外部访问的NAS本机端口(此端口将反向代理Chrome-novnc容器的前面配置的本机端口8083);目的地协议为HTTP,主机名为localhost,端口为前面容器配置的本机端口8083;

4. 路由器设置外部访问的NAT规则

以华为路由器为例,添加如下NAT规则配置:

至此,则应可以从外部访问Chrome了,访问URL为: https://{上面反向代理设置的主机名}:18083/vnc.html

5. 为Chrome访问设置密码

完成上述设置后,即可以从外部网络访问Chrome了,不过只要知道URL即可访问,没有任何权限或访问控制,最好为其设置下访问密码。

  1. 群晖开启SSH登录;

  1. 使用XSHELL通过SSH登录DSM后台;

  1. 进入Chrome-novnc的docker容器;
sudo docker exec -it Chrome-novnc1 /bin/bash

其中“Chrome-novnc1”为创建容器时设置的容器名称,可在群晖Docker套件中查看。

  1. 更新容器内操作系统的所有组件;
apt update
  1. 设置密码;
x11vnc -storepasswd

  1. 让容器启动时自动加载密码配置, 先安装VIM工具;

    apt install vim -y
  2. 然后执行如下修改设置默认加载;

vi /etc/supervisor/conf.d/supervisord.conf

修改前:

修改后:

  1. 修改完成后,重启容器;再访问即需要输入密码了;

  1. 最后记得撤销群晖的SSH登录。

1. 安装Wordpress及依赖组件

套件中心直接找到Wordpress套件并启动安装,DSM将自动安装MariaDB 10Web Station两个套件,按照提示一步一步执行即可,设置好MariaDB的root密码和端口(33306),以及用于Wordpress安装的数据库,细节不再赘述。

群晖对Web Station套件提供了一个标准化的文件目录,安装Web Station后创建默认服务器,同时创建"web"和"web_packages"共享文件夹,内网访问默认服务器,只需要“http://IP”即可,访问的是“web”文件夹。而其它服务套件,群晖默认安装在“web_packages”文件夹中,每个套件创建一个子文件夹,路径和名称都是自动创建不能随意修改的。要在内网访问WordPress动态网站,网址为“http://IP/wordpress”(如果已改别名,则wordpress替换为别名),访问的是“web_packages/wordpress”文件夹

2. 设置Wordpress的别名

  1. 打开Web Station套件,在网络门户中设置Wordpress服务。

  1. 按照喜好设置别名和主菜单快捷方式名称。

3. 设置端口访问Wordpress

此时,访问Wordpress服务是无法正确打开的。因为缺省的443端口并未做NAT,而且443端口已由运营商封禁,无法做NAT,因此,需要使用一个其它的端口来映射到443端口访问。

在路由器中设置NAT,设置8001映射到443端口以访问Wordpress服务。

这样,就可以通过https://{域名}:8001/blog来访问Wordpress服务了,并且看到套件已经自动按照安装MariaDB套件时设置的Wordpress数据库信息连接上数据库了。

如果想换成中文的Wordpress,则自己下载中文安装包覆盖web_packages/wordpress目录下的所有文件并填写数据库信息重新安装即可。

4. Enjoy It!

5. 仍然有一些问题

5.1. 需要FTP信息

管理插件的时候,系统提示:

要执行请求的操作,WordPress需要访问您网页服务器的权限。 请输入您的FTP登录凭据以继续。 如果您忘记了您的登录凭据(如用户名、密码),请联系您的主机提供商。

这是因为重新上传安装了中文版本的Wordpress,导致web_packages/wordpress目录下的文件和目录权限不正确。

通过File Station,找到web_packages/wordpress目录,右击进入web_packages/wordpress目录的属性对话框。

其它都不变,直接勾选『应用到这个文件平、子文件夹及文件』,保存即可。

再次管理插件,就不再提示了。

1. 下载MySQL镜像

在Docker应用的『映像』中,下载『MySQL』:

2. 创建MySQL容器

  1. 在『高级设置』的环境变量设置中,注意添加『MYSQL_ROOT_PASSWORD』这个环境变量,其它不用动。

  1. 端口设置面板,注意映射2个宿主机端口:

  1. 存储空间设置一个存储数据的挂载点:

  1. 然后完成就可以了。

3. MySQL环境变量说明

下面引用该镜像官方对一些关键环境变量的说明,按需使用。『https://registry.hub.docker.com/_/mysql/

When you start the mysql image, you can adjust the configuration of the MySQL instance by passing one or more environment variables on the docker run command line. Do note that none of the variables below will have any effect if you start the container with a data directory that already contains a database: any pre-existing database will always be left untouched on container startup.

See also https://dev.mysql.com/doc/refman/5.7/en/environment-variables.html for documentation of environment variables which MySQL itself respects (especially variables like MYSQL_HOST, which is known to cause issues when used with this image).

3.1. MYSQL_ROOT_PASSWORD

This variable is mandatory and specifies the password that will be set for the MySQL root superuser account. In the above example, it was set to my-secret-pw.

3.2. MYSQL_DATABASE

This variable is optional and allows you to specify the name of a database to be created on image startup. If a user/password was supplied (see below) then that user will be granted superuser access (corresponding to GRANT ALL) to this database.

3.3. MYSQL_USER, MYSQL_PASSWORD

These variables are optional, used in conjunction to create a new user and to set that user's password. This user will be granted superuser permissions (see above) for the database specified by the MYSQL_DATABASE variable. Both variables are required for a user to be created.

Do note that there is no need to use this mechanism to create the root superuser, that user gets created by default with the password specified by the MYSQL_ROOT_PASSWORD variable.

3.4. MYSQL_ALLOW_EMPTY_PASSWORD

This is an optional variable. Set to a non-empty value, like yes, to allow the container to be started with a blank password for the root user. NOTE: Setting this variable to yes is not recommended unless you really know what you are doing, since this will leave your MySQL instance completely unprotected, allowing anyone to gain complete superuser access.

3.5. MYSQL_RANDOM_ROOT_PASSWORD

This is an optional variable. Set to a non-empty value, like yes, to generate a random initial password for the root user (using pwgen). The generated root password will be printed to stdout (GENERATED ROOT PASSWORD: .....).

3.6. MYSQL_ONETIME_PASSWORD

Sets root (not the user specified in MYSQL_USER!) user as expired once init is complete, forcing a password change on first login. Any non-empty value will activate this setting. NOTE: This feature is supported on MySQL 5.6+ only. Using this option on MySQL 5.5 will throw an appropriate error during initialization.

3.7. MYSQL_INITDB_SKIP_TZINFO

By default, the entrypoint script automatically loads the timezone data needed for the CONVERT_TZ() function. If it is not needed, any non-empty value disables timezone loading.

1. 申请百度智能云免费SSL证书

百度搜索ssl证书申请或者直接通过传送门进入免费申请入口:

百度智能云缺省使用DNS验证方式验证域名,生成如下信息:

接下来在去域名服务提供商处进行DNS设置:

解析设置完成后,返回百度智能云页面点击“域名解析校验”的“刷新”链接进行刷新,不出意外,则下面的域名校验结果将通过校验。此后,百度智能云将在后台进行证书创建与签发。

然后等待10至15分钟左右,将收到百度智能云的SSL证书签发成功短信通知。

签发成功后,进入“查看证书”证书详情页,下载PEM格式证书:

得到如下文件:

2. Synology证书部署

进入“控制面板”-> "安全性" -> "证书"页签:

新增证书,添加新证书,导入证书:

导入证书时,三个文件分别对应如下:

类别 文件 说明
私钥 域名.key 私钥文件
证书 域名.cer 证书文件
中间证书 域名_ca.crt CA证书

提交后,将出现对应证书的列表:

最后,进入“设置”,应用新添加的证书,将自动重启DSM服务,重启后就可以了:

1. 查看是否已经有Git

git --versoin

如图所示,我的Mac上已经有git。

2. 配置Git

设置username和email:

git config --global user.name "Harid"
git config --global user.email "kailash@126.com"

3. 创建ssh key

ssh-keygen -t rsa -C "kailash@126.com"

将在/Users/harid/.ssh/目录下生成公私钥对:

4. 配置Gitea

在个人Gitea的『设置』,『SSH/GPG密钥』中的『管理SSH密钥』Tab中,点击『增加密钥』:

将上一步创建的公私钥对中的公钥内容,填入密钥内容中:

点击『增加密钥』完成密钥添加。

5. 验证连接

点击『验证』按扭:

拷贝生成签名的命令:

在Macbook终端中执行:

echo -n '此处省略' | ssh-keygen -Y sign -n gitea -f {私钥路径}

拷贝后进行验证:

验证完后,将不再有『验证』按扭。

6. Clone工程到本地测试

在Gitea上拷贝SSH地址:

在Macbook终端中切换到目标目录,执行:

git clone {SSH地址}

至此,项目工程已经克隆到本地。

7. 提交修改

在本地修改工程后,在Mac终端切换到工程目录,执行:

# 文件添加到仓库(.代表提交所有文件)
git add .
# 把文件提交到仓库
git commit -m "Test Commit."
# 上传到github
git push

在Gitea上就能看到新修改的内容了。

8. 拉取修改

如果在Gitea上直接修改了文件内容,执行如下命令从远程仓库拉取最新的代码:

git pull

1. 创建专用的TimeMachine共享文件夹

通过控制面板的『共享文件夹』创建一个专门给TimeMachine用的共享文件夹。

在『配置高级设置』中,针对该共享文件夹启用『文件压缩』,并且『启用共享文件夹空间配额』,设置10TB左右大小,这样既可以容纳较久时间范围内的备份,也限定了上限,在达到上限时,Time Machine将自动删除旧的备份。

2. 创建专用的用户

创建一个『TimeMachine』的用户,设置该用户仅有上述共享文件夹的访问权限。

空间配额一样限定在10TB:

应用程序仅允许SMB协议。

3. 启用SMB协议

在控制面板的『文件服务』配置中启用SMB协议。

4. 启用Bonjour服务发现并设置TimeMachine文件夹

还是在控制面板的『文件服务』配置中,切换到『高级设置』,勾选『启用Bonjour服务发现以查找Synology NAS』,同时勾选『启用通过SMB进行Bonjour Time Machine播送』。3.
并通过『设置Time Machine文件夹』指定刚刚创建的专用共享文件夹为Time Machine所用的文件夹。

设置完后,应用修改使之生效。

5. 启用Time Machine

通过MacBook的『System Preferences』打开Time Machine应用。

通过『Select Backup Disk』选择刚刚在群晖上设置的Time Machine共享文件夹。

可以选择『Encrypt backups』对备份进行加密。