Centos Static Route Ekleme

Centos’ta statik route ekleme işi biraz farklı yapılıyor. network cihazı içine yazılabileceği gibi route-eth0 gibi arabirime ait bir dosyada yazarakta oluyor.  Bence güzel olmuş, daha derli toplu görünüyor. arabirimin config doyasını bozmadan hariç bir doyada yapmak daha mantıklı.
Centos tarzı sistemi pek kullanmadığımdan şurada dursun.

Sistem neden lazım oldu? Elastix ile kurduğumuz santral sisteminde ses operatoru olarak Vodafone kullanmaya başladık. 5Mbit Metro tanımlandı ve 30’lu blok ip verdiler. Normalde arabirim olarak ekleyip geçtim ve route o tarafa yazdım. Ancak ping süreleri inanılmazdı. Onun için Default gw Vodafone olarak verdim. İçerikideki VLAN’lar ve şubelerin networkleri için route yazınca ping time stabil olarak devam etti.  Voip işinde ping zamanı en önemli kıstas malum.

Gelelim ayarlara;

Benim iç networke bakan arabirimim adresi şu şekilde;

IP:              10.10.10.75
Subnet:      255.255.255.0
Ağ Geçidi: 10.10.10.1

Ağ ile ilgili betiklerin olduğu dizine giriyoruz.

cd /etc/sysconfig/network-scripts/

Ben mc kullanıyorum. Vi veya nano veya pico ilede aynı işlemi yapabilirsiniz.

mcedit route-eth0

Burada dikkat etmemiz gereken şey, her route için sonraki rakamları değiştirmek. Static Route tanımlamak için ihtiyacımız olan 3 şeyi grup olarak yazacağız. IP Adres/Blok, Subnet, Ağ geçidi.

#Yerel Ağ
ADDRESS0=172.16.0.0
NETMASK0=255.255.254.0
GATEWAY0=10.10.10.1
#Telefon VLAN
ADDRESS1=10.0.20.0
NETMASK1=255.255.255.0
GATEWAY1=10.10.10.1
#Diğer Öperator
ADDRESS2=78.40.229.150
NETMASK2=255.255.255.255
GATEWAY2=10.10.10.1
#Şube Subnet
ADDRESS3=10.100.0.0
NETMASK3=255.255.0.0
GATEWAY3=10.10.10.1

dosyamızı kaydedip çıktıktan sonra network servisimizi yeniliyoruz.

systemctl restart network

Yönlendirmelerimizi görmek için route -n komutunu kullanıyoruz.

[[email protected] network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.183.XXX.XXX  0.0.0.0         UG    0      0        0 eth1
10.10.10.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0
10.0.20.0       10.10.10.1      255.255.255.0   UG    0      0        0 eth0
10.183.XXX.XXX  0.0.0.0         255.255.255.252 U     0      0        0 eth1
78.40.229.150   10.10.10.1      255.255.255.255 UGH   0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.0.0      10.10.10.1      255.255.252.0   UG    0      0        0 eth0
10.100.0.0     10.10.10.1      255.255.0.0     UG    0      0        0 eth0

Ubuntu 18.04 Mouse Kaydırma

Ubuntu 18.04 LTS sürümü bu ay içinde çıkıyor. Görsellik olarak yenilikleri güzel. Kernel’deki çok eski cihazlar için gereken kodların temizlenmesi ile daha da hızlanmış. Yaklaşık 500bin satır kernel satırı temizlendiği rapor edildi.

Beta sürümünde denemelerde mouse yuvarlamasının ters olarak ayarlandığını fark edeceksiniz. Alışkanlık olarak bana zor geldiği için eski tarza çevirmek için aşağıda komutu çalıştırmanız yeterli.

gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll true

Phpstrom Bitbucket Plugin

Phpstrom  her kurduğumda çalışan eklenti bulmak problem oluyordu. Phpstrom bitbucket plugin yüklemek için uğraşırsınız ancak her seferinde uyumsuz eklenti hatası alırsınız. Aradım taradım ve aşağıdaki çalışan halini buldum.

Her seferinde google amcanın ve phpstrom sitesindeki eklenti patlıyor. Aşağıdaki linkteki jetbrains-bitbucket-connector_IC-139.224.zip dosya çalışan halidir.

https://bitbucket.org/dmitry_cherkas/jetbrains-bitbucket-connector/downloads

Nginx www yönlendirme

Mevcut domain ayar dosyasının içine girerek server{ ile başlayan kısmın üstüne gelecek şekilde aşağıdaki örnek gibi yapacağız. Böylelikle linuxuzmani.com ve www.linuxuzmani.com için ayrı ayrı ayar okuyacak. 301 ile geldiği linkide ekleyerek www.linuxuzmani.com a yönlendiriyor.

server {
listen 80;
server_name linuxuzmani.com;
return 301 http://www.linuxuzmani.com$request_uri;
}

Linux İnternet Paylaşımı

Bir notebook veya çift ethernetli bir pc ile bağlantınızı paylaştırabilirsiniz. Tek ethernet ilede paylaştırılır ancak bu işin mantığına ters.
Wifi üzerinden bir ağa bağlısınız ve lokale ethernet üzerinden internet dağıtacaksınız!

Bilgisayarlar -> Switch -> Sizin Bilgisayarınız -> Wifi -)) ->Modem->Internet

