Lütfen anlayabilmek için kodlara bakıp geçmeyin bazen önemli notlar var. İlk başda kurulumlar ile başlıyalım daha sonra php-fpm işlevi ile devam edelim şimdi ilk önçe nginx kurulumunu gerçekleştirelim.

sudo su
root olalım daha sonra
apt-get install nginx
ile kurulumu bitirelim.

apache anlatımını daha sonra ileriki yazılarımızda ayrı olarak anlatımını gerçekleştiricem nginx seçmemin sebebi performans olarak daha iyi oluşundan sebebidir.

Şimdi ise php kurulumlarını gerçekleştirelim. Php sürümün hangisini desteklediğini öğrenmek zorundayız bunun için ise aşağıdaki kodu terminale yada puty den yazmanız yeterlidir.

php -v

Php kurulum için ise aşağıdaki gibidir.

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-fpm php7.0-common php7.0-gd php7.0-mysql php7.0-mcrypt php7.0-intl php7.0-xsl php7.0-mbstring php7.0-zip php7.0-bcmath php7.0-iconv

Daha sonra tekrardan php -v yazarak tam sürüm ne kurmuş öğrenebilirsiniz.

Kurulum için son olarak mysql kurulumunu gerçekleştirmek için aşağıdaki gibi kurulumu gerçekleştirmek gerekiyor.

apt-get install mysql-server

Genelde 5.7 sürümünü kurmaktadır. En azından şimdilik ve Kurarken aşağıdaki gibi bir görüntü karşınıza cıkarsa bu alan mysql root şifrenizi girmenizi istemektedir.

Aşağıdaki gibi tekrardan görüntü ile karşılaştığınızda tekrardan root için ikinçi kez aynı şifreyi girmek zorundasınız.

Daha önçe ftp paylaşımı ile ilgili bilgi paylaşmıştım şimdi kısadan hemen aşağıdaki yola bir ftp hesabı oluşturalım bir önçeki yazımda eğer hesap oluşturduysanız şimdi gerek yok oluşturmaya oluşturmadıysanız oluşturalım lazım olabilir.

sudo adduser ftpev -shell /bin/false -home /var/www/html

Daha sonra bir parola bir kaç bilgi yada bilgileri şifre hariç boş bıraka bilirsiniz. Şifre oluşturma kısmı gelmmediyse “passwd ftpev” ile şifre oluşturabilirsiiniz.. ftpev yerine siz kendi kullanıcı adınızı yazabilirsiniz. Şimdi ise yazma ve okuma için kullanıcıya izin verelim bunun içinse aşağıdaki adımları takip ediyoruz.

chown ftpev -R /var/www/html

passwd ftpev

Bir önçeki yazımızda ftp ile iigli vsftpd.conf dosyasında kullanıcıyı belirmiştik şimdi yine aşağıdaki gibi aynı alanın bir altına tekrardan uygulayalım.

nano /etc/vsftpd.conf

chown_uploads=YES
#chown_username=whoever
chown_username=ftppeynir
chown_username=ftpev
#chown_username=bilinmeyen hesap yada yeni hesap

Şimdi

Aynı şekilde sitemize adayacağımız bir kullanıcı açalım bir önçeki yazımızdaki gibi home klasörü içerinde oluçak. /var/www/html/ kısım ise iple tarayacağımıza bağlandığım bölüm olucak. Aşağıdaki adım ise sitemize bağlanırken kullanıcaz.

sudo adduser ftppeynir -shell /bin/false -home /home/peynir/

veya

useradd ftppeynir -d /home/peynir -s /bin/false

chown ftppeynir -R /home/peynir

yada, açıklamsını yine biir önçeki sayfamısda yazımızda yazmıştık.

chown ftppeynir:www-data -R /home/peynir

Şimdi

service vsftpd restart

Şuana kadaar nginx, php ve mysql kurulumunu gerçekleştirdik yapmamız gereken biraz daha yol katletcez. Daha sonra bir ftp hesabı açtık ve bunu vsftpd.conf dosyasına kullanıcıyı tanımladık.

