centos 7 directadmin kurulumu

Merhaba

Bir sunucu üzerine directadmin panel kurabilmek için öncelikle bir dış ip ihtiyacımız bulunmaktadır. Sonrasında bu ip kullanarak 1adet directadmin lisansı alamıyız. Lisans alırken ip nin yanı sıra birde sunucunun hostname ihtiyacımız olacak bu nedenle /etc/hostname ‘i editleyerek tanımlamak istediğimiz hostname yazmamız gerekir. örnek srv.mesutguner.com gibi

bu işlemlerin ardından  centos 7 üzerine directadmin kurulumunda ihtiyac duyacağı kurulumları yapıyoruz

yum install psmisc net-tools systemd-devel libdb-devel perl-DBI xfsprogs rsyslog logrotate crontabs

kurulumu tamamladıkdan sonra centos update etmenizi öneririrm

yum  -y update komutunu kullanabilirsiniz

en son olarak directadmin kurulumu için ihtiyacımız olan autoinstaller indirerek yetki vermemiz ve kurulumu başlatmamız gerekir

wget http://www.directadmin.com/setup.sh

chmod +x setup.sh

./setup.sh komutu ile kurulumu başlatıyoruz.

Umarım yeterli olmuştur.

Centos 7 firewall durdurma – kapatma – How to Stop and Disable Firewalld on CentOS 7

firewall durdurmak için aşağıdaki komutu kullanabilirsiniz.  – Disable firewalld to disable firewalld, run the following command as root:

systemctl disable firewalld

firewall durdurmak için aşağıdaki komutu kullanabilirsiniz. – Stop firewalld to stop firewalld, run the following command as root:

systemctl stop firewalld

firewall durumunu kontrol etmek için aşağıdaki komutu kullanabilirsini – firewalld checked status  , run the followind command as root

systemctl status firewalld

 

Install LEMP Stack On Ubuntu 15.10

1. Install Nginx

Nginx (pronounced as engine-x) open-source  , yüksek performanslı bir HTTP server ve reverse proxy dir .Kurulum adımları aşağıdaki gibidir.

Nginx kurulum adımlarını terminal ekranı üzerinde yapacağız.

Note: eğer önceden kurulmuş bir apache2 varsa uninstall ederek yeniden kuracağız.

öncelikle varsa daha önceden kurulu apache2 servisi stop ederek başlıyoruz.

sudo service apache2 stop

sonrasında kurulumları kaldırıyoruz

sudo apt-get remove --purge apache2 apache2-utils apache2.2-bin apache2-common -y
sudo apt-get autoremove -y
sudo apt-get autoclean -y

whereis apache2

sudo rm -Rf /etc/apache2 /usr/lib/apache2 /usr/include/apache2

gerekli kaldırma işlemlerini tamamladık şimdi kuruluma başlayabiliriz.

sudo apt-get install nginx
ngnix start ediyoruz.

sudo systemctl start nginx


start ettiğimizde aşağıdaki gibi bir ekran karşımıza çıkacaktır.
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)  Active: active (running) since Tue 2015-10-27 16:08:39 IST; 4s ago Main PID: 1744 (nginx) CGroup: /system.slice/nginx.service ├─1744 nginx: master process /usr/sbin/nginx -g daemon on; master_... └─1745 nginx: worker process Oct 27 16:08:39 server systemd[1]: Starting A high performance web server a..... Oct 27 16:08:39 server systemd[1]: nginx.service: Failed to read PID from f...nt Oct 27 16:08:39 server systemd[1]: Started A high performance web server an...r. Hint: Some lines were ellipsized, use -l to show in full.

2. Test nginx

browser üzerinde http://sunucu ip adresini yazdığımızda bizi wellcome Nginx şeklinde bir ekran karşılayacaktır.

sudo nano /etc/nginx/nginx.conf 

komutu ile nginx ayarlarına bakıyoruz

nginx site kayıtları /etc/nginx/sites-available/default altında tutulmaktadır.

