Ja np. miałbym większe zaufanie do jakiejś nie wielkiej strony napisanej przez siebie, o której wie tylko kilka osób niż do jakiegoś wielkiego serwisu.
Można to zrobić tak:
Zrobić stronę z logowaniem ale bez rejestracji Ty tworzysz ile tam trzeba kont i podajesz dane osobom do ich kont. Wtedy zalogować będzie się można na konta które Ty utworzyłeś ale zarejestrować się nie da a treść strony wystarczy wyświetlać tylko zalogowanym.
Żeby wejść na Twoją stronę trzeba znać jej adres co jest pierwszym zabezpieczeniem. Jeśli nie zrobisz nic by strona była wysoko w wynikach wyszukiwania to albo w ogóle jej tam nie będzie (np pod nazwą strony) albo będzie ona bardzo bardzo nisko że nikt jej nie znajdzie. Bardzo rzadko się zdarza żeby strona znalazła się wysoko w wynikach wyszukiwania samoczynnie.
Ale oczywiście jest to słabym zabezpieczeniem bo przecież ktoś z rodziny może podać adres jakiejś osobie, ktoś może trafić na stronę przypadkowo itd.
Więc następnym bardzo mocnym zabezpieczeniem jest logowanie na stronie ale bez możliwości rejestracji.
Po wejściu na stronę jest widoczna tylko jedna zakładka - Logowanie - w niej formularz np. jak to ma być rodzina to pola Imię, Nazwisko, Hasło, albo po prostu pola login i hasło i przycisk zaloguj. Jeśli dane logowania są prawidłowe to użytkownik zostaje zalogowany a dla zalogowanych jest widoczna treść (to co tam chcesz, zdjęcia filmy itd.). Potem użytkownik się wylogowuje i koniec. Jeśli się poda nie prawidłowe dane to się nie zaloguje. Zakładam że strona będzie oparta o bazę danych mysql. Wtedy Ty w bazie tworzysz konta ile tam trzeba i rozdajesz osobom z rodziny ich konta. W razie czego Ty możesz zmienić dane kont. Po wylogowaniu tak jak przed zalogowaniem będzie widoczna tylko zakładka Logowanie. Czyli do treści mają dostęp tylko te osoby które mają konto na Twojej stronie. (czyli rodzina)
Jeśli chcesz coś wyświetlać wystarczy ci dysk w chmurze / ftp / NAS, ftp czy NAS mógłbyś hostować na swoim PC / routerze
Twoja zawartość niestety waży swoje. Większość hostingów zje cię kosztami zajmowanego przez ciebie miejsca. Więc patrz wyżej.
co do wymagań z posta nr1. Poczytaj o pliku robots.txt, o włączeniu indeksowania plików, oraz o htaccess i htpasswd, to ci w zupełności wystarczy. Jeśli chcesz mieć coś bardziej zaawansowanego podstawy php / asp.net