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