CentOS etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
CentOS etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

6 Haziran 2019 Perşembe

PHP Sürüm Yükseltme Sihirbazı

















Tüm işletim sistemleri için PHP versiyon güncelleme sihirbazı tüm webmasterlerin işini oldukça kolaylaştıran bir araçtır.

Buraya >> https://rpms.remirepo.net/wizard/ giriş yaptıktan sonra geçerli sunucu işletim sisteminizi seçip size verdiği kodları SSH ile serverımıza bağlanıp konsol penceremizde uygulamamız yeterli olacaktır.

4 Haziran 2019 Salı

Centos sunucuya ImageMagick ve PHP Imagick'i yükleme

ImageMagick görüntüleri oluşturmak, düzenlemek ve dönüştürmek için kullanılan bir yazılım paketidir ve bunu komut satırı altında da kullanabiliriz. .JPG, .PNG, .GIF vb. Gibi birçok formatı destekler. Imaick pecl eklentisini kullanarak ImageMagick'i php için kullanabiliriz. Burada ImageMagick ve php imagick'i centos'a yükleyeceğiz.

Şimdi ImageMagick'i yum paketini kullanarak yükleyebiliriz.

Kod:
# yum install ImageMagick -y
İmagick paketini desteklemek için ImageMagick dev paketlerini kurmamız gerekiyor.
Kod:
# yum install ImageMagick-devel -y
Şimdi php destek pecl imagick paketini yükleyebiliriz.
Kod:
# yum install php56w-pecl-imagick -y
PECL imagick'in eski versiyonu için
Kod:
# yum install php-pecl-imagick -y
Şimdi imagick modülünün etkinliğini alabilmek için web sunucusunu yeniden başlatmamız gerekiyor.
Kod:
# service php-fpm restart
# service nginx restart
Apache (httpd) web sunucusu için
Kod:
# service httpd restart
Artık modülün ekran görüntüsünde gösterildiği gibi yüklendiğini görüntülemek için phpinfo'yu yükleyebilirsiniz.



kaynak

2 Haziran 2019 Pazar

Centos Kapanan Servisleri Otomatik Başlatmak



Scriptimizi çağırmak için öncelikle ssh ile sunucumuza bağlanıp /etc/ dizinine geliyoruz







1
cd /etc
buraya ise scriptimizi çekiyoruz

2
wget http://yavuz-selim.com/demo/selimkontrol.sh
Daha sonra scriptimize izinlerimizi veriyoruz.

1
chmod +x selimkontrol.sh
İzinlerimizi verdikten sonrada bu işlemi crontab bağlamak için aşağıdaki komutu uygulayıp crontab kısmına giriş yapıyoruz.

3
export VISUAL=nano; crontab -e
Giriş yaptıktan sonra ise aşağıdaki komutu en sonlara biyere ekleyin farketmez yeterki o satır boş olsun

4
*/1 * * * * /etc/selimkontrol.sh
Bu işlem şunu yapacaktır bizim şuanki kontrol dosyamızda service kısmı httpd yani apache servisi bu servis durduktan sonra 1 dakika içerisinde scriptimiz devreye girip kontrol edecek kapandığını anlayıp servisi başlatacak ve bize mail atacaktır.
İşlemlerimiz bukadar arkadaşlar sizler servis kısmını değiştirmek falan istiyorsanız eğer kendinize göre düzenleyebilirsiniz.
Servise kısmı ve mail kısmı aşağıdaki şekildedir.

Dosyayı düzenlemek için aşağıdaki komutu girmeniz yeterlidir.

5
nano /etc/selimkontrol.sh
kaynak

5 Mart 2017 Pazar

MySQL 5.7.17 ve MySQL 5.6.35 Optimizasyonu

Yoğun siteler için mysql sunuclarında dikkat etmemiz gereken değişkenler var. Ancak bu değişkenlerle oynarken sistemin kullandığı ram oldukça yükselebilir swap’e geçebilir böylelikle makinayı kilitleyebiliriz.

