Pytania Apache, htaccess, pracujące nad uruchomieniem owncloud

0

Uruchamianie Apache 2.4.10 na 'Jessy' Debian 8 ..

Próbuję uruchomić ownCloud na moim Raspberry Pi2, ale część Apache okazuje się trochę przeszkodą. Po przejrzeniu dokumentów Apache, kilku przewodników online, youtube vids jestem całkowicie zdezorientowany. Więc szukam potwierdzenia i odpowiedzi w nadziei, że jest ekspert Apache online :)

Dobrze, więc do działania ownCloud potrzebny jest plik .htaccess do obsługi, a teraz rozumiem, że muszę ustawić dyrektywę „AllowOverride” (w sekcji section) na „All” w jakimś pliku konfiguracyjnym.

Albo „httpd.conf”, albo „w moim przypadku” „apache2.conf” to główny plik konfiguracyjny Apache (znaleziony w / etc / apache2 /). Dobrze ?
Istnieje również możliwość oddzielnego pliku konfiguracyjnego tylko dla witryny ownCloud? Plik konfiguracyjny vhosta? Jak mogę stworzyć taki plik vhost (nazwa? Lokalizacja?)?
Przewodniki wskazują lokalizację „/ etc / apache2 / sites” i powinienem edytować „000-default.conf”, ale to nie jest plik. -dostępny'. Czy dobrze rozumiem, że powinienem umieścić w tym pliku sekcje kodu powiedz-hosta?

Teraz rzeczywiste pytania:
- na jakim poziomie powinienem włączyć htaccess, w głównej konfiguracji lub w konfiguracji vhost? starając się utrzymać bezpieczeństwo jak najściślej ..
- czy ktoś wie, czy zmieniając dyrektywę AllowOverride, jedyne, co należy zrobić? Często wspominany jest również moduł przepisywania. Co ty na to ?

Idę z sugestią davidgo, aby użyć AllowOverride specjalnie w pliku wirtualnego hosta dla owncloud. Dostaję raczej elegancką logikę definiowania hosta w dostępnych witrynach, a następnie „włączania” go przez umieszczenie sym.link w witrynach z włączoną obsługą. Dziękuję, Paul, że mi to powiedziałeś.

Z góry dziękuję za poświęcony czas i wysiłek!

Supr
źródło
Chłopaki, myślę, że popełniłem błąd myślenia. Wszędzie, gdzie patrzę, widzę: potrzebujesz hostów wirtualnych podczas uruchamiania wielu witryn na jednym komputerze. Ale popraw mnie, jeśli się mylę, czy nie powinienem powiedzieć: podczas uruchamiania wielu witryn z różnymi nazwami domen na 1 komputerze? Oznaczałoby to, że nie muszę tworzyć wirtualnego hosta; Dostałem tylko jedną nazwę domeny (i adresując ją używając mojego publicznego adresu IP ..). Pozostaje pytanie, czy mogę użyć bloku „Directory / var / www / owncloud” w głównym pliku apache2.conf, aby określić AllowOverride All there?
Supr
Przetestowałem go, umieściliśmy blok w pobliżu innych bloków katalogu w apache2.conf, zrestartowałem i używając .htaccess z "blabla" w nim, potwierdziłem, że .htaccess jest obsługiwany (dostałem błąd, który nie pojawił się, gdy użyłem oryginalny .htaccess).
Supr

Odpowiedzi:

0

Możliwe jest posiadanie oddzielnego pliku konfiguracyjnego tylko dla witryny ownCloud - Apache odczyta wszystkie pliki dodane w głównej konfiguracji przy użyciu dyrektywy „Include” - która zwykle obejmuje wszystkie pliki „.load” lub ”. conf ”

Włącz .htaccess w kontenerze Directory w odpowiednim kontenerze vhost dla lepszego bezpieczeństwa, a następnie dla wszystkich hostów - dla jeszcze większego bezpieczeństwa, wycinaj i wklej zawartość .htaccess do kontenera vhost i usuń całkowicie plik .htaccess.

Aby moduł przepisywania działał, należy włączyć dyrektywę Rewrite. Prawdopodobnie plik .htaccess to zrobi.

Moduł przepisywania służy do przepisywania formatu żądań, co na przykład pozwala URL-owi ukryć faktyczne wykonanie pliku php.

davidgo
źródło
Czy możliwe jest „zagnieżdżanie” pojemników? jak & lt; Virtualhost .. & gt; ... & lt; Katalog ... & gt; ... & lt; / Directory .. & gt; ... & lt; / Virtualhost .. & gt; czy mają być zdefiniowane jeden po drugim?
Supr
Zgaduję, że mógłbym utworzyć plik .conf (z dowolną nazwą?), Ale i tak będzie to kod w głównym pliku konfiguracyjnym, prawda?
Supr
Możesz zagnieżdżać kontenery katalogów w vhostach. Plik conf może mieć dowolną nazwę, ale wymaga rozszerzenia .conf. Jestem pewien, że pliki są uporządkowane, stąd numer na początku.
davidgo
0

Jeśli używasz Apache dla owncloud, możesz AllowOverride globalnie.

Szczerze mówiąc, w większości przypadków i tak chciałbyś włączyć tę opcję dla wszystkich witryn, ponieważ używanie .htaccess dla przyjaznych adresów URL jest bardzo powszechne.

Tak, właściwym miejscem do umieszczenia tego dla globalnego włączenia jest 000-default.conf. Tak, jest to „tylko symboliczne łącze”, ale w ten sposób Debian zarządza stronami. Rzeczywiste pliki konfiguracyjne dla każdej witryny są przechowywane w /sites-available i a2ensite i a2dissite komendy służą do włączania i wyłączania witryn poprzez dodanie dowiązań symbolicznych do /sites-enabled. Edycja dowiązania symbolicznego jest taka sama jak edycja prawdziwego pliku.

Zobaczysz na końcu swojego apache2.conf istnieje możliwość ściągnięcia dowolnych plików konf /sites-enabled

Dodaj wyciąg wewnątrz <VirtualHost *:80> sekcja, która pasuje do dowolnej witryny (która nie jest zdefiniowana w innym pliku konfiguracyjnym).

Tak, istnieje możliwość posiadania pliku konfiguracyjnego dla samego owncloud, w którym to przypadku utworzysz nowy plik konfiguracyjny /sites-available (być może przez kopiowanie 000-default ), dodając ServerName dyrektywa pasująca do adresu URL, który będzie używany do uzyskiwania dostępu do owncloud, a następnie włączania go a2ensite <config file name>.

Paul
źródło
W porządku Skopiuję plik 000-default.conf i zmienię go, aby zdefiniować „stronę internetową” ownCloud, dodać dyrektywę AllowOverride, a następnie uruchomić polecenie a2ensite. Spróbuję tego spróbować! Dam wam znać, czy to zadziałało.
Supr