lostyazilim
tr.link

Centos 7 Panelsiz Nginx MariaDB ve Bind Server kurulumu ile Virtual Host yapılandırması

25 Mesajlar 6.634 Okunma
acebozum
tr.link

AKDNZ AKDNZ #Sunucu Kurulumu Kullanıcı
  • Üyelik 28.06.2014
  • Yaş/Cinsiyet 35 / E
  • Meslek Ağ Yöneticisi
  • Konum Azerbeycan
  • Ad Soyad A** A**
  • Mesajlar 1668
  • Beğeniler 645 / 524
  • Ticaret 51, (%100)



Merhaba arkadaşlar, bu konuda fazlasıyla istek aldığım için bir anlatım yapmaya karar verdim. Sözü fazla uzatmadan işe koyulalım.

Adım 1: Centos 7 özelliklede MariaDB biraz fazla kaynak gerektirdiği için 512mb ram bu sunucu için yeterli olmayacaktır. En az 1gb ram olması gerekli. İlaveten oluşturacağınız sunucunun hostname kısmı FQDN: Fully qualified domain name olmalı, örneğin; s1.internetin.org



NGINX KURULUMU

Adım 2: Putty Terminal yardımıyla sunucumuza ssh bağlanıyoruz. Ve aşağıdaki komutu uyguluyoruz.

nano /etc/hosts



Açılan ekranda aşağıdaki resimdeki gibi ipmizi ve hostname i ekliyoruz ve ctrl+x >Y>enter komutunu uygulayarak kayıt edip çıkıyoruz.



Adım 3: Bu aşamada aşağıdaki kodu uygulayarak sunucuyu güncelleyelim.

yum -y update



Adım 4: Güncelleme işlemimiz tamamlandı. Centos 7 içerisinde Nginx kütüphanesi mevcut olmadığı için biz bunu manuel olarak ekleyeceğiz. Aşağıda komutları sırasıyla uygulayalım.

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm



yum install nginx -y



Nginxi kurduk şimdi aşağıdaki komutla başlatalım ve diğeriyle sunucu başlatıldığında otomatik başlamasını sağlayalım.

systemctl start nginx.service

systemctl enable nginx.service



Artık nginx sunucumuzda çalışır durumda ipmizi adres çubuğuna yazarak kontrol edelim.



Aşağıdaki kodu uygulayarak kurmuş olduğunuz nginx versiyonunu görebilirsiniz. Biz Stabil olan son versiyonu yükledik.



nginx -v

PHP5-FPM KURULUMU

Adım 5: Normalde aşağıdaki komutla php-fpm yi basit bir biçimde kurabiliriz.

yum install php php-mysql php-fpm

yada gelişmiş olarak modüllerle kurabilirsiniz.

yum install php php-fpm php-common php-cli php-devel php-gd php-imap php-intl php-mysql php-process php-xml php-xmlrpc php-zts -y

Ancak biz şuanda en son sürüm olan PHP 5.6.4 ü kuracağımız için ufak bir kaç işlem yapmamız gerekiyor. Aşağıdaki komutları sırasıyla uyguluyoruz.

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7*.rpm epel-release-7*.rpm



Epel ve remiyi sistemimize işledikten sonra aşağıdaki komutu uygulayalım.

nano /etc/yum.repos.d/remi.repo

[remi-php56] kısmına iniyoruz.(Aşağı inmek için ctrl+v komutunu uygulayabilirsiniz.) enable:0 ı enable:1 olarak değiştirip ctrl+x>Y>enter komutunu uygulayarak kayıt edip çıkıyoruz.

Önemli:Bazı sunucularda kurulum hata veriyor, bu yüzden [remi] satırındaki enable değerinide 0dan 1 e çevirin ve öyle kayıt edin.



Artık PHP yi yükleme komutunu uygulayabiliriz.
yum install php php-mysql php-fpm -y



PHP-FPM yi yükledik aşağıdaki komutu uygulayarak versionumuzu kontrol edelim

php -v



