W niektórych sytuacjach niezbędne jest utworzenie dowiązania symbolicznego, w celu wskazania domeny na inny katalog niż domyślny. Dla użytkowników, którzy nie mieli żadnej styczności z SSH, proces tworzenia dowiązania symbolicznego może wydawać się bardzo trudny. Jednak w rzeczywistości proces ten jest prosty.

W tym artykule przybliżę Ci:
  • Czym jest dowiązanie symboliczne (symlink).
  • Jak utworzyć dowiązanie symboliczne.
  • Jak usunąć dowiązanie symboliczne.

Czym jest dowiązanie symboliczne (symlink)?

Dowiązanie symboliczne, znane również jako symlink, jest specjalnym rodzajem pliku, który wskazuje na dowolny plik lub katalog. Jest ono podobne do np. skrótu w systemie Windows, gdzie dowiązanie ma formę pliku, który zawiera informację o elemencie docelowym.

Co zrobić przed utworzeniem dowiązania symbolicznego?

W pierwszej kolejności zweryfikuj, czy aplikacja rzeczywiście wymaga utworzenia dowiązania symbolicznego. Jeśli potrzebujesz jedynie przenieść aplikację pod inny adres, wówczas nie ma takiej konieczności. Możesz w tym celu np. skopiować aplikację pod nowy adres w Panelu Klienta, w zakładce Hosting -> Aplikacje. Proces ten opisywaliśmy w naszej bazie wiedzy dla aplikacji WordPress oraz Joomla.

Jeśli wymagane jest wskazanie domeny na inny katalog, zamiast dowiązania symbolicznego możesz w Panelu Klienta utworzyć wskaźnik domeny. Rozwiązanie to sprawdzi się jednak tylko w przypadku gdy nie potrzebujesz tworzyć skrzynek pocztowych w domenie, z której będzie utworzone przekierowanie. Jest to spowodowane tym, że utworzenie wskaźnika domeny uniemożliwi utworzenie skrzynek.

Jeżeli żadne z powyższych rozwiązań nie jest dla Ciebie, wówczas niezbędne będzie utworzenie dowiązania symbolicznego.

Jaka jest domyślna struktura katalogów?

Domyślnie każda domena lub subdomena dodana w Panelu Klienta, w zakładce Domeny -> Konfiguracja domen, kieruje na katalog:

/home/nazwa_użytkownika/domains/przykładowa_domena.pl/public_html

Natomiast subdomeny dodane w Panelu Klienta, w zakładce Domeny -> Subdomeny, kierują na katalog:

/home/nazwa_użytkownika/domains/przykładowa_domena.pl/public_html/przykładowa_subdomena

Na tej podstawie możesz ustalić w jakiej lokalizacji znajdują się Twoje domeny i/lub subdomeny, co będzie niezbędne do utworzenia dowiązania symbolicznego.

Jak utworzyć dowiązanie symboliczne (symlink)?

1. Jeśli chcesz utworzyć dowiązanie symboliczne między dwiema domenami to skontaktuj się z nami w celu wyłączenia zabezpieczenia open_basedir (separacji domen).

2. W Panelu Klienta, w zakładce Hosting -> Manager plików, przejdź do katalogu domeny lub subdomeny, z której chcesz utworzyć dowiązania symboliczne. Następnie usuń katalog public_html domeny lub katalog subdomeny.

Przykład 1
Jeśli dowiązanie chcesz utworzyć z domeny lub subdomeny dodanej poprzez zakładkę Domeny -> Konfiguracja domen, wówczas powinieneś usunąć katalog public_html. Zatem w Panelu Klienta, w zakładce Hosting -> Manager plików przejdź do katalogu domains -> przykładowa_domena.pl, a następnie usuń katalog public_html.

Przykład 2
Jeżeli dowiązanie potrzebujesz utworzyć dla subdomeny dodanej poprzez zakładkę Domeny -> Subdomeny, wówczas w zakładce Hosting -> Manager plików powinieneś przejść do katalogu domains -> przykładowa_domena.pl -> public_html, a następnie skasować katalog subdomeny.

Pamiętaj, że skasowanie katalogu spowoduje również usunięcie jego zawartości. W związku z tym, przed usunięciem katalogu sprawdź czy nie posiada on zawartości, którą potrzebujesz zachować.

3. Zaloguj się do SSH.

4. W kolejnym kroku niezbędne będzie wykonanie polecenia ln z opcją -s. Ponieważ możliwe są różne kombinacje, w podpunktach przedstawimy różne warianty.

4a. Dla domeny lub subdomeny dodanej poprzez zakładkę Domeny -> Konfiguracja domen, wykonaj polecenie zgodne z poniższym wzorem:

ln -s ~/sciezka/do/katalogu ~/domains/przykładowa_domena.pl/public_html

Przykład
Użycie poniższego polecenia:

ln -s ~/domains/docelowa_domena.pl/public_html ~/domains/przyładowa_domena.pl/public_html