Artık daha işimiz bitmedi yazı birazdaha uzuyacak gibime geliyor neyse devam edelim.

Nginx php-fpm tanımlatcaz yani php de fpm kullancaz. Bunun için aşağıdaki adımları takip edin.

nano /etc/nginx/sites-enabled/default

İçerisine

server {
listen 8083 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
#location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
#}
autoindex on;
autoindex_exact_size off;
charset UTF-8;
location / {
#autoindex on;
try_files $uri $uri/ /phpMyAdmin/index.php?$args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_pass unix:/run/php/php7.0-fpm-local.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
access_log /var/log/nginx/local-access.log;
error_log /var/log/nginx/local-error.log;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
# fastcgi_pass unix:/run/php/php7.0-fpm.sock;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

Yukarıdakileri default dosyasındaki alanı karşılaştırarak düzenleyiniz. Ben ipi phpmyadmin için kullanacağım için phpmyadmin olarak location kısmı girdim isterseniz siz bu alan ile oynayabilirsiniz.

cd /etc/php/7.0/fpm/pool.d/

ls

cp www.conf local.conf

nano local.conf

ls

nano local.conf

[www]

ile

[local]

değiştiriniz veya kendiniz kısa bir isim adayabilirsiniz mecburi değil ama değiştiriniz çünkü çakısacaktır.

daha sonra

user = www-data
group = www-data

ile

user = ftpev
group = www-data

değiştiriniz.

listen = /run/php/php7.0-fpm.sock

ile

listen = /run/php/php7.0-fpm-local.sock

değiştiriniz ve kaydedip cıkın.

Bu alanda yapcak birşey yok artık ve nginx default dosyasına geri dönüyoruz.

Şimdi ise

nano /etc/nginx/sites-enabled/default

açın ve aşağıdakini;

bul ve

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

alttaki ile değiştiriniz.

fastcgi_pass unix:/run/php/php7.0-fpm-local.sock;

şimdi ise domaim alanımızı tanımlayalım. Biliyorsunuz alan adımızın alt alan olarak işleme koyacaktık. Çünkü başka alan adım yok olduğu zaman yada elime geçtiği zamaman alan adlıda anlatımı gerçekleştircem.

Alttaki açalım ve en altına yapıştırınız. Kendiinize göre düzenlemeyi unutmayın.

nano -c /etc/nginx/sites-enabled/default

daha sonra en altına yapıştırın. Hatırlarsanız ftppeynir adında bir kullanıcı acmıştık şimdi bu kullanıcı adını aşağıda yani web sitemiz için kullanıcaz. Kodlarıda aşağıdaki gibidir bu kodları nginx içinde bulunan default kısmının nano veya herhangi birşeyle açıp en alta yapıştırıyoruz.

server {
listen 80;
root /home/peynir/public_html;
index index.html index.htm index.php;
server_name peynir.biryoo.com;
client_max_body_size 500M;
location / {
autoindex on;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm-peynir.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
access_log /var/log/nginx/peynir-access.log;
error_log /var/log/nginx/peynir-error.log;
}

şimdi ise root /home/peynir/ klasörüne bir kullnaıcı açmıştık bu klöasürüne değilde birde nginx public_html klasörü içerisine görecek. Birde fastcgi ayarlayalım ve

cd /etc/php/7.0/fpm/pool.d/

cp local.conf peynir.conf

daha sonra

nano peynir.conf

[peynir]

user = ftppeynir
group = www-data

listten = /run/php/php7.0-fpm-peynir.sock

tekrardan açalım ve fascgi kısmını yukarıdaki gibi düzenleyelim. listten kısmı. birde ftptpeynir kısmı kullanıcı acmanız gerekiyor kullanıcı acmayı göstermiştik ayrıca kullaıcıyı örnek /home/peynir/ vb.. gibi acınız ve buradan ise public_html olarak ekleyiniz.


location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm-peynir.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

son olarak sitenizin test durumu

Bu Sayfa İçin Etiketler ?

Bir Yorum Yazın







XHTML: Bu etiketleri kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>