Azar azar artırıp testler yaparak değişkenlerin değerlerini analiz edip gerekli değişiklikleri yapmak gerekir.


Hatasız MySQL kurulumu için aşağıdaki kodlar işinize yarayacaktır. Optimizasyon

MySQL yeniden başlatınca verdiği hata

-bash-4.2$ mysqld-debug
[Note] mysqld-debug (mysqld 5.6.35-debug) starting as process 45685...[/php]

Dizinleri ve yolu değişen kurallar aşağıdadır.

[php][mysqld]
basedir = /mysql/mysql-5.6.35/
collation-server = utf8_unicode_ci
character-set-server = utf8
datadir = /mysql/data/T02
explicit_defaults_for_timestamp
log-error = /mysql/log/errorlogT02.log
pid-file = /mysql/admin/T02.pid
port = 33002
secure-file-priv = /mysql/admin/secure
socket = /mysql/admin/T02.sock
tmpdir = /mysql/temp/T02/
user = mysql[/php]

MySQL 5.6.35 için uyarlanmış my.cnf kodları.

Makina özellikleri 4 GB of RAM and 4 Core CPU and CentOs 7 MySQL 5.6.35

Şimdi bu my.cnf dosyasını kullanıyoruz ve günlük 20-25k hiti var.

Dosyayı değişmeden önce mutlaka eski my.cnf dosyasını yedekleyiniz.

Servisin başlamaması ile ilgili herhangi bir hata almamışsanız, yeni my.cnf dosyanız aktif ve herhangi bir sorun bulunmamaktadır.

[php]


# ************************* #
# #
# Sphere "Moutarde" #
# #
# ************************* #

# ==================== #
# MySql Client #
# ==================== #

[client]
port = 3306
socket = mysql

# ----------------------- #
# access features #
# ----------------------- #

user = root
password = root
host = 127.0.0.1

# --------------- #
# Charset #
# --------------- #

default-character-set = latin1


# ==================== #
# MySql Server #
# ==================== #

[wampmysqld]
port = 3306
socket = mysql

# -------------- #
# Master #
# -------------- #

server-id = 1
skip-slave-start

# --------------- #
# Charset #
# --------------- #

character-set-server = latin1
collation-server = latin1_general_ci
character-set-filesystem = latin1

init-connect = 'SET collation_connection = latin1_general_ci'
init-connect = 'SET NAMES latin1 COLLATE latin1_general_ci'

# ------------------- #
# Date & Time #
# ------------------- #

date-format = "%d-%m-%Y"
datetime-format = "%d-%m-%Y %H:%i:%s"

default-time-zone = SYSTEM

explicit-defaults-for-timestamp = on

# ------------------- #
# Directories #
# ------------------- #

basedir = /bin/mysql/mysql5.6.35/
datadir = /bin/mysql/mysql5.6.35/data
tmpdir = /tmp

# -------------------------#
# Full Text Search #
# -------------------------#

ft-max-word-len = 10
ft-min-word-len = 1
ft-stopword-file = ""

# ---------------#
# InnoDB #
# ---------------#

default-storage-engine = InnoDB
default-tmp-storage-engine = InnoDB

innodb-adaptive-hash-index = on

innodb-buffer-pool-dump-now = off
innodb-buffer-pool-dump-at-shutdown = off
innodb-buffer-pool-instances = 2
innodb-buffer-pool-load-at-startup = OFF
innodb-buffer-pool-size = 256M

innodb-data-file-path = ibdata1:12M:autoextend
innodb-data-home-dir = /bin/mysql/mysql5.6.35/data/ibdata/
innodb-doublewrite = 1
#skip-innodb_doublewrite

innodb-file-format = Barracuda
innodb-file-format-check = on
innodb-file-per-table = 1

innodb-flush-log-at-trx-commit = 1
#innodb-force-recovery = 1

innodb-ft-enable-stopword = off
innodb-ft-max-token-size = 10
innodb-ft-min-token-size = 0

