Laravel installeren in subdomein

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark Hogeveen

Mark Hogeveen

28/05/2022 14:10:54
Quote Anchor link
Ik heb op mijn webhosting een Laravel project draaien.
Nu wil ik een subdomein maken, en hierop een apart laravel project beginnen.
Het nieuwe project op de subdomein moet volledig onafhankelijk kunnen draaien en niet conflicten met het bestaande project.
Dus eigenlijk alsof het twee verschillende websites zijn.
Mijn control panel is DirectAdmin.

In de huidige situatie, toen ik Laravel voor het eerst installeerde, heeft Laravel ook allerlei standaard dingen veranderd.
Als je Laravel-project bijvoorbeeld MijnProject heet, dan maakt Laravel bij installatie een map MijnProject in /domains/voorbeeld.nl/
Verder maakt hij een symbolic link van
/domains/voorbeeld.nl/public_html
naar
/domains/voorbeeld.nl/MijnProject/public.

https://snipboard.io/ObEpXJ.jpg

Voor het opzetten van mijn onafhankelijke tweede Laravel project begrijp ik dat ik eerst eens een subdomein moet aanmaken. Dat kan makkelijk in DirectAdmin.
Stel dat mijn subdomein app heet (dus dat wordt app.voorbeeld.nl)
Wat ik nu zie: als ik die subdomein aanmaak in DirectAdmin, dan wordt de map voor die subdomein geplaatst in:
/domains/voorbeeld.nl/MijnProject/public/
Dus ik krijg:
/domains/voorbeeld.nl/MijnProject/public/app

- Als ik de url app.voorbeeld.nl intik, kom ik op mijn subdomein en zie ik inderdaad de placeholder pagina die DirectAdmin daar net heeft gemaakt.
- Als ik de url voorbeeld.nl/app intik, kom ik óók op de "subdomein", maar dat is niet de bedoeling.

Ik denk dat DirectAdmin de app map (mijn subdomein map) op de verkeerde locatie zet, en ik denk dat dat komt door de symbolic link.

Ik begrijp eigenlijk helemaal niets van de doorsne mappenstructuur van een webhosting en kan wel wat hulp gebruiken.

Het uiteindelijke doel is:
Een extra Laravel project hosten op een subdomein, waarbij dit geen conflicten geeft met alles wat er al was.

Als iets niet duidelijk is of meer uitleg nodig heeft dan hoor ik het graag!
Gewijzigd op 28/05/2022 14:14:06 door Mark Hogeveen
 
PHP hulp

PHP hulp

28/01/2023 15:08:19
 
- Ariën  -
Beheerder

- Ariën -

28/05/2022 15:08:44
Quote Anchor link
De beste oplossing is om je subdomein aan te maken alsof het een domein is.
Dus wis je subdomein eerst, en maak dan sub.domein.nl aan als domein.

Dan heb je meteen de hele directory-structuur en virtualhost structuur er ook bij.

Eventueel kan je ook voor testdoeleinden bij dot.tk ook een gratis .ml, .ga of .tk domein aanmaken.
Die moet je geloof ik wel elk jaar even opnieuw bevestigen, of voor langere periode even wat geld betalen.
Gewijzigd op 28/05/2022 15:11:18 door - Ariën -
 
Mark Hogeveen

Mark Hogeveen

28/05/2022 18:30:41
Quote Anchor link
Ik heb de subdomein verwijderd, en de map van die subdomein ook verwijderd.
Daarna heb ik bij DirectAdmin's Domain Setup functie de domein toegevoegd zoals je zij. (app.voorbeeld.nl).

Voorbeeld van wat ik nu heb:
https://snipboard.io/WpCVnt.jpg

Ook is er nu automatisch een map bijgekomen: /domains/app.voorbeeld.nl, dus net zoals dat er een map is voor de hoofddomein.

De mapstructuur is nu in elk geval al op het hoogste niveau gesplitst per (sub)domein.
Echter, als ik nu ga naar app.voorbeeld.nl in de webbrowser, dan blijkt dat hij niet bestaat.

https://snipboard.io/MUyB7h.jpg

Ik heb dit ongeveer een uur geleden ingesteld. Ik weet dat als dit met DNS te maken heeft dat het wel even kan duren, maar uit mijn eerdere ervaringen waarbij ik ooit iets met DNS heb gedaan, was het binnen 1 uur geüpdate.
Gewijzigd op 28/05/2022 19:02:23 door Mark Hogeveen
 
- Ariën  -
Beheerder

- Ariën -

28/05/2022 19:44:04
Quote Anchor link
Ik zie dat je app.voorbeeld.nl hebt aangemaakt. Bezit je die domein wel?

Los daarvan moet je wel de DNS aanpassen zodat de subdomein naar je IP-adres wordt doorgestuurd. Dat kan altijd een paar uur duren.
Gewijzigd op 28/05/2022 19:46:24 door - Ariën -
 
Mark Hogeveen

Mark Hogeveen

28/05/2022 23:35:53
Quote Anchor link
In DirectAdmin heb je drie features:
"Manage Subdomains"
"Domain Setup",
"DNS Records".

In mijn openingspost van dit topic heb ik de DirectAdmin pagina "Manage Subdomains" gebruikt om een subdomein aan te maken via DirectAdmin, maar dan gebeurt dus wat ik in die eerste post beschrijf.
Die subdomein heb ik vervolgens weer verwijderd.