sudo nano /etc/nginx/sites-available/default
[...]
server {
listen 80 default_server;
listen [::]:80 default_server;
[...]
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 server.unixmen.local;
[...]

Ubuntu/Debian Üzerine Standart LAMP Kurulumu

Kısa Bir Giriş

Bu aşamada elimizde temiz bir Ubuntu veya Debian sunucumuz olduğunu varsayıyorum. Eğer yoksa hemen Panel > Sunucu Oluştur bağlantısından bir adet 64 bit Ubuntu 14.04 (LTS sürümü) veya Debian 8 kurabilirsiniz. (Ben Ubuntu tercih ediyorum)

LTS, Long Term Support (Uzun dönem destek gibi bir şey) demek. Ubuntu’nun normal (LTS olmayan) bir sürümünü kurarsanız, 9 ay boyunca bu sürüm için güvenlik güncelleştirmeleri alırsınız, bu dönem bittiğinde zaten Ubuntu’nun yeni sürümü çıkmış olur (6 ayda bir sürüm çıkıyor), sisteminizi sonraki sürüme yükseltmezseniz güncelleme alamazsınız. Kurduğunuz sürüm LTS ise bu süre -sanırım- 3 yıl. Yani sunucuya LTS kurmak çok mantıklı ve bence gerekli bir şey. Evet, yeni çıkan 15.10 sürümü yerine 1.5 yıl önce çıkmış 14.04 LTS kurmalısınız.

İlk defa giriş yapıyorsanız tek kullanıcının root olduğunu göreceksiniz. Bu biraz tehlikeli bir şey. Önce bir standart kullanıcı oluşturalım ve bu kullanıcıya su yetkisi verelim.

# adduser KULLANICI_ADI
# adduser KULLANICI_ADI sudo

Bundan sonra bu kullanıcıyla bağlanıp, yalnızca gerektiğinde sudo komutuyla root yetkisi alacağız. Şimdi çıkış yapıp tekrar giriş yapalım.

Temel Paketlerin Kurulumu

Paket indeksini güncelliyoruz…

sudo apt-get update

Gerekli paketlerimizi kuruyoruz…

sudo apt-get install apache2 php5 mysql-server-5.6

İşte LAMP bundan ibaret. Paketler kurulunca elinizde çalışır halde bir web sunucusu olacak.

Şimdi biraz ayar yapalım.

Ayarlar

Apache Ayarları

Apache dosyaları /etc/apache2 altında durur. Her domain için ayarlar, /etc/apache2/sites-enableddizininden okunur. Ama bu dizine dosya yazmak teamüle aykırıdır. Ayarlar, /etc/apache2/sites-available altına yazılır, enabled altına buradan link yapılır. Aslında bir fark yok. Sites-available dizinine yazmamıza gerek yok, ama racon budur. Linux’ta raconun dışına çıkmanın cezası penguen tarafından tokatlanmaktır. Bunu göze alıyorsanız bildiğiniz gibi yapabilirsiniz.

cd /etc/apache2/sites-available
sudo vim example.com

komutuyla birinci ayar dosyamızı oluşturup içine şunları yazıyoruz:

<VirtualHost *:80>
        ServerName      example.com
        ServerAlias     www.example.com
        ServerAdmin     admin@nv.com.tr

        DocumentRoot    /home/kullanici/www/example.com/htdocs
        <Directory />
                Options +FollowSymLinks
                AllowOverride All 
        </Directory>
        <Directory /home/kullanici/www/example.com/htdocs>
                Options -Indexes +FollowSymLinks +MultiViews
                AllowOverride All 
                Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Burada ServerName, girilecek adres. ServerAlias ise buna takma ad. Bir tane ServerName, ve istediğiniz kadar ServerAlias olabilir. Example.com ve www.example.com istersenizwww2.example.com bu VirtualHost ayarı tarafından yorumlanacak demektir.

Dosyalarımız /home/kullanici/www/example.com/htdocs altında duracak. Bu konuda farklı yaklaşımlar mevcut. Bazı gençler bu dosyaları /srv/http/domain{1,2,3,4,5}.com altında tutuyor. Ben herkesin kendi sitelerinin home altında tutulması taraftarıyım. FTP işlemleri yaparken sistem daha güvenli, ayarlar daha kolay oluyor. Her kullanıcının home dizininde www adlı bir dizin açıp içine domainleri koyuyoruz, bu domain dizinlerinde de htdocs ve subdomains diye iki dizin oluyor. Dosyalar bunların içinde duruyor.

Dosyamızı kaydedip çıkıyoruz. Şimdi bu dosyamız etkin değil. Çünkü sites-available dizininde.

sudo a2ensite example.com

komutuyla sitemizi aktif hale getiriyoruz. DNS ayarlarımızı yaptıysak adresinize tarayıcıdan girdiğinizde hata almamalısınız. Ya da en fazla forbidden hatası alırsınız, çünkü henüz dosyaları yerine koymamışsınızdır.

echo “slm nbr” > /home/kullanici/www/domain.com/htdocs/index.php
echo “<?php phpinfo(); ?>” > /home/kullanici/www/domain.com/htdocs/info.php

komutlarıyla iki dosya oluşturuyoruz. Şimdi sayfayı yenileyince slm nbr yazmalı. Domain.com/info.php adresinde ise PHP ayarlarımız görünmeli.

Tebrikler kurulumu tamamladınız.

Bundan sonrası ayrıntı..

PHP Ayarları

Php için iki dosyamız var. /etc/php5/apache2/php.ini ve /etc/php5/cli/php.ini. Bize lazım olan apache2. Diğeri konsolda çalışan php ayarları.

Önemli olan ayarlar:

upload_max_filesize: Yüklenebilecek en fazla dosya büyüklüğü. M, MB demek. 4M (veya 8M) iyidir bu ayar için. Artık süper akıllı telefonlarımızın çektiği fotoğraflar 2.5-3MB olabiliyor. Basit bir fotoğraf bile varsayılan ayarlarda hata verdirebilir.

date.timezone: PHPnin çalışacağı zaman dilimi. Date fonksiyonları için gerekli. Europe/Istanbul yazınız buraya da.

display_errors: Hata gösterimi. Sunucuyu geliştirme sunucusu olarak kullanacaksanız bunu On yapın.

Başka da çok önemli bir şey yok sanırım. Gerisi ihtiyaçlarınıza kalmış.

Mysql Ayarları

Burada bir ayar yok. Dilerseniz phpmyadmin kurabilirsiniz kullanım kolaylığı için.

sudo apt-get install phpmyadmin
phpmyadmin çalışabilmesi için apache2.conf editleyip

sudo nano /etc/apache2/apache2.conf

Include /etc/phpmyadmin/apache.conf ekliyoruz

komutuyla ek bir şey yapmadan kurulum yapıyorsunuz. Kurulum esnasında birkaç soru soruyor phpmyadmin. Web sunucuya apache2 diyelim, db-config yapayım mı? sorusuna evet. Bundan sonra mysql root parolasını soracak. Onu da yazalım ve phpmyadmin kuruldu.

http://ip/phpmyadmin adresinden giriş yapabilirsiniz.

Ubuntu/Debian Üzerine PureFtpd Kurulumu

 

Kurulum

Önce root oluyoruz. Tüm komutları root olarak yazacağız. Delikanlı sistem yöneticisi sudo mudo uğraşamaz. Hata yapınca da büyük hatalar yapmak ister.

sudo su

Sonra pure-ftpd yi basitçe kuruyoruz.

apt-get install pure-ftpd

Ayarlar

Servisin bir conf dosyası yok. /etc/pure-ftpd/conf altındaki dosyalara yes, no, değer, vs. gibi kısa ayarlar yazarak yapıyoruz tüm ayarları.

cd /etc/pure-ftpd/conf

Servisin daemon olarak çalışmasını sağlıyoruz.

echo "yes" > /etc/pure-ftpd/conf/Daemonize

Kimliksiz girişi iptal ediyoruz.

echo "yes" > /etc/pure-ftpd/conf/NoAnonymous

Herkesi kendi home dizinine hapsediyoruz.

echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone

Yetkilendirmeyi Unix sistem kullanıcıları ile yaptırıyoruz. (Çok çeşitli yetkilendirme yaptırmamız mümkün. Bir veritabanı kullanabiliriz, PAM, LDAP, Active Directory kullanıcıları ile yetkilendirme yapabiliriz.)

echo "yes" > /etc/pure-ftpd/conf/UnixAuthentication

Güvenli dedik. Kullanıcılarımızı SSL kullanmaya zorluyoruz. Burada;

0: TLS yok. 1: TLS opsiyonel, kullanıcı TLS kullanırsa bağlantı güvenli olur. 2: TLS mecburi. İstemci program TLS kullanmıyorsa, bağlantı iptal edilir.

echo "2" > /etc/pure-ftpd/conf/TLS

SSL için bir sertifika oluşturmamız gerekiyor bunun için tabii ki.

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Ve servisi yeniden başlatıyoruz.

service pure-ftpd restart

Kullanıcı Oluşturma

FTP sunucumuz şu anda istediğimiz gibi çalışır durumda. Ama henüz bir kullanıcımız yok. Varsa kullanabiliriz. Yoksa kullanıcı ekliyoruz.

SSH bağlantısı yapabilecek bir kullanıcı eklemek için:

adduser mahmut

Yalnızca FTP kullanıcısı eklemek istiyorsak,

adduser mahmut --home /home/web/mahmut --shell /usr/sbin/nologin

Bu kullanıcıya dikkat ettiğiniz üzere shell olarak nologin verdik. SSH ile bağlanmayı deneyebilirsiniz. Sisteminize göre bir red mesajı alacaksınız.

Kullanıcının ev dizini de dikkatinizi çektiği gibi /home altında değil, /home/web altında. Bunun için önce mkdir /home/web komutuyla bu dizini oluşturuyoruz.

Kullanıcı eklemeden önce Ubuntu sistemi için bir hatırlatma daha, sistem genelinde kullanıcılar birbirlerinin ev dizinlerinin içeriğini görebiliyorlar. Güvenli ve gizliliğe önem veren sistemimizde bunu engellemek için dpkg-reconfigure adduser komutunu verip (no cevabı ile) iptal etmemiz gerekiyor.

Kullanıcımızı oluşturduk ama hala giriş yapamıyoruz. Kullanıcı geçersiz diyor değil mi? Çünkü nologinshell i geçerli bir shell değil.

/etc/shells dosyasının sonuna /usr/sbin/nologin satırını eklememiz gerekiyor. Kısaca

echo "/usr/sbin/nologin" >> /etc/shells

Directadmin ana ip değiştirme – Directadmin main ip change

Directadmin ana ip değiştirme – Directadmin main ip change

1.Öncelikle directadmin.com üzerinden lisansa bağlı ip adresini değiştiriyoruz.

2. Aşağıdaki komutu çalıştırarak öncelikle yeni lisans tanımlamalarını çekiyoruz

cd /usr/local/directadmin/scripts
./getLicense.sh 1234 56789

3. Directadmin servisini restart  ediyoruz. /etc/init.d/directadmin restart

4.Aşağıdaki komutu çalıştırarak tanımlı olan ip değiştiriyoruz.

cd /usr/local/directadmin/scripts
./ipswap.sh 1.2.3.4 4.3.2.1

5. Tüm servisleri restart ediyoruz

/etc/init.d/httpd restart
/etc/init.d/proftpd restart
/etc/init.d/exim restart
/etc/init.d/dovecot restart

centos 2. disk mount etme – cents other disk mount

centos 2. disk mount etme – cents other disk mount

1-) İlk olarak fdisk -l komutunu yazıp enter tuşuna basıyoruz

