使Linux和Windows共享localhost(webserver)文件和数据库

我想让ubuntu和windows共享我的htdocs和mysql数据库以进行本地开发。 这不是一个面向Web的站点,仅供个人开发使用。 有没有办法做到这一点? 这是一个糟糕的主意吗?

当我第一次这样做时,我遇到了很多问题,让我的LAMP堆栈与我的WAMP堆栈一起玩得很好 – 当我导航到localhost时,我得到了很多“你不允许访问这个”错误。

我尝试了各种apache虚拟主机配置,其中没有一个允许我访问这些文件。

有用的是使用mount --bind将我的windows文件夹放入相应的linux文件夹中。 如果这样做,你会注意到localhost的默认ubuntu登陆页面被windows中的“it ​​works”取代。 请注意,任何linux文件都将被具有相同名称的Windows文件隐藏。

我有一个fstab条目,将我的Windows分区安装到/media/windows

解决方案是

将文件挂载并绑定到正确的位置:

首先,使用这里提到的这些内容制作一个“新贵文件” 。

在终端运行:

 gksu gedit /etc/init/mount-bind.conf 

将其粘贴到其中,将…更改为htdocs的路径。 显然,在终端中测试这些命令以确保路径正确。 linux文件位置是重要的一点。

 # # bind mounts # description "bind" start on stopped mountall script mount --bind '/media/windows/.../htdocs' /var/www/html mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysql end script 

有了这两个命令,我就接近了,但是InnoDB阻止了mysql的启动。 问题是InnoDB日志文件大小检查。 一个简单的解决方案是让一个操作系统使用不同的日志文件。 否则只有最新的操作系统才会启动mysql。 您也可以在每次启动或关闭时删除文件,但只保留单独的日志更容易。 他们分享变化就好了,而不是日志文件。

更改MySQL日志文件位置

在Ubuntu的/etc/mysql/my.cnf ,在InnoDB部分添加以下行:

 innodb_log_group_home_dir = /var/log/mysql 

这解决了我。

警告:linux比Windows更“区分大小写”。 windows会很高兴地获取不同大小写的图像并提供服务,linux不会。 当然,真正的Web开发人员总是精确的大写。