Via de andere weg, "Domain Setup", heb ik toen een domein toegevoegd, app.voorbeeld.nl.
Ik bezit voorbeeld.nl (is wél even een voorbeelddomein in dit topic, maar gaat om het principe).
Ik was in de veronderstelling dat als ik dan gewoon app.voorbeeld.nl toevoeg, dat het verder niks uitmaakt omdat ik de base domein bezit (voorbeeld.nl). Dus zoals in afbeelding van mijn post om 18:30.
Ik merk echter dat DirectAdmin in dit scherm (deze beheerfeature) elke waarde accepteert die je toevoegt als domein. Volgens mij doet DirectAdmin verder niets met DNS als je deze beheerfunctie gebruikt.
DirectAdmin maakt gewoon een map aan in de /domains/ map genaamd naar de domein die je hebt ingevuld. Verder lijkt er weinig te gebeuren. Ik denk dat dit meer is bedoeld voor als je meerdere domeinnamen bezit en deze met DNS records wil laten verwijzen naar eenzelfde hostingpakket. Ik weet verder niet hoe dit precies werkt, maar ik denk dat die mappen in /domains/ (genoemd naar de domeinen) elk corresponderen met de domeinnaam waarmee de server werd benaderd, en dat de server dan in die betreffende map "verder gaat" (met de public_html bestanden in die map).

Als derde is er dus de DNS Records pagina. Als ik daar simpelweg een A-record toevoeg, met de naam "app", en IP-adres gewoon hetzelfde als base domein (voorbeeld.nl), dan heb ik in principe gewoon een zuivere subdomein. Op DNS niveau is het eigenlijk zó geregeld. Je ziet hier ook de standaard DNS records zoals "www" en "mail", wat eigenlijk ook gewoon subdomeinen zijn.
Ik denk zelf in elk geval dat mijn vraag niet echt ligt in het gebied van DNS instellen, maar dat het er meer om gaat dat ik bij de juiste URL, het juiste Laravel project serveer.
Gewijzigd op 28/05/2022 23:56:10 door Mark Hogeveen
 
- Ariën  -
Beheerder

- Ariën -

28/05/2022 23:49:25
Quote Anchor link
Je moet in DirectAdmin wel de juiste (sub)domein invoeren die je bezit. Als je letterlijk voorbeeld.nl of app.voorbeeld.nl invult, en die domeinnaam staat NIET in de nameserver van die registrar, dan zal die NOOIT je server bereiken. Daarnaast moet ook de DNS goed ingesteld zijn met de juiste A(AAA) records.

Toevoeging op 29/05/2022 00:00:33:

Oh ja, die DNS-beheer pagina, daar heb je vaak weinig aan als je registrar zelf al een DNS-panel aanbiedt.
Ikzelf heb deze feature op mijn DA-installaties uitstaan.

Maar als je normale domein in DA gewoon werkt. Dan zou een subdomein (die je bij DA als domain aanmaakt) ook moeten werken. Het kán zijn dat je in je DNS-panel van je registrar even de subdomein in je DNS moet invoeren.
Gewijzigd op 28/05/2022 23:50:33 door - Ariën -
 
Mark Hogeveen

Mark Hogeveen

29/05/2022 11:16:38
Quote Anchor link
- Ariën - op 28/05/2022 23:49:25:
Maar als je normale domein in DA gewoon werkt. Dan zou een subdomein (die je bij DA als domain aanmaakt) ook moeten werken. Het kán zijn dat je in je DNS-panel van je registrar even de subdomein in je DNS moet invoeren.


Dat was het 'm. De domein toevoegen in Domain Setup en subdomein in de DNS records toevoegen...
Ik denk nu dat ik heb wat ik wil:
- Subdomein werkt.
- De map app.voorbeeld.nl in de /domains/ map kan ik volgens mij nu gebruiken om mijn tweede Laravel project in te zetten zonder dat dit problemen geeft met het bestaande. Het bestaande project staat (zoals het hoort) in /domains/voorbeeld.nl
Het nieuwe project moet dan dus komen in /domains/app.voorbeeld.nl

Ik moet wel bekennen dat ik vergeten ben hoe ik ook al weer een Laravel project creëer. Ging dat via de command line of zo iets? (Iets met composer?)
 
- Ariën  -
Beheerder

- Ariën -

29/05/2022 12:25:59
Quote Anchor link
Klopt. Dat gaat via Composer. Ik hoop dat dit op de server geinstalleerd is, en anders kan je dat eenvoudig in DirectAdmin doen als je serverbeheerder bent:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
cd /usr/local/directadmin/custombuild
./build update
./build composer


En dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
composer global require laravel/installer
 
laravel new example-app
Gewijzigd op 29/05/2022 12:33:19 door - Ariën -
 
Mark Hogeveen

Mark Hogeveen

29/05/2022 13:09:10
Quote Anchor link
Als composer al is geïnstalleerd, is voor mij dan alleen die tweede blok code van toepassing?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
composer global require laravel/installer
 
laravel new example-app
 
- Ariën  -
Beheerder

- Ariën -

29/05/2022 14:02:30
Quote Anchor link
Correct.
Laravel heeft namelijk niks met DirectAdmin te maken.
 
Mark Hogeveen

Mark Hogeveen

29/05/2022 14:19:28
Quote Anchor link
Het is gelukt. Dankjewel voor de ondersteuning!
 
- Ariën  -
Beheerder

- Ariën -

29/05/2022 14:22:41
Quote Anchor link
Graag gedaan :-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.