innodb-io-capacity = 2000
innodb-max-dirty-pages-pct = 90
innodb-lock-wait-timeout = 600

innodb-log-buffer-size = 16M
innodb-log-file-size = 20M
innodb-log-files-in-group = 2
innodb-log-group-home-dir = /bin/mysql/mysql5.6.35/data/ibdata/

innodb-max-dirty-pages-pct = 80
innodb-optimize-fulltext-only = 1
innodb-page-size = 16K
innodb-purge-threads = 10
innodb-read-io-threads = 4
innodb-stats-on-metadata = 0
innodb-support-xa = 1
innodb-thread-concurrency = 16
innodb-write-io-threads = 4

# ---------------- #
# Language #
# ---------------- #

lc-messages = tr_TR
lc-time-names = tr_TR

# ------------#
# Log #
# ------------#

#binlog-cache-size = 1M
#binlog-format = mixed

#log-bin = /logs/mysql_bin
log-error = /logs/mysql_error.log
#log-error-verbosity = 3

log-queries-not-using-indexes = 1
log-throttle-queries-not-using-indexes = 60

#general-log = on
#general-log-file = /logs/mysql_general.log

# ------------#
# Max #
# ------------#

max-allowed-packet = 16M
max-connections = 20
max-connect-errors = 10
max-error-count = 64
max-heap-table-size = 512M
max-user-connections = 0
max-sp-recursion-depth = 255

# --------------------#
# Buffer-Size #
# --------------------#

join-buffer-size = 512M
read-buffer-size = 512M
read-rnd-buffer-size = 512M
sort-buffer-size = 512M

# ---------------#
# MyIsam #
# ---------------#

bulk-insert-buffer-size = 64M

key-buffer-size = 1G

myisam-max-sort-file-size = 1G
myisam-recover-options = OFF
myisam-repair-threads = 1
myisam-sort-buffer-size = 128M
myisam-stats-method = nulls_unequal
myisam-use-mmap = OFF

# -------------------#
# Networking #
# -------------------#

back-log = 50

net-buffer-length = 8K
net-read-timeout = 60
net-write-timeout = 60

# -----------------#
# Password #
# -----------------#

disconnect-on-expired-password = 0

# ---------------------------#
# Performance-Schema #
# ---------------------------#

# performance-schema = ON
# performance-schema-events-waits-history-size = 20
# performance-schema-events-waits-history-long-size = 1500

# --------------#
# Query #
# --------------#

query-alloc-block-size = 8M
query-cache-limit = 512M
query-cache-min-res-unit = 4096
query-cache-size = 512M
query-cache-type = On
query-cache-wlock-invalidate = Off

# -------------#
# Skip #
# -------------#

#skip-innodb-doublewrite

skip-external-locking
skip-federated

#skip-grant-tables
#skip-log-warnings
skip-slave-start
# skip-innodb-adaptive-hash-index

# --------------------#
# Slow & Long #
# --------------------#

long-query-time = 1

slow-query-log = 1
slow-query-log-file = /logs/mysql_slow.log

# ------------#
# Ssl #
# ------------#

ssl
ssl-ca = /bin/apache/apache2.4.23/conf/certificat/ca/ca.crt
ssl-cert = /bin/apache/apache2.4.23/conf/certificat/localhost/localhost.crt
ssl-key = /bin/apache/apache2.4.23/conf/certificat/localhost/localhost.key

skip-ssl

# --------------#
# Table #
# --------------#

table-definition-cache = 512
table-open-cache = 512

# -------------------#
# Temp Table #
# -------------------#

tmp-table-size = 1G

# ---------------#
# Thread #
# ---------------#

thread-cache-size = 8
thread-stack = 256K

# ------------------------------#
# Timeout Configuration #
# ------------------------------#

connect-timeout = 600
interactive-timeout = 600
wait-timeout = 600

# --------------------#
# Transaction #
# --------------------#

transaction-isolation = SERIALIZABLE

# ---------------#
# Tuning #
# ---------------#

concurrent-insert = 2
open-files-limit = 8192

secure-file-priv = /tmp/

# =================== #
# MySql Admin #
# =================== #

[mysqldadmin]
force


# ================== #
# MySql Dump #
# ================== #

[mysqldump]
add-drop-database
add-drop-table
add-drop-trigger

default-character-set = utf8

flush-logs
flush-privileges

lock-all-tables
max-allowed-packet = 16M
no-autocommit
order-by-primary
quick
routines

skip-comments
skip-opt
skip-set-charset
skip-tz-utc

triggers


# ===================== #
# My Isam Check #
# ===================== #

[myisamchk]
key-buffer-size = 128M
sort-buffer-size = 128M
read-buffer = 2M
write-buffer = 2M


# ====================== #
# MySql Hot Copy #
# ====================== #

[mysqlhotcopy]
interactive-timeout


# ===================== #
# MySql Monitor #
# ===================== #

[mysql]
default-character-set = latin1
no-auto-rehash
#safe-updates
skip-reconnect
table


# ================== #
# MySql Safe #
# ================== #

[mysqld_safe]
open-files-limit = 8192

log-error = /logs/mysql_error.log


Tavsiye MySQL Tuning Script'i kurarak tam siteninizin ihtiyacına göre dosya oluşturabilirsiniz.

20 Şubat 2017 Pazartesi

WHM / cPanel Nginx Kurulumu



Nginx ile sunucunuzda bulunan web sitelerin daha hızlı açılmasını ve sunucu üzerindeki yükü dengeleyerek gelen request’leri rahatlıkla karşılanmasını sağlayabilirsiniz.

Ayrıca sayfalarınızda bulunan static içeriğin (jpg, png, css vs.) önbelleğe alınmasıyla daha hızlı açılması için imkan sağlar. default gelen apache ile 1000 request’i karşıladığınızda sunucunuz yavaşlar ise nginx ile 1000+ request’i kolaylıkla karşılayabilirsiniz.
Ancak bu sunucunuzun fiziksel özelliği baz alınarak yorumlanabilir.



Kurulum işlemleri için sunucunuza SSH ile root erişimi için aşağıdaki 5 adımlık kodları konsolda yürütünüz,


cd /usr/local/src
wget http://nginxcp.com/latest/nginxadmin.tar
tar xf nginxadmin.tar
cd publicnginx
./nginxinstaller install


Kurulum sırasında “access key doesn’t exist create it in” şeklinde bir hata aldıysanız çözümü;

WHM Panel >> Cluster/Remote Access >> Setup Remote Access Key bölümündeki “Then click Generate New Key” butonuna bir defa tıklamalısınız.

Bu işlemin ardından kurulum işlemini yeniden başlatmalısınız. Böylelikle problemsiz olarak kurulum işlemi gerçekleşecektir.

Kurulum sonrası Nginx çalıştıktan sonra /tmp dizinin otomatik olarak boşaltılmasını sağlamak için WHM >> Plugins >> Nginx Admin bölümünde yer alan cron komutunu SSH üzerinden eklemeliyiz.

Öncelikle cron’un çalışabilmesi için tmpwatch bileşeninin kurulu olmak zorunda. Kurulu değil ise aşağıdaki yum paketi ile kurabilirsiniz.


yum install tmpwatch


Cronjob’a eklemek içinse export VISUAL=nano; crontab -e komutunu çalıştırıp aşağıdaki kodu ekleyip kaydedin.

0 */1 * * * /usr/sbin/tmpwatch -am 1 /tmp/nginx_client


Böylelikle tmp dizininde yer alan dosyaların düzenli olarak silinmesi için cronjob’a görev atamasını sağlamış olduk.

Sorun:

Nginx kurulumu sonrasında WHM >> Plugins >> Nginx Admin bölümünde aşağıdaki gibi hata alıyorsanız;



WHM is configured to disallow execution of unregistered applications when logged in as root or a reseller with the “all” ACL. To enable this functionality you must do one of the following: Register this addon using /usr/local/cpanel/bin/register_appconfig (http:// docs. cpanel .net/twiki/bin/view/SoftwareDevelopmentKit/AppConfig), Enable the “Allow apps that have not registered with AppConfig to be run when logged in as root or a reseller with the “all” ACL in WHM” option in “Tweak Settings”, or add permit_unregistered_apps_as_root=1 to /var/cpanel/cpanel.config, and run /usr/local/cpanel/etc/init/startcpsrvd



Çözümü:

SSH üzerinden çözmek için aşağıdaki komutları uygulayabilirsiniz.


nano /var/cpanel/cpanel.config
permit_unregistered_apps_as_root=1
#Default olarak 0 gelir 1 olarak değiştiriniz.



Kaydettikten sonra /usr/local/cpanel/etc/init/startcpsrvd komutu ile servisi başlatın.

WHM arayüzden çözmek için, Tweak Settings bölümünden “Allow apps that have not registered with AppConfig to be run when logged in as root or a reseller with the “all” ACL in WHM.” seçeneğini “Off” konuma getirmelisiniz.

Nginx’den memnun kalmadım ve silmek istiyorum diyorsanız aşağıdaki işlemleri yapabilirsiniz.


cd /usr/local/src
wget http://nginxcp.com/latest/nginxadmin.tar
tar xf nginxadmin.tar
cd publicnginx
./nginxinstaller uninstall


Özet

Nginx ("engine x", enciniks olarak telaffuz edilir); yüksek eş zamanlı çalışma kabiliyeti, yüksek performans ve düşük hafıza kullanımına odaklanılarak tasarlanmış bir web sunucusudur. Aynı zamanda ters vekil sunucusu, yük dengeleyici ve HTTP önbelleği olarak da kullanılabilir.

2002 yılında Igor Sysoev tarafından yazılmış olan Nginx Unix, Linux, BSD türevleri, Mac OS X, Solaris, AIX, HP-UX ve Microsoft Windows işletim sistemleri üzerinde çalışabilir. BSD-like lisansı ile yayımlanan Nginx bir özgür ve açık kaynak kodlu bir yazılımdır.

Netcraft'ın Nisan 2015 Web Sunucusu Anketine göre Nginx, internet üzerindeki tüm "aktif "siteler arasında en yaygın ikinci web sunucusudur.

Alttaki hatayı verirse,

Internal Server Error

500

No response from subprocess (/usr/local/cpanel/whostmgr/docroot/cgi/addon_nginx.cgi): The subprocess reported error number 2 when it ended.


buradan Internal Server Error 500 No response from subprocess Hatası ve Çözümü anlatılanları uygulayınız.

Ayrıca nginx_client klasoru oluşturup yazma izni verin.

cd /var/tmp
mkdir nginx_client
chmod 777 nginx_client

Internal Server Error 500 No response from subprocess Hatası ?

WHM-cPanel -> Plugins -> Nginx Admin:

Internal Server Error

500

No response from subprocess (/usr/local/cpanel/whostmgr/docroot/cgi/addon_nginx.cgi): The subprocess reported error number 2 when it ended.

cpsrvd/11.62.0.7

cPanel use whmlib desteğini kaldırdığı için bu hatayı veriyor.


Çözüm : /usr/local/cpanel/whostmgr/docroot/cgi/addon_nginx.cgi

Ftp aracılığıyla dosyayı indir

use whmlib; satırın başına # kare ekleyiniz.

#use whmlib;

dosyayı atıp, Nginx Admin panele giriş yapabilirsiniz.

Not # ekledikten sonra dosyanın yeni kodlaması



#!/bin/sh
eval 'if [ -x /usr/local/cpanel/3rdparty/bin/perl ]; then exec /usr/local/cpanel/3rdparty/bin/perl -x -- $0 ${1+"$@"}; else exec /usr/bin/perl -x $0 ${1+"$@"}; fi;'
if 0;

#!/usr/bin/perl
#WHMADDON:nginx:Nginx Admin
#####################################################################
# Copyright (C) 2010 nginxcp.com. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#####################################################################

use lib '/usr/local/cpanel';
use Cpanel::cPanelFunctions ();
use Cpanel::Form ();
use Cpanel::Config ();
use Whostmgr::HTMLInterface ();
use Whostmgr::ACLS ();

print "Content-type: text/html\r\n\r\n";
BEGIN {
push(@INC,"/usr/local/cpanel");
push(@INC,"/usr/local/cpanel/whostmgr/docroot/cgi");
}

#use whmlib;
require 'parseform.pl';

Whostmgr::ACLS::init_acls();
if ( !Whostmgr::ACLS::hasroot() ) {
print "You do not have the proper permissions to access Nginx Admin...\n";
exit();
}
print "";
1;

19 Şubat 2017 Pazar

Temel Iptables Kullanımı

Iptables Linux bilgisayarlarda firewall olarak kullanılan bir yazılımdır.
Iptables ile sisteminize gelen ve sisteminizden giden bağlantıları engelleyebilir, farklı bir yere yönlendirebilir veya izin verebilirsiniz.
Iptables kurallar zinciri, bu kurallar zincirlerine ait parametreler ve bağlantı hedefleri ile birlikte çalışmaktadır.

Kural Zincirleri

INPUT Gelen paketleri tanımlamak için.
OUTPUT Giden paketleri tanımlamak için.
FORWARD Yönlendirilen paketleri tanımlamak için.
PREROUTING Sadece NAT için geçerlidir. Gelen paketlerin değiştirilmesi için.
POSTROUTING Sadece NAT için geçerlidir. Giden paketlerin değiştirilmsi için.

Kural Hedefleri

ACCEPT Paketlerin geçisine izin vermek için.
DROP Paketlerin geçişini reddetmek için.
REJECT Paketlerin erişimi reddedilir ve gönderici bu konuda bilgilendirilir.
RETURN Zincirin sonuna gönderilir.
QUEUE Paketler kullanıcı alanına gönderilir.

Kural Parametreleri

-A ZİNCİR Zincire kural ekler.
-E ZİNCİR Zinciri yeniden adlandırır.
-D ZİNCİR Zincirden bir kural siler.
-D ZİNCİR Zincirden belirtilen numaradaki kurali siler.
-L ZİNCİR Belirtilen zincirdeki kurallari gösterir.
-E ZİNCİR Zinciri yeniden adlandirir.
-l ZİNCİR Zincirde belirtilen numaralı alana kuralı ekler.
-R ZİNCİR Zincirde kuralın yerine başkasını koyar.
-R ZİNCİR Zincirde belirtilen numaralı alana bir başkasını koyar.
-N ZİNCİR Yeni bir zincir oluşturur.
-X ZİNCİR Kullanıcının eklediği bir zinciri siler.
-F ZİNCİR Zincirdeki kuralların tümünü siler.
-P ZİNCİR Zincire genel politika ekler.

Kural Seçenekleri

! Kuralı tersine çevirir.
-s Bağlantı sağlayacak adresi belirtmek içn kullanılır 127.0.0.1/255.0.0.0 gibi..
-p UDP,TCP,ICMP,ALL bağlantı protokollerini belirtmek için kullanılır. ALL hepsini tanımlamak içindir.
--dport İstek gelen portu tanımlamak için kullanılır.
-j Kural için belirtilen zincirde hedef belirtir.-j ACCEPT gibi
-t Tabloyu belirtir.Nat tablosu için -t nat şeklinde yazılır.
-V Iptables'ın versiyonunu öğrenmek için kullanılır.

Kural zincireleri INPUT,OUTPUT,FORWARD ve POSTROUTING PREROUTING büyük harfler ile yazılır.

Örnek olarak

[code]iptables -A INPUT -p tcp --dport 8880 -s 127.0.0.1 -j ACCEPT[/code]

127.0.0.1 IP adresinden 8880 portuna gelen TCP paketlerini kabul etmek için kullanılan bir komuttur

[code]iptables -A INPUT -p tcp --dport 8880 -j DROP[/code]

8880 portuna gelecek tüm TCP paketlerini reddetmek için kullanılan bir komuttur.

[code]iptables -A INPUT -p tcp --dport 8880 -j DROP ! -s 127.0.0.1[/code]

8880 portuna 127.0.0.1 IP adresi dışında gelecek tüm TCP paketlerini reddetmek için kullanılır. Ancak 8880 portuna bir kaç farklı IP adresinden bağlantı yapılmasına izin verecekseniz eğer bu kuraldan sonraki tanımlayacağınız veya önceki tanımlı olan izinler geçersiz kalacaktır.

Kurallarımızı tanımlarken ilk önce izin vereceğimiz kuralları tanımlamamız daha sonra gelecek bağlantıları engelleyecek kuralları tanımlamamız gerekmektedir. Yani belirli bir sıralama ile tanımlama yapmamız gerekmektedir.

Örnek olarak 8880 Plesk panel portunu ele alalım. Bu porta sadece belirli IP adreslerinden gelecek TCP bağlantılarına izin verip geri kalan bağlantıların reddedilmesi istiyorsak tanımlamamız aşağıdaki gibi olmalıdır.

[code]iptables -A INPUT -p tcp --dport 8880 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 8880 -s 123.123.123.123 -j ACCEPT
iptables -A INPUT -p tcp --dport 8880 -s 321.321.321.321 -j ACCEPT
iptables -A INPUT -p tcp --dport 8880 -j DROP[/code]

Kuralları tanımladık ancak Iptables servislerini yeniden başlattığımızda tanımlı kurallar silinmektedir. Kuralların silinmemesi için aşağıdaki komutları çalıştırmamız gerekmektedir.

[code]service iptables save
chkconfig iptables on[/code]

13 Şubat 2017 Pazartesi

SSH ile MySql Yükleme

Yüksek boyutlu .sql backup dosyalarınızı aktarıken phpMyadmin taraflı yada tarayıcı kaynaklı zaman aşımı (timeout), dosya boyutu sınırlaması gibi hatalar alabilirsiniz.

Bunun için sunucuya root SSH erişiminiz var ise aşağıdaki komut ile doğrudan sql dump edebilirsiniz.

username: dabatase kullanıcı adı
database_name : database adı
file.sql : dosyanızın dizindeki adı

25 Ocak 2017 Çarşamba

CentOS 7 Komutları

Eski alışılmış komutlara karşın birazda karışık yeni CentOS 7 Komutları
Centos 7 değişen shell komutlarıda

değişti. SSH panelden komut gireceğiniz zaman araştırıp yenisini bulmkta fayda var.

Denk geldikçe yeni CentOS 7 komutları eklemeye devam edeceğim.

  • systemctl reboot : sistemi reboot eder

  • yum install wget : wget paketini yükler

  • nmtui : IP yapılandırmayı açar

  • systemctl restart network : network servisini restart eder

  • systemctl restart httpd.service : apache servisini restart eder

  • systemctl restart mysqld.service : mysql servisini restart eder

MySQL Tuning Script Kurulumu

MySQL Tuning database/veritabanı optimizasyonu ile sunucu performansınızı yükseltebilirsiniz. Bunun için yapmanız gereken en pratik yol Mysql Tuning yazılımının kurulumu ve çalıştırılması neticesinde size belirttiği ayarları my.cnf üzerinden güncellemektir.

MySQL Tuning Script‘i ile veritabanı performansınızı detaylı olarak inceleyebilir, rahatlıkla sunucu performansınızı arttırabilirsiniz.

Script Adı: tuning-primer.sh

My.cnf Ayarları

Makina özellikleri 8 GB of RAM and 8 Core CPU and CentOs 7 MySQL 5.6.34

Şimdi bu my.cnf dosyasını kullanıyoruz ve günlük 20-25k hiti var.

Dosyayı değişmeden önce mutlaka eski my.cnf dosyasını yedekleyiniz.

Servisin başlamaması ile ilgili herhangi bir hata almamışsanız, yeni my.cnf dosyanız aktif ve herhangi bir sorun bulunmamaktadır.

24 Ocak 2017 Salı

Centos Hostname Değiştirme

Rhel 7 ve Centos 7 dağıtımlarıyla birlikte gelen bir çok yenilik mevcut. Bunlara daha önceki ve sonraki yazılarımda değindim ve devam edeceğim. Şimdiki yenilik rhel 7 tabanlı dağıtımlarla birlikte hostname değişikliği farklı bir komut programcığı üzerinden sağlandığı ve eski komut ile yapılamadığı.

Artık hostname değişiklikleri hostnamectl aracı üzerinden sağlanmakta. Peki nedir bu araç neler yapılabilir kısaca değinmeye çalışacağım.

Hostname bilgisini görmek için,

Scaleway ssh key nasıl oluşturulur ?

Scaleway Root Şifresi "SSH keys" nasıl yapılır. Scaleway.com root password ssh ile sorunsuz girmek için videoyu izleyiniz.

Avantajlarını şu şekilde listeleyebiliriz;
– Araya girme (man in the middle) saldırılarına karşı güvenlik sağlayacaktır,
– Aynı parolayı pek çok sistemde kullanan kullanıcıların güvenliğini arttırır,
– Kullanım kolaylığı ve otomatikleştirme ile çok sayıda sistem yönetenlere hız kazandırır,
– Zayıf parola kullanımına karşı kullanıcı güvenliği artar,

27 Kasım 2016 Pazar

SSH Komutları ve Kullanımı

 ls Dizinde bulunan her şeyi listeler.
 ls -a Gizli dosyalar ve dizinlerle beraber listeler.
ls -l Bütün dosyaları boyut ve tarihini göstererek listeler.
tar -zxpf Uzantısı tar.gz olan sıkıştırılmış dosyaları açar.
tar -xpf Uzantısı .tar olan dosyaları açar.
gunzip Uzantısı .gz olan dosyaları açar.
cp Dosyayı kopyalar.
mv Bir dosyayı başka bir dizine taşımanızı sağlar ya da dosya adını değiştirir.
mkdir Yeni bir dizin oluşturmanızı sağlar.
rmdir Belirtilen dizini silmenizi sağlar.

SSH Açılış Mesajı Ekleme

Linux platformda sürekli işlerimizi yürüttüğümüz SSH’a karşılama mesajı eklemek isteyebiliriz. Dilediğimiz bir metnin her ssh a giriş yaptığımızda açılış ekranı olarak karşımıza gelmesini sağlayabiliriz.

Açılan ekrana dilediğimiz metinleri ekliyoruz ve kaydediyoruz. Ardından ssh dan çıkış yaparak yeniden girdiğimizde yazılanı görebiliriz.

nano ile aşağıdaki komutu yürütüyoruz ;

Aşağıdaki kodu yapıştırdıktan sonra CTRL X ile çıkıyor ve “Yes” yaparak kayıt ediyoruz.

Centos Üzerinde Servisleri Kontrol Edelim!

WordPress kullananların baş belasıdır Mysql servisi! Birazcık ziyaretçi sayımız yükselsin hemen stop olur. Sonrasında ise web sitemize giren ziyaretçilerimiz “Veritabanı bağlantısı kurulurken hata oluştu” hatası alırlar. Velhasıl kelam bu hata sonucunda SSH’dan sunucuya bağlanıp, mysql’i tekrar start etmemiz gerekiyor.


Hele ki yetersiz kayaklara sahip bir sunucunuz varsa (ucuz etin yahnisi) maalesef ki bu hata sıklıkla karşınıza çıkabilir. Diğer bir yandan kullandığınız tema içerisinde çok fazla sorgu vardır ve