Я начинаю расстраиваться, так как я удалил все виртуальные хосты по умолчанию и внес все необходимые изменения, но 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 был в vhosts
<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 и убедиться, что владелец указан правильно для папки, чтобы, надеюсь, owncloud заработал.
Вернитесь в /var/www
папку .. удалите папку owncloud, которую мы только что создали. Переименуйте папку owncloud-test обратно в owncloud. Запустите sudo chown -R www-data:www-data /var/www
еще раз, чтобы убедиться, что владелец не изменился, когда вы переименовывали или что-то меняли.
И теперь вы должны быть готовы к работе .. когда вы зайдете в http://localhost
него, он должен запуститься с экраном входа в owncloud. Вы должны иметь возможность доступа к нему через любой компьютер, подключенный к вашей сети по локальному IP-адресу вашего компьютера, например... если локальный адрес вашего компьютера в вашей сети 192.168.0.20, то любой другой компьютер в вашей сети может получить доступ к owncloud, используя http://192.168.0.20
Если вы хотите, чтобы он был доступен из сети, вам придется открыть соответствующие порты в вашем маршрутизаторе, в которые я не буду здесь вдаваться