Wifi ile bağlandıktan sonra iki işlemle dağıtım yapılabilir.
ifconfig -a ile ağ aygıtlarının isimlerini öğrenebilirsiniz.Değişiklik gösterebilir.
Terminal ekranında root yetkisi veya sudo ile işlemleri yapabilirsiniz. Ben root olarak yapacağım.

Varolan iptables (firewall rules) kurallarını siliyoruz. Daha sonra çıkış yapılacak (WLAN) portu maskeleme (MASQUERADE) işlemi yapacağız.

Ardından paket geçişlerine kernel ayarlarından izin vereceğiz.

Bundan sonrada internet kullanıma hazır.

Root olalım.

sudo -s

Aygıt isimlerini görelim.

ifconfig -a

enp0s25   Link encap:Ethernet  HWaddr 22:01:00:00:00:00 
          inet addr:10.0.16.1  Bcast:10.0.16.255  Mask:255.255.255.0
          inet6 addr: fe80::345b:790a:fc16:ae86/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:80234 errors:0 dropped:0 overruns:0 frame:0
          TX packets:135959 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:9252198 (9.2 MB)  TX bytes:174026833 (174.0 MB)
          Interrupt:20 Hafıza:f0600000-f0620000

wlp2s0    Link encap:Ethernet  HWaddr 66:77:88:a7:3f:6e 
          inet addr:192.168.1.43  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::4bcd:cf31:c389:d025/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:474566 errors:0 dropped:0 overruns:0 frame:0
          TX packets:281307 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:575242613 (575.2 MB)  TX bytes:43071000 (43.0 MB)

Benim dizüstü bilgisayarımda enp0s25 isimli aygıt kablolu wlp2s0 isimli aygıt kablosuz network aygıtıdır.  Sizde bunlar değişebilir. eth0 wlan0 gibi isimlerde alabilirler.

Ip tablolarını temizliyoruz. Daha önce yazılan kural varsa paket geçişi olmaz.

iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

Maskeleme (MASQ) işlemi ve paket geçiş izin kuralını yazıyoruz.


iptables -t nat -A POSTROUTING -s 10.0.16.0/24 -o wlp2s0 -j MASQUERADE
iptables -A FORWARD -s 10.0.16.0/24 -o wlp2s0 -j ACCEPT

iptables -A FORWARD -d 10.0.16.0/24 -m state –state ESTABLISHED,RELATED -i wlp2s0 -j ACCEPT

ip paket geçişi için sistem geçiş tanımlaması yapıyoruz.

echo 1 /proc/sys/net/ipv4/ip_forward

İnternet çıkışımızı sağlamış oluyoruz.

Centos Web Panel Installation Error

Centos için yazılımış Web hosting yönetim panelini kurarken aşağıdaki hatayla karşılabilirsiniz. Kurulumda seçmiş olduğunu lokasyon ile alakalı. Çözümü çok basit. locate değerini amerika diline çevirmeniz yeterli.


export LANG=en_US.UTF-8

Aldığınız hata aşağıda gibidir.

Generating phar.php
Generating phar.phar

Parse error: syntax error, unexpected ‘/’, expecting ‘)’ in /tmp/php-build/php-5.4.45/ext/phar/phar.php on line 20
make: *** [ext/phar/phar.phar] Hata 255
Generating phar.phar

