# 从源代码编译

本章节讲解如何编译 OpenRASP，具体内容请参考子章节。

* [Java agent](https://github.com/baidu-security/openrasp-docs-old/blob/main/hacking/compile/java.html)
* [PHP agent](https://github.com/baidu-security/openrasp-docs-old/blob/main/hacking/compile/php.html)
* [管理后台](https://github.com/baidu-security/openrasp-docs-old/blob/main/hacking/compile/panel.html)

### Docker 自动化编译环境

如果你对 `docker、Makefile` 很熟悉，也可以使用我们的自动化编译环境 - [baidu-security/app-env-docker](https://github.com/baidu-security/app-env-docker)，编译所有的版本，e.g

```
# 使用 JDK6 + maven 3.2.3 编译 Java agent
make -C src/openrasp-buildenv compile_java

# 使用 CentOS 6 + gcc 4.9 编译 PHP agent 5.3~5.6, 7.0-7.2 等多个版本
make -C src/openrasp-buildenv compile_php

# 使用 CentOS 6 + go + nodejs 编译管理后台
make -C src/openrasp-buildenv compile_panel

# 执行上面所有步骤
make -C src/openrasp-buildenv compile
```

最终生成的文件在 `/tmp/` 下面
