Main DocumentRoot는 가기를 거부했고 나는 모든 것을 시도했습니다.

Main DocumentRoot는 가기를 거부했고 나는 모든 것을 시도했습니다.

모든 기본 가상 호스트를 제거하고 필요한 모든 변경을 수행했지만 Main DocumentRoot가 진행을 거부했기 때문에 지금은 좌절감을 느끼고 있습니다.

root@example:/etc/apache2# apache2ctl -S
VirtualHost configuration:
*:80                   dev.example.com (/etc/apache2/sites-enabled/dev.example.com.conf:1)
*:443                  dev.example.com (/etc/apache2/sites-enabled/dev.example.com.ssl.conf:2)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

나에겐 기본 설정이 하나도 없어

root@example:/etc/apache2# ls -lha sites-enabled/
total 8.0K
drwxr-xr-x 2 root root 4.0K May  5 15:12 .
drwxr-xr-x 9 root root 4.0K May  5 15:03 ..
lrwxrwxrwx 1 root root   48 May  5 15:01 dev.example.com.conf -> ../sites-available/dev.example.com.conf
lrwxrwxrwx 1 root root   52 May  5 15:12 dev.example.com.ssl.conf -> ../sites-available/dev.example.com.ssl.conf

그리고 내가 원하는 DocumentRoot가 가상 호스트에 있어야 한다고 선언했습니다.

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName dev.dev.example.com
    Redirect permanent / https://dev.dev.example.com/


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

    DocumentRoot /var/www/owncloud
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

그리고

<VirtualHost *:443>
#               ServerAdmin webmaster@localhost
                ServerName dev.dev.example.com
                DocumentRoot /var/www/owncloud

                # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
                # error, crit, alert, emerg.
                # It is also possible to configure the loglevel for particular
                # modules, e.g.
                #LogLevel info ssl:warn


                <Directory />
                    Options +FollowSymLinks
                    AllowOverride All
                </Directory>
...
...
...
</VirtualHost>

여기 owncloud.conf가 있습니다

Alias / "/var/www/owncloud/"
<Directory "/var/www/owncloud">
  Options +FollowSymLinks
  AllowOverride All

  <IfModule mod_dav.c>
        Dav off
  </IfModule>

  SetEnv HOME /var/www/owncloud
  SetEnv HTTP_HOME /var/www/owncloud
</Directory>

<Directory "/var/www/owncloud/data/">
  # just in case if .htaccess gets disabled
    Require all denied
</Directory>

Main DocumentRoot가 사라지지 않기 때문에 이제 다음에는 무엇을 해야 할까요?

답변1

먼저 우리는 실제로 진행하기 전에 작동하는 웹사이트가 있는지 확인하고 싶습니다. 이를 테스트할 수 있도록 따라야 할 몇 가지 단계는 다음과 같습니다.

먼저 /var/www/폴더로 이동하여 owncloud의 이름을 owncloud-test로 바꿉니다. owncloud라는 새 폴더를 만듭니다. 해당 폴더를 열고 index.html이라는 파일을 만듭니다. 해당 파일을 열고 "This is a test"라고 입력하고 저장합니다.

이제 www 폴더에 대한 권한이 올바르게 설정되었는지 확인하고 터미널에 다음을 입력하십시오.

sudo chown -R www-data:www-data /var/www

완료되면 다음을 입력하세요.

sudo service apache2 restart

그런 다음 웹 브라우저를 열고 다음으로 이동하십시오.

http://localhost

그러면 "이것은 테스트입니다"라는 흰색 페이지가 나타납니다.

그렇지 않은 경우 페이지의 브라우저에서 어떤 오류가 발생하는지 알려주고 /var/log/apache2/error.log를 확인하여 거기에 나열된 오류가 있는지 확인하세요.

작동하는 경우 저에게 알려주시면 그 시점에서 자체 클라우드가 작동하도록 도와드리겠습니다.

이 시점에서 통신이 중단되었으므로 제대로 작동했다고 생각하고 원래 owncloud를 다시 넣는 방법을 설명하고 소유자가 폴더에 올바른지 확인하여 owncloud가 작동하기를 바랍니다.

폴더 로 돌아가서 /var/www.. 방금 생성한 owncloud 폴더를 삭제하세요. owncloud-test 폴더의 이름을 다시 owncloud로 바꿉니다. sudo chown -R www-data:www-data /var/www이름을 바꾸거나 무엇이든 변경할 때 소유자가 변경되지 않았는지 확인하기 위해 다시 실행하세요 .

이제 가셔도 좋습니다. .. 이동하면 http://localhostowncloud 로그인 화면으로 실행되어야 합니다. 컴퓨터의 로컬 IP 주소로 네트워크에 연결된 모든 컴퓨터를 통해 액세스할 수 있어야 합니다. 예를 들어 네트워크의 컴퓨터 로컬 주소가 192.168.0.20인 경우 네트워크의 다른 컴퓨터는 다음을 사용하여 자체 클라우드에 액세스할 수 있습니다 http://192.168.0.20. 인터넷에서 액세스할 수 있으려면 라우터에서 적절한 포트를 열어야 하며 여기서는 다루지 않겠습니다.

관련 정보