"Ubuntu" Etiketindeki Gönderiler

Ubuntu etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

 


Merhaba,

Uzun süredir yapmayı düşünüp bir türlü hadi diyemediğim bir işi daha nihayete kavuşturmanın rahatlığı ile bu yazıyı yazıyorum. Fiziksel bir makinede kurulu Ubuntu Server 20.04 ile ilgili uzun zamandır korkulu rüyalar görüyordum. Donanımın çok eski olması her an çökebileceği ihtimali ve üzerinde kurulu kritik uygulamalar nedeni ile diken üzerinde idim. Bu sunucuyu Proxmox VE üzerine taşıyıp sanallaştırmak uzun süredir üzerinde düşündüğüm ancak bir türlü harekete geçmediğim bir iş idi. Bunu bir kaç gün önce hallettim. Nasıl yaptığımı hem hatırlatıcı olması hem de buna benzer bir iş yapmak isteyenler için kayıt altına almak isterim. Başlayalım..

Fiziksel bir makineyi sanal ortama taşımak için elbette pek çok yöntem mevcut. Ben de bunlardan kolay olduğunu düşündüğüm Clonezilla'yı deneyerek işe başladım. Ancak şöyle bir sorun oluştu; fiziksel makinemin HDD'i 440 GB civarında bir büyüklüğe sahipti. Clonezilla ile bu diski sanal makineye taşımak istediğimde sanal makine diskinin de buna eşit veya bundan büyük olması gerektiği hatasını verip durdu Clonezilla. Sanal ortamda disk kullanımı 20 GB civarında olan bir makine için 440 GB disk alanı kullanmak elbette mantıksız bir iş olurdu. Bu aynı zamanda backup alma ve backup'tan geri dönmeyi de zorlaştırırdı. Bu nedenle başka bir çözüm aradım. Ve bulduğum çözüm şöyle oldu..

Öncelikle fiziksel makinede bir dizin oluşturarak işe başladım;

# sudo mkdir -p /mnt/backup

Bu dizine fiziksel makinemizin / dizininde bulunan tüm dosyaları arşivleyip sıkıştırarak kaydedeceğiz. bunun için kullanmamız gereken komut;

# sudo tar czvpf /mnt/backup/physical_machine_backup.tar.gz --exclude=/mnt/backup --one-file-system /

komut / dizindeki tüm dosyaları /mnt/backup dizinini hariç tutarak arşivleyip sıkıştırıyor ve /mnt/backup dizinine kaydediyor. Bu işlem makinenizin hızına ve diskinizin büyüklüğüne göre uzun veya kısa sürebilir, biraz sabırlı olmak gerekiyor. Dosya oluşturulurken bir yandan da Proxmox VE üzerinde Ubuntu Server 20.04 kurulumu yaptım. Her iki işlem sona erince fiziksel makineden şu komutu vererek arşiv dosyamızı sanal makinemize taşıyoruz;

# scp /mnt/backup/physical_machine_backup.tar.gz user@proxmox_vm:/mnt/backup/

komutu verirken, user olarak sanal makinenizdeki kullanıcı adını ve proxmox_vm yazılı yere sanal makinenizin ip numarasını yazmayı unutmayın. Ve elbette sanal makinede bağlanmak istediğiniz user tarafından yazma hakkına sahip /mnt/backup dizinini de oluşturun. Kopyalama işlemi bittikten sonra sanal makinenize bağlanın, öncelikle geri yükleme sırasında olası dosya çakışmasını engellemek için geçici bir dizin oluşturalım;

# sudo mkdir -p /mnt/restore

arşiv dosyamızı bu dizine taşıyalım;

# sudo mv /mnt/backup/physical_machine_backup.tar.gz /mnt/restore/
# cd /mnt/restore

Şu anda dosyalarımızı sanal sunucuya açmak için hazırız ancak yapmamız gereken bir işlem var. Yükleme sonrası /etc/fstab ve /etc/netplan/00-installer-config.yaml dosyaları eski sunucudan kopyalanacaktır. Bu dosyalar sisteme disklerin bağlanması için ve network ayarları için önemli olduğundan sistemi yeniden başlatmadan önce eski hallerine getirilmeli. bu nedenle bu iki dosyanın içeriğini lütfen bir yere kaydedin. Bunu yaptıktan sonra arşivi sanal makinemizin / dizinine açabiliriz;

#  sudo tar xzvpf physical_machine_backup.tar.gz -C /

İşlem bittikten sonra işlem öncesi kopyasını aldığımız /etc/fstab ve /etc/netplan/00-installer-config.yaml dosyalarını eski hallerine getirin. Grub ve initramfs güncelleme yapalım;

# sudo update-grub
# sudo update-initramfs -u

Hepsi bu kadar, şimdi sanal sunucumuzu yeniden başlatalım;

# sudo reboot

Fiziksel sunucunuz sanallaştırıldı ve Proxmox VE üzerine başarı ile taşındı.

Saygılarımla..


Let's Encrypt Internet Security Research Group ("ISRG") tarafından geliştirilen ve Linux Foundation tarafından desteklenen Security Research Group tarafından ilk olarak 2015 yılında üretilmiş bir açık sertifika otoritesidir. Tüm amaç kamu yararı için ücretsiz, otomatize ve açık bir sertifika doğrulama sistemidir.

Let's Encrypt web sunucuların HTTP yerine HTTPS kullanılmasını yaygınlaştırmak üzere SSL/TLS sertifikaların ücretsiz olarak üretilmesi ve dağıtılması amacıyla kurulmuştur. Sektörün önde gelen şirketleri Cisco, Mozilla ve Electronic rontier Foundation firmaları tarafından finanse edilmektedir ve bu servis sponsorlar desteği ile devamlılığını sağlamaktadır.

Let's Encrypt ile ücretsiz olarak SSL sertifikaları üretilebilmekte. Ubuntu 20.04 Server üzerinde bu sertifikanın üretilmesi ile ilgili basamakları bu dökümanda bulabilirsiniz.

Öncelikle depolarımızı güncelleyelim,

sudo  apt-get update

Sonrasında gerekli uygulamaları yükleyelim,

$ sudo apt-get install letsencrypt

Bu aşamada Let's Encrypt üzerinden sertifika oluşturmak için gerekli uygulamalar sistemimizde yüklü halde. Let's Encrypt sertifika oluşturmak için domainin yöneticisi olduğunuzu ispat etmenizi istiyor. Wildcard tipinde sertifika oluşturmak için "DNS Challenge" yöntemini kullanmaz zorunlu. Sertifikaları oluşturmak için şu komutu kullanıyoruz,

$ sudo certbot certonly --manual --preferred-challenges=dns --email mailadresiniz@domain.com --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d domain.com -d *.domain.com

Parametreler şöyle,

  • certonly: Bir sertifika oluştur veya yenile ama yükleme
  • manual: Sertifikayı etkileşimli olarak oluştur
  • preferred-challenges: Etki alanı sahipliğini doğrulamak için DNS Challange kullan
  • server: Sertifika oluşturmak için kullanılacak sunucu adresi
  • agree-tos: ACME sunucusunun üyelik şartlarını kabul et
  • d: Sertifika oluşturulacak domain adı

Komutu verdiğimizde şu çıktılar üretilecektir,

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for domain.com
dns-01 challenge for domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.

Are you OK with your IP being logged?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.domain.com with the following value:

T6LEeoXaGoxB3vcoG0ZhmlniM3VBV3BKA2se9E637UY

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

Bu aşamada çıktıda belirtilen DNS TXT kaydını DNS sunucularına girmemiz gerekiyor. Tinydns DNS sunucusu için yukarıda verilen anahtara uygun girdi şu şekilde olmalı,

'_acme-challenge.domain.com:Qz8v7yHVUdUnB3N5O-qmqZPySrs82NCJXkxpOGmbpYE:3600

DNS sunuculara gerekli kaydı girdikten sonra enter tuşuna basarak işleme devam ediyoruz (işlemin zaman aşımına uğramaması için kaydı hızlı girmek gerekiyor). Eğer her şey yolunda gitmiş ise şu ekran çıktılarını görmemiz gerekiyor,

Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/domain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/domain.com/privkey.pem
   Your cert will expire on 2022-01-17. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew" 
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Sertifikalarımızı certbot ile bir kez daha görüntüleyelim,

$ sudo certbot certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: domain.com
    Domains: domain.com *.domain.com
    Expiry Date: 2022-01-17 08:01:37+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/domain.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/domain.com/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Evet gördüğünüz üzere sertifikamız ve private key başarı ile oluşturulmuş durumda.. Şimdi yapmamız gereken son bir işlem var. Let's Encrypt sertfikaları 90 gün için oluşturduğu için sertifikas süresi sona erdiğinde yenilenmesi için bir cron işi girmemiz lazım.

$ sudo crontab -e

Komutu ile açtığımız alana şu kaydı ekliyoruz,

0 1 * * * /usr/bin/certbot renew >> /var/log/letsencrypt/renew.log

Evet tüm aşamaları tamamladık. Artık Let's Encrypt üzerinden ücretsiz olarak SSL sertifikamızı kullanabiliriz..

Author Name

İletişim Formu

Ad

E-posta *

Mesaj *

Blogger tarafından desteklenmektedir.