• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Deploy aplikacji w Symfony na serwerze Apache2

Object Storage Arubacloud
0 głosów
185 wizyt
pytanie zadane 19 maja 2018 w PHP przez swagimir Nowicjusz (190 p.)

Cześć, kilka dni temu zacząłem się bawić w Symfony4 (Symfony Flex?) z którym wcześniej nie miałem za bardzo nic wspólnego. Zrobiłem sobie API do bazy danych i chciałbym sobie to wystawić na VPSie na którym śmiga Ubuntu z kilkoma Wordpressami.

Testowo mam nowy, pusty projekt i działam na Debianie z apachem2 i php7.2. Podążając za artykułem z dokumentacji https://symfony.com/doc/current/setup/web_server_configuration.html , dochodzę do momentu gdzie tworzę VirtualHosta, mogę wejść na główną stronę (/), ale jak już chce wejść na ADRES_DO_STRONY/test to nie działa. Zauważyłem że jak wpiszę ADRES_DO_STRONY/index.php/test to już łapie. Według mądrych ludzi ze Stacka mod rewrite jest wyłączony ale już go miałem włączonego i restartowałem serwer.

 

Robiłem to na 2 sposoby z dokumentacji:

1. Wersja zoptymalizowana gdzie RewriteEngine jest włączany w konfiguracji VirtualHosta (bez .htaccess)

2. Wersja zminimalizowana, gdzie za włączenie RewriteEngine odpowiada .htaccess.

 

Konfiguracja VirtualHosta z wersji 1:

<VirtualHost *:80>
        ServerName symtest.pl
        ServerAlias www.symtest.pl
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/symtest/public

        <Directory /var/www/html/symtest/public>
                DirectoryIndex index.php
                AllowOverride All
                Require all granted
                Allow from All
                <IfModule mod_rewrite.c>
                        Options -MultiViews
                        RewriteEngine On
                        RewriteCond %{REQUEST_FILENAME} !-f
                        RewriteRule ^(.*)$ index.php [QSA,L]
                </IfModule>
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

 

 

Plik .htaccess który był w /public (z wersji nr 2) - to jest to co zostało wygenerowane przy composer require symfony/apache-pack

<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{HTTP:Authorization} .
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]

    RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 307 ^/$ /index.php/
    </IfModule>
</IfModule>

 

Może ktoś coś się orientuje? Na szybko na Ubuntu jak postawiłem to wyglądało to identycznie.

 

komentarz 19 maja 2018 przez swagimir Nowicjusz (190 p.)
Chyba mam. Zadziałało na plikach konfiguracyjnych z dokumentacji. Okazało że jedynym warunkiem dlaczego to nie działało to brak zdefinowanego ServerName. Jak sprawić żeby po wejściu na link XX.XX.XX.XX/projekt-testowy to też działało? ServerName jest chyba połączony z domeną, przy czym ja tej domeny nie chcę wykupować, tylko dostawać do się tam przez ścieżkę wewnętrzną. Jest to do osiągnięcia? Chcę to postawić jako jedną z kilku aplikacji a nie zależy mi na ładnym linku specjalnie (ostatecznie z dopisywaniem index.php przeżyję, ale może dałby się to ominąć) :)

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 136 wizyt
pytanie zadane 19 sierpnia 2018 w PHP przez tomek123 Początkujący (300 p.)
0 głosów
0 odpowiedzi 120 wizyt
pytanie zadane 21 czerwca 2019 w PHP przez Hysek Obywatel (1,250 p.)
0 głosów
0 odpowiedzi 67 wizyt
pytanie zadane 10 marca 2019 w PHP przez Neronys Bywalec (2,090 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...