Povezivanje storage-a jednog servera na drugi

Poz ljudi, dugo me nije bilo u problemu nekom da tražim pomoć iskusnijih.

Problem je sledeći. Povezao sam uspešno Azure server (Ubuntu 16.04) na mCloud-ov server (16.04) i storage kao resurs postoji. Učinio sam to preko sshfs komande i povezao ih na /mnt/storage . Na serveru koji korisiti storage sam napravio u root /storage i tu sam ga mountovao. Fajlovima se pristupa preko CMD-a lepo replicirano i sve.

E sad, ja taj storage hocu da koristim za Drupal 7 sajt! Dakle da stavim tu da budu defaultni folderi za upload i temp fajlove. Problem, izbacuje mi forbidden kako god pokušavao da pristupim i uopšte mi ne učitava Drupal 7 path/file not found.

Probao sam način gde sam napravio subdomain na koji bi se konektovao da upisuje, ne radi.
Probao sam da stavim symbolic link ka folderu u sites/default/i tu da postoji storage ->> /storage , isto ne radi.

Error koji dobijam u logovima je sledeći:
Symbolic link not allowed or link target not accessible remote storage

Da li mi nešto fali kod Apache konfiguracije? Dodao sam da ima +FollowSymLinks za files foldere kao i u sites/default/ folderu preko .htaccess kao i na Apache konfiguraciju sajta. Mislim da sam probao i da ga promenim u files direktorijum, ni tu nije radilo.

Da li ste se susreli sa ovakvim problemom? Šta je rešenje?

Već lomim glavu satima, osposobio ali nigde rešenja za ovo.
Kako vi rešavate povezivanje i korišćenje external storage-a za ovakve stvari?

Unapred hvala svima!!!

Da li si podesio odgovarajuče dozvole za user-e?

1 Like

Da li si podesio odgovarajuče dozvole za user-e?

Koristio sam www-data usera-a za oba. Primera radi na dev serveru čiji je storage:

[email protected]:/mnt/storage/drupal# ll
total 24
drwxr-xr-x 5 www-data www-data 4096 Sep 29 14:12 ./
drwxr-xr-x 3 root     www-data 4096 Sep 29 14:12 ../
-rw-r--r-- 1 www-data www-data   68 Sep 29 14:03 phpinfo.php
drwxr-xr-x 2 www-data www-data 4096 Sep 29 10:23 private/
drwxr-xr-x 2 www-data www-data 4096 Sep 29 10:37 public/
drwxr-xr-x 2 www-data www-data 4096 Sep 29 10:24 temp/

Ovo je sa servera na kome je mountovan taj storage:

[email protected]:/storage/drupal# ll
total 24
drwxr-xr-x 1 www-data www-data 4096 Sep 29 16:12 ./
drwxr-xr-x 1 root     www-data 4096 Sep 29 16:12 ../
-rw-r--r-- 1 www-data www-data   68 Sep 29 16:03 phpinfo.php
drwxr-xr-x 1 www-data www-data 4096 Sep 29 12:23 private/
drwxr-xr-x 1 www-data www-data 4096 Sep 29 12:37 public/
drwxr-xr-x 1 www-data www-data 4096 Sep 29 12:24 temp/

a dal taj www-data ima isti user id?

1 Like

a dal taj www-data ima isti user id?

Oba su identična www-data default usera, evo iz /etc/passwd :

www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

ne znam nisam nesto isprobavao tako remote mountovanje, ali imam neki osecaj da je tu problem.

ne znam nisam nesto isprobavao tako remote mountovanje, ali imam neki osecaj da je tu problem.

Ovaj jednostavni tutorial sam ispratio. Ako neko ima bolji način konekcije neka podeli sa mnom da isprobam, ovo za sad, ne radi.

Napravio sam gif testa cisto da vidite npr (isto je kada se poslednji link iz files ide u drupal folder):

Mozda za pocetak eleminisati da li je do privilegija www-data user-a, probati kao on nesto uraditi, npr

su - www-data -s /bin/bash -c 'touch /storage/drupal/temp/test'
1 Like

