Konfigurowanie uprawnień dla FTP i Apache

10

Mam serwer WWW (Apache2), do którego mam dostęp za pomocą FileZilla.

Na moim serwerze internetowym mam katalog / home / admin / www, który powiązałem z / var / www. Więc mogę uzyskać do niego dostęp za pomocą FTP. To działa idealnie!

Ale za każdym razem, gdy ponownie uruchamiam mój serwer sieciowy, muszę ponownie powiązać. Czy nie mogę powiedzieć mojemu serwerowi, że mapy muszą być zawsze powiązane? Muszę też zresetować wszystkie moje uprawnienia za każdym razem, co robię źle?

Ontwikkelaar Bij Debugowane
źródło

Odpowiedzi:

13

Lepszym i bezpieczniejszym rozwiązaniem (mam problemy z dostępem do Internetu do folderu domowego administratora!) Jest utworzenie folderu root w katalogu /

Czas na terminal!

cd /
sudo mkdir /webroot
sudo groupadd webdev
sudo usermod -a -G webdev yourusername 
sudo chown www-data:webdev /webroot/

Teraz wskaż apache na nowy katalog główny / katalog główny na dole konfiguracji apache. Można go znaleźć tutaj: /etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf

CTRL-O, aby zapisać, CTRL-X, aby wyjść w nano, jeśli nie jesteś z nią zaznajomiony.

Wystarczy wymienić DocumentRoot /var/www/z/webroot/

Skopiuj teraz pliki internetowe do katalogu głównego.

sudo /etc/init.d/apache2 reload

Apache powinien zostać zrestartowany po załadowaniu wszystkich konfiguracji.

Stworzyło to katalog główny o nazwie webroot, którego właścicielem jest apache2, a właścicielem grupy jest nowa grupa webdev, do której użytkownik jest teraz dołączany do członka (nie zastępuje to żadnych grup!). Umożliwi to edycję plików na FTP!

Jest to bardzo proste rozwiązanie dla serwera apache z jedną stroną internetową. Wymagana jest dodatkowa praca, jeśli planujesz uruchomić wiele witryn (na przykład tworzenie dla nich osobnych folderów w katalogu głównym)

Zaletą tego jest to, że jeśli ktoś znajdzie lukę, zostanie zablokowany w folderze głównym, a nie w folderze domowym! Ponadto, jeśli kiedykolwiek będziesz musiał pozwolić innym użytkownikom na modyfikowanie witryny, możesz dodać ich użytkowników do grupy webdev za pomocąsudo usermod -a -G theirusername webdev

Mam nadzieję że to pomoże!

Z poważaniem

Laice
źródło
Nie ma problemu :) czy masz coś przeciwko, jeśli zmienię nazwę tytułu, aby lepiej odzwierciedlić udzieloną odpowiedź?
Laice
na pewno nie :-)
Ontwikkelaar Bij Debugował
z jakiegoś powodu nie otrzymałem takiego użytkownika webdev, kiedy użyłem twojego polecenia> sudo groupadd webdev Próbowałem tego i wydawało się, że działa. W każdym razie dobrze dodał użytkownika w pliku / etc / group. sudo usermod -a -G webdev wwwlogin
Benajasza
To była moja wina, w mojej odpowiedzi przypadkowo przełączyłem użytkownika i grupę, to naprawił Damon, wyciągnąłem lekcję!
Laice
@Damon, myślę, że musisz ustawić odpowiednie uprawnienia, aby właściciel (www-data) i grupa (webdev) mieli takie same uprawnienia jak dla katalogu: powinno to być 775 (zamiast domyślnie 755) i 664 (zamiast 644 ) dla plików.
Eduardo B.,