macOS flarum 开发环境配置

开发环境

  • 操作系统: macOS Mojave 10.14.3
  • vagrant Ubuntu 16.04
  • docker version 19.03.8
  • docker-compose 1.25.5
  • docker-hub: crazymax/flarum
  • github: crazy-max/docker-flarum

部署中遇到的问题

docker-compose 版本过低不支持 version

解决: 升级docker-compose 版本...

docker-compose up -d 后 数据库服务不断重启.

vagrant File '/var/lib/mysql/aria_log_control' not found (Errcode: 13 "Permission denied")

遇到这个问题 应该是是 macOS 目录权限导致的 至少要保证虚拟机内部外部用户uid一致
id -u root 就可以查看用户uid了.

在docker-compose.yml 为db增加 用户设定的 uid

  db:
    image: mariadb:10.4
    user: "1000"
    container_name: flarum_db

docker-compose down
docker-compose up -d

下一个报错
ERROR] InnoDB: Corrupted page [page id: space=0, page number=0] of datafile './ibdata1' could not be found in the doublewrite buffer.

解决: Stop mariadb, remove ibdata1, restart.

下一个报错
Aborted connection 8 to db: 'unconnected' user: 'unauthenticated' host: '172.27.0.3' (This connection closed normally without authentication)

这个时候服务其实已经起来了, 只是 用户没建出来
解决, 手动创建 flarum 用户

docker exec -it flarum_db bash
mysql -uroot  
MariaDB [mysql]> create user 'flarum'@'%' identified by 'flarum';
MariaDB [mysql]> grant all privileges on flarum.* to 'flarum'@'%' identified by 'flarum';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> create database flarum;
exit

docker-compose down
docker-compose up -d

这个时候 mysql 服务应该就是ok的了

由于flarum的这个image 自带了 nginx , 所以你只要在vagrant映射出来的ip后面加 8000 端口, 就可以访问了

然后访问还有访问的问题. Something went wrong while trying to load the full version of this site.

解决: 需要你进flarum的docker内把config.php 中的 url 改成vagrant 映射出来的ip http://127.0.0.1:8000 ==> http://xx.xx.xx.xx:8000
可能需要 执行 : php flarum cache:clear

结束

踩坑结束, 可以正常显示系统. 剩下的东西慢慢研究...

你可能感兴趣的:(macOS flarum 开发环境配置)