Mozda za pocetak eleminisati da li je do privilegija www-data user-a, probati kao on nesto uraditi, npr
su - www-data -s /bin/bash -c ‘touch /storage/drupal/temp/test’

Nije me bilo imali frku pa me evo sada. Testirao ovo i ne radi. Napravio takođe usera storage sa istim ID-jem (zapravo cim sam kreirao replicirao se i na taj storage server).

touch radi sa dev servera
ne radi sa mk servera na kome je connectovan storage
javlja sledeće:
touch: cannot touch '/storage/drupal/temp/test': Permission denied

Dakle forbidden nije do Apache2, nego je zapravo nesto Linux. Sad šta je, lets fish for more.

Hvala za još jedan tip provere webad.

Na serveru koji korisiti storage sam napravio u root /storage i tu sam ga mountovao.

A što u root?

Problem je što ti je u mountovan u root-u i ovaj drugi nema njegove permisije da ga menja.

1 Like

A što u root?

Problem je što ti je u mountovan u root-u i ovaj drugi nema njegove permisije da ga menja.

Logika iza toga mi je bila da treba biti mountovan storage u root folderu međutim grešim?

Aj videću da razvežem pa drugi path stavim i proverim da li onda radi, ako je do toga.

Sigurno je do toga…

Update, i dalje ne radi.

Mountovao sam sada i stavio storage taj user da ima pristup, međutim ništa. Igraću se permisijama.

[email protected]:/var/www/storage/ 30G 18G 12G 61% /var/drupal/core/mk/sites/mk.civicatalyst.org/files/storage

probao touch, isto ne prolazi.

systemd stiti home direve od writevoanja po deafultu. Kontrolise se parametrom ProtectHome=true/false

systemd stiti home direve od writevoanja po deafultu. Kontrolise se parametrom ProtectHome=true/false

Van dokumentacije nisam uspeo da iskopam gde to treba da setujem. Ali svakako sam stavljao van home direktorijuma, tj stavio sam /var/www/storage/ gde je owner svega. Storage sam direktno stavio u drupal files folder da bi uradio test, koji nije prošao. Mislio sam da je možda do sym links ali nije ni to.

Ajmo dalje…

Sta se dešava kada staviš 777 chmod?

Stavio sam svim folderima chmod 777 radi testa i dalje isto.

Napravio sam novu konekciju kao pokusaj, samo sa baš [email protected] userom, stavio biodirectional da imaju authorized key, pošto mi je prošlo kroz glavu da nije možda do toga, da imaju istog usera i da nemaju SSH pristup da ulaze na server preko istog. Isto sam prekopirao potrebno za bash profil da mogu da rade komande i dobio sam dodatnu grešku :rofl:

mesg: change /dev/pts/0 mode failed: Operation not permitted
touch: cannot touch /var/drupal/core/mk/sites/mk.civicatalyst.org/files/storage

Nadam se da je ovo neki hint…

Znas kako ovde ti pravi problem fuse/sshfs potrazio bih na guglu probleme sa privilegijama u kombinaciji sa sshfs/fuse

Prosle nedelje sam imao problem sa soft linkovima na storage accountu i resio sam time sto sam ga ovako mountovao:

echo "//mojstorage.file.core.windows.net/global/ /var/www/html/ cifs nofail,vers=3.0,uid=33,gid=33,rw,iocharset=utf8,credentials=/etc/smbcredentials/mojstorage.cred,dir_mode=0775,file_mode=0664,serverino,mfsymlinks" >> /etc/fstab

Poenta svega je zapravo mfsymlinks

1 Like

U najs, testiraću čim stignem! Baš u momentu kada sam gledao mi izašao tvoj odg ali me onda sludio kolega nešto.

@Branimir_Maksimovic
Probao sam dodam šta nalaže u fuse conf, restartovao servere i uradio test i primetih sledeće…

Jedini problem koji sada primećujem je evo rebootovao sam server i konekcija ka tom serveru mi više ne postoji, svaki put moram ponovo da mountujem storage kada rebootujem neki od servera.

Kako onda permanentno mountovati??