Parse error: syntax error, unexpected ‘/’, expecting ‘)’ in /tmp/php-build/php-5.4.45/ext/phar/phar.php on line 20
make: *** [ext/phar/phar.phar] Hata 255
cp: normal dosya `/usr/local/php/php.ini’ oluşturulamadı: Böyle bir dosya ya da dizin yok
httpd: Could not reliably determine the server’s fully qualified domain name, using server.domain.com for ServerName
httpd not running, trying to start

Compiler requires 8196 MB RAM + SWAP
Installation FAILED at php
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
113 792 113 792 0 0 4512 0 –:–:– –:–:– –:–:– 11314
sh: line 46: /usr/local/bin/php: Böyle bir dosya ya da dizin yok
grep: /etc/init.d/httpd: Böyle bir dosya ya da dizin yok
Array
(
[operation] => upload
)

Yeni Laravel Projem – Ruya Tabiri Sitesi

Laravel ile 3. proje rüya tabirleri sitesi yaptım. Laravel pagination ile sayfalama işlemleri becerimi geliştirdim. Kategori yönetimi, SQL index ve performans tuning üzerine yoğunlaştım. Alt yapısı ile güncel php7.0 kullanılarak yaptığım rüya tabiri sitesi Turkshare üzerinden yayında. 

Rüya tabiri nasıl yapılır, rüyalar nasıl yorumlanmalıdır sorularının cevaplarınında yer aldığı ruya-tabirleri.turkshare.com sitemi ziyaret edebilirsiniz.

Almanca olarakta Traumdeutung ve  der Träume traumdeutung.turkshare.com
olarak açtık. İçeriğini girmeye başladık. Traumdeutung ve  der Träume aramalarına karşılık hizmet verebiliyoruz.

Nginx Spam Site Engelleme (Referrer)

Apache sunucularda .htaccess ile engellen spam referans spam siteler var. Bunlar sitenizin ziyaretçi profilini arama motorları karşısında eksi puanlar aldırıyor. Hemen çıkma oranları %100 olduğundan SEO bozuluyor.

Referer Spam Blocking, Blacklist Referer Spam Bots, Nginx spam engelleme, Nginx referral engelleme olarakta aranılan bu olayı engellemek Nginx sunucumuzdaki çok kolay.

referans olarak gelmesini istemediğimiz domainleri tanımlıyoruz ve bir değişkene atıyoruz. Nginx domain conf dosyası içerisinde yazıyoruz. Nginx yeniden başlattık mı tamamdır. 

3. paragfataki siteler benim uzun zamandır hazırladığım spam siteler.


if ($http_referer ~ “(buttons-for-website.com|darodar.com|econom.co|ilovevitaly.co|kambasoft.com|lumb.co|7makemoneyonline.com|ranksonic.info|savetubevideo.info|see-your-website-here.com|semalt.com|priceg.com|srecorder.com|descargar-musica-gratis.net|54.186.60.77|lomb.co|keywords-monitoring-your-success.com)”) {
set $prohibited “1”;
}
if ($http_referer ~ “(medispainstitute|sq01|alienpayday|artobox|axisalternativementalhealthsharebutton.net|torontoplumbinggroup.com|tasteidea.com|paparazzistudios.com.au|76brighton.co.uk|powitania.pl|ilovevitaly.ru|ilovevitaly.com|blackhatworth.com|hulfingtonpost.com)”) {
set $prohibited “1”;
}
if ($http_referer ~ “(cenoval.ru|bestwebsitesawards.com|howtostopreferralspam.eu|guardlink.org|websites-reviews.com|darodar.com|priceg.com|7makemoneyonline.com|buttons-for-website.com|ilovevitaly.com|blackhatworth.com|econom.co|iskalko.ru|lomb.co|lombia.co|hulfingtonpost.com|cenoval.ru|bestwebsitesawards.com|oo-6-oo.com|humanorightswatch.org|forum20.smailik.org|myftpupload.com|prodvigator.ua|best-seo-solution.com|buttons-for-your-website.com|buy-cheap-online.info|offers.bycontext.com|website-errors-scanner.com|webmaster-traffic.com|guardlink.org|erot.co|googlsucks.com|simple-share-buttons.com|sharebutton.org|s.click.aliexpress.com|social-buttons.com|anticrawler.org|adcash.com|adviceforum.info|anticrawler.org|blackhatworth.com|cenokos.ru|cityadspix.com|edakgfvwql.ru|gobongo.info|iskalko.ru|kambasoft.com|luxup.ru|4webmasters.org|get-free-traffic-now.com|best-seo-offer.com|Theguardlan.com|netvibes.com|webcrawler.com|sanjosestartups.comresellerclub.com|savetubevideo.com|screentoolkit.com|seoexperimenty.ru|slftsdybbg.ru|socialseet.ru|superiends.org|vodkoved.ru|websocial.me|ykecwqlixx.ru|76brighton.co.uk|paparazzistudios.com.au|powitania.pl|sharebutton.net|tasteidea.com|descargar-musica-gratis.net|torontoplumbinggroup.com|cyprusbuyproperties.com|ranksonic.org|Googlsucks.com|free-share-buttons.com|securesuite.co.uk|securesuite.net|free-social-buttons.com|sitevaluation.org|floating-share-buttons.com|erot.co|free-share-buttons.com|get-free-traffic-now.com|floating-share-buttons.com|event-tracking.com|zomdir.com)”) {
set $prohibited “1”;
}

if ($prohibited) {
       return 403;
}

Laravel İkinci Proje

Laravel ile ilgili her gün daha yeni şeyler öğrenmeye devam ediyorum. Abimin yıllar içinde büyüttüğü bir site olan www.oyunator.com sitesini bootstrap ile yeniden tasarlayıp 24 saatlik bir çalışma sonucunda yeni sunucusunda hayata geçirdik. Php 7.0 ile performansta zirveleri gördük. Gtmetrix puanımız %99 olarka ölçüldü.
Php 7.0 performanslı oluşunu gerçek anlamda test edip görme imkanını yaşadık. Yeni projelerinizde muhakkak yer vermenizi tavsiye ediyorum. 
Laravel ile geliştirdiğimiz www.oyunator.com Php7.0 ile sunucu üzerinde yorumlanıyor.  Kısa sürede hızlı proje üretmek için framework tavsiye ediyorum.

Nginx Dizin Şifreleme

Nginx web sunucumuzda bir dizine girişte parola işlemi yapmak istediğimizde Apache gibi .htpasswd oluşturma işlemi gibi yapılmıyor. Htaccess erişim kontrolü olarak biliyor Apache’de.

Nginx’te bunu yapmak için VirtualHost dosyasında ekleme yapmamız gerekiyor. Ayrıca htpasswd gibi bir dosyayı biz oluşturup istediğimiz dizine atarak tanımlama yapacağız.

Şifremizi openssl marifeti ile oluşturacağız.

openssl passwd

yazıp enter dediğimizde giriş için kullanacağımız şifreyi iki kere girdirecek ve karmaşık bir görünüm oluşturacak girdiğimiz parola için.

[email protected]:~# openssl passwd
Password:                                123456 Girdim
Verifying – Password:              123456 Girdim
6i60Qf3fCAO4c

123456 şifresi için 6i60Qf3fCAO4c dizisini üretti.

Phpmyadmin dizinini güvene almak istiyorum. buda genelde pma olarak bağlanılır. Bundan dolayı sunucuya http://sunucu/pma olarak erişmek istenecek. Dışarıdan direk giriş yerin öncesinde bir şifre ekranı gelecek. Ben /etc/nginx/ dizini altında pma_sifre diye bir dosya içinde kullanıcımı ve şifremi tutacağım. Yukarıda ürettiğim şifre karşılığındaki diziyi salih kullanıcısı ile eşleştireceğim.

mcedit /etc/nginx/pma_sifre

salih:6i60Qf3fCAO4c

ekleyip çıkıyoruz.

salih kullanıcısı ve 123456 şifresi ile giriş yapacağım bilgiyi girdim.

Nginx config dosyasında server{ altında bir yere ayarları eklemeniz gerekiyor.

mcedit /etc/nginx/sites-available/default

server  {
. . .

    location / {
        try_files $uri $uri/ =404;
    }

    location /pma {
        auth_basic “Pma Giriş Ekranı”;
        auth_basic_user_file /etc/nginx/pma_sifre;
    }

kaydedip çıkıyoruz ve nginx sunucusunu yeniden başlattık mı artık /pma ile erişimde şifre sorucak.