Adım 6: Sunucumuz için gerekli PHP-FPM ayarlarını yapalım, aşağıdaki komutu uygulayalım ve cgi.fix değerini aktif hale getirerek 0 değeri verelim.

nano /etc/php.ini

CTRL+W komutunu uygulayarak arama satırını açalım ve “cgi.fix_pathinfo” yazarak enterlayalım.



CTRL+X>Y>ENTER uygulayarak kayıt edip çıkıyoruz ve hemen akabinde aşağıdaki komutu uyguluyoruz.

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

CTRL+W komutunu uygulayarak “user = apache” kelimesini arayalım.

Öncesi:



listen = /var/run/php-fpm/php-fpm.sock

Sonrası:



PHP-FPM ayarlarımız tamam artık başlatabiliriz aşağıdaki komutları uygulayalım.

systemctl start php-fpm
systemctl enable php-fpm.service



NGINX AYARLARI

Adım 7: Aşağıdaki komutu uygulayarak default.conf dosyasımızı açalım.

nano /etc/nginx/conf.d/default.conf

Öncesi:



Sonrası:



Değiştirilenler.

1
server_name internetin.org;

2
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;


3
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}


Adım 8: NGİNX servisini yeniden başlatarak NGİNX ve PHP-FPM yi test edelim.

systemctl restart nginx.service

echo "" > /usr/share/nginx/html/info.php



Nginx in ve PHP-FPM nin çalışıp çalışmadığına bakalım.



MariaDB KURULUM

Adım 9: Kurulum için aşağıdaki komutu uygulayalım.

yum install mariadb-server mariadb -y



Adım 10: Veritabanı sistemini başlatalım ve otomatik başlaması için komutumuzu uygulayalım.

systemctl start mariadb.service
systemctl enable mariadb.service

Adım 11: Şimdi MariaDB yapılandırmamıza geçelim.

mysql_secure_installation



Sırasıyla Enter, Y Enter (2 kere şifre girmemiz gerekiyor veritabanı serveri şifremiz bu olacak) ve sonrasında da tüm uyarılara Y Enter diyerek yapılandırmayı tamamlayalım.



Adım 12: Veritabanı sunucumuza aşağıdaki komut yardımıyla bağlanacağız. Yapılandırma sırasında belirlediğimiz şifreyi gireceğiz. ( Daha sonra buraya veritabanı oluşturmak için tekrar döneceğiz.)

mysql -u root -p



VirtualHost Yapılandırması

Adım 13: Sitelerimizi barındıracağımız fiziki dosya alanını oluştup gerekli yetkilendirmeleri yapacağız.

mkdir -p /home/internet/public_html
mkdir /home/internet/logs
chown -R nginx:nginx /home/internet
chown -R nginx:nginx /home/internet/public_html

Adım 14: Virtual Host dosyalarımız için gerekli alanı oluşturalım.

mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled



Adım 15: Bu aşamada nginx.conf dosyamızın içerisine virtual host dosyalarımızın bulunduğu yeri include edeceğiz.

nano /etc/nginx/nginx.conf

Aşağıdaki kodu ekleyeceğiz. Resimlere bknz.

