DedeCMSV6帮助文档 https://www.dedebiz.com/help
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

quick_env.md 6.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. # DedeBIZ环境搭建
  2. DedeBIZ系统基于PHP+MySQL开发,同时数据库支持SQLite3用于本地开发调试。本篇主要从开发、生产两个部分来介绍如何筹备Dede系统需要的运营环境。
  3. ## 推荐运行环境
  4. 1.操作系统:Linux、Windows、OpenBSD
  5. 2.PHP:PHP7.2+
  6. 3.MySQL:MySQL5+
  7. 5.Web服务器:Nginx、Apache、IIS
  8. ## 开发环境
  9. 构建一个最小的开发环境,仅仅为了体验或者制作模板,DedeBIZ会非常简单。从PHP5.4开始,PHP本身就包含了一个轻量级的开发Web Server,无需依赖任何第三方Web组件。
  10. ### 下载PHP
  11. 根据操作系统选择对应平台的PHP环境,由于我们开发环境采用Windows系统,可以通过[PHP的Windows站点](https://windows.php.net/download/)下载到相应的程序包。
  12. ### 安装PHP环境
  13. 下载对应的版本,解下压缩文件,我们可以将解压的压缩文件目录,例如`D:\apps\php`添加到系统环境PATH变量中去。
  14. 复制`php.ini-development`文件名为`php.ini`,修改这个`php.ini`文件。
  15. 我们需要保证开启几个DedeBIZ系统需要的基本组件。
  16. ```
  17. extension_dir = "ext" ;由于是Windows环境,设定下载扩展目录
  18. extension=curl ;开启后主要用于HTTP通信,比如获取远程服务器数据信息、接口调用
  19. extension=gd2 ;验证码
  20. extension=mysqli ;数据库存储
  21. extension=openssl ;用于系统安全校验、授权
  22. extension=sockets ;用于和DedeB商业组件通信
  23. extension=sqlite3 ;开发环境下的SQLite3数据库
  24. extension=fileinfo ;文件上传处理
  25. ```
  26. 好了,一个轻量级的PHP环境搭建完毕了,如果是Linux下面例如Ubuntu系统,通过`sudo apt install php php-cli openssl php-gd php-mysql php-sqlite3 php-sockets php-fileinfo`。
  27. ### 运行PHP
  28. 在DedeBIZ系统src目录下采用PHP内置的Web Server运行,执行命令`php -S localhost:8088 -t .`,访问地址`http://localhost:8088`就可以访问到DedeBIZ安装界面。
  29. 或者采用DedeBIZ自带的命令行工具,可以轻松构建一个开发环境,执行命令行`php ./dedebiz q`就可以快速初始化一个本地开发站点,或者运行`php ./dedebiz s`,通过安装步骤自己可以初始化一个轻量级的系统开发环境。
  30. ## 生产环境
  31. 生产环境建议采用Nginx+PHP-FPM的方式运行DedeBIZ,这里我们以在[Ubuntu 20.04 LTS](http://releases.ubuntu.com/focal/)的Linux环境下为例。
  32. ### 安装Nginx
  33. 执行命令`sudo apt install nginx`,系统将会自动安装Nginx服务器。通过执行`systemctl status nginx`可以查看Nginx服务运行状态。
  34. 如果你的服务器环境启用了防火墙,可以执行`sudo ufw allow proto tcp from any to any port 80,443`来允许80、443端口访问站点。
  35. ### 安装PHP
  36. 执行命令`sudo apt install php php-cli php-fpm php-json php-mysql php-zip php-gd php-curl php-sqlite3 php-sockets`来安装PHP及相关组件。
  37. 系统默认会安装PHP7.4版本,运行`systemctl status php7.4-fpm.service`查看PHP服务运行情况。
  38. ### 安装MySQL
  39. 执行命令`sudo apt install mysql-server`安装MySQL服务,同样,通过`systemctl status mysql`也能够查看服务运行情况。
  40. 执行命令`sudo mysql_secure_installation`根据提示初始化数据库,如果希望了解更为详细的步骤,可以[尝试通过搜索引擎了解](https://www.baidu.com/s?wd=ubuntu%2020.04%20%E5%AE%89%E8%A3%85mysql)。
  41. ### 配置站点
  42. 我们先创建一个PHP环境的Web站点,可以在系统目录`/var/www`下创建一个名为`DedeBIZ`的文件夹。
  43. 修改`/etc/nginx/sites-available/default`文件。
  44. 配置如下:
  45. ```
  46. server {
  47. listen 80;
  48. server_name www.mydomain.com; # 这里是你自己的站点域名
  49. index index.html index.php;
  50. charset utf-8;
  51. root /var/www/DedeBIZ/src;
  52. location ~ \.php$ {
  53. include snippets/fastcgi-php.conf;
  54. fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  55. }
  56. }
  57. ```
  58. 至此我们完成了一个DedeBIZ的运行环境的搭建。
  59. ### 站点安全配置示例
  60. 下面是一个HTTPS站点Nginx生产环境运行实例,将前后台通过站点的方式进行分离,并且通过限定IP的方式保证后台独立出来。
  61. ```
  62. server {
  63. listen 80;
  64. server_name www.dedebiz.com dedebiz.com;
  65. return 301 https://www.dedebiz.com$request_uri;
  66. # return 404;
  67. }
  68. server {
  69. listen 443 ssl;
  70. server_name dedebiz.com;
  71. charset utf-8;
  72. ssl_certificate /etc/nginx/ssl/1_dedebiz.com_bundle.crt;
  73. ssl_certificate_key /etc/nginx/ssl/2_dedebiz.com.key;
  74. ssl_session_cache shared:SSL:1m;
  75. ssl_session_timeout 5m;
  76. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  77. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  78. ssl_prefer_server_ciphers on;
  79. ssl on;
  80. return 301 https://www.dedebiz.com$request_uri;
  81. }
  82. server {
  83. listen 443 ssl;
  84. server_name www.dedebiz.com;
  85. index index.html index.php;
  86. charset utf-8;
  87. ssl_certificate /etc/nginx/ssl/1_www.dedebiz.com_bundle.crt;
  88. ssl_certificate_key /etc/nginx/ssl/2_www.dedebiz.com.key;
  89. ssl_session_cache shared:SSL:1m;
  90. ssl_session_timeout 5m;
  91. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  92. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  93. ssl_prefer_server_ciphers on;
  94. ssl on;
  95. root /data/dedebiz/www/src;
  96. location ~ /(admin|system|data|theme) {
  97. deny all;
  98. return 404;
  99. }
  100. location ~ \.php$ {
  101. include snippets/fastcgi-php.conf;
  102. fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
  103. }
  104. }
  105. server {
  106. listen 443 ssl;
  107. server_name adm.dedebiz.com;
  108. index index.html index.php;
  109. root /data/dedebiz/www/src;
  110. ssl_certificate /etc/nginx/ssl/1_adm.dedebiz.com_bundle.crt;
  111. ssl_certificate_key /etc/nginx/ssl/2_adm.dedebiz.com.key;
  112. ssl_session_cache shared:SSL:1m;
  113. ssl_session_timeout 5m;
  114. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  115. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  116. ssl_prefer_server_ciphers on;
  117. ssl on;
  118. allow 88.88.88.88; # 设定网站管理员的IP地址
  119. deny all;
  120. location ~ \.php$ {
  121. include snippets/fastcgi-php.conf;
  122. fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
  123. }
  124. }
  125. ```