Eu tenho vasculhado a internet há alguns dias e acho que tentei quase tudo para instalar alguns hosts virtuais no meu servidor Ubuntu, mas tudo que falta
chmod 777
no webroot falha.
Eu tenho meu Apache conf padrão apontando para / home / server / public_html com as configurações mostradas abaixo
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/server/public_html/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/server/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from all
</Directory>
</VirtualHost>
Eu criei um host virtual para um projeto no qual estou trabalhando, por exemplo, project.name.co.uk.conf e lá dentro eu tenho o seguinte
<VirtualHost *:80>
ServerName http://www.local.dirty-briefs.co.uk
ServerAlias local.project-name.co.uk
DocumentRoot /home/server/public_html/project-name/
DirectoryIndex index.php index.html
</VirtualHost>
Eu então executei sudo a2ensite project.name.co.uk.conf
.
Estou trabalhando em uma máquina windows 7 usando o samba para acessar os arquivos no servidor. Eu adicionei o project.name.co.uk ao meu arquivo hosts do Windows, no entanto, não importa o que eu faço, recebo 403 erros de permissão.
editar
Id do pensamento adiciona a cauda do log de erros do Apache no caso de ser útil
*==> /var/log/apache2/error.log <==
[Sat Jun 11 13:22:23 2011] [error] [client 192.168.0.3] PHP Warning: require(/home/server/public_html/dirty-briefs/site/protected/config/main.php): failed to open stream: Permission denied in /home/server/public_html/dirty-briefs/framework/base/CApplication.php on line 120
[Sat Jun 11 13:22:23 2011] [error] [client 192.168.0.3] PHP Fatal error: require(): Failed opening required '/home/server/public_html/dirty-briefs/site/protected/config/main.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/server/public_html/dirty-briefs/framework/base/CApplication.php on line 120*
Também pode valer a pena mencionar que estou trabalhando com o Yii no framework PHP Eu tenho um arquivo .htaccess que mora na pasta do meu site com o seguinte dentro
# Disable directory browsing
Options All -Indexes
# File types
AddType application/x-font-woff .eot .ttf # Font-Face
# URL Rewriting
<IfModule mod_rewrite.c>
RewriteEngine On
# Site Maintenance
# RewriteCond %{REMOTE_ADDR} !^10\.0\.2\.2
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteRule ^(.*)$ /maintenance.html [L]
# LOCAL
RewriteCond %{SERVER_NAME} ^local.project-name.co.uk
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index-local.php/$1
# -----
# PRODUCTION
RewriteCond %{HTTP_HOST} ^project-name.co.uk
RewriteRule ^(.*)$ http://www.project-name.co.uk/$1 [R=301,L]
RewriteCond %{SERVER_NAME} ^www.project-name.co.uk
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /folder/index.php/$1
# -----
</IfModule>
Eu segui o erro do Apache e acessei os logs e descobri que estava recebendo erros de perm na importação de arquivos dentro do meu script PHP devido a erros de permissão.
Eu li sobre checar em qual usuário e grupo o Apache está rodando, que são www-data www-data, então acredito que o Apache não tenha permissões permanentes para acessar os arquivos em / home / server / public_html a menos que eu dar a pasta 777 perms que eu não quero, então eu só estou querendo saber se alguém pode identificar o que estou fazendo de errado ou aconselhar sobre qualquer coisa que eu possa tentar fazer isso funcionar