php5-fpm.sock'a nginx hatası bağlanma başarısız (13: İzin reddedildi)


290

Nginx'i 1.4.7'ye ve php'yi 5.5.12'ye güncelledim , bundan sonra 502 hatası aldım . Güncellemeden önce her şey yolunda gidiyor.

nginx-error.log

2014/05/03 13:27:41 [crit] 4202#0: *1 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: xx.xxx.xx.xx, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xx.xx.xx.xx"

nginx.conf

user  www www;
worker_processes  1;

        location / {
            root   /usr/home/user/public_html;
            index  index.php index.html index.htm;
        }
        location ~ [^/]\.php(/|$) {
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME    /usr/home/user/public_html$fastcgi_script_name;
            include fastcgi_params;
        }

3
Bu hata raporu bunun neden olduğunu açıklıyor: bugs.php.net/bug.php?id=67060
Matt Cooper

1
Buraya 14 ila 16 ubuntu yükseltmesinden gelen herkes, çorapları unix olarak değiştirmeniz gerekir: /var/run/php/php7.0-fpm.sock
Karussell

Yanıtlar:


626

Ben php güncellemesinden sonra benzer bir hata vardı. PHP sabit bir güvenlik hatao vardı rwsoket dosyasına izni.

  1. Sürümünüze bağlı olarak /etc/php5/fpm/pool.d/www.confveya öğesini açın /etc/php/7.0/fpm/pool.d/www.conf.
  2. Şu gibi tüm izin satırlarını kaldır:

    listen.owner = www-data
    listen.group = www-data
    listen.mode = 0660
  3. Fpm'yi yeniden başlat - sudo service php5-fpm restartveyasudo service php7.0-fpm restart

Not : web sunucunuz www-data dışında bir kullanıcı olarak çalışıyorsa www.confdosyayı buna göre güncellemeniz gerekir


11
Bunun soketi kesinlikle herkese yazılabilir kıldığı göz önüne alındığında, bunun korkunç bir çözüm olduğunu düşünemiyorum.
Shadur

11
Bu yaklaşım, bugs.php.net/bug.php?id=67060 içinde çözülen güvenli olmayan varsayılan yapılandırmayı geri yükler - bunun yerine artooro tarafından önerilen listen.owner düzeltmesini düşünün.
Chris Burgess

2
Çok kafa karıştırıcı. Yanıtınızı neden doğru olacak şekilde düzenlemeyesiniz (/ etc ... adresine gidin) ve daha sonra yalnızca yeniden başlatılıncaya kadar daha az güvenli bir yolun nasıl çalıştığı hakkında yorum yapın (Git / var / ..).
SamGoody

1
@Tecnocat Neden daha az güvenli? Bence onlar aynı. www-data ve 660. Yani neyin yanlış olduğunu anlamıyorum?
Xander

13
sudo usermod -aG www-data nginxnginx'in dosyaya erişmesine izin verir
AnthumChris

107

Şu anda burada bahsedilen tüm düzeltmeler temel olarak güvenlik deliğini tekrar etkinleştirir.

Yaptığım şey PHP-FPM yapılandırma dosyasına aşağıdaki satırları eklemek.

listen.owner = www-data
listen.group = www-data

Www-data'nın aslında nginx çalışanının çalıştığı kullanıcı olduğundan emin olun. Debian için bu varsayılan olarak www-verisidir.

Bu şekilde yapılması, bu değişikliğin düzeltmesi gereken güvenlik sorununu etkinleştirmez .


16
Nginx kullanıcı adını kontrol etmek içinps aux|grep nginx
SamGoody

2
Ubuntu'da /etc/php5/fpm/php.ini adresinde
Reality Extractor

1
@ RealityExtractor Ben öyle düşünmüyorum. Bu dosya yalnızca genel PHP ayarlarını içerir, FPM işlem yöneticisiyle ilgili hiçbir şey yoktur.
Martijn Heemels

4
Benim /var/run/php5-fpm.sockiçin, zaten tarafından oluşturulduğundan beri manuel olarak silmek zorunda kaldım www-data. Sadece bir haber ...
Giel Berkers

1
Bu, güvenlik açısından uygun bir çözümdür.
jschorr

45

@ Xander'ın çözümü çalışıyor, ancak yeniden başlatmadan sonra da devam etmiyor.

Ben değiştirmek zorunda bulundu listen.modeetmek 0660de /etc/php5/fpm/pool.d/www.conf .

Www.conf'tan örnek:

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. 
; Default Values: user and group are set as the running user
;                 mode is set to 0660
;listen.owner = www-data
;listen.group = www-data
;listen.mode = 0660