spowoduje utworzenie dowiązania z lokalizacji /domains/przykładowa_domena.pl/public_html do /domains/docelowa_domena.pl/public_html. Zatem inny słowy, dla domeny przykładowa_domena.pl będzie wyświetlana zawartość z katalogu public_html domeny docelowa_domena.pl.

4b. Jeśli Twoja subdomena została dodana poprzez zakładkę Domeny -> Subdomeny, wówczas powinieneś użyć polecenia zgodnego z poniższym wzorem:

ln -s ~/sciezka/do/katalogu ~/domains/przykładowa_domena.pl/public_html/przykładowa_subdomena

Przykład
Użycie poniższego polecenia:

ln -s ~/domains/docelowa_domena.pl/public_html ~/domains/przykładowa_domena.pl/public_html/przykładowa_subdomena

spowoduje utworzenie dowiązania z lokalizacji /domains/przykładowa_domena.pl/public_html/przykładowa_subdomena do /domains/docelowa_domena.pl/public_html. Zatem inny słowy, dla subdomeny przykładowa_subdomena.przykładowa_domena.pl będzie wyświetlana zawartość z katalogu public_html domeny docelowa_domena.pl.

Jak sprawdzić czy dowiązanie symboliczne zostało utworzone prawidłowo?

Wystarczy w tym celu skorzystać z polecenia zgodnego z poniższym wzorem:

ls -la ~/ścieżka/do/katalogu/domeny

Przykład
Jeśli utworzyłeś dowiązanie z lokalizacji /domains/przykładowa_domena.pl/public_html, wówczas powinieneś użyć następującego polecenia:

ls -la ~/domains/przykładowa_domena.pl

Wówczas otrzymasz informacją zwrotną, tak jak w poniższym przykładzie:

total 4
drwx--x--x 6 użytkownik użytkownik  119 Mar  6 17:26 .
drwx--x--x 9 użytkownik użytkownik  189 Feb 27  2023 ..
drwxr-xr-x 2 użytkownik użytkownik   37 Aug 27  2022 .htpasswd
drwx------ 2 użytkownik użytkownik 4096 Mar  1 00:12 logs
drwx--x--x 3 użytkownik użytkownik   30 Aug 27  2022 public_ftp
lrwxrwxrwx 1 użytkownik użytkownik   52 Mar  6 17:26 public_html -> /home/użytkownik/domains/docelowa_domena.pl/public_html

Powyższe dane potwierdzają, że dowiązanie symboliczne zostało prawidłowe utworzone z lokalizacji /domains/przykładowa_domena.pl/public_html do /domains/docelowa_domena.pl/public_html.

Jak usunąć dowiązanie symboliczne?

Jeśli potrzebujesz usunąć dowiązanie symboliczne, do tego celu możesz skorzystać z polecenia unlink, zgodnie z poniższym wzorem:

unlink ~/ścieżka/do/symlinka

Przykład
Jeśli potrzebujesz usunąć dowiązanie symboliczne utworzone w lokalizacji /domains/przykładowa_domena.pl/public_html, wówczas powinieneś użyć następującego polecenia:

unlink ~/domains/przykładowa_domena.pl/public_html

Podsumowanie

Jak więc widzisz, utworzenie dowiązania symbolicznego nie jest takie trudne, jakby się wydawało. Gdyby jednak pojawiły się jakieś trudności, jak zawsze zapraszamy do kontaktu. Chętnie pomożemy w rozwiązaniu problemu. 🙂

Autor:

Łukasz Szczerbakowski

Może ci się spodobać również

UX - 31 października 2024 16:32

Architektura informacji

Czym jest Architektura Informacji? Architektura informacji (AI) jest fundamentem, na którym buduje się strukturę produktów cyfrowych – aplikacji mobilnych i stron www. Jest to metoda organizowania treści w taki sposób, aby użytkownicy mogli łatwo nawigować, odnaleźć potrzebne informacje i osiągnąć zamierzony przez produkt cel . Architektura informacji jest więc zagadnieniem zajmującym się organizacją i prezentacją […]

Więcej →

Comments
WordPress - 25 października 2024 12:10

Jak wyłączyć komentarze w WordPressie?

Komentarze na WordPress mogą być dobrym sposobem na interakcję z użytkownikami. Niemniej w przypadku niektórych stron mogą one być zupełnie niepotrzebne. Jeśli chcesz całkowicie lub częściowo wyłączyć komentarze w WordPressie, ten poradnik jest właśnie dla Ciebie. Jeżeli jednak borykasz się ze spamerskimi komentarzami i chciałbyś je zablokować, polecamy artykuł pt. Jak zablokować spam w komentarzach […]

Więcej →

Bez kategorii - 24 października 2024 18:18

Persony

W poprzednich artykułach wiele razy wspominałam o tym, jak ważny w każdym projekcie jest użytkownik i jego potrzeby. Rozmawialiśmy też o badaniach i o tym, jak stworzyć produkt najlepiej dopasowany do oczekiwań użytkownika. Kim jednak jest nasz użytkownik? Jak go zidentyfikować? Persona jest właśnie taką reprezentacją naszego użytkownika i dziś przybliżę nieco ten termin. Kim […]

Więcej →