logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Apache2 przekierowanie domeny i subdomeny z home.pl na własny serwer

wojtek6000 31 Sie 2017 08:44 2517 11
REKLAMA
  • #1 16672760
    wojtek6000
    Poziom 9  
    Posty: 66
    Witam
    Mam postawiony własny serwer Apache 2+ MySql+PHP na komputerze stacjonarnym z systemem Ubuntu Server. W tym środowisku mam trzy strony internetowe. Ustawiłem w konfiguracji apacha wirtualne hosty i w /etc/hosts. W mojej sieci lokalnej wszystko pięknie działa, wpisując adres_komputera/strona1.pl wyświetla się określona strona. Teraz chce żeby te trzy strony były widoczne w internecie i w tym celu wykupiłem domenę w home.pl i utworzyłem do niej dwie subdomeny. W panelu przekierowałem te trzy domeny je na mój zewnętrzny adres ip (na ruterze mam przekierowanie na serwer). Teraz co się dzieje: po wpisaniu mojadomena.pl wyświetla mi się drzewo z folderami gdzie są moje strony internetowe. W internecie wyczytałem, że muszę ustawić przekierowanie w .htaccess więc tak uczyniłem, ale nie działa to zadowalająco... Po wpisaniu mojadomena.pl przenosi mnie do jednej ze stron, ale w pasku adresu przeglądarki zamiast mojadomena.pl widnieje:

    moje_zewnętrzne_ip/wirualny_host_z_mojeg_serwera

    Efekt jaki chce osiągnąć:
    Wpisując: mojadomena.pl - przekierowanie do wirtualnego hosta strona1.pl a w pasku adresu: mojadomena.pl
    Wpisując: subdomena1.mojadomena.pl - przekierowanie do wirtualnego hosta strona2.pl a w pasku adresu: subdomena1.mojadomena.pl
    Wpisując: subdomena2.mojadomena.pl - przekierowanie do wirtualnego hosta strona3.pl a w pasku adresu: subdomena3.mojadomena.pl

    Co mam zrobić żeby uzyskać taki efekt? Wystarczą zmiany w .htacces?
  • REKLAMA
  • #2 16672803
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 16672816
    Konto nie istnieje
    Poziom 1  
  • #4 16672838
    wojtek6000
    Poziom 9  
    Posty: 66
    @drobok w panelu home.pl w konfiguracji domeny zrobiłem przekierowanie na mój zewnętrzny adres IP.
  • #5 16672845
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #6 16672850
    wojtek6000
    Poziom 9  
    Posty: 66
    Tak jak mówisz, dodane są 3 rekordy A: domena.pl, subdomena1.domena.pl i subdomena2.domena.pl i wszystkie wskazują na mój zewnętrzny adres IP.
  • #7 16672862
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #8 16672889
    wojtek6000
    Poziom 9  
    Posty: 66
    Nie wiem jakim sposobem, udało mi się dojść do takiej formy :
    nazwadomeny.pl/nazwawirtualnego_hosta

    Jednak nie działa subdomena1.domena.pl. Wyświetla się błąd serwera. Poniżej mój plik .htaccess:

    
    
    RewriteEngine On
    Options +FollowSymlinks
    RewriteBase /
    
    
    RewriteCond %{HTTP_HOST} ^(www.)?domena.pl
    RewriteCond %{REQUEST_URI} !mojastrona1.pl
    RewriteRule ^(.*)$ mojastrona1.pl [L]
    
    
    RewriteCond %{HTTP_HOST} ^(www.)?subdomena1.domena.pl
    RewriteCond %{REQUEST_URI} !mojastrona1.pl/
    RewriteRule ^(.*)$ mojastrona1.pl/$1 [L]
    


    [edit]
    Udało mi się uruchomić subdomeny (literówki w .htaccess). Teraz pozostaje tylko usunąć z linków nazwy wirtualnych hostów. Jest to wykonalne w .htaccess?
  • #9 16673006
    Konto nie istnieje
    Poziom 1  
  • #10 16673068
    wojtek6000
    Poziom 9  
    Posty: 66
    Zawartość /etc/apache2/sites-available/000-default.conf

    
    <VirtualHost *:80>
    DocumentRoot /var/www/
    <Directory />
    Options FollowSymLinks
    AllowOverride All
    </Directory>
    <Directory /var/www>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order Allow,Deny
    Allow from all
    </Directory>
    </VirtualHost>
    


    Zawartość Zawartość /etc/apache2/sites-available/mojastrona.pl

    
    <VirtualHost mojastrona.pl:80>
    ServerName mojastrona.pl
    ServerAlias www.mojastrona.pl
    DocumentRoot "/var/www/mojastrona.pl/webroot"
    
    <Directory "/var/www/mojastrona.pl/webroot/">
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>
    


    Zawartość Zawartość /etc/apache2/sites-available/mojastrona1.pl

    
    <VirtualHost mojastrona1.pl:80>
    ServerName mojastrona1.pl
    ServerAlias www.mojastrona1.pl
    DocumentRoot "/var/www/mojastrona1.pl/webroot"
    
    <Directory "/var/www/mojastrona1.pl/webroot/">
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>
    


    Drugi vhost jest analogiczny. Na koniec dodam jeszcze raz, ze lokalnie działa: adres_ip_serwera/mojastrona.pl a wchodząc na domene działa to tak: mojadomena.pl/mojastrona.pl

    [edit]
    Udało mi się zrobić tak, że wpisując domena.pl uruchamia się moja strona:) ale jest jeden mały problem, kiedy wpisuje subdomena.domena.pl wyświetla się strona logowania z mojejstrony2.pl, pasek adresu się zgadza, ale akcja logowania wykonuje się w stronie która jest pod domena.pl. Po zalogowaniu jesteśmy na stronie domena.pl ale pasek adresu wskazuje że jesteśmy na subdomena.domena.pl co nie jest prawdą. Usunąłem chwilowo cały plik .htaccess i modyfikacji dokonałem jedynie w /etc/hosts, gdzie przypisałem nazwy domenie i subdomenom takie jak mają być widoczne z internetu oraz zmieniłem pliki vhost:

    
    <VirtualHost domena.pl:80>
    ServerName domena.pl
    ServerAlias www.mojastrona1.pl
    DocumentRoot "/var/www/mojastrona1.pl/webroot"
    <Directory "/var/www/mojastrona1.pl/webroot/">
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>
    
    <VirtualHost subdomena1.domena.pl:80>
    ServerName subdomena1.domena.pl
    ServerAlias www.mojastrona2.pl
    DocumentRoot "/var/www/mojastrona2.pl/webroot"
    <Directory "/var/www/mojastrona2.pl/webroot/">
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>
    
    <VirtualHost subdomena2.domena.pl:80>
    ServerName subdomena2.domena.pl
    ServerAlias www.mojastrona3.pl
    DocumentRoot "/var/www/mojastrona3.pl/webroot"
    <Directory "/var/www/mojastrona3.pl/webroot/">
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>
    


    Już tak niewiele brakuje do rozwiązania mojego problemu...
  • Pomocny post
    #11 16673235
    Konto nie istnieje
    Poziom 1  
  • #12 16673277
    wojtek6000
    Poziom 9  
    Posty: 66
    Zadziałało wykluczenie pliku 000-default.conf wszystko działa:) Dzięki wszystkim za pomoc:)
    Temat do zamknięcia.

Podsumowanie tematu

✨ Użytkownik skonfigurował serwer Apache 2 na Ubuntu Server, aby hostować trzy strony internetowe. Po zakupie domeny w home.pl i utworzeniu subdomen, napotkał problem z przekierowaniem, gdzie zamiast strony wyświetlało się drzewo folderów. Ustalono, że problem może wynikać z nieprawidłowego przekierowania na routerze oraz konieczności posiadania publicznego IP dla poprawnej obsługi wirtualnych hostów. Po dodaniu rekordów A dla domeny i subdomen oraz poprawieniu pliku .htaccess, użytkownik zdołał uruchomić subdomeny, a problem został rozwiązany po wyłączeniu domyślnego hosta 000-default.conf.
Wygenerowane przez model językowy.
REKLAMA