Burada dev/sdb bölümünde ekli olan disk sisteme tanımlanmamış durumdadır. Yani bu disk sonradan eklenmiş durumdadır. Şimdi bu diski formatlayalım ve sunucumuza mount edelim;

2-) Diski formatlamak için mkfs.ext3 /dev/sdb komutunu yazıp enter tuşuna basıyoruz. Bu işlem ile /dev/sdb diskimizi formatlamış olduk

3-) Disk formatladıktan sonra sıra bu diski mount etmeye geldi. Bu işlem için ilk olarak mkdir /newdisk yazıp enter tuşuna basıyoruz. Bu işlem ile hd2 adında bir tane klasör oluşturmuş olduk. Daha sonra komut satırına mount /dev/sdb /newdisk yazıp enter tuşuna basarak bu klasörümüzün içine yeni diskimizi mount etmiş oluyoruz.

4-) Yukarıda yaptığımız işlemlerden sonra sunucumuza sonradan eklenmiş diski mount etmiş oluruz. Fakat sunucuya reset attığımızda diskimiz tekrardan kaybolacaktır. Bu sorunun olmaması için ilk olarak nano /etc/rc.d/rc.local komutunu yazıp enter tuşuna basıyoruz. Açılan dosyanın içine mount /dev/sdb /newdisk komutunu yazıp dosyamızı kaydediyoruz. Bu işlemden sonra sunucumuza artık reset atsak bile diskimiz devamlı gözükmüş olacaktır.

