diff --git a/book.xml b/book.xml
index 98d0c7f..4803955 100644
--- a/book.xml
+++ b/book.xml
@@ -21,11 +21,16 @@
git clone https://github.com/suk-ws/ph-bookshelf.git your-bookshelf-website-root-dir
+>git clone https://github.com/suk-ws/ph-bookshelf.git ph-bookshelf
Cloning into 'ph-bookshelf'...
remote: Enumerating objects: 860, done.
remote: Counting objects: 100% (390/390), done.
@@ -46,7 +47,7 @@ remote: Compressing objects: 100% (234/234), done.
remote: Total 860 (delta 212), reused 314 (delta 144), pack-reused 470
Receiving objects: 100% (860/860), 822.58 KiB | 2.09 MiB/s, done.
Resolving deltas: 100% (461/461), done.
-cd your-bookshelf-website-root-dir
+cd ph-bookshelf
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
@@ -133,14 +134,67 @@ Alternatively, you can run Composer with `--ignore-platform-req=ext-xml --ignore
尝试安装 php 插件 `xml` 来解决问题。
-> 在最新版的 Debian 上,可以通过 apt 来安装 php 插件:`# apt install php-xml`{.lang-shell-session}。
->
-> 在其它系统上,尝试搜索 *php enable extension xml* 来解决这类问题
+> 对于不同的 php 安装方式,安装插件的方式也会有不同。如果你和我一样都是在 Debian 上通过仓库安装的最新版 php,可以通过 apt 来安装 php 插件:`# apt install php-xml`{.lang-shell-session}。如果你是用的是其它的安装方式,尝试搜索 *php enable extension xml* 来解决这类问题。
+
+## 配置网站安全设置
+
+*我们正在努力在代码层面实现保护以避免任何形式的攻击*
+
+ph-bookshelf 默认并不会对能够打开的文件路径做出限制。这意味着在生产服务器上,你最好通过 PHP 的 [`open_basedir`](https://www.php.net/manual/en/ini.core.php#ini.open-basedir) 设置网站所能够访问的路径,以避免路径构建攻击。
+
+最简单的方式,就是通过在网站根目录放置 `.user.ini` 文件并在此处设置 `open_basedir` 属性:
+
+```ini
+open_basedir = /path/to/your/ph-bookshelf
+```
+
+当然,这个属性也可以在 Apache 服务配置器中设置,像以下这样:
+```apacheconf
+
+
+ ServerName book.example.com
+ DocumentRoot /path/to/your/ph-bookshelf
+
+ # ...any others
+
+ php_admin_value open_basedir /path/to/your/ph-bookshelf
+
+ # ...any others
+
+
+```
+
+### 如果你使用了软链接
+
+`open_basedir` 会解析文件的绝对链接然后进行访问控制,这意味着,如果你的网站,或者是你的 `/data` 目录是通过软连接挂载进来的,你需要在 `open_basedir` 里面添加上软链接的目标目录。
+
+For example, 如果你的目录结构像是以下这样:
+```treeview
+/
+|-- path/
+| └── to/
+| └── your/
+| └── ph-bookshelf
+| |-- .user.ini
+| |-- .htaccess
+| |-- index.php
+| |-- data/ -> /data-drive/books
+| └── ...
+└── data-drive/
+ └── books/
+ └── bookshelf.xml
+ └── ...
+```
+
+那么你将需要这样设置 `open_basedir`
+```ini
+open_basedir = /path/to/your/ph-bookshelf:data-drive/books
+```
## 完成搭建
-配置完成上面这些之后,你就可以将 `/path/to/your-bookshelf-website-root-dir` 作为你的 Web 服务器根目录来建立一个站点,至此,你已经完成了 ph-Bookshelf 站点的搭建。
+配置完成上面这些之后,你就可以将 `/path/to/your/ph-bookshelf` 作为你的 Web 服务器根目录来建立一个站点,至此,你已经完成了 ph-Bookshelf 站点的搭建。
-现在,在 `/path/to/your-bookshelf-website-root-dir/data` 目录下,你可以去配置你的 bookshelf.xml 和各种书籍了。
+现在,在 `/path/to/your/ph-bookshelf/data` 目录下,你可以去配置你的 bookshelf.xml 和各种书籍了。
-*未完待续*
+*data 模板正在 WIP 当中*
diff --git a/web-server.md b/tutorial/web-server.md
similarity index 98%
rename from web-server.md
rename to tutorial/web-server.md
index 5a37fcc..cc88d32 100644
--- a/web-server.md
+++ b/tutorial/web-server.md
@@ -41,7 +41,7 @@ Module rewrite already enabled
然后,为你的 ph-Bookshelf 目录配置允许路径重写:
```apacheconf
-