Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Author: admin
-
Linux Sunucuya Disk Ekleme
Merhabalar,
Bu yazımızda Linux işletim sistemine sahip bir sunucuya nasıl yeni disk ekleyeceğimizi inceleyeceğiz.
Öncelik ile diski sunucumuza takalım.
fdisk -l
Komutunu kullandığımızda yeni diskimizi görebiliyor olmalıyız
Yeni diskimiz /dev/sdb Gözlemleyebileceğiniz üzere /dev/sda altında sda1, sda2 gibi bölmeler (partition) mevcut iken sdb diskimiz yeni bir disk olduğu için üzerinde hiçbir partition tablosu bulunmuyor.
Öncelik ile disk üzerinde bu partition’u açalım.
fdisk /dev/sdb
İlgili komut ile fdisk i başlatalım. Burada;
n = New yani Yeni Partition
p = Primary yani Ana Partition
1 = 1 numaralı Partition ( /dev/sdb1 olması için)
2048 = Diskteki ilk sektör, öntanımlı olarak 2048 gelir ve bu şekilde bırakılmalıdır
41943039 = Diskteki son sektör, Öntanımlı gelen değer ne şekilde ise o şekilde bırakılmalıdır
w = Write. İlgili ayarları diske yazarŞeklinde ilerlemeliyiz.
fdisk üzerinde partition oluşturma Bu işlemin ardından partition oluşmuş olacaktır.
fdisk -l
Komutunu kullandığınızda /dev/sdb1 partitionunu görebiliyor olmalısınız.
Yeni oluşturduğumuz /dev/sdb1 bölümü Şimdi sırada bu diski formatlamak var.
EXT4 Veri sistemi oluşturma
/dev/sdb1 bölmesi üzerinde ext4 veri sistemi oluşturmak için;
mkfs.ext4 /dev/sdb1
Komutunu kullanıyoruz.
sdb1 bölümünü ext4 olarak formatlamak İşlem ardından /dev/sdb1 bölümü ext4 olarak biçimlendirilmiştir. Dilediğiniz herhangi bir klasöre mount edilebilir.
XFS Veri sistemi oluşturma
/dev/sdb1 bölmesi üzerinde xfs veri sistemi oluşturmak için;
mkfs.xfs /dev/sdb1
Komutunu kullanıyoruz.
sdb1 bölümünü xfs olarak formatlamak XFS dosya sisteminde;
- Veri Alanı
- Log Alanı (journal)
- Gerçek zaman kısmı (Realtime)
Mevcuttur. Bunların her biri el ile ayrı bir şekilde belirtilebilir. (Dilerseniz log alanı farklı bir diske vs belirtilebilmekte) ancak bizim kullanımlarımız için bunların hepsini default bırakarak direkt olarak xfs veri sistemi oluşturmak yeterlidir.
Disk mount etmek
Oluşturmuş olduğumuz /dev/sdb1 bölümünü artık istediğimiz herhangi bir klasöre mount edebiliriz.
Bunun için;
mount /dev/sdb1 /veri_yolu/klasör_adı
Şeklinde ilerlemeniz yeterlidir.
/dev/sdb1 bölümünün /root/test klasörüne mount edilmesi Yukarıdaki örnekte göreceğiniz üzere;
mount /dev/sdb1 /root/test/
Komutu ile diskimiz /root/test dizinine mount edilebilmektedir.
Mount eder iken özellikle veri sistemini (ext4/xfs) belirtmeniz gerekmemektedir, sunucu bunu algılayabilecek kapasitededir.
Her Restart sonrası otomatik mount olmasını sağlamak
Buraya kadar diskte bölüm oluşturmayı, ihtiyacımız olan dosya sisteminde biçimlendirmeyi ve herhangi bir klasöre mount etmeyi inceledik. Bu aşamada otomatik olarak mount olabilmesi adına gerekli çalışmayı gerçekleştireceğiz.
Linux işletim sistemlerinde hangi bölümün hangi yapıya ya da klasöre mount olacağına /etf/fstab dosyası üzerinden emir edilmektedir.
Öncelik ile diskimizin UUID’sini alalım;
blkid
Disklerin UUID’leri Bu örnekde UUID değeri 525e0fbc-a53c-4467-a682-56e6db2f89c8 imiş.
Dosyamızı açalım;
nano /etc/fstab
Dosya içeriği aşağıdakine benzer şekilde olacaktır;
Ubuntu’ya ait örnek bir /etc/fstab içeriği Burada ekleme aşağıdaki şekilde yapılır;
Disk UUID – Mount Klasörü – FS (File System) Yapısı – Bağlama Seçenekleri – Dump
Detaylı bilgi için buraya tıklayarak inceleme sağlayabilirsiniz.
Ben fstab’a XFS olan diskimi aşağıdaki şekilde ekliyorum;
/dev/disk/by-uuid/525e0fbc-a53c-4467-a682-56e6db2f89c8 /root/test xfs defaults 0 0
XFS diskin fstab’a eklenmesi Eğer diskim ext4 olarak biçimlendirilmiş olsa idi, aşağıdaki şekilde ekleyecek idim;
/dev/disk/by-uuid/525e0fbc-a53c-4467-a682-56e6db2f89c8 /root/test ext4 defaults 0 0
EXT4 diskin fstab’a eklenmesi İşlem ardından diskin sağlıklı bir şekilde mount olup olmayacağını kontrol etmem gerekiyor.
Öncelik ile diskim herhangi bir klasöre bağlı mı kontrol ediyorum;
mount |grep /dev/sdb1
/dev/sdb1 diski herhangi bir klasöre mount durumda mı kontrolü Gözlemleyebileceğiniz üzere /root/test klasörüne mount durumda imiş.
umount /dev/sdb1
Ya da
umount /root/test
Komutlarından herhangi birisi ile bu diski klasörden ayırabilmekteyiz.
umount /dev/sdb1 komutu ile diski test klasöründen ayırdık Mount olup olmadığını test edebilmek için fstab ta geçen bütün direktifleri tek seferde mount edebilmek adına;
mount -a
Komutunu kullanabiliriz. Aşağıdaki görselde gözlemleyebileceğiniz üzere disk mount durumda değil iken “mount -a” komutu sonrasında otomatik olarak /etc/fstab dosyanızdaki direktifler ile birlikte mount olmuş durumdadır.
mount -a komutu ile sorunsuzca mount olan disk İşlemler bu kadardır.
İyi çalışmalar dilerim.
-
cPanel Zor Şifre Prosedürünü Aktif Etme
Merhabalar,
Bu yazımızda cPanel için Zor şifre protokolünü aktif etmeyi gözlemleyeceğiz.
Öncelik ile, Arama alanımıza Password yazıyoruz.
Böylece, Security Center altında, Password Strength Configuration alanını gözlemleyebileceğiz. Bu kısıma giriş yapıyoruz.
Menü Ardından, Default Required Password Strength kısmını 100’e çıkarıyoruz.
Default değer 100 olarak düzenleneceği için, diğer kısımları Default olarak bırakabiliriz.
Şifre Zorluk Alanı Ardından Save butonuna basarak ayarı kayıt ediyoruz.
Bu işlem sayesinde, Oluşturulacak her şifre yüksek güvenlik gerektiren &y6’^3jGH@BK% gibi bir şifre olacaktır.
Önemli Not: Webmailler üzerinden bu şifreler değiştirilememektedir. Daha basit bir şifre ile değişim sağlayabilmek için kullanıcının shell (SSH) erişimi olması şart.
İyi çalışmalar.
-
Linux Plesk üzerinde tüm domainler için Logrotate tek seferde ayarlama
Selamlar,
plesk bin domain -l| while read dom_name; do /usr/local/psa/bin/domain -u $dom_name -log-bytime weekly; done
Bu komutu kullanarak tüm domainler için logrotate aktif ederek haftalık olarak ayarlayabilirsiniz.
İyi çalışmalar dilerim
-
DirectAdmin mssql_connect (FreeTDS) Kurulumu
Selamlar arkadaşlar,
DirectAdmin’in derlediği PHP, default hali ile mssql veritabanlarına bağlanmamaktadır.
Bunun için freetds kurulmalı.
Siteden Stable Release’in URL sini alıyoruz.
ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
Sunucu üzerinde,
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
tar -zxvf freetds-patched.tar.gz
cd freetds-1.00.86/ (Bu sürüm build numarası değişebilir)
./configure --prefix=/usr/local/freetds
make
make installKomutlarını uyguluyoruz.
Ardından, DirectAdmin Custombuild’e PHP de MSSQL lib’lerinin de derlenmesini istediğimizi belirtmeliyiz.
cd /usr/local/directadmin/custombuild/configure/ap2
Şeklinde ilerleyin. Burada, sunucuda hangi PHP kurulu ise (Hangi conf dosyası kullanılacağı) ona göre seçmeliyiz.
Örnek sunucuda php -v komutu ile php 5.5 kurulu olduğunu tespit ediyorum, yani configure.php55 dosyasını düzenlemeliyim.
Dosya içerisinde, en son satırı diğer satırlarda gördüğümüz gibi \ ekleyerek devam belirtip hemen altına
--with-mssql=/usr/local/freetds
Şeklinde ekliyoruz.
Ardından,
cd /usr/local/directadmin/custombuild
./build clean
./build php dKomutlarını kullanıyoruz.
İşlem bu kadar!
phpinfo üzerinde yahut SSH üzerinde;
php -m|grep mssql
Komutu ile kurulumu teyid edebilirsiniz.
İyi çalışmalar dilerim.
-
Windows üzerinde “Stopping” şeklinde takılı kalan servisi durdurmak
Merhabalar,
Son zamanlarda IIS te sık gözlenmekte olan bir sorun olan, genel olarak kapattığınızı sandığınız bir servis kapanıyor – statüsünde takılı kalması durumunu inceleyeceğiz.
Başlat
Çalıştır
Services.mscŞeklinde ilerleyerek servislere girin.
Burada, Stopping statüsünde takılmış olan servisi bulun.
Servise sağ tıklayıp Properities / Özellikler şeklinde devam edin.
Burada servis adı yer almaktadır. IIS için – W3SVC
İşlemlerimde Spooler adındaki bir servisi göstereceğim.
Şimdi CMD yi açalım;
Başlat
Çalıştır
cmd.exeİsmini tespit ettiğimiz servisin Process ID’sini öğrenmeliyiz. Spooler
sc queryex SERVİS_ADI
Yani;
sc queryex Spooler
Yazarak detaylarını listeletebiliriz. PID kısmında Process ID yer alır. Bu şu anki örneğimde 3908 şeklinde.
Bu Process’i Kill ediyoruz;
taskkill /pid PID /f
Yani;
taskkill /pid 3908 /fBu şekilde Stopping – Durduruluyor statüsünde kalan servisi durdurabilir, ardından sağlıklı bir şekilde yeniden başlatabilirsiniz.
NOT: Eğer process’i bu şekilde kill edemez iseniz, Görev yöneticisinde bulun. Spooler için tam executable’nin adı spoolsv.exe
Aşağıdaki komut ile kapatabilirsiniz;
wmic process where name=”spoolsv.exe” call terminate
İyi çalışmalar dilerim.
-
Installatron Warning: json_encode(): Invalid UTF-8 sequence in argument hatası çözümü
Merhabalar,
Installatron, dil olarak Türkçe seçili iken kurulabilir app lara tıklandığında hiçbir tepki göstermiyor ve,
/var/installatron/logs/error_log dosyasında andığınız hata;
2018-10-17 23:28:27.45195700 Linux PHP 5.2.17 /usr/local/installatron/lib/boot.php(13179): Warning: json_encode(): Invalid UTF-8 sequence in argument
#0 /usr/local/installatron/lib/boot.php(35): __i_error_handler()
#1 /usr/local/installatron/lib/boot.php(13179): __i_error_handler(2, ‘json_encode(): …’, ‘/usr/local/inst…’, 13179, Array)
#2 /usr/local/installatron/lib/gui/browser.php(1184): i_lib::json_encode()
#3 /usr/local/installatron/lib/gui/init.php(1356): i_gui_browser->main()
#4 /usr/local/installatron/lib/boot.php(23738): i_gui_default->display()
#5 /usr/local/installatron/lib/boot.php(29958): itron::init()
#6 {main}
2018-10-17 23:28:27.45223700 Linux PHP 5.2.17 /usr/local/installatron/lib/boot.php(13179): Warning: json_encode(): Invalid UTF-8 sequence in argument
#0 /usr/local/installatron/lib/boot.php(35): __i_error_handler()
#1 /usr/local/installatron/lib/boot.php(13179): __i_error_handler(2, ‘json_encode(): …’, ‘/usr/local/inst…’, 13179, Array)
#2 /usr/local/installatron/lib/gui/browser.php(1205): i_lib::json_encode()
#3 /usr/local/installatron/lib/gui/init.php(1356): i_gui_browser->main()
#4 /usr/local/installatron/lib/boot.php(23738): i_gui_default->display()
#5 /usr/local/installatron/lib/boot.php(29958): itron::init()
#6 {main}
2018-10-17 23:28:27.45246700 Linux PHP 5.2.17 /usr/local/installatron/lib/boot.php(13179): Warning: json_encode(): Invalid UTF-8 sequence in argument
#0 /usr/local/installatron/lib/boot.php(35): __i_error_handler()
#1 /usr/local/installatron/lib/boot.php(13179): __i_error_handler(2, ‘json_encode(): …’, ‘/usr/local/inst…’, 13179, Array)
#2 /usr/local/installatron/lib/gui/browser.php(1440): i_lib::json_encode()
#3 /usr/local/installatron/lib/gui/init.php(1356): i_gui_browser->main()
#4 /usr/local/installatron/lib/boot.php(23738): i_gui_default->display()
#5 /usr/local/installatron/lib/boot.php(29958): itron::init()
#6 {main}
2018-10-17 23:28:27.45262300 Linux PHP 5.2.17 /usr/local/installatron/lib/boot.php(13179): Warning: json_encode(): Invalid UTF-8 sequence in argument
#0 /usr/local/installatron/lib/boot.php(35): __i_error_handler()
#1 /usr/local/installatron/lib/boot.php(13179): __i_error_handler(2, ‘json_encode(): …’, ‘/usr/local/inst…’, 13179, Array)
#2 /usr/local/installatron/lib/gui/browser.php(1459): i_lib::json_encode()
#3 /usr/local/installatron/lib/gui/init.php(1356): i_gui_browser->main()
#4 /usr/local/installatron/lib/boot.php(23738): i_gui_default->display()
#5 /usr/local/installatron/lib/boot.php(29958): itron::init()
#6 {main}Şeklinde bir hata ise PHP sürümü, Installatronun güncellenmesinin ardından yetersiz kalıyor demektir.
Çözüm için aşağıdaki kodları sırası ile çalıştırmak yeterlidir;
mkdir -p /usr/local/installatron
cd /usr/local/installatron
curl -O http://php.net/distributions/php-5.6.33.tar.gz
tar xzf php-5.6.33.tar.gz
cd php-5.6.33
./configure –prefix=/usr/local/installatron/php –disable-libxml –disable-dom –disable-simplexml –disable-xml –disable-xmlreader –disable-xmlwriter –enable-posix –enable-mbstring –enable-ftp –enable-sockets –without-pear –without-iconv –with-zlib –with-gd –with-jpeg-dir –with-png-dir –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-gettext
make
make install
cd ..
rm -fr php-5.6.33 php-5.6.33.tar.gz /usr/local/installatron/binArdından Installaton’u tamir etmeliyiz.
rm -fr /usr/local/installatron/lib /usr/local/installatron/etc/php.ini
curl -O https://data.installatron.com/installatron-plugin.sh
chmod +x installatron-plugin.sh
./installatron-plugin.sh -f –quickProblem giderilmiş olacaktır.
İyi çalışmalar dilerim.
-
DMARC Kaydı Nedir? Nasıl Konfigüre Edilir?
Merhabalar,
DMARC (Domain bazlı mesaj raporlama / doğrulama) Kaydı, spoof olarak gönderimin önüne geçmek için tasarlanmış bir kimlik doğrulama ve rapor protokolüdür. SPF ve DKIM kayıtlarının ardından eklenmesi gerekmektedir ve bu kayıtlardan yararlanarak kimlik doğrulama konusundaki hataları rapor içerisinde geçen adrese iletir ve daha güvenilir bir mail göndericisi olarak algılanmanızda ve SPAM Skorunuzu düşürmenizde rolü vardır.
Yukarıdaki URL üzerinden otomatik DMRAC Kaydı oluşturabilirsiniz.
2 tür DMARC kaydı mevcuttur.
Basic DMARC
Gelişmiş DMARC
Bu ayrımı daha rahat anlamak için ben sağladım, normalde isim isim ayrılmıyor.Şöyle ki, Basic DMARC kaydında sadece toplam raporlar için bir rapor adresi belirtiyorsunuz.
Örneğin örnek.com için;
_dmarc TXT v=DMARC1; p=none; sp=none; rua=mailto:rapor@örnek.com
Gibi. Ancak Gelişmiş DMARC kaydı üzerinde, Başarısız / Hatalı raporlar ve toplam raporlar şeklinde de belirtilmektedir.
Örneğin örnek.com için;
_dmarc TXT v=DMARC1; p=none; rua=mailto:rapor@örnek.com; ruf=mailto:rapor@örnek.com; fo=1
Gibi. Ancak burada ince bir detay bulunuyor;
İşlemler sadece örnek.com için, örnek.com uzantılı bir mail adresi kullanacaksanız bu kadardır. Eğer örnek.com için, teknoas.net uzantılı bir mail adresini DMARC kaydınızda kullanmak istiyor iseniz, bu sefer teknoas.net’in DNS yapısı üzerinde bunu onaylayan bir kayıt girmeniz gerekecektir.
Bunun için de aşağıdaki şekilde bir TXT kaydı girilebilir;
MAİL_DOMAİN._report._dmarc.DMARC_DOMAİN. TXT ANA_DMARC_KAYDI
Yani Basic için;
teknoas.net._report._dmarc.örnek.com. TXT _dmarc TXT v=DMARC1; p=none; sp=none; rua=mailto:rapor@örnek.com
Gelişmiş için;
teknoas.net._report._dmarc.örnek.com. TXT _dmarc TXT v=DMARC1; p=none; rua=mailto:rapor@örnek.com; ruf=mailto:rapor@örnek.com; fo=1
Şeklinde.
İyi çalışmalar dilerim.
-
CloudLinux LVE Manager sürekli dönüyor, hata veriyor ise
Merhabalar,
DirectAdmin de LVE Manager’a girmeye çalıştığınızda sürekli girmeye çalışıyor gibi dönüyor ancak aşağıdaki hataları vererek loop’a giriyor ise;
Platform error
It seems your session expired. Please log in to the platform. You will be redirected to login page.
Ya da
Error
Parameter “key” required
LVE Manager’in safe mode açık iken sağlıklı çalışamamasından ötürü sorun yaşanmakta olması olasıdır.
Bu durumda;
/usr/local/directadmin/plugins/lvemanager_spa/php.ini
Dosyasını açarak içerisine;
safe_mode = Off
Yerleştirmek ve web servisini restart etmek yüksek ihtimal problemi giderecektir.
NOT: Ayrıca “/usr/share/l.v.e-manager/version” dosyasının sahiplik değerlerinin diradmin.diradmin olduğunu da kontrol etmelisiniz.
İyi çalışmalar dilerim.
-
Parola Gereksinimi olmadan SSH yapabilmek
Merhabalar,
Bu yazıda Linux bir sunucunun diğer Linux bir sunucuya nasıl şifre gereksinimi olmadan SSH bağlantısı sağlayabileceğini ileteceğim.
A Sunucusunun, B, C ve D sunucularına şifresiz bağlanmasını istiyoruz diyelim.
Sunucu IP leri de aşağıdaki şekilde olsun;
A – 1.1.1.1
B – 1.1.1.2
C – 1.1.1.3
D – 1.1.1.4Öncelik ile, A sunucusuna, şifresiz bağlantı sağlayacak sunucuya giriş yapın.
ssh-keygen
Komutunu çalıştırın ve yönetgeleri izleyerek bir private key oluşturun.)
ssh-rsa şeklinde başlayan uzun bir key olacaktır.
Ardından ssh-copy-id komutunu kullanarak private key’imizi şifresiz bağlanacağımız sunuculara aktaracağız.
Bunun için A sunucusu üzerinde;
ssh-copy-id root@B
ssh-copy-id root@C
ssh-copy-id root@D
Komutlarını çalıştırıyoruz. Yani;ssh-copy-id root@1.1.1.2
ssh-copy-id root@1.1.1.3
ssh-copy-id root@1.1.1.4Şeklinde. Key dosyasını aktarabilmek için ilgili sunucuların root şifrelerini soracaktır, şifreleri girmeniz yeterlidir.
Tebrikler! Artık A sunucusu, B,C ya da D sunucusuna SSH bağlantısı gerçekleştirir iken şifre sormayacaktır.
NOT: Erişim sağlayamıyor iseniz iptables içeriğini yahut hosts.allow/deny içerisinde engel olup olmadığını kontrol etmelisiniz.
İyi çalışmalar dilerim