Установка виртуального хоста с символьной ссылкой в Ubuntu 12.04

Я - новичок в виртуальном хосте. Я следовал этому учебному руководству для создания виртуального хоста для выполнения php проектов. Кроме того, я использовал метод символьной ссылки, описанный здесь. Шаги в первом учебном руководстве как установка апача, создавая файлы, давая разрешения, установка виртуальных файлов хоста кажутся хорошо. Символьная ссылка настраивается, также. Но когда я перехожу к ссылке, я не мог просмотреть файл - таким образом, я не мог работать, любой сценарий PHP - Вот данные, связанные с этой проблемой:

/etc/hosts

127.0.0.1   localhost
#Virtual Hosts 
127.0.1.2   larav.el // Domain I've used for...
...

/etc/apache2/sites-available/larav.el

<VirtualHost *:80>
    ServerName larav.el
    ServerAlias www.larav.el

    DocumentRoot /var/www/larav.el/public_html
</VirtualHost>

➜  ~  ls -la /var/www/larav.el/public_html 
lrwxrwxrwx 1 ekrem ekrem 52 May 27 01:32 /var/www/larav.el/public_html -> /home/ekrem/workspace/laravel-laravel-58d6b11/public

➜  ~  ls -la /home/ekrem/workspace/laravel-laravel-58d6b11/public
total 36
drwx------ 7 ekrem ekrem 4096 May 27 00:40 .
drwx------ 7 ekrem ekrem 4096 May 27 00:40 ..
drwx------ 2 ekrem ekrem 4096 May 27 00:40 bundles
drwx------ 2 ekrem ekrem 4096 May 27 00:40 css
-rw-rw-r-- 1 ekrem ekrem    0 May 22 04:05 favicon.ico
-rw-rw-r-- 1 ekrem ekrem  801 May 22 04:05 .htaccess
drwx------ 2 ekrem ekrem 4096 May 27 00:40 img
-rw-rw-r-- 1 ekrem ekrem 1156 May 22 04:05 index.php
drwx------ 2 ekrem ekrem 4096 May 27 00:40 js
drwx------ 5 ekrem ekrem 4096 May 27 00:40 laravel

➜  ~  ls -ld /home/ekrem/workspace/laravel-laravel-58d6b11/
drwx------ 7 ekrem ekrem 4096 May 27 00:40 /home/ekrem/workspace/laravel-laravel-58d6b11/
➜  ~  ls -ld /home/ekrem/workspace/                        
drwxrwxr-x 6 ekrem ekrem 4096 May 27 00:40 /home/ekrem/workspace/
➜  ~  ls -ld /home/ekrem/          
drwxr-xr-x 47 ekrem ekrem 4096 May 27 02:51 /home/ekrem/

ОБНОВЛЕННЫЙ /etc/apache2/sites-available/larav.el - копия вставляется от slibling default файл, таким образом, </Directory> определения могут отсутствовать или неправильно -

    <VirtualHost *:80>
    ServerName larav.el
    ServerAlias www.larav.el

    DocumentRoot /var/www/larav.el/public_html

    <Directory /home/ekrem/workspace/laravel-laravel-58d6b11/public>
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/larav.el/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

➜  ~  tail -f  /var/log/apache2/error.log
[Mon May 27 01:27:30 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.15-1~precise+1 configured -- resuming normal operations
[Mon May 27 01:32:15 2013] [notice] caught SIGTERM, shutting down
[Mon May 27 01:32:16 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.15-1~precise+1 configured -- resuming normal operations
[Mon May 27 01:32:55 2013] [error] [client 127.0.0.1] script '/var/www/larav.el/index.php' not found or unable to stat
[Mon May 27 01:34:30 2013] [notice] caught SIGTERM, shutting down
[Mon May 27 01:34:31 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.15-1~precise+1 configured -- resuming normal operations
[Mon May 27 01:39:18 2013] [notice] Graceful restart requested, doing restart
[Mon May 27 01:39:18 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.15-1~precise+1 configured -- resuming normal operations
[Mon May 27 02:58:51 2013] [notice] caught SIGTERM, shutting down
[Mon May 27 02:58:52 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.15-1~precise+1 configured -- resuming normal operations

Много большое спасибо...

0
задан 27 May 2013 в 03:21
1 ответ
  1. Если ваш Apache случайно не работает как ekrem или root, то вы должны сделать подкаталоги читаемыми и исполняемыми для пользователя Apache.
  2. Проверьте также права доступа к родительским каталогам: ls -ld /home/ekrem/ /home/ekrem/workspace/ /home/ekrem/workspace/laravel-laravel-58d6b11/
  3. Вам нужно <директория> определение для /home/ekrem/workspace/laravel-laravel-58d6b11/public, чтобы доступ туда был разрешен.
  4. Также необходимо <директория> определение для /var/www/larav. el/, которая позволяет следовать по симлинкам.

Редактирование 1:

Вы можете проверить свои (файловую систему) права доступа, переключившись на пользователя Apache и попытавшись прочитать файлы затем:

# sudo -u wwwrun -s
wwwrun@server:/> less /var/www/larav.el/public_html/index.php
0
ответ дан 24 November 2019 в 10:50

Теги

Похожие вопросы