Debian Sunucu Hazırlama-1 Sayfa (Debian 9 (Stretch) ile Apache, BIND, Dovecot, PureFTPD ve ISPConfig 3.1)
Bu öğreticide, ISPConfig 3.1’in yüklenmesi için bir Debian 9 sunucusunun (Apache2, BIND, Dovecot) nasıl hazırlanacağı ve ISPConfig’in nasıl yükleneceği gösterilmiştir. Web hosting kontrol paneli ISPConfig 3 bir web tarayıcısı üzerinden aşağıdaki hizmetleri yapılandırmanızı sağlar: Apache veya nginx web sunucusu, Postfix posta sunucusu, Courier veya Dovecot IMAP / POP3 sunucusu, MySQL, BIND veya MyDNS nameserver, PureFTPd, SpamAssassin, ClamAV, ve daha fazlası. Bu kurulum Apache’yi (nginx yerine), BIND ve Dovecot’u kapsar.
1 Ön Not
Bu eğitimde, sunucu1.ornek.com adresindeki ana bilgisayar adını 192.168.1.100 IP adresi ve 192.168.1.1 ağ geçidiyle kullanacağım. Bu ayarlar sizin için farklılık gösterebilir, bu nedenle uygun olduğunda bunları değiştirmeniz gerekir. Daha fazla ilerlemeden önce, Debian 9’un minimum kurulumuna sahip olmanız gerekir. Bu, Hosting sağlayıcınızdan bir Debian minimal görüntüsü olabilir veya temel sistemi kurmak için Minimal Debian Server öğreticisini kullanabilirsiniz.
2 SSH sunucusunu kurun (İsteğe bağlı)
Sistem kurulumu sırasında OpenSSH sunucusunu kurmadıysanız, şimdi yapabilirsiniz:
apt install ssh openssh-server
3 Bir kabuk metin düzenleyicisi yükleyin (İsteğe bağlı)
apt install nano vim-nox
Vi favori düzenleyicinizse, dosyaları düzenlemek için nano’yu aşağıdaki komutlarla değiştirin.
4 Ana Makine Adını Yapılandırma
Sunucunuzun ana makine adı “sunucu1.ornek.com” gibi bir alt alan olmalıdır. Alt alan adı olmayan “domain.com” gibi bir etki alanı adı, ana bilgisayar adı olarak kullanmayın; bu, posta kurulumunuzda sorunlara neden olur. Öncelikle, ana makine adını /etc/hosts dosyasında kontrol etmeli ve gerektiğinde değiştirmelisiniz. Satır şöyle olmalıdır: “IP Adresi – boşluk – etki alanı dahil tam ana bilgisayar adı – boşluk – alt alan adı”. sunucu1.ornek.com ana bilgisayar adı için dosya şöyle görünecektir:
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost 192.168.1.100 sunucu1.ornek.com sunucu1 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Ardından /etc/hostname dosyasını düzenleyin:
nano /etc/hostname
Bizim durumumuzda sadece alt alan kısmını içerecektir:
sunucu1
Son olarak, değişikliği uygulamak için sunucuyu yeniden başlatın:
reboot
Tekrar giriş yapın ve ana makine adının şu anda bu komutlarla doğru olup olmadığını kontrol edin:
hostname
hostname -f
Çıktı şu şekilde olacaktır:
root@sunucu1:/tmp# hostname
sunucu1
root@sunucu1:/tmp# hostname -f
sunucu1.ornek.com
5 Debian Kurulumunuzu Güncelleyin
Öncelikle, /etc/apt/sources.list’inizin strech / updates havuzunu içerdiğinden emin olun (bu, her zaman en yeni güvenlik güncellemelerini almanızı sağlar) ve bazı gerekli paketler olmadığından, katkısız ve ücretsiz olmayan depoların etkinleştirildiğinden emin olun. ana depoda.
nano /etc/apt/sources.list
deb http://ftp.tr.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.tr.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free
Aşağıdaki komutu çalıştırın:
apt update
Apt paket veritabanını güncellemek için
apt upgrade
ve son güncellemeleri yükleyin (varsa).
6 Varsayılan Kabuğu (Shell’i) değiştirin
/ bin/sh /bin/dash için bir (sembolik bağlantı)symlink’tir, ancak /bin/bash, /bin/dash’e ihtiyacımız var. Bu yüzden bunu yapıyoruz:
dpkg-reconfigure dash
Use dash as the default system shell (/bin/sh)?
Bunu yapmazsanız, ISPConfig yüklemesi başarısız olur.
7 Sistem Saatini Senkronize Etme
Sistem saatini İnternet üzerinden bir NTP (ağ zaman protokolü) sunucusu ile senkronize etmek iyi bir fikirdir. Sadece çalıştır:
apt-get install ntp
ve sistem saatiniz her zaman senkronize olacaktır.
8 Postfix, Dovecot, MySQL, rkhunter ve Binutils’i yükleme
Postfix, Dovecot, MySQL, rkhunter ve Binutils’i tek bir komut ile yükleyebiliriz:
apt install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo
MariaDB üzerinden MySQL’i tercih ettiğinizde, “mysql-client mysql-server” ile yukarıdaki komutta “mariadb-client mariadb-server” paketlerini değiştirin.
Aşağıdaki sorular sorulacak:
General type of mail configuration: <-- Internet Site System mail name: <-- sunucu1.ornek.com
MariaDB / MySQL kurulumunu güvenli hale getirmek ve test veritabanını devre dışı bırakmak için şu komutu çalıştırın:
mysql_secure_installation
Soruları şu şekilde cevaplayınız:
Change the root password? [Y/n] <-- y New password: <-- Yeni MySQL root Şifresini Girin Re-enter new password: <-- Yeni MySQL root Şifresini Tekrar Girin Remove anonymous users? [Y/n] <-- y Disallow root login remotely? [Y/n] <-- y Remove test database and access to it? [Y/n] <-- y Reload privilege tables now? [Y/n] <-- y
Ardından, Postfix’te TLS / SSL ve gönderim bağlantı noktalarını açın:
nano /etc/postfix/master.cf
Gönderimi ve smtps bölümlerini aşağıdaki gibi uncomment ve gerekirse master.cf dosyasının bu bölümünün aşağıdakine benzemesi için çizgiler ekleyin.
[...]
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - - - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
[...]
Postfix'i daha sonra yeniden başlat:
service postfix restart
MySQL’in sadece localhost değil tüm arayüzleri dinlemesini istiyoruz. Bu nedenle, /etc/mysql/mariadb.conf.d/50-server.cnf dosyasını düzenliyoruz ve bind-address = 127.0.0.1 satırını yorumluyoruz ve sql-mode = “NO_ENGINE_SUBSTITUTION” satırını ekliyoruz:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
sql-mode="NO_ENGINE_SUBSTITUTION"
[...]
MariaDB’de parola kimlik doğrulama yöntemini yerel olarak ayarlayın, böylece root kullanıcısı olarak bağlanmak için daha sonra PHPMyAdmin’i kullanabiliriz:
echo "update mysql.user set plugin = 'mysql_native_password' where user='root';" | mysql -u root /etc/mysql/debian.cnf
dosyasını düzenleyin ve şifreyle başlayan satırlarda iki kez MYSQL / MariaDB kök(root) şifresini ayarlayın.
nano /etc/mysql/debian.cnf
Eklenmesi gereken MySQL root şifresi okumada gösterilmektedir, bu örnekte şifre “anadolupanteri” dir.
# Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = root password = anadolupanteri socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = root password = anadolupanteri socket = /var/run/mysqld/mysqld.sock basedir = /usr
‘Error in accept: Too many open files’ hatasını önlemek için şimdi MariaDB için daha yüksek açık dosya limitleri belirleyeceğiz.
Bir editörle /etc/security/limits.conf dosyasını açın:
nano /etc/security/limits.conf.
ve bu satırları dosyanın sonuna ekleyin
mysql soft nofile 65535
mysql hard nofile 65535
Ardından, mkdir komutuyla yeni bir dizin /etc/systemd/system/mysql.service.d/ oluşturun.
mkdir -p /etc/systemd/system/mysql.service.d/
ve içine yeni bir dosya ekleyin:
nano /etc/systemd/system/mysql.service.d/limits.conf
Aşağıdaki satırları bu dosyaya yapıştırın:
[Service]
LimitNOFILE=infinity
Dosyayı kaydedin ve nano düzenleyiciyi kapatın.
Ardından systemd'yi yeniden yükleriz ve MariaDB'yi yeniden başlatırız:
systemctl daemon-reload
service mysql restart
Şimdi ağın etkinleştirildiğini kontrol edin. Çalıştırın:
netstat -tap | grep mysql
Çıktı şöyle görünmelidir:
root@sunucu1:/home/ortancasamuray# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 17776/mysqld
root@server1:/home/ortancasamuray#
9 Amavisd-new, SpamAssassin ve ClamAV'ı yükleyin
Amavisd-new, SpamAssassin ve ClamAV'ı yüklemek için
apt install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl libdbd-mysql-perl postgrey
ISPConfig 3 kurulumu, SpamAssassin filtre kitaplığını dahili olarak yükleyen amavisd kullanır, bu yüzden SpamAssassin'i biraz RAM'i serbest bırakabiliriz:
service spamassassin stop
systemctl disable spamassassin
9.1 Metronom XMPP Sunucusunu Kur (isteğe bağlı)
Bu adım, XMPP protokolüyle uyumlu bir sohbet sunucusu sağlayan Metronome XMPP Sunucusunu yükler. Bu adım isteğe bağlıdır, sohbet sunucusuna ihtiyacınız yoksa, bu adımı atlayabilirsiniz. Başka hiçbir ISPConfig işlevi bu yazılıma bağlı değildir.
Debian'daki Prosody paket deposunu ekleyin.
echo "deb http://packages.prosody.im/debian stretch main" > /etc/apt/sources.list.d/metronome.list
wget http://prosody.im/files/prosody-debian-packages.key -O - | sudo apt-key add -
Paket listesini güncelle:
apt update paketleri apt ile kurun.
apt install git lua5.1 liblua5.1-0-dev lua-filesystem libidn11-dev libssl-dev lua-zlib lua-expat lua-event lua-bitop lua-socket lua-sec luarocks luarocks
luarocks install lpc
Metronome için bir kabuk kullanıcısı ekleyin.
adduser --no-create-home --disabled-login --gecos 'Metronome' metronome
Metronom'u / opt dizinine indirin ve derleyin.
cd /opt; git clone https://github.com/maranda/metronome.git metronome cd ./metronome; ./configure --ostype=debian --prefix=/usr make make install.
Metronom şimdi / opt / metronome'a kuruldu