windows 2012 server cpu limitleme

windows 2012 server cpu limitleme

Bir çok web server yöneticisi, sunucusunda bulunan web sitelerinin aşırı kaynak kullanımında bulunması, CPU kaynaklarını harcaması ve diğer sitelerin yayın akışının etkilenmesinden muzdariptir. Bu tür durumlarda CPU Limitleme işleminin nasıl yapılacağı hakkında bilgi vereceğim.

Biliyorsunuzki IIS kullanıcılarına direkt olarak kaynak kullanım hakkı atanamamaktadır. Eğer kullanıcı standartın dışında kaynak ihtiyacına gereksinim duyarsa, aynı sunucu çatısı altında barınan diğer kullanıcıların yayın akışını etkileyebilir. Bunun önüne geçebilmek için kullanıcıya özel uygulama havuzu oluşturmak ve kullanıcının gereksinimlerine göre dizayn etmek gerekir.

Bu yazımızda IIS kullanıcılarını CPU Limleme işlemini nasıl yapacağımızı ve ne gibi aksiyonlar alabileceğimiz konusunda bilgi paylaşacağım.

Aşağıda iletmiş olduğum işlem adımlarını takip ederek yeni bir application pool oluşturabilir, application pool kaydının nekadar CPU kaynağından yararlanabileceğini atayabilir ve ne gibi aksiyonlar alabileceğimizi belirleyebilirsiniz.

