Ulaşım
- Adres:Batıkent Mh. 8910 Sk. 6. Etap 1H No: 18 Yeni Toki Eyyübiye / Şanlıurfa (Yeni Alım Satım Karşısı)
- Telefon:0 (545) 528 88 93
- eMail: info@alestaweb.com
DirectAdmin control panel kurulumu ile profesyonel web hosting yönetimi! OpenLiteSpeed DirectAdmin, çoklu PHP sürümleri, mail sunucu yapılandırması ve güvenlik ayarları.
DirectAdmin, web hosting yönetimi için kullanılan hızlı, güvenilir ve kullanıcı dostu bir control paneldir. cPanel ve Plesk'e alternatif olarak geliştirilmiş bu panel, düşük kaynak tüketimi ve yüksek performansıyla öne çıkar.
DirectAdmin control panel, web siteleri, veritabanları, email hesapları, FTP hesapları ve DNS yönetimini tek bir arayüzden yapmanızı sağlar.
DirectAdmin Ubuntu kurulumu için sunucunuzun aşağıdaki minimum gereksinimleri karşılaması gerekir.
DirectAdmin sadece Linux işletim sistemlerinde çalışır. Desteklenen sistemler:
DirectAdmin lisans satın almadan kurulum yapamazsınız. Lisans türleri ve fiyatları:
DirectAdmin, 30 günlük ücretsiz deneme lisansı sunar. Test amaçlı kurulum için idealdir.
# Trial lisans ile kurulum
bash setup.sh trial
DirectAdmin kurulum başlamadan önce sunucunuzun hazır olduğundan emin olun.
Kurulumdan önce mutlaka hostname ve DNS kayıtlarını doğru yapılandırın.
# Mevcut hostname kontrol
hostname
hostname -f
# Çıktı şöyle olmalı:
# ns1.yourdomain.com (FQDN)
# Eğer FQDN değilse:
hostnamectl set-hostname ns1.yourdomain.com
# Domain sağlayıcınızda (GoDaddy, Namecheap vb.) oluşturun:
A Record:
ns1.yourdomain.com → 212.64.222.XXX (sunucu IP)
ns2.yourdomain.com → 212.64.222.XXX (aynı IP)
# Sunucu sağlayıcınızın (Hetzner, DigitalOcean vb.) panel'inden:
# IP → Hostname mapping oluşturun
212.64.222.XXX → ns1.yourdomain.com
# Kontrol:
dig -x 212.64.222.XXX
nslookup 212.64.222.XXX
Ubuntu 22.04 üzerinde DirectAdmin kurmadan önce sistemi hazırlayın.
# SSH ile sunucuya bağlanın
ssh root@212.64.222.XXX
# Paket listesini güncelle
apt update
# Tüm paketleri güncelle
apt upgrade -y
# Tam sistem güncellemesi
apt dist-upgrade -y
# Gereksiz paketleri temizle
apt autoremove -y
apt autoclean
reboot# Hostname'i ayarla (kendi domain'inizi yazın)
hostnamectl set-hostname ns1.yourdomain.com
# /etc/hosts dosyasını düzenle
nano /etc/hosts
# Şu satırları ekleyin/düzenleyin:
127.0.0.1 localhost
212.64.222.XXX ns1.yourdomain.com ns1
# Kaydet ve çık (Ctrl+O, Enter, Ctrl+X)
# Hostname kontrolü
hostname -f
# Çıktı: ns1.yourdomain.com olmalı
# UFW kurulumu
apt install ufw -y
# Varsayılan politikalar
ufw default deny incoming
ufw default allow outgoing
# Gerekli portları aç
ufw allow 22/tcp # SSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw allow 2222/tcp # DirectAdmin Panel
ufw allow 21/tcp # FTP
ufw allow 25/tcp # SMTP (Mail gönderme)
ufw allow 587/tcp # Submission (Authenticated SMTP)
ufw allow 465/tcp # SMTPS (SSL SMTP)
ufw allow 110/tcp # POP3
ufw allow 143/tcp # IMAP
ufw allow 993/tcp # IMAPS (SSL IMAP)
ufw allow 995/tcp # POP3S (SSL POP3)
ufw allow 35000:35999/tcp # Passive FTP
# OpenLiteSpeed WebAdmin (opsiyonel)
ufw allow 7080/tcp
# Firewall'ı aktifleştir
ufw --force enable
# Durum kontrol
ufw status verbose
# Mevcut zaman ayarını kontrol
timedatectl
# Zaman dilimi listesi (Türkiye için)
timedatectl list-timezones | grep Istanbul
# Zaman dilimini ayarla
timedatectl set-timezone Europe/Istanbul
# NTP senkronizasyonu aktif et
timedatectl set-ntp true
# Kontrol
timedatectl
date
# Build araçları ve bağımlılıklar
apt install -y wget curl gcc g++ make perl bzip2 gzip tar \
autoconf automake libtool flex bison patch \
libssl-dev libcurl4-openssl-dev libxml2-dev \
libpcre3-dev zlib1g-dev
# Ağ araçları
apt install -y net-tools dnsutils bind9-utils
# Sistem araçları
apt install -y htop iotop sysstat vim nano
# Güvenlik araçları
apt install -y fail2ban unzip
# DirectAdmin için Perl modülleri
apt install -y libnet-ssleay-perl libcrypt-ssleay-perl \
libio-socket-ssl-perl libperl-dev
# Mail sunucu gereksinimleri
apt install -y libsasl2-dev libdb-dev libpam0g-dev
# Mevcut swap kontrol
swapon --show
free -h
# 2GB swap dosyası oluştur
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# Kalıcı hale getir (fstab'a ekle)
echo '/swapfile none swap sw 0 0' >> /etc/fstab
# Swappiness ayarla (varsayılan 60, sunucular için 10 ideal)
sysctl vm.swappiness=10
echo 'vm.swappiness=10' >> /etc/sysctl.conf
# Kontrol
swapon --show
free -h
DirectAdmin Ubuntu kurulumu için iki yöntem vardır: Otomatik (setup.txt ile) ve İnteraktif. Otomatik kurulum önerilir.
Setup.txt dosyası oluşturarak tamamen otomatik kurulum yapabilirsiniz.
# Kurulum için dizin oluştur
mkdir -p /root/da_install
cd /root/da_install
# Kurulum scriptini indir
wget -O setup.sh https://www.directadmin.com/setup.sh
# Yürütme izni ver
chmod +x setup.sh
cat > /root/da_install/setup.txt << 'EOF'
uid=XXXXXX
lid=XXXXXX
hostname=ns1.yourdomain.com
email=admin@yourdomain.com
ip=212.64.222.XXX
mysql=yes
mysql_backup=yes
mysql_inst=mariadb
mariadb=10.11
php1_release=8.1
php2_release=8.2
php1_mode=php-fpm
php2_mode=php-fpm
litespeed=no
apache=yes
nginx=yes
nginx_proxy=yes
modsecurity=yes
custombuild=yes
webserver=nginx_apache
admin_username=admin
admin_pass=GÜÇLÜ_ŞİFRENİZ
ns1=ns1.yourdomain.com
ns2=ns2.yourdomain.com
EOF
cd /root/da_install
bash setup.sh auto
Setup.txt oluşturmadan interaktif olarak kurulum yapabilirsiniz.
# Setup script'ini çalıştır
cd /root/da_install
bash setup.sh
# Kurulum sırasında sorulan sorular:
# - Client ID (UID): XXXXXX
# - License ID (LID): XXXXXX
# - Hostname: ns1.yourdomain.com
# - Email: admin@yourdomain.com
# - Admin username: admin
# - Admin password: [güçlü şifre]
# - MySQL root password: [otomatik oluşturulur]
# - Web server: nginx_apache (seçin)
# - PHP versions: 8.1, 8.2 (seçin)
Kurulum sırasında logları izleyebilirsiniz.
# Yeni bir SSH terminal açın
ssh root@212.64.222.XXX
# Kurulum logunu izle
tail -f /var/log/directadmin/install.log
# Veya
watch -n 5 'tail -20 /var/log/directadmin/install.log'
Kurulum başarıyla tamamlandığında şu bilgileri göreceksiniz:
==============================
DirectAdmin Installation Complete!
==============================
DirectAdmin URL: https://212.64.222.XXX:2222
Admin Username: admin
Admin Password: [belirlediğiniz şifre]
MySQL Root Password: [otomatik oluşturuldu]
(şifre /usr/local/directadmin/conf/mysql.conf dosyasında)
Please reboot your server now:
reboot
# Sunucuyu yeniden başlat
reboot
# 2-3 dakika sonra SSH ile bağlan
ssh root@212.64.222.XXX
# Servis durumlarını kontrol et
systemctl status directadmin
systemctl status httpd
systemctl status nginx
systemctl status mysql
OpenLiteSpeed DirectAdmin kurulumu Apache'ye göre %40-70 daha hızlı performans sağlar. Ücretsiz LiteSpeed alternatifidir.
OpenLiteSpeed, LiteSpeed Technologies tarafından geliştirilen açık kaynaklı, yüksek performanslı web sunucusudur.
DirectAdmin OpenLiteSpeed kurulumu için setup.txt dosyasını şu şekilde düzenleyin:
cat > /root/da_install/setup.txt << 'EOF'
uid=XXXXXX
lid=XXXXXX
hostname=ns1.yourdomain.com
email=admin@yourdomain.com
ip=212.64.222.XXX
mysql=yes
mysql_backup=yes
mysql_inst=mariadb
mariadb=10.11
php1_release=5.6
php2_release=7.2
php3_release=7.4
php4_release=8.0
php5_release=8.1
php6_release=8.2
php7_release=8.3
php1_mode=lsphp
php2_mode=lsphp
php3_mode=lsphp
php4_mode=lsphp
php5_mode=lsphp
php6_mode=lsphp
php7_mode=lsphp
litespeed=yes
openlitespeed=yes
apache=no
nginx=no
nginx_proxy=no
modsecurity=no
custombuild=yes
webserver=openlitespeed
admin_username=admin
admin_pass=GÜÇLÜ_ŞİFRE
ns1=ns1.yourdomain.com
ns2=ns2.yourdomain.com
EOF
# Kurulumu başlat
bash setup.sh auto
# OpenLiteSpeed durumu
systemctl status lsws
# Veya
/usr/local/lsws/bin/lswsctrl status
# Versiyonu kontrol
/usr/local/lsws/bin/lswsctrl version
# Manuel başlatma/durdurma
/usr/local/lsws/bin/lswsctrl start
/usr/local/lsws/bin/lswsctrl stop
/usr/local/lsws/bin/lswsctrl restart
URL: https://212.64.222.XXX:7080
Varsayılan Kullanıcı: admin
Varsayılan Şifre: 123456 (MUTLAKA DEĞİŞTİRİN!)
# Şifre değiştirme:
/usr/local/lsws/admin/misc/admpass.sh
ufw allow 7080/tcp
ufw reload
LiteSpeed Cache, WordPress siteleri için inanılmaz performans artışı sağlar.
# User Level → Domain Setup → domain.com
# → Advanced Features → OpenLiteSpeed Cache
# → Enable Cache
DirectAdmin çoklu PHP desteği sayesinde her domain için farklı PHP versiyonu kullanabilirsiniz.
Kurulum sırasında setup.txt dosyasında PHP versiyonlarını belirleyin:
php1_release=5.6
php2_release=7.2
php3_release=7.4
php4_release=8.0
php5_release=8.1
php6_release=8.2
php7_release=8.3
Kurulum bittikten sonra CustomBuild ile yeni PHP versiyonu ekleyebilirsiniz:
# CustomBuild dizinine git
cd /usr/local/directadmin/custombuild
# Mevcut PHP versiyonlarını göster
./build versions | grep php
# Yeni PHP versiyonu ekle (örn: PHP 8.3)
./build set php8_release 8.3
./build set php8_mode php-fpm # veya lsphp (OpenLiteSpeed için)
./build php n
# PHP listesi
./build versions
# Kurulu PHP'leri göster
ls -la /usr/local/php*/bin/php
Her domain için farklı PHP versiyonu atayabilirsiniz.
# Domain için PHP 8.1 ata
cd /usr/local/directadmin/custombuild
./build set_php 8.1 example.com
# Apache/LiteSpeed config yeniden oluştur
./build rewrite_confs
# Servis restart
systemctl restart httpd # Apache için
# veya
systemctl restart lsws # OpenLiteSpeed için
Her domain'de PHP versiyonunu test etmek için:
# Domain'in public_html dizinine git
cd /home/username/domains/example.com/public_html/
# PHP info dosyası oluştur
echo "" > info.php
# İzinleri ayarla
chmod 644 info.php
chown username:username info.php
Tarayıcıdan test edin: http://example.com/info.php
rm info.phpHer PHP versiyonu için ayrı modüller kurabilirsiniz.
# PHP modüllerini göster (örn: PHP 8.1)
/usr/local/php81/bin/php -m
# Yeni modül kur (örn: imagick)
cd /usr/local/directadmin/custombuild
./build set php81_imagick yes
./build php n
# Modül listesi
./build options | grep php
# Tüm PHP versiyonları için modül kur
./build set imagick yes
./build imagick
DirectAdmin mail sunucu kurulumu Exim (SMTP) + Dovecot (IMAP/POP3) kombinasyonu ile yapılır.
Mail sunucunun düzgün çalışması için DNS kayıtlarını doğru yapılandırmalısınız.
# Domain registrar'da oluşturun:
MX Record:
@ MX 10 ns1.yourdomain.com
@ MX 20 ns2.yourdomain.com (yedek)
A Record:
mail.yourdomain.com → 212.64.222.XXX
# Sunucu sağlayıcının panel'inden:
212.64.222.XXX → ns1.yourdomain.com
# Kontrol:
dig -x 212.64.222.XXX
nslookup 212.64.222.XXX
# Çıktıda ns1.yourdomain.com görmelisiniz!
SPF, hangi sunucuların domain adınıza mail gönderebileceğini belirtir.
# DirectAdmin Panel'den veya manuel:
TXT Record:
@ TXT "v=spf1 a mx ip4:212.64.222.XXX ~all"
# Açıklama:
# v=spf1 : SPF versiyonu
# a : A record'daki IP'den gönderme izni
# mx : MX record'daki sunuculardan gönderme izni
# ip4:X.X.X.X : Belirtilen IP'den gönderme izni
# ~all : Diğerleri soft-fail (şüpheli işaretle)
DKIM, mail'in gerçekten siz tarafından gönderildiğini kanıtlar.
# DirectAdmin Panel'den DKIM oluştur:
# Admin Level → Email Manager → DKIM Keys
# → Generate Key for domain.com
# Oluşan public key'i DNS'e ekle:
TXT Record:
default._domainkey TXT "v=DKIM1; k=rsa; p=MIGfMA0GCS..."
# DKIM kontrolü:
dig default._domainkey.yourdomain.com TXT
DMARC, SPF ve DKIM başarısız olursa ne yapılacağını belirtir.
TXT Record:
_dmarc TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com"
# Açıklama:
# p=quarantine : Şüpheli mailleri karantinaya al
# p=reject : Şüpheli mailleri reddet
# rua=mailto: : DMARC raporlarını gönder
# Exim durumu
systemctl status exim
# Test mail gönder
echo "Test email from DirectAdmin" | mail -s "Test Subject" test@gmail.com
# Mail queue kontrol
exim -bp
# Mail log
tail -f /var/log/exim/mainlog
# Dovecot durumu
systemctl status dovecot
# IMAP test (port 143)
telnet localhost 143
# a1 LOGIN user@domain.com password
# a2 SELECT INBOX
# a3 LOGOUT
# Port dinleme kontrolü
netstat -tulpn | grep -E ':(25|587|465|110|143|993|995)'
Spam filtreleme için SpamAssassin kullanılır.
# SpamAssassin kurulumu (zaten kurulu olmalı)
cd /usr/local/directadmin/custombuild
./build set spamassassin yes
./build spamassassin
# SpamAssassin kurallarını güncelle
sa-update
# Servis başlat
systemctl start spamassassin
systemctl enable spamassassin
# Durumu kontrol
systemctl status spamassassin
DirectAdmin güvenlik ayarları ile sunucunuzu saldırılara karşı koruyun.
Fail2Ban, brute-force saldırılarını engelleyen güvenlik aracıdır.
# Fail2Ban kurulumu
apt install fail2ban -y
# DirectAdmin jail yapılandırması
cat > /etc/fail2ban/jail.local << 'EOF'
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
destemail = admin@yourdomain.com
sendername = Fail2Ban
action = %(action_mwl)s
[directadmin]
enabled = true
port = 2222
filter = directadmin
logpath = /var/log/directadmin/error.log
maxretry = 5
bantime = 3600
[sshd]
enabled = true
port = 22
maxretry = 3
bantime = 7200
findtime = 600
[exim]
enabled = true
port = 25,587,465
filter = exim
logpath = /var/log/exim/mainlog
maxretry = 5
[dovecot]
enabled = true
port = 110,143,993,995
filter = dovecot
logpath = /var/log/dovecot.log
maxretry = 5
EOF
# DirectAdmin filtresi oluştur
cat > /etc/fail2ban/filter.d/directadmin.conf << 'EOF'
[Definition]
failregex = \|\| failed login
ignoreregex =
EOF
# Fail2Ban başlat
systemctl restart fail2ban
systemctl enable fail2ban
# Durum kontrol
fail2ban-client status
fail2ban-client status directadmin
fail2ban-client status sshd
SSH erişimini güvenli hale getirin.
# SSH yapılandırma dosyası
nano /etc/ssh/sshd_config
# Önerilen ayarlar:
Port 22 # veya custom port (örn: 2244)
PermitRootLogin prohibit-password # Sadece SSH key ile root login
PasswordAuthentication yes # Başlangıçta yes, sonra no
PubkeyAuthentication yes
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers admin root # Sadece belirli kullanıcılar
# Kaydet ve çık
# SSH servisini yeniden başlat
systemctl restart sshd
# Local bilgisayarınızda SSH key oluşturun (Windows: Git Bash, Linux/Mac: Terminal)
ssh-keygen -t ed25519 -C "admin@yourdomain.com"
# Public key'i sunucuya kopyalayın
ssh-copy-id root@212.64.222.XXX
# Test edin (şifre sormadan girebilmelisiniz)
ssh root@212.64.222.XXX
# Şifre ile girişi kapat
nano /etc/ssh/sshd_config
# PasswordAuthentication no
systemctl restart sshd
DirectAdmin paneline sadece belirli IP'lerden erişim izni verin.
# DirectAdmin yapılandırma dosyası
nano /usr/local/directadmin/conf/directadmin.conf
# Şu satırı ekleyin (kendi IP'lerinizi yazın):
ip_whitelist=123.123.123.123,124.124.124.124
# DirectAdmin'i yeniden başlat
systemctl restart directadmin
MySQL root şifresini güçlü yapın ve güvenli saklayın.
# Mevcut root şifresini görüntüle
cat /usr/local/directadmin/conf/mysql.conf
# MySQL güvenlik wizard'ı çalıştır
mysql_secure_installation
# Sorulan sorular:
# - Remove anonymous users? YES
# - Disallow root login remotely? YES
# - Remove test database? YES
# - Reload privilege tables? YES
ModSecurity, web uygulamalarına yönelik saldırıları engeller.
# ModSecurity kurulumu (Apache ile)
cd /usr/local/directadmin/custombuild
./build set modsecurity yes
./build set modsecurity_ruleset owasp
./build modsecurity
./build modsecurity_rules
# Apache'yi yeniden başlat
systemctl restart httpd
# ModSecurity durumu kontrol
grep "ModSecurity" /var/log/httpd/error_log
CSF, DirectAdmin için özel geliştirilmiş gelişmiş firewall'dır.
# CSF kurulumu
cd /usr/local/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
./install.sh
# DirectAdmin entegrasyonu
cd /usr/local/directadmin/plugins
wget https://download.configserver.com/csf/csfda.tgz
tar -xzf csfda.tgz
cd csf
./install.sh
# CSF test
perl /usr/local/csf/bin/csftest.pl
# CSF yapılandırma
nano /etc/csf/csf.conf
# Önemli ayarlar:
TESTING = "0" # Test modunu kapat
TCP_IN = "22,80,443,2222,21,25,587,465,110,143,993,995,35000:35999"
TCP_OUT = "22,80,443,25,587,465,110,143,993,995"
DENY_IP_LIMIT = "200"
LF_DAEMON = "1" # Login Failure Daemon aktif
# CSF'yi başlat
csf -r
Tüm siteler için ücretsiz SSL sertifikası.
# DirectAdmin hostname için SSL
cd /usr/local/directadmin/scripts
./letsencrypt.sh request ns1.yourdomain.com 4096
# Otomatik yenileme (cronjob zaten kurulu)
crontab -l | grep letsencrypt
DirectAdmin performans ayarları ile sunucunuzu maksimum verimlilikle çalıştırın.
Apache kullanıyorsanız MPM (Multi-Processing Module) ayarlarını optimize edin.
# MPM yapılandırma dosyası
nano /etc/httpd/conf/extra/httpd-mpm.conf
# Prefork MPM (PHP-FPM ile önerilen)
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 0
# Event MPM (daha performanslı ama PHP-FPM gerektirir)
StartServers 3
MinSpareThreads 75
MaxSpareThreads 250
ThreadsPerChild 25
MaxRequestWorkers 400
MaxConnectionsPerChild 0
# Apache'yi yeniden başlat
systemctl restart httpd
Her PHP versiyonu için ayrı PHP-FPM havuzu optimize edin.
# PHP 8.1 FPM havuz ayarları
nano /usr/local/php81/etc/php-fpm.d/www.conf
# Önemli ayarlar:
pm = dynamic # Dinamik process yönetimi
pm.max_children = 50 # Maksimum çocuk process
pm.start_servers = 5 # Başlangıç process sayısı
pm.min_spare_servers = 5 # Minimum boşta bekleyen
pm.max_spare_servers = 35 # Maksimum boşta bekleyen
pm.max_requests = 500 # Her process'in işleyeceği max istek
pm.status_path = /status # FPM status sayfası
ping.path = /ping # Health check
# PHP-FPM'i yeniden başlat
systemctl restart php-fpm81
# pm.max_children hesaplama:
# RAM / (PHP memory_limit * 1.2) = max_children
# Örnek: 4GB RAM, 128MB memory_limit
# 4096MB / (128MB * 1.2) = ~26 çocuk
# Güvenli marj için: 50 çocuk (2GB RAM ile)
PHP OPcache, PHP kodunu önbelleğe alarak %20-50 hızlanma sağlar.
# Her PHP versiyonu için php.ini düzenle
nano /usr/local/php81/lib/php.ini
# OPcache ayarları:
[opcache]
opcache.enable=1
opcache.memory_consumption=256 # OPcache için RAM (MB)
opcache.interned_strings_buffer=16 # String buffer (MB)
opcache.max_accelerated_files=10000 # Cache'lenecek max dosya
opcache.revalidate_freq=60 # Dosya değişiklik kontrolü (saniye)
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.save_comments=1
# PHP-FPM restart
systemctl restart php-fpm81
# OPcache status script oluştur
echo "" > /var/www/html/opcache.php
# Tarayıcıdan: http://212.64.222.XXX/opcache.php
Veritabanı performansını artırın.
# MySQL yapılandırma dosyası
nano /etc/my.cnf
# [mysqld] altına ekle:
max_connections = 200 # Max bağlantı sayısı
innodb_buffer_pool_size = 1G # RAM'in %50-70'i (1GB örnek)
innodb_log_file_size = 256M # Transaction log boyutu
innodb_flush_log_at_trx_commit = 2 # Performans vs güvenlik dengesi
query_cache_size = 64M # Query cache (MariaDB 10.5-)
query_cache_type = 1
tmp_table_size = 64M # Geçici tablo boyutu
max_heap_table_size = 64M # Memory tablo boyutu
table_open_cache = 4000 # Açık tablo cache
thread_cache_size = 50 # Thread cache
# MariaDB 10.5+ için (query cache kaldırıldı):
performance_schema = ON
# MySQL'i yeniden başlat
systemctl restart mysql
# MySQLTuner indir ve çalıştır
wget http://mysqltuner.pl/ -O mysqltuner.pl
chmod +x mysqltuner.pl
./mysqltuner.pl
# Script öneriler sunar, bunları uygulayın
Redis, object cache için kullanılır (özellikle WordPress için).
# Redis kurulumu
cd /usr/local/directadmin/custombuild
./build set redis yes
./build redis
# Redis başlat
systemctl start redis
systemctl enable redis
# Durum kontrol
systemctl status redis
redis-cli ping
# Çıktı: PONG
HTTP sıkıştırma ile sayfa boyutunu %70-80 azaltın.
# Apache deflate modülünü aktifleştir
nano /etc/httpd/conf/httpd.conf
# Şu satırları ekle:
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json
systemctl restart httpd
# Nginx yapılandırma
nano /etc/nginx/nginx.conf
# http { } bloğu içine ekle:
gzip on;
gzip_vary on;
gzip_comp_level 6;
gzip_types text/plain text/css text/xml text/javascript application/json application/javascript application/xml+rss;
systemctl restart nginx
DirectAdmin sorun giderme için yaygın problemler ve çözümleri.
# Servis durumu kontrol
systemctl status directadmin
# Çalışmıyorsa başlat
systemctl start directadmin
# Port dinleme kontrolü
netstat -tulpn | grep 2222
# Firewall kontrolü
ufw status | grep 2222
ufw allow 2222/tcp
# Log kontrolü
tail -100 /var/log/directadmin/error.log
# DirectAdmin yeniden başlat
systemctl restart directadmin
# Apache durumu
systemctl status httpd
# Syntax hatası kontrolü
apachectl configtest
# Hata varsa düzelt ve restart
systemctl restart httpd
# Apache log
tail -f /var/log/httpd/error_log
# LiteSpeed durumu
systemctl status lsws
/usr/local/lsws/bin/lswsctrl status
# Restart
/usr/local/lsws/bin/lswsctrl restart
# Log
tail -f /usr/local/lsws/logs/error.log
# Nginx durumu
systemctl status nginx
# Syntax kontrol
nginx -t
# Restart
systemctl restart nginx
# Exim durumu
systemctl status exim
# Mail queue
exim -bp
# Test email
echo "Test" | mail -s "Subject" test@gmail.com
# Mail log
tail -f /var/log/exim/mainlog
# PTR (Reverse DNS) kontrol - ÇOK ÖNEMLİ!
dig -x 212.64.222.XXX
# Dovecot durumu
systemctl status dovecot
# Port kontrolü
netstat -tulpn | grep -E ':(110|143|993|995)'
# Dovecot log
tail -f /var/log/dovecot.log
# MX record
dig yourdomain.com MX
# SPF record
dig yourdomain.com TXT | grep spf
# DKIM record
dig default._domainkey.yourdomain.com TXT
# Manuel yenileme
/usr/local/directadmin/scripts/letsencrypt.sh renew
# Otomatik yenileme cronjob kontrolü
crontab -l | grep letsencrypt
# Sertifika geçerlilik kontrolü
openssl s_client -connect domain.com:443 -servername domain.com
# Sertifika dosyaları
ls -la /usr/local/directadmin/data/users/*/domains/*/ssl/
# En çok CPU tüketen processler
top
# Shift+P : CPU'ya göre sırala
# Shift+M : RAM'e göre sırala
# Veya htop (daha görsel)
htop
# Apache bağlantı sayısı
netstat -an | grep :80 | wc -l
# MySQL processler
mysql -u root -p -e "SHOW FULL PROCESSLIST;"
# Disk I/O kontrol
iotop
# En çok bağlantı yapan IP'ler
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
# Belirli IP'yi engelle
ufw deny from 123.123.123.123
# veya CSF ile
csf -d 123.123.123.123
# Lisans bilgilerini göster
/usr/local/directadmin/directadmin l
# Lisans yenileme
/usr/local/directadmin/scripts/getLicense.sh CLIENT_ID LICENSE_ID
# DirectAdmin restart
systemctl restart directadmin
# Lisans logları
tail -f /var/log/directadmin/error.log | grep license
# Genel disk durumu
df -h
# En büyük dizinler
du -sh /* | sort -h
# Kullanıcı disk kullanımı
du -sh /home/* | sort -h
# Log dosyaları boyutu
du -sh /var/log/* | sort -h
# Eski logları temizle
journalctl --vacuum-time=7d
find /var/log -name "*.log" -type f -mtime +30 -delete
# Apache/Nginx logları
cd /var/log/httpd
rm -f access_log.* error_log.*
# Mail queue temizle (dikkatli!)
exim -bp | exiqgrep -i | xargs exim -Mrm
# Eski backupları sil
find /backup -name "*.tar.gz" -mtime +30 -delete
DirectAdmin kurulum süresi sunucu hızına ve seçilen bileşenlere göre değişir. Standard kurulum (Apache + 2 PHP + MySQL): 30-45 dakika. OpenLiteSpeed + 7 PHP versiyonu: 45-90 dakika. Kurulum tamamen otomatiktir, sadece bekleyin!
DirectAdmin lisans fiyatları 2025'te: Personal $2/ay (1 domain), Lite $5/ay (10 domain), Standard $15/ay (unlimited), Lifetime ~$299 (tek seferlik). En karlı seçenek Lifetime lisans - 2 yıl içinde kendini amorti eder! Internal lisanslar onaylı hesaplar için özel fiyat sunar.
DirectAdmin avantajları: Düşük fiyat (%70 ucuz), düşük kaynak kullanımı, hızlı performans, basit arayüz. cPanel avantajları: Daha zengin özellikler, geniş eklenti ekosistemi, daha fazla topluluk desteği. Küçük-orta ölçekli hosting için DirectAdmin idealdir. Büyük ölçekli enterprise için cPanel.
OpenLiteSpeed Apache'den 3-5x daha hızlıdır ve %40 daha az kaynak kullanır. WordPress siteleri için mükemmeldir (LiteSpeed Cache plugin ile). Apache daha mature, geniş .htaccess desteği, bazı eski uygulamalar Apache gerektirir. Yeni kurulumlar için OpenLiteSpeed önerilir!
DirectAdmin çoklu PHP ile her domain için farklı PHP versiyonu seçebilirsiniz. User Level → Domain Setup → PHP Version Selector'dan seçim yapın. PHP 5.6'dan 8.3'e kadar 7 farklı versiyon aynı anda kullanılabilir. Eski siteler PHP 7.2, yeni siteler PHP 8.2 kullanabilir.
Mail sunucu için DNS kayıtları kritiktir: 1) MX record oluşturun, 2) PTR (Reverse DNS) mutlaka yapılandırın (yoksa spam!), 3) SPF kaydı ekleyin, 4) DKIM oluşturun (DirectAdmin Panel'den), 5) DMARC kaydı ekleyin. Bu 5 adım tamamlanmazsa mailleriniz spam'e düşer!
Let's Encrypt SSL DirectAdmin'de otomatiktir. Domain eklediğinizde User Level → SSL Certificates → Free & automatic certificate seçeneğini tıklayın. 2 dakikada SSL kurulur ve 90 günde bir otomatik yenilenir. DirectAdmin panel için: /usr/local/directadmin/scripts/letsencrypt.sh request hostname
DirectAdmin güvenlik için: 1) Fail2Ban kurun (brute-force koruması), 2) SSH key-based auth kullanın, 3) Güçlü şifreler (admin, MySQL root), 4) Firewall aktif (UFW veya CSF), 5) ModSecurity WAF (Apache için), 6) Düzenli güncelleme, 7) Backup sistemi aktif. Bu 7 adım sunucunuzu %99 güvenli hale getirir!
Performans optimizasyonu: 1) PHP-FPM kullanın (mod_php değil), 2) OPcache aktifleştirin (%30 hızlanma), 3) Redis object cache kurun (WordPress için), 4) MySQL InnoDB buffer pool artırın, 5) OpenLiteSpeed kullanın (+%200 performans), 6) Gzip sıkıştırma aktif, 7) HTTP/2 veya HTTP/3 kullanın.
DirectAdmin backup: Admin Level → Admin Backup/Transfer → Scheduled Backups: Enabled. Frequency: Daily, Time: 02:00. Local + Remote backup yapılandırın (FTP/SFTP). Manuel backup: /usr/local/directadmin/scripts/backup.sh. Backuplar /backup/ dizininde saklanır. Mutlaka offsite backup yapın!
CustomBuild, DirectAdmin'in yazılım yönetim aracıdır. Apache, PHP, MySQL güncellemeleri CustomBuild ile yapılır. Komutlar: ./build update (versiyon listesi güncelle), ./build php n (PHP güncelle), ./build all (tüm yazılımları güncelle). CustomBuild dizini: /usr/local/directadmin/custombuild/
Domain ekleme: Admin Level → Account Manager → Create Account. Username, email, password, domain name girin. Package seçin (Unlimited önerilir). Create. Sonra domain'in nameserver'larını ns1.yourdomain.com ve ns2.yourdomain.com olarak ayarlayın. DNS propagation 24 saat sürebilir.
Reseller oluşturma: Admin Level → Create Reseller. Reseller username, package, domain limiti belirleyin. Reseller kendi müşterilerini yönetebilir, paket oluşturabilir, fatura çıkarabilir (WHMCS entegrasyonu ile). Lite veya üzeri lisans gereklidir (Personal lisansta reseller yok).
MySQL veritabanı: User Level → MySQL Management → Create new Database. Database name ve user girin. Password oluşturun (güçlü olmalı). Permissions: ALL seçin. Create. phpMyAdmin'den yönetmek için: User Level → phpMyAdmin. Remote MySQL erişimi için IP whitelist gerekir.
FTP hesabı: User Level → FTP Management → Create FTP Account. Username, password, directory (public_html) girin. Quota belirleyin. Create. FTP bağlantı bilgileri: Host: ftp.yourdomain.com, Port: 21, User: username@domain.com. SFTP (Port 22) daha güvenlidir, SSH erişimi gerektirir.
WordPress kurulum: User Level → Softaculous Apps Installer (veya Installatron) → WordPress. Domain seçin, admin username/password belirleyin, Install. 2 dakikada kurulum tamamlanır. OpenLiteSpeed kullanıyorsanız mutlaka LiteSpeed Cache plugin kurun (%500 performans artışı!).
DirectAdmin portları: 2222 (Panel), 80 (HTTP), 443 (HTTPS), 21 (FTP), 22 (SSH/SFTP), 25 (SMTP), 587 (Submission), 465 (SMTPS), 110 (POP3), 143 (IMAP), 993 (IMAPS), 995 (POP3S), 3306 (MySQL), 7080 (OpenLiteSpeed WebAdmin), 35000-35999 (Passive FTP).
DirectAdmin güncelleme: cd /usr/local/directadmin && ./directadmin update. CustomBuild güncelleme: cd /usr/local/directadmin/custombuild && ./build update && ./build update_versions. Otomatik güncelleme için cronjob ekleyin: 0 3 * * * /usr/local/directadmin/custombuild/build update
DirectAdmin logları: /var/log/directadmin/error.log (panel hataları), /var/log/httpd/error_log (web sunucu), /var/log/exim/mainlog (mail), /var/log/mysql/error.log (veritabanı), /var/log/auth.log (SSH girişleri), /usr/local/lsws/logs/ (OpenLiteSpeed). Logları izlemek için: tail -f /path/to/log
IP değişikliği: 1) DirectAdmin müşteri panelinden lisansı yeni IP'ye transfer edin (ücretsiz), 2) Sunucuda: /usr/local/directadmin/scripts/ipswap.sh OLD_IP NEW_IP, 3) DNS kayıtlarını güncelleyin, 4) SSL sertifikalarını yeniden oluşturun, 5) DirectAdmin restart: systemctl restart directadmin
DirectAdmin kurulumu, bu kapsamlı rehber sayesinde artık çok kolay! Ubuntu 22.04 üzerinde sıfırdan profesyonel bir web hosting sunucusu kurdunuz.
DirectAdmin, cPanel'e uygun maliyetli, hızlı ve güvenilir bir alternatiftir. Özellikle küçük-orta ölçekli hosting işletmeleri için idealdir. Lifetime lisans seçeneği ile tek seferlik ödeme yapıp ömür boyu kullanabilirsiniz!
OpenLiteSpeed DirectAdmin kombinasyonu Apache'den 3-5x daha hızlı performans sağlar. WordPress siteleri için LiteSpeed Cache plugin ile birlikte kullanıldığında inanılmaz sonuçlar elde edersiniz (PageSpeed 95+).
Güvenlik her zaman öncelik olmalı: Fail2Ban, CSF Firewall, SSH key-based authentication, güçlü şifreler, düzenli güncellemeler ve backup sistemi sunucunuzu %99 güvenli hale getirir.
Mail sunucu yapılandırmasında PTR (Reverse DNS), SPF, DKIM ve DMARC kayıtlarını mutlaka oluşturun. Aksi takdirde gönderdiğiniz mailler spam klasörüne düşer!
Performans optimizasyonu ile sunucunuz maksimum verimlilikle çalışır: PHP-FPM, OPcache, Redis cache, MySQL tuning, gzip sıkıştırma ve HTTP/2 kullanımı zorunludur.
Çoklu PHP desteği sayesinde eski ve yeni siteleri aynı sunucuda barındırabilirsiniz. PHP 5.6'dan 8.3'e kadar her versiyon kullanılabilir.
Backup sistemini mutlaka aktifleştirin ve hem local hem de remote (offsite) yedek alın. Günlük otomatik backup + haftalık manual kontrol ideal rutindir.
Bu rehberde öğrendiklerinizle artık profesyonel seviyede web hosting sunucusu yönetebilirsiniz. Sorularınız için DirectAdmin resmi forumları ve topluluk kaynaklarını kullanabilirsiniz.
Başarılar dileriz! ???? Hosting işiniz DirectAdmin ile çok daha kolay!