Ik ben begonnen met het (voor het eerst) volledig inrichten van een VPS. Ik wil hier een aantal sites op gaan draaien die ik in principe vanuit 1 account zal beheren. De meeste vragen heb ik inmiddels zelf wel opgelost, maar op 1 punt zie ik niet wat nu de goede manier is.

Het gaat erom dat ik nu ftp toegang heb voor een user account op de vps, alleen als ik daar nu mee inlog kom ik in zijn home directory terecht (/home/ftp_user/), maar kan dan niet in de webroot van apache komen (/var/www/html/). Nu heb ik drie mogelijke oplossingen, maar geen idee welke nu echt mogelijk is, of verstandig is.
1) home directory aanpassen naar de webroot
- alleen dat werkt dus niet, want dan krijg ik een access denied error.
2) webroot aanpassen naar de home directory
- zou kunnen, maar ik vraag me af of dat verstandig is. Daarnaast zou ik als ik een andere ftp user zou willen hebben hetzelfde probleem weer krijgen en dan kan ik niet nogmaals de webroot aanpassen.
3) de rootdirectories voor elk domein in de ftp_user home zetten en die mounten in de webroot
- hiervan vraag ik me af of dat kan en of het wel verstandig is. Daarnaast krijg je ook hier weer het probleem dat je dit voor 1 user wel kan doen, maar niet voor meerdere.

Iemand ervaring met het opzetten van zo'n omgeving en ook een goede optie om dit op te lossen?
ehm moet je niet meerdere vhosts hebben als je meerdere document roots wilt?

probeer is het volgende ( met je eigen paths natuurlijk )


<VirtualHost *:80>
        ServerName dev.localhost
        DocumentRoot /home/projects/smk/cms
        ErrorLog /var/log/apache2/smk-cms-error.log
</VirtualHost>

<VirtualHost *:80>
        ServerName my-project.localhost
        DocumentRoot /home/projects/smk/deploy
        ErrorLog /var/log/apache2/smk-deploy-error.log
</VirtualHost>


en dan in je hosts file doe je


127.0.0.1 dev.localhost
127.0.0.1 my-project.localhost


en wat je eventueel nog zou kunnen doen is een alias meegeven dus dan krijg je


127.0.0.1 dev.localhost dev.org


als je naar dev.org gaat zou je de root van dev.localhost moeten krijgen
Reshad F op 08/07/2013 22:11:21

ehm moet je niet meerdere vhosts hebben als je meerdere document roots wilt?

Uiteindelijk natuurlijk wel inderdaad. Op dit moment heb ik echter nog niet alle domeinen (worden er in elk geval 4), maar daarnaast begrijp ik ook dat als je een host niet definieerd, apache gewoon de default neemt. Op zich een host niet meenemen zou dus geen invloed moeten hebben op de domeinen die wel al gedefinieerd zijn. Maar als iemand beter weet dan zie ik graag een correctie hierop.

De rest van wat je zegt heb ik volgens mij nu (behalve de alias).



[size=xsmall]Toevoeging op 08/07/2013 22:32:32:[/size]

Maar nog even uitbreiding. Inmiddels is de DNS redirect blijkbaar doorgevoerd, want ik krijg nu wel via het domein direct een foutpagina te zien (en dus niet meer de parkeerpagina van mijn provider). Ik krijg nu een 'forbidden' pagina te zien, dus blijkbaar staan de rechten niet goed. Als ik het goed zie staat alles op 755 nu, maar moet ik een bepaalde user/group ervoor gebruiken?
zet is die www folder op 777 voor de grap kijk of je er op komt

CHMOD 0777 www/

Het probleem zit in de htaccess file. Die wil ik overigens helemaal niet hebben, maar apache blijft erom vragen als die niet bestaat. Nu heb ik die in de www folder staan (waar dus ook de index.html staat). Er staat geen text in, maar in de apache log staat dat apache de file niet kan lezen, of geen toegang heeft. Zelfs als ik .htaccess op 777 zet dan blijf ik dezelfde fout krijgen.

[size=xsmall]Toevoeging op 08/07/2013 22:56:50:[/size]

(en for the record, als ik alles op 777 zet dan verandert er niets)
welke distributie van linux gebruik je ?
CentOS
Hmm.. heb je het al geprobeerd met een andere? Debian of ubuntu?
Ik heb niet echt veel zin om nu er een andere distributie op te zetten. Alleen als het echt niet anders gaat, maar op zich zou je zeggen dat dit toch gewoon aan de praat te krijgen moet zijn.

[size=xsmall]Toevoeging op 08/07/2013 23:27:14:[/size]

De htaccess foutmelding is nu weg, blijkbaar had ik de directory instelling in httpd.conf niet correct. Maar ik blijf een 'permission denied' krijgen, die nu direct op het bestand gegeven wordt. Ik heb dus blijkbaar alsnog niet de juiste permissies staan op de files. Permissie staat nu even op 777 en group op apache (wat de group is die ook gedefinieerd is in httpd.conf).
maar staat de permissie op de gehele map waar je documenten in staan?
BINGO!
De directory was dus /home/domein1/www en ik zat me blind te staren op www en verder. Maar de domein directory had 700 en die op 755 te zetten hielp! Eindelijk, dank je Reshad!

Reageren