RoundcubeMail Kurulumu
Web üzerinden maillere ulaşabilmek için bu paketi kuruyoruz:
yum -y install roundcubemail
ISPConfig web üzerinden maillere ulaşabilmek için standart olarak squirremail adresini vhost içerisinde barındırmaktadır. Roundube için de aynı adresi kullanacağız. Bunun için aşağıdaki linkleme işlemini yapıyoruz:
ln -s /usr/share/roundcubemail /usr/share/squirrelmail
Nginx’in global alias özelliği olmadığı için her vhost için ayrı ayrı webmail adresi tanımlanmalıdır. Bu işlemin nasıl yapılacağı dökümanın sonunda anlatılmaktadır. Şimdi roundcube için gerekli olan veritabanını ve MySQL kullanıcısını oluşturuyoruz. ISPConfig kurulumundan sonra Roundcube kurulumunu yapacağız.
mysql -u root -p > CREATE DATABASE roundcubedb; > CREATE USER [email protected] IDENTIFIED BY 'RoundcubeSifresi'; > GRANT ALL PRIVILEGES on roundcubedb.* to [email protected]; > FLUSH PRIVILEGES; > exit
ISPConfig 3 Kurulumu
Nginx kullanacağımız için öncelikle Apache sunucusunu durdurmamız ve nginx’i başlatmamız gerekmektedir.
systemctl stop httpd systemctl disable httpd systemctl restart nginx.service systemctl enable nginx.service
Artık ISPConfig kurulumuna başlayabiliriz:
cd /root
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/
php -q install.php
[...]
Select language (en,de) [en]: <---- Enter
Installation mode (standard,expert) [standard]: <---- Enter
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [s100.nixarsoft.com]: s100.nixarsoft.com
MySQL server hostname [localhost]:
MySQL server port [3306]:
MySQL root username [root]: <---- MySQL Root şifresini giriniz
MySQL database to create [dbispconfig]:
MySQL charset [utf8]:
Apache and nginx detected. Select server to use for ISPConfig: (apache,nginx) [apache]: nginx
Bu bilgileri girdikten sonra SSL tanımlaması için gerekli bilgileri giriyoruz. Pure-FTP kurulumundaki SSL adımlarının aynısı burada da geçerlidir:
Country Name (2 letter code) [XX]:TR State or Province Name (full name) []:izmir Locality Name (eg, city) [Default City]:izmir Organization Name (eg, company) [Default Company Ltd]:sirketadi Organizational Unit Name (eg, section) []:sirketadi Common Name (eg, your name or your server's hostname) []:s100.nixarsoft.com Email Address []:[email protected]
Bu aşamadan sonra ISPConfig bazı servislerin ayarlamalarını yapıp PORT bilgisini soracaktır:
ISPConfig Port [8080]: <---- ENTER Admin password [rltkhjsaeh]: <---- ENTER Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <---- ENTER Country Name (2 letter code) [XX]:TR State or Province Name (full name) []:izmir Locality Name (eg, city) [Default City]:izmir Organization Name (eg, company) [Default Company Ltd]:sirketadi Organizational Unit Name (eg, section) []:sirketadi Common Name (eg, your name or your server's hostname) []:s100.nixarsoft.com Email Address []:[email protected] A challenge password []: <--- unutmayacağınız bir şifre belirleyiniz An optional company name []: sirketadi
Bu aşamalardan sonra aşağıdaki gibi bir çıktı elde edeceğiz. En son satırda “Installation completed.” yazdıysa ISPConfig kurulumunu başarılı şekilde yapmış olacağız:
Configuring DBServer Installing ISPConfig crontab Installing ISPConfig crontab no crontab for root no crontab for getmail Detect IP addresses Restarting services ... Failed to reload php-fpm.service: Unit not found. Installation completed.
Artık ISPConfig panelimize girebiliriz.
LetsEncrypt İle Valid SSL Oluşturmak
LetsEncrypt ücretsiz SSL oluşturmak için kullanılmaktadır. ISPConfig ve Nginx ile entegre şekilde çalışabilmektedir.
yum -y install certbot python2-certbot-nginx
Paketleri kurduktan sonra certbot komutunu bir kez çalıştırıyoruz. Enter ‘c’ to cancel yazan satır geldiğinde “c” tuşuna basıp enter tuşuna basıyoruz. Ardından crontab ayarlıyoruz ve artık domainlerimizin SSL sertifikaları otomaitk olarak yenilenecektir:
[[email protected] ~]# certbot Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator nginx, Installer nginx Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): c An e-mail address or --register-unsafely-without-email must be provided.
Ardından aşağıdaki komutu çalıştırarak her gün saat 04:00’da çalışacak şekilde cron oluşturuyoruz. Böylece hergün sertifikalarımız otomatik olarak kontrol edilir ve süresi dolan sertifikalar otomatik olarak yenilenir:
echo "0 4 * * * root certbot renew >> /logs/certbot-cron.log 2>&1" >> /etc/crontab
0 yorum