如何在ubuntu服务器上部署cakephp应用程序

如何在ubuntu服务器上部署cakephp应用程序,php,apache,cakephp,ubuntu,Php,Apache,Cakephp,Ubuntu,四个月以来,我一直在开发一个Cakephp中型应用程序。以前它部署在windows服务器上,在那里它工作得非常好。 现在它需要部署在Ubuntu服务器上。我在根目录上创建了一个文件夹项目,并根据以下代码签出了代码 /project /app /build /vendor /plugin 这是我的配置细节 Ubuntu 13.10 PHP版本5.5.3 Msql API版本5.5.34 这是mu apache配置etc/apache2/sites enabled/

四个月以来,我一直在开发一个Cakephp中型应用程序。以前它部署在windows服务器上,在那里它工作得非常好。 现在它需要部署在Ubuntu服务器上。我在根目录上创建了一个文件夹项目,并根据以下代码签出了代码

/project
    /app
    /build
    /vendor
    /plugin
这是我的配置细节

Ubuntu 13.10

PHP版本5.5.3

Msql API版本5.5.34

这是mu apache配置etc/apache2/sites enabled/000 default.conf

<VirtualHost *:80>

<Directory />
        Options Indexes FollowSymLinks
        AllowOverride All
</Directory>

        ServerAdmin system@webmaster.com
        DocumentRoot /var/www

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost >

选项索引跟随符号链接
允许超越所有
服务器管理员system@webmaster.com
DocumentRoot/var/www
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
Apache mode_rewrite已启用,并且对整个项目文件夹具有读写访问权限。这似乎是Apache的问题

当我点击服务器时,它会显示项目目录,当我点击项目时,它会给我错误/警告致命

警告:\u cake\u core\ucache无法将'cake\u dev\u en-us'写入第310行/var/www/project/lib/cake/cache/cache.php中的文件缓存中

警告:/var/www/project/app/tmp/cache/persistent/不可写入第337行的/var/www/project/lib/Cake/cache/Engine/FileEngine.php中

致命错误:未捕获异常“CacheException”,消息“Cache engine”未正确配置。“in/var/www/project/lib/cake/Cache/Cache.php:166堆栈跟踪:#0/var/www/project/lib/cake/Cache/Cache.php(136):Cache:_buildEngine("ucke\u core')#1/var/www/project/app/Config/core.php(336):Cache::Config(数组)2/var/www/project/lib/cake/core/Configure.php(78):包括('/var/www/projec…)#3/var/www/project/lib/cake/bootstrap.php(171):Configure::bootstrap(true)#4/var/www/project/app/webroot/index.php(96):包括('/var/www/projec…)#5/var/www/project/index.php(43):require('/var/www/projec…)#main.)在第166行的/var/www/project/lib/Cake/Cache/Cache.php中抛出


请协助

您看到的问题是什么


您的/project目录应该放在/var/www中,然后在VirtualHost中将DocumentRoot更改为/var/www/project。请记住在更改VirtualHost后重新加载或重新启动Apache。

通过“根目录上的文件夹项目”您的意思是将其放在/root(~)中吗?因为您的DocumentRoot仍然设置为/var/www.

请记住:如果您在Linux上,请关闭SELinux。这是一场噩梦

setenforce 0

我已经更新了我的问题。你的意思是DocumentRoot应该是/var/www/project吗?因为项目目录是从project folderI开始的,正如你所说,我已经更改了DocumentRoot,现在它在Root上显示了相同的错误。你需要在/var/www/project/app/tmp/cache/persistent/处创建目录,并将权限设置为可由webserv写入的ber.chmod-R 0775/var/www/project/app/tmp/cache/persistent/应该可以解决这个问题,并使用/var/www/project/app/webroot创建丢失的文件夹和修改documentRoot。它显示正确的主页,但单击不同的控制器会显示Apache的空白页。首先,检查Apache的错误日志以查看报告了哪些错误l-n 20/var/log/apache2/error.log'(或类似)将显示错误日志的最后20行。是否启用了Apache的重写模块?这在Ubuntu中默认不可用。以root用户身份运行“a2enmod rewrite”,然后重新启动Apache。