모든 기본 가상 호스트를 제거하고 필요한 모든 변경을 수행했지만 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://localhost
owncloud 로그인 화면으로 실행되어야 합니다. 컴퓨터의 로컬 IP 주소로 네트워크에 연결된 모든 컴퓨터를 통해 액세스할 수 있어야 합니다. 예를 들어 네트워크의 컴퓨터 로컬 주소가 192.168.0.20인 경우 네트워크의 다른 컴퓨터는 다음을 사용하여 자체 클라우드에 액세스할 수 있습니다 http://192.168.0.20
. 인터넷에서 액세스할 수 있으려면 라우터에서 적절한 포트를 열어야 하며 여기서는 다루지 않겠습니다.