初始化EduSoho

克隆代码

  1. mkdir /var/www
  2. cd /var/www
  3. git clone https://github.com/edusoho/edusoho.git

初始化程序

创建数据库:

  1. mysql -uroot -e 'CREATE DATABASE `edusoho` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci'

创建程序配置文件,并修改数据库相关配置:

  1. cd /var/www/edusoho
  2. cp app/config/parameters.yml.dist app/config/parameters.yml

创建上传、缓存、日志目录:

  1. mkdir -p app/cache app/logs app/data web/files
  2. chmod 777 app/cache app/logs app/data web/files

创建数据库表结构:

  1. bin/phpmig migrate

初始化系统配置:

  1. app/console system:init

创建软连接:

  1. php app/console assets:install web --symlink --relative

配置域名

添加域名解析:

  1. sudo bash -c 'echo "127.0.0.1 edusoho.local" >> /etc/hosts'

添加Nginx配置:

Ubuntu 用户在/etc/nginx/sites-enabled目录下,macOS 用户在/usr/local/etc/nginx/sites-enabled目录下,新增esdev.conf配置文件,内容如下:

  1. server {
  2. set $root_dir /var/www/edusoho;
  3. set $webpack_server http://127.0.0.1:3030;
  4. server_name edusoho.local;
  5. root $root_dir/web;
  6. error_log /var/log/nginx/edusoho_error.log;
  7. access_log /var/log/nginx/edusoho_access.log;
  8. location / {
  9. index app_dev.php;
  10. try_files $uri @rewriteapp;
  11. }
  12. location @rewriteapp {
  13. rewrite ^(.*)$ /app_dev.php/$1 last;
  14. }
  15. location ~ ^/(app_dev)\.php(/|$) {
  16. # fastcgi_pass unix:/run/php/php7.1-fpm.sock;
  17. fastcgi_pass 127.0.0.1:9000;
  18. fastcgi_split_path_info ^(.+\.php)(/.*)$;
  19. include fastcgi_params;
  20. fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
  21. fastcgi_param DOCUMENT_ROOT $realpath_root;
  22. fastcgi_param HTTP_X-Sendfile-Type X-Accel-Redirect;
  23. fastcgi_param HTTP_X-Accel-Mapping /udisk=$root_dir/app/data/udisk;
  24. fastcgi_buffer_size 128k;
  25. fastcgi_buffers 8 128k;
  26. }
  27. location ~ ^/udisk {
  28. internal;
  29. root $root_dir/app/data/;
  30. }
  31. location ~ ^/static-dist {
  32. proxy_pass $webpack_server;
  33. }
  34. # 以下配置允许运行.php的程序,方便于其他第三方系统的集成。
  35. location ~ \.php$ {
  36. # [改] 请根据实际php-fpm运行的方式修改
  37. fastcgi_pass 127.0.0.1:9001;
  38. fastcgi_split_path_info ^(.+\.php)(/.*)$;
  39. include fastcgi_params;
  40. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  41. fastcgi_param HTTPS off;
  42. fastcgi_param HTTP_PROXY "";
  43. }
  44. # 配置设置图片格式文件
  45. location ~* \.(jpg|jpeg|gif|png|ico|swf)$ {
  46. # 过期时间为3年
  47. expires 3y;
  48. # 关闭日志记录
  49. access_log off;
  50. # 关闭gzip压缩,减少CPU消耗,因为图片的压缩率不高。
  51. gzip off;
  52. }
  53. # 配置css/js文件
  54. location ~* \.(css|js)$ {
  55. access_log off;
  56. expires 3y;
  57. }
  58. # 禁止用户上传目录下所有.php文件的访问,提高安全性
  59. location ~ ^/files/.*\.(php|php5)$ {
  60. deny all;
  61. }
  62. }

注意

此Nginx配置只能用于开发环境,正式生产环境配置,请参考:EduSoho部署

重启Nginx:

Ubuntu:

  1. sudo service nginx restart

macOS:

  1. sudo brew services restart nginx

前端实时编译

安装依赖包:

  1. cd /var/www/edusoho
  2. yarn

启动实时编译服务:

  1. npm run dev

验证配置

在浏览器中打开 http://edusoho.local ,如出现EduSoho首页,表示配置成功。系统默认超管账号为:

  1. 用户名:测试管理员
  2. 密码:kaifazhe