include /etc/nginx/sites-enabled/*;

Öncesi



Sonrası



Adım 16: Artık sitelerimizi ekleyebiliriz, bunun için her sitemiz için ayrı ayrı .conf dosyası oluşturmanızı tavsiye ederim, tek bir conf dosyasında da tüm sitelerinizi toplayabilirsiniz bu sizin kendi seçiminiz.

nano /etc/nginx/sites-available/internetin.org.conf



server {
server_name internetin.orgwww.internetin.org ;
listen 80;
root /home/internet/public_html;
access_log /home/internet/internetin.org-access.log;
error_log /home/internet/logs/internetin.org-error.log;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
access_log off;
expires max;
}
location ~ /\.ht {
deny all;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}


Aşağıdaki kodları kendinize göre düzenleyerek uygulayın.

cd /etc/nginx/sites-enabled/

ln -s /etc/nginx/sites-available/internetin.org.conf

Evet sitemiz için virtual host dosyamızı oluşturup olması gereken yere taşıdık herşey hazır derken bind(dns) serveri kurmayı unuttuğumu farkettim son olarakta onu kuracağız ve sunucumuzu aktif olarak kullanmaya başlayacağız.

Adım 17:
Nginxi yeniden başlatıyoruz.

systemctl restart nginx.service

BİND SERVER KURULUM

Bind server çalışmazsa bu linke bknz: http://www.o12.org/bind-dns-server-nasil-kurulur.html
Adım 18: Sunucuyu tekrar update edelim
yum update -y

Adım 19: Bind için gerekli dosyaları yükleyelim
yum install bind bind-utils -y

Adım 20: Bind(named) config dosyasını editlemek üzere açıyoruz.)
nano -w /etc/named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
#listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
allow-transfer { localhost; 2.2.2.2; };

/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion no;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "internetin.org" IN {
type master;
file "internetin.org.zone";
allow-update { none; };
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";


Öncesi:



Sonrası:



Aşağı doğru ctrl v ile iniyoruz ve zone dosyamızla alakalı düzenlemeleri yapıyoruz.

Öncesi:



Sonrası:



ctrl x + y + enter yapıyoruz kayıt edip çıkıyoruz.

Adım 21: Sitemiz için zone kaydını oluşturalım.

nano -w /var/named/internetin.org.zone

Örnek Zone.

$TTL 86400
@ IN SOA ns1.internetin.org. info@internetin.org. (
2013042201 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
; Specify our two nameservers
IN NS ns1.internetin.org.
IN NS ns2.internetin.org.
; Resolve nameserver hostnames to IP, replace with your two droplet IP addresses.
ns1 IN A 188.166.50.93
ns2 IN A 188.166.50.93

; Define hostname -> IP pairs which you wish to resolve
@ IN A 188.166.50.93
www IN A 188.166.50.93


Adım 22: Bind Serverimizi Başlatalım, aşağıdaki kodları sırasıyla uygulayalım. İlk denediğiniz zaman çalışmayabilir 10 15 saniye cevap vermezse. Ctrl c yaparak durdurun ve aynı kodu yeniden kullanın bende 3. seferde çalıştı.

systemctl restart named.service
systemctl enable named.service
systemctl status named.service



Serverimizi doğru yapılandırıp yapılandırmadığımızı kontrol edelim.
dig @178.62.60.85 internetin.org





Bind (DNS) serverimizde sorunsuz çalıştığına göre domain panelinden ns leri girerek domaini sunucumuza bağlayabiliriz. Ben bu işlemi yaptım dnslerin yönlenip yönlenmediğini aşağıdaki siteler yardımıyla öğrenebiliriz.

https://www.whatsmydns.net/#A/www.internetin.org
http://www.intodns.com/internetin.org



Diyeceksiniz birde nasıl veritabanı oluşturacağımızı göstersen ellerine sağlık, hemen onuda gösterip bi wordpress kuralım internetin.org ‘ a.

SSH bağlantımıza dönerek aşağıdaki komutu uygulayalım ve veritabanı serverini kurarken kullandığımız şifreyi girelim.

mysql -u root -p

Aşağıdaki vereceğim kodları kendinize göre ayarlayın.

CREATE DATABASE internetin_org;
CREATE USER 'internetin_user'@'localhost' IDENTIFIED BY 'sivasspor';
GRANT ALL ON internetin_org.* TO 'internetin_user'@'localhost';
FLUSH PRIVILEGES;
exit



İşlemler bu kadar.

Şimdi ftpye 22 portundan bağlanalım ve wordpress dosyalarımızı gönderelim.



Evet veritabanımızı oluşturduk, dosyalarımızı 22 portuyla bağlanarak gönderdik e ne duruyoruz? Hadi wordpresside kuralım.







Son olarak eğer kurulumdan sonra WordPress Panelinden ftp ile ilgili sorun yaşarsanız aşağıdaki ekranla karşılaşmamak için (çünkü ftp serveri kurmadık) sitemizin dosyalarının bulunduğu yere yetkilendirme yapacağız ki bu ekran gelmesin.



chown -R nginx:nginx /home/internet/public_html

Bu yetkilendirmeyi yaptıktan sonra güncelleme ve yüklemeleri wp admin panelinden sorunsuz yapabilirsiniz.



Panelsiz saat gibi çalışan sunucumuz ve ekleyeceğimiz siteler şimdiden hayırlı olsun.





Yoğun isteğinize cevapsız kalamadım bu yazıyı hazırlamak tam 5-6 saatimi aldı. Bunu göz önünde tutarak emeğe saygı çerçevesinde yazılarımı kopyalamayın lütfen. Buraya bile konuyu taşımak 30 dakikadan fazla süremi aldı.

Makale Linki:http://www.o12.org/centos-7-panelsiz-nginx-mariadb-ve-bind-server-kurulumu-ile-virtual-host-yapilandirmasi.html

eppursimuove MehmetTURK Doruk

kişi bu mesajı beğendi.

wmaraci
reklam

TuralAbiyev TuralAbiyev root@localhost ~ / Kullanıcı
  • Üyelik 17.06.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Network & Linux/UNIX
  • Konum Rusya
  • Ad Soyad T** A**
  • Mesajlar 4146
  • Beğeniler 0 / 1357
  • Ticaret 89, (%100)
Yine çok yararlı bir konu paylaşmışsın. Hemde en küçük detaylarıyla. Herkes sunucu alcak bu konudan sonra :)
AKDNZ

kişi bu mesajı beğendi.

AKDNZ AKDNZ #Sunucu Kurulumu Kullanıcı
  • Üyelik 28.06.2014
  • Yaş/Cinsiyet 35 / E
  • Meslek Ağ Yöneticisi
  • Konum Azerbeycan
  • Ad Soyad A** A**
  • Mesajlar 1668
  • Beğeniler 645 / 524
  • Ticaret 51, (%100)
Birşeyler öğrenilmesine vesile olabiliyorsak ne mutlu bizlere, bana.
 

 

eppursimuove eppursimuove WM Aracı Kullanıcı
  • Üyelik 26.04.2012
  • Yaş/Cinsiyet 32 / E
  • Meslek Öğrenci
  • Konum Eskişehir
  • Ad Soyad B** Ü**
  • Mesajlar 166
  • Beğeniler 119 / 26
  • Ticaret 14, (%100)
Uzun zamandır panelsiz VPS rehberini bekliyordum. Panelsiz VPS'te daha az kaynak tüketimi oluyor diye biliyordum. Bu yapılandırmaya özel bir durum mu var yoksa genel olarak mı durum böyle?
 

 

wmaraci
wmaraci

AKDNZ AKDNZ #Sunucu Kurulumu Kullanıcı
  • Üyelik 28.06.2014
  • Yaş/Cinsiyet 35 / E
  • Meslek Ağ Yöneticisi
  • Konum Azerbeycan
  • Ad Soyad A** A**
  • Mesajlar 1668
  • Beğeniler 645 / 524
  • Ticaret 51, (%100)
Panelin tükettiği kaynağı boşa çıkarmış olursunuz. fakat Ben Centos 7 için anlattım ve 1 gb dahi az geliyor mariadbden dolayı 2 gb ramli bir sunucuya panelsiz kurulum yapılırsa çok verimli olur.
eppursimuove

kişi bu mesajı beğendi.

eppursimuove eppursimuove WM Aracı Kullanıcı
  • Üyelik 26.04.2012
  • Yaş/Cinsiyet 32 / E
  • Meslek Öğrenci
  • Konum Eskişehir
  • Ad Soyad B** Ü**
  • Mesajlar 166
  • Beğeniler 119 / 26
  • Ticaret 14, (%100)

AKDNZ adlı üyeden alıntı

Panelin tükettiği kaynağı boşa çıkarmış olursunuz. fakat Ben Centos 7 için anlattım ve 1 gb dahi az geliyor mariadbden dolayı 2 gb ramli bir sunucuya panelsiz kurulum yapılırsa çok verimli olur.


Benim sitelerim için bu yapılandırma 3 kat daha fazla VPS masrafı çıkaracak, o yüzden Webuzo ile devam edeceğim ancak yine de bu yapılandırmayı test edeceğim. Heyecanlandım, rehber için teşekkürler!
 

 

AKDNZ AKDNZ #Sunucu Kurulumu Kullanıcı
  • Üyelik 28.06.2014
  • Yaş/Cinsiyet 35 / E
  • Meslek Ağ Yöneticisi
  • Konum Azerbeycan
  • Ad Soyad A** A**
  • Mesajlar 1668
  • Beğeniler 645 / 524
  • Ticaret 51, (%100)

eppursimuove adlı üyeden alıntı

Benim sitelerim için bu yapılandırma 3 kat daha fazla VPS masrafı çıkaracak, o yüzden Webuzo ile devam edeceğim ancak yine de bu yapılandırmayı test edeceğim. Heyecanlandım, rehber için teşekkürler!


aynen centos 6.5 32 bit ile webuzo kullanmak daha mantıklı, kaynak tüketimi çok makul ama hız ve stabillik diyorsanız, ve site sayınız fazlaysa panelsiz kullanım candır.
eppursimuove

kişi bu mesajı beğendi.

sorueki sorueki WM Aracı Kullanıcı
  • Üyelik 18.07.2014
  • Yaş/Cinsiyet 47 / E
  • Meslek Memur
  • Konum Mardin
  • Ad Soyad S** i**
  • Mesajlar 1977
  • Beğeniler 639 / 720
  • Ticaret 3, (%100)
MediaWiki için bazı modüller centos'a uygun olsaydı (Lua gibi) bende kurardım. Fakat uygun yazılım sıkıntısı yaşandığından dolayı, MediaWiki kuracaklara önermiyorum. Buda benim konuya bir katkım olmuş olsun. Ellerinize, kollarınıza sağlık, pek çok yerde bulunmayan bir konuyu Türkçe düzenleyerek katkıda bulunmuşsunuz. Tebrik ediyorum.

Bende bir ara Vesta panel kurulumunu anlatayım bari :)

Edit: Centos için Lua artık var.
eppursimuove

kişi bu mesajı beğendi.

Durgun sular derin akar.

AKDNZ AKDNZ #Sunucu Kurulumu Kullanıcı
  • Üyelik 28.06.2014
  • Yaş/Cinsiyet 35 / E
  • Meslek Ağ Yöneticisi
  • Konum Azerbeycan
  • Ad Soyad A** A**
  • Mesajlar 1668
  • Beğeniler 645 / 524
  • Ticaret 51, (%100)

bilgive adlı üyeden alıntı

MediaWiki için bazı modüller centos'a uygun olsaydı (Lua gibi) bende kurardım. Fakat uygun yazılım sıkıntısı yaşandığından dolayı, MediaWiki kuracaklara önermiyorum. Buda benim konuya bir katkım olmuş olsun. Ellerinize, kollarınıza sağlık, pek çok yerde bulunmayan bir konuyu Türkçe'ye düzenleyerek katkıda bulunmuşsunuz. Tebrik ediyorum.

Bende bir ara Vesta panel kurulumunu anlatayım bari :)


Teşekkür ederim ama Türkçeye çevirmedim, bir yerden alıntıda yapmadım, sıfırdan Türkçe olarak yazdım.
sorueki

kişi bu mesajı beğendi.

sorueki sorueki WM Aracı Kullanıcı
  • Üyelik 18.07.2014
  • Yaş/Cinsiyet 47 / E
  • Meslek Memur
  • Konum Mardin
  • Ad Soyad S** i**
  • Mesajlar 1977
  • Beğeniler 639 / 720
  • Ticaret 3, (%100)

AKDNZ adlı üyeden alıntı

Teşekkür ederim ama Türkçeye çevirmedim, bir yerden alıntıda yapmadım, sıfırdan Türkçe olarak yazdım.


Zaten hatamı düzelttim siz yazmadan önce ;)
AKDNZ

kişi bu mesajı beğendi.

Durgun sular derin akar.
wmaraci
wmaraci
Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al