Düzenle: Per @Chris Burgess, bunu daha güvenli bir yöntemle değiştirdim.

Listen.mode, .group ve .owner için yorumu kaldırdım:

listen.owner = www-data
listen.group = www-data
listen.mode = 0660

/ var / run Yalnızca son sistemden bu yana çalışan sistem hakkındaki bilgileri tutar; örneğin, şu anda oturum açmış olan kullanıcılar ve çalışan arka plan programları. ( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard#Directory_sttruc ).

Kenar notu:

Benim php5-fpm -vRaporlar: PHP 5.4.28-1+deb.sury.org~precise+1. Sorun son güncellemeden sonra da oldu.


5
Bu yaklaşım, bugs.php.net/bug.php?id=67060 içinde çözülen güvenli olmayan varsayılan yapılandırmayı geri yükler - bunun yerine artooro tarafından önerilen listen.owner düzeltmesini düşünün.
Chris Burgess

Eğer listen.acl_groupsayarlanır, listen.ownerve listen.groupgöz ardı edilir. Ayarladım listen.acl_groups =, sonra 502 / izin sorunu ortadan kalktı. listen.Yukarıdaki satırları açtıktan sonra buldum, 502 sorunu devam etti ve systemctl status php-fpmuyarıyı gösterdi WARNING: [pool www] ACL set, listen.owner = 'nobody' is ignored.
idoimaging

37

Bu yazıdaki her şeyi denediyseniz, ancak PHP'nin çalışmasını elde edemiyorsanız, bu benim durumum için onu düzeltti:

/Etc/php5/fpm/pool.d/www.conf sitesinde şu satırların önerilmemiş olduğundan emin olun:

listen.owner = www-data
listen.group = www-data
listen.mode = 0660

/ Etc / nginx / fastcgi_params öğesinin şöyle göründüğünden emin olun:

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  PATH_INFO          $fastcgi_script_name;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

Bu iki satır / etc / nginx / fastcgi_params'dan eksikti, orada olduklarından emin olun!

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  PATH_INFO          $fastcgi_script_name;

Sonra php5-fpm ve nginx'i yeniden başlatın. Hile yapmalı.


2
Çok teşekkür ederim! Tüm umutlarımı kaybediyordum, bu kıçımı kurtardı.
Diego Castro

1
Sen benim kahramanımsın, günü kurtardın!
jeppeb

1
Ne kadar minnettar olduğumu tarif edebilecek hiçbir kelime yok! Paketleri güncelledikten sonra her şey kaput gitti ve bu gün kurtardı.
Nikola Prokopić

Sana birden fazla vermek istiyorum +
g9m29

28

Aslında, "listen.mode" şöyle olmalıdır: "0660" ve "0666" değil, Diğer Yazılabilir veya Diğer Okunabilir burada asla iyi bir seçim değildir.

Bu yüzden web sunucunuzun hangi kullanıcı / grup olarak çalıştığını bulmaya çalışın. CentOs kullanın ve kullanıcı "nginx" olarak çalışır Yani php-fpm.conf ekleyin:

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

sonunda php-fpm'yi yeniden başlat


Değeri için, Ubuntu 12.04 sistemimde kullanıcı ve grup var www-data.
Brad

1
Benim için CentOS, kullanıcıyı "hiç kimse" ve grubu "nginx" olarak ayarlamak için çalıştı. Muhtemelen büyük bir gelişme değil, ancak olabildiğince sınırlı izin vermeyi tercih ederim.
Kzqai

23

Hangi kullanıcının nginx çalıştırdığını kontrol edin. Ubuntu 12.04'ten itibaren nginx, www-data grubunun bir üyesi olmayan nginx kullanıcısı tarafından çalıştırılır.

usermod -a -G www-veri nginx

ve nginx ve php5-fpm artalan süreçlerini yeniden başlatmak sorunu çözer.


Bu düzeltme en temiz, güvenlik açısından akıllı görünmektedir. Ubuntu 14.04, Nginx 1.7.10, PHP 5.5.9-1ubuntu4.6 (fpm-fcgi) üzerinde çalıştı
AnthumChris

12

Php yapılandırmanızdaki genişleme izinlerine alternatif olarak, nginx yapılandırmanızda belirtilen kullanıcıyı değiştirebilirsiniz.

Yukarıdaki nginx.conf alıntısının ilk satırında, kullanıcı ve grup sırasıyla www ve www olarak belirtilir.

user  www www;

Bu arada, php yapılandırma muhtemelen bir kullanıcı ve www-veri grubu belirtir:

listen.owner = www-data
listen.group = www-data

Nginx.conf dosyanızdaki satırı aşağıdakilerden herhangi biriyle değiştirebilirsiniz, ardından:

user www-data www;
user www-data www-data; # or any group, really, since you have the user matching
user www www-data; # requires that your php listen.mode gives rw access to the group

Çok teşekkür ederim!
Aline Matos

Çok teşekkür ederim! Nginx.conf dosyasını değiştirmek gereklidir.
LCB

7

Varsa, bireysel FPM havuzlarınıza da dikkat edilmelidir.

Bugün bu cevapların hiçbirinin benim için neden işe yaramadığını anlayamadım. Bu benim için bir set-unut senaryosu olmuştu, bu yüzden listen.user ve listen.group'un havuz başına çoğaltıldığını unutmuştum.

Her kullanıcı hesabının FPM işlemlerine ve yuvalarına sahip olduğu benim gibi farklı kullanıcı hesapları için havuzlar kullandıysanız, yalnızca varsayılan listen.owner ve listen.group yapılandırma seçeneklerini 'nginx' olarak ayarlamak basitçe işe yaramaz. Ve açıkçası, 'nginx'in hepsine sahip olmasına izin vermek de kabul edilemez.

İçin her havuzun , emin olun

listen.group = nginx

Aksi takdirde, havuzun sahipliğini ve böyle yalnız bırakabilirsiniz.


Teşekkür ederim. Ngnix farklı kullanıcı hesapları için çalışıyorsa, "listen.group = nginx" gibi değiştirilmelidir
MURATSPLAT

6

Ubuntu 14.04 çalıştıran makinemi (PHP güncellemeleri ile) güncellediğim için bugün yine bu hatayı aldım . Dağıtım yapılandırma dosyası/etc/php5/fpm/pool.d/www.conf iyi ve şu anda herhangi bir değişiklik gerektirmiyor.

Aşağıdaki hataları buldum:

dmesg | grep php
[...]
[ 4996.801789] traps: php5-fpm[23231] general protection ip:6c60d1 sp:7fff3f8c68f0 error:0 in php5-fpm[400000+800000]
[ 6788.335355] traps: php5-fpm[9069] general protection ip:6c5d81 sp:7fff98dd9a00 error:0 in php5-fpm[400000+7ff000]

Garip bir şey, bu makinede PHP-FPM kullanan 2 sitenin birinin iyi çalıştığı ve diğerinin (Tiny Tiny RSS yüklemesi) bana her ikisinin de daha önce iyi çalıştığı bir 502 verdiğiydi. .

Her iki yapılandırma dosyasını karşılaştırdım fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;ve etkilenen site için eksik olduğunu buldum .

Her iki yapılandırma dosyası da şu bloğu içeriyor ve tekrar düzgün çalışıyor:

location ~ \.php$ {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        include /etc/nginx/snippets/fastcgi-php.conf;
}

Güncelleme

Ubuntu'nun iki fastcgi ile ilgili parametre dosyası ve ayrıca Vivid'den beri ve PPA sürümünde bulunan bir yapılandırma snippet'i gönderdiğine dikkat edilmelidir . Çözüm buna göre güncellendi.

Fastcgi parametre dosyalarının farkı:

$ diff -up fastcgi_params fastcgi.conf
--- fastcgi_params      2015-07-22 01:42:39.000000000 +0200
+++ fastcgi.conf        2015-07-22 01:42:39.000000000 +0200
@@ -1,4 +1,5 @@

+fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
 fastcgi_param  QUERY_STRING       $query_string;
 fastcgi_param  REQUEST_METHOD     $request_method;
 fastcgi_param  CONTENT_TYPE       $content_type;

Yapılandırma snippet'i /etc/nginx/snippets/fastcgi-php.conf

# regex to split $uri to $fastcgi_script_name and $fastcgi_path
fastcgi_split_path_info ^(.+\.php)(/.+)$;

# Check that the PHP script exists before passing it
try_files $fastcgi_script_name =404;

# Bypass the fact that try_files resets $fastcgi_path_info
# see: http://trac.nginx.org/nginx/ticket/321
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;

fastcgi_index index.php;
include fastcgi.conf;

3
Çok teşekkürler. Aynı problemim var. Pakette bu satırı içermemesi garip. Sadece / etc / nginx / fastcgi_params'a ekliyorum ve şimdi tekrar çalışıyor.
Bukashk0zzz

5

Aşağıdaki basit düzeltme, soketle ilgili olası izin sorunlarını atlayarak benim için çalıştı.

Nginx yapılandırmanızda fastcgi_pass öğesini şu şekilde ayarlayın:

fastcgi_pass   127.0.0.1:9000;

Onun yerine

fastcgi_pass   /var/run/php5-fpm.sock;

Bu, /etc/php5/fpm/pool.d/www.conf içindeki listen = parametresiyle eşleşmelidir, bu yüzden bunu şu şekilde de ayarlayın:

listen = 127.0.0.1:9000;

Sonra php5-fpm ve nginx'i yeniden başlatın

service php5-fpm restart

Ve

service nginx restart

Daha fazla bilgi için bkz. Https://wildlyinaccurate.com/solving-502-bad-gateway-with-nginx-php-fpm/


Bu bir tane alıp gidiyor olsa da, bir çorap sorununu çözmek için bir çözüm değildir.
Chris

5

Benim durumumda sorun, Nginx web sunucusunun kullanıcı nginx ve havuz kullanıcı www-veri olarak çalışıyor olmasıydı.

/etc/nginx/nginx.confNginx'in dosyada çalıştığı kullanıcıyı değiştirerek sorunu çözdüm (sisteminizde farklı olabilir, benimki Ubuntu 16.04.1)

Değişiklik: user nginx;

için: user www-data;

ardından Nginx'i yeniden başlatın: service nginx restart


4

Basit ama çalışıyor ..

listen.owner = nginx
listen.group = nginx

chown nginx:nginx /var/run/php-fpm/php-fpm.sock

Anladığım kadarıyla, bu yeniden başlatmadan kurtulamayacak, bu yüzden daha geçici bir düzeltme.
Chris

4

Amazon Linux AMI 2016.09 (Centos 7) ile ilgili aşağıdaki adımları uygulayarak da aynı sorunu çözdüm.

Www.conf dosyalarınızı açın (Örnek: sudo nano /etc/php-fpm.d/www.conf) Son olarak, listen.owner ve listen.group'u ayarlayan satırları bulun ve değerlerini "nobody" yerine "nginx olarak değiştirin ":

listen.owner = nginx
listen.group = nginx
listen.mode = 0666

Son olarak, kullanıcıyı ve grubu ayarlayan satırları bulun ve değerlerini "apache" yerine "nginx" olarak değiştirin:

user = nginx
group = nginx

Php-fpm'yi yeniden başlat (sudo service php-fpm restart)


2
666 yerine 660 kullanın. 666 güvensizdir ve bu yama ile giderilmiştir bugs.php.net/…
Xander

3

Buradaki en önemli şey, kullanıcının nginx kullanıyor olması ve onu belirtmeniz gerekiyor mu?

nginx.conf dosyasında

user www-data;
worker_processes  1;

        location / {
            root   /usr/home/user/public_html;
            index  index.php index.html index.htm;
        }
        location ~ [^/]\.php(/|$) {
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME    /usr/home/user/public_html$fastcgi_script_name;
            include fastcgi_params;
        }

www.conf'unuzda

listen.owner = www-data
listen.group = www-data
;listen.mode = 0660

sizin durumunuzda kullanıcı ve grup "www" dir, bu yüzden değiştirin.

  • nginx ve php fpm'yi yeniden başlat

2

Kullanıcı başına farklı havuzunuz varsa, yapılandırma dosyasında kullanıcı ve grubun doğru ayarlandığından emin olun. Nginx kullanıcısını /etc/nginx/nginx.conf dosyasında bulabilirsiniz. nginx grubu nginx kullanıcısı ile aynıdır.

user = [pool-user]
group = [pool-group]
listen.owner = [nginx-user]
listen.group = [nginx-group]

2

Ayrıca SELINUX'u (/ etc / selinux) kontrol edin:

# getenforce

kapatmak:

# setenforce 0

1
Bir şeyin işe yaraması için hiçbir zaman sistemin güvenliğini azaltmayı seçmemelisiniz, bunun yerine sorununuzu çözmek için diğer yanıtlardaki birçok seçenekten birini kullanmamalısınız. Selinux'u son derece iyi bir sebep olmadan devre dışı bırakmayın!
SlyDave

2

Benim durumumda php-fpm hiç çalışmıyordu, bu yüzden sadece hizmeti başlatmak zorunda kaldım.

service php7.3-fpm start
#on ubuntu 18.04

2

Sadece bkz /etc/php5/php-fpm.conf pid = /var/run/php5-fpm.pidIS PID dosyası

Dosyada /etc/php5/fpm/pool.d/www.conf

listen = /var/run/php5-fpm.sock IS SOCKET dosyası

eşit dinleme ( pid = /var/run/php5-fpm.sock and listen = /var/run/php5-fpm.sock) -> yanlış ayarları pid ve yerleşim bitirmek/etc/php5/fpm/pool.d/www.conf

user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

2

Benzer bir hatayla karşılaştım.

Tüm öneriler yardımcı olmadı.

Nginx ile değiştirilen tek www-verileri yardımcı oldu:

$ sudo chmod nginx:nginx /var/run/php/php7.2-fpm.sock

/var/www/php/fpm/pool.d/www.conf

user = nginx
group = nginx
...
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Hey @Alexander, Sahipleri nginx olarak değiştirmek için chown komutunu kullanmanız gerekiyor. Bu bana çok yardımcı oldu.
Pratik Ghela

1

Sadece CentOS'ta (ve muhtemelen Red Hat ve Fedora'da) izinleri değiştirmek için dosyayı şurada ekleyin:

/etc/php-fpm.d/www.conf


1

Ubuntu 14.04 lts'den Ubuntu 16.04 lts'ye yükselttikten sonra, daha önce görmediğim bu hata için başka bir neden buldum.

Yükseltme işlemi sırasında bir şekilde benim php5-fpm çalıştırılabilir tamamen kaybetmişti. Tüm yapılandırma dosyaları sağlamdı ve bunu fark etmem biraz zaman aldıservice php5-fpm start herhangi bir hata göstermediği için gerçekten bir işlem başlatmadığını .

Uyanış anım, /var/run/php5-fpm.sockolması gerektiği gibi hiçbir soket dosyasının olmadığını fark ettiğimde , netstat -anbu sorunu çözmeye çalışırken alternatif olarak denediğim bağlantı noktasını dinleyen süreçleri göstermedi. / Usr / sbin / php5-fpm dosyası da mevcut olmadığından, sonunda doğru yoldaydım.

Bu sorunu çözmek için php sürümünü 5.5'ten 7.0'a yükselttim. apt-get install php-fpmbir yan etki olarak hile yaptı. Bundan sonra ve diğer gerekli paketleri kurarak her şey normale döndü.


Ancak bu yükseltme çözümünün kendi sorunları olabilir . Php biraz geliştiğinden, yazılımın düşünülemez şekilde kırılması mümkündür. Bu nedenle, bu yolda ilerlememe rağmen, sevdiğiniz sürümü bir süre daha tutmak isteyebilirsiniz.

Neyse ki, Windows'u Özelleştir sitesinde açıklandığı gibi bunun için temiz bir yol var gibi görünüyor :

add-apt-repository ppa:ondrej/php
apt-get purge php5-common
apt-get update
apt-get install php5.6

Neater çözümü olabildiğince, bunu denemedim. Önümüzdeki birkaç gün bana sahip olup olmamam gerektiğini söyler.


0

En rahat sistemi almaya çalışırken sunucumdaki işletim sistemini birkaç kez değiştirdim.

Çoğu zaman çok iyi çalışırdı ama son olarak bu 502 Gateway hatasını aldım.

Herkes için aynı olanı tutmak yerine her hesap için bir php fpm soketi kullanıyorum. Biri çökerse, en azından diğer uygulamalar çalışmaya devam eder.

Ben kullanıcı ve grup www-veri vardı. Ama bu Debian 8'de en son Nginx 1.8 ve php5-fpm ile değişti.

Varsayılan kullanıcı nginx ve grup da öyle. Bundan emin olmak için en iyi yol / etc / group ve / etc / passwd dosyalarını kontrol etmektir. Bunlar yalan söyleyemez.

Orada şimdi hem nginx var ve artık www-veri buldum.

Belki bu, bazı insanların hala hata mesajının neden ortaya çıktığını bulmaya çalışmasına yardımcı olabilir.

Benim için çalıştı.


0

Bu konudaki her şeyi deneyen ve hala sıkışmış olanlara: Bu benim sorunumu çözdü. /Usr/local/nginx/conf/nginx.conf dosyasını güncelledim

  1. Hattın ifadesini kaldır user

  2. bunu yapmak www-datao olur böylece:user www-data;

  3. Kaydet (kök erişimi gerekir)

  4. Nginx'i yeniden başlat


0

Beyanlarınız varsa

pid = /run/php-fpm.pid

ve

dinle = /run/php-fpm.pid

farklı yapılandırma dosyalarında, kök bu dosyanın sahibi olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.