Как мне настроить мой сервер apache2 для ownCloud?

Отказ от ответственности: Запуск Linux Mint 14 MATE

Везде, где я смотрю, я вижу, что вы должны включить.htaccess для Apache2 Server при запуске ownCloud. Ну, никто не говорит, где это сделать!

У меня есть данные owncloud от

  • / Var / Библиотека / OwnCloud / данные
  • и жесткий диск 750 ГБ, смонтированный в / var / lib / owncloud / data (я не смог получить owncloud для доступа к / media / 750 GB / data)

nano nano / etc / apache2 / sites-enabled / 000-default приводит к:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride All <-I switched this from NONE*************
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all <-I switched this from NONE*************
        </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


</VirtualHost>

Я даже не вижу каталог для owncloud там. Просто /var/www, но мои данные о себе работают из / var / lib / owncloud / data. Как мне настроить.htaccess для этой папки?

Так, что следующая ошибка на странице администратора ownCloud исчезает:

Ваш каталог данных и ваши файлы, вероятно, доступны из Интернета. Файл.htaccess, который предоставляет ownCloud, не работает. Мы настоятельно рекомендуем вам настроить свой веб-сервер таким образом, чтобы каталог данных больше не был доступен, или вы перемещаете каталог данных за пределы корня документа веб-сервера.

Где находится файл.htaccess, который предоставляет ownCloud?

Это тот?

/usr/share/owncloud/.htaccess

Содержимое этого файла:

ErrorDocument 403 /owncloud/core/templates/403.php
ErrorDocument 404 /owncloud/core/templates/404.php
<IfModule mod_php5.c>
php_value upload_max_filesize 1000M
php_value post_max_size 1000M
php_value memory_limit 512M
<IfModule env_module>
  SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^.well-known/host-meta /public.php?service=host-meta [QSA,L]
RewriteRule ^.well-known/carddav /remote.php/carddav/ [R]
RewriteRule ^.well-known/caldav /remote.php/caldav/ [R]
RewriteRule ^apps/([^/]*)/(.*\.(css|php))$ index.php?app=$1&getfile=$2 [QSA,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
</IfModule>
Options -Indexes

2 ответа

Решение

Для работы htaccess необходимо активировать mod_rewrite.so. посмотреть здесь

В зависимости от вашего дистрибутива Linux, это делается по-разному.

Для Ubuntu это просто

root@VSRV0301 ~# a2enmod rewrite

Чтобы активировать htaccess для определенной папки вне www-корня, просто добавьте

<Directory /var/lib/owncloud> # or the folder owncloud lives in
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all <-I switched this from NONE*************
</Directory>

к вашему конфигу apache должен работать.

Я закончил тем, что уничтожил apache2 и owncloud 3.0 или что-то еще, и переустановил apache2 с owncloud 4.5.7. Это работает сейчас.

  1. Протрите Apache2 с этим постом:

остановка службы sudo apache2

  • Удалить пакеты apache2 и зависимости:

sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common sudo apt-get автоудаление --purge

  • Если вы вручную изменили или установили что-то, apt может не удалить его. Проверьте, что осталось:

где apache2

  • Посмотрите, что внутри этих каталогов, и если вы уверены, что хотите удалить их, удалите каталоги вручную. В моем случае:

sudo rm -Rf / etc / apache2 / usr / lib / apache2 / usr / include / apache2


  1. Сотрите собственное облако

sudo apt-get --purge удалить owncloud

  • Попробуйте найти какие-нибудь затяжные файлы и удалить их

sudo rm -r / var / lib / owncloud

  • Удалить базу данных MySQL

mysql -u root -p удалить базу данных owncloud;

  • Удалить oc пользователей из mysql

Я забыл команды, попробую разобраться еще раз.


ownCloud 4.5.7, следуя части этой процедуры в xUbuntu 12.10 для фактической установки apt-get:

http://software.opensuse.org/download.html?project=isv:ownCloud:community&package=owncloud

и следующее для.htaccess и остальных

http://samiux.blogspot.co.at/2013/02/howto-owncloud-with-apache-on-ubuntu.html

Теперь все работает, данные больше не находятся в / var / lib / owncloud, а скорее в / var / www / owncloud. Файл /htaccess находится в / var / www / owncloud / data. Разрешения для всех файлов в наборе данных на www-data: WWW-данные

Другие вопросы по тегам