Farzedelim ki xxx.com alan adı kaydımız var ve CPU haklarınıı aşırı bir şekilde tüketiyor. IIS kullanıcısını limitleyebilmemiz için öncelikle özel bir application pool oluşturmamız lazım. Öncelikle çalıştır ekranına “inetmgr” yazarak Internet Information Services ( IIS ) Manager ekranına ulaşıyoruz. İlgili arayüzde ;

1 – Aplication Pools menü başlığına sağ tuş tıklayarak Add Application Pool.. butonuna basasıyoruz

2 – Bizi karşılayacak ekranda oluşturacağınız application pool kaydının ismini atayabilir site yapısının gereksinimlerine göre .NET framework versiyonunu düzenleyebilir ve Piplene modunu seçebilirsiniz.

3 – Ben default seçimlerde herhangi bir değişiklik yapmadım ve testnatro adında application pool kaydımı oluşturdum.

4 – Eklediğimiz aplication pool kaydını IIS Manager ekranında bulunan application pools listesinden görebilirsiniz.

5 – Application pool kaydımızı eklediğimize göre CPU limitleme işlemini gerçekleştirebiliriz. Yukarıda paylaşılan görselde görebileceğiniz gibi oluşturduğumuz Application Pool kaydına sağ tuş tıklıyoruz veAdvanced Settings ara yüzüne ulaşıyoruz. Bu ekranda CPU limiti atayabilmemiz için CPU başlığının altında bulunan Limit ( Percent ) bölümünde değer atamamız gerekiyor. ( 1 – 100 ) arasında değer atayabilmektesiniz.

Throttle seçimi IIS8 versiyonun aramıza katılmasıyla beraber bilişim hayatımızda yer almaya başlamıştır. IIS8 den önce gelen versiyonlarda sadece KillW3wp seçeneği bulunmaktadır.

Throttle : Atanan limitin üzerinde cpu kullanılmasını engeller.
KillW3wp : Limite ulaşıldığında direkt olarak aplication pool kaydına ait görevi sonlandırır.

6 – Yukarıda bilgisini paylaşmış olduğum gibi application pool kaydımızı oluşturduk ve CPU kaynak atmasını gerçekleştirdik. Artık son işlem adımını gerçekleştirebiliriz. Web sitemize ait IIS kullanıcısını oluşturduğumuz application pool kaydına alarak atanan limitlerin dışına çıkmamasını sağlayabiliriz.

– IIS Manager ekranından sites bölümü altında yer alan kullanıcımızı buluyoruz ve çift tıklıyoruz.

– Actions bölümü altında bulunan Basic Settings… butonuna tıklıyoruz ve Edit Site ekranına ulaşıyoruz.Application pool altında bulunan select menüsünden oluşturduğumuz application pool kaydını bulabilir ve seçimini gerçekleştirerek IIS kullanıcımızı oluşturulan kaydın altına alabiliriz.

ssh ile mysql root şifresini sıfırlama – ssh mysql root password reset

ssh ile mysql root şifresini sıfırlama – ssh mysql root password reset

istemlerinize ait her hangi bir şifreyi yazılı olarak saklamamak güvenlik tedbirlerinin en başında yer almaktadır. Fakat uzun süreli işlem yapmadığınız servislerin şifresini unutabilir veya da şifre hatasıyla karşılaşabilirsiniz.

Bu yazımızda web server yöneticilerinin en sık karşılaşmış olduğu MySQL root şifresinin SSH üzerinden nasıl değiştirebileceğmize dahil bilgi paylaşımında bulunacağız.

Root şifrenizi sıfırlayabilmeniz için izlemeniz gereken adımlar aşağıdaki gibidir.

1 – İlk öncelikle MySQL servisini durdurmamız gerekiyor. Aşağıda yer alan komutu SSH ekranında girerek MySQL servisimizi duraklatıyoruz.

  #   service mysql stop

2 – Bir sonraki adımda skip-grant özelliğini kullanarak MySQL servisimizi tekrardan başlatmamız gerekiyor.

  #   mysqld_safe –skip-grant-tables &

3 – MySQL servisimizi “skip-grant” özelliğiyle başlattık. Şimdi MySQL servimizie şifresiz bağlanabiliriz.

  #   mysql -u root

4 – Şifresiz girişi sağlayarak MySQL monitoring ekranına ulaştık. Artık sırasıyla aşağıda paylaşmış olduğum komutları MySQL monitoring ekranına girerek yeni şifremizi root kullanıcısına atayabiliriz.

  #   mysql> use mysql;
  #   mysql> update user set password=PASSWORD(“Yeni Şifrenizi Yazın”) where User=’root’;
    mysql> flush privileges;
  #   mysql> quit;

5 – MySQL monitoring ekranında güncel şifremizi atadık ve monitoring ekranından çıktı şimdi tekrardan MySQL servisimizi duraklatmamız gerekiyor.

  #   service mysql stop

MySQL servisini duraklatmamızın sebebi “skip-grant” özelliğinden çıkmak için gerçekleştirilmektedir. MySQL servisimizi tekrardan başlatarak güncel root şifremizi kullanmaya başlayabiliriz.

  # service mysql start