ps -C servis-adi o %cpu,%mem,cmd
Yazar: ademsencer
Nginx Üzerinde Ücretsiz Let’s Encrypt SSL Kurulumu
İlk olarak repoyu çekip yüklüyoruz;
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
Güvenlik duvarında nginx için sadece http erişimlerine izin verilmiş olabilir. Eğer öyleyse https erişimlerini açmamız gerekecek. Kontrol etmek için;
ufw status
Gelen çıktı da Nginx Full yazıyorsa aşağıdaki 2 komutu yazmanıza gerek yok.
sudo ufw allow ‘Nginx Full’
sudo ufw delete allow ‘Nginx HTTP’
Daha sonra domaini tanımlıyoruz.
sudo certbot –nginx -d siteadi.com -d www.siteadi.com
Bu komuttan sonra kuruluma başlayacak ve http ile erişim yapıldığı zaman otomatik olarak https e yönlendirmek isteyip istemediğinizi soracaktır. Seçimizini yapıp devam edin. SSL sertifikanız kuruldu.
Kurulum bittiğinde ssl sertifikanızı süresi bittiğinde otomatik yenilenmesini istiyorsanız aşağıdaki komutu da çalıştırmalısınız.
sudo certbot renew –dry-run
Terminal Üzerinden Mysql Erişimi ve Default Password Değiştirme
Mysql’e erişmek için;
-u: Kullanıcı adını ifade eder. Bu flagdan sonra erişeceğiniz kullanıcı adını girmelisiniz
-p: Şifreyi ifade eder. komut çalıştıktan sonra root kullanıcısının şifresini isteyecektir.
mysql -u root -p
Kullanıcı adınız ve şifrenizi doğru girdiyseniz, mysql’e erişmiş olacaksınız.
Mysql veritabanlarınızı görmek için;
show databases;
Bir veritabanı üzerinde işlem yapmak için öncelikle veritabanını seçmeniz gerekmektedir;
use veritabani_adi;
Veritabanı içerisindeki tabloları listelemek için;
show tables;
Bundan sonrası mysql bilginize göre sorguları atıp at koşturabilirsiniz.
"Select * from tablo_adi" bla bla..
Mysql şifrenizi değiştirmek için terminalden mysql’e giriş yaptıktan sonra;
UPDATE mysql.user SET Password = PASSWORD('password') WHERE User = 'root';
Aktif olarak giriş yapmış bir kullanıcının şifresini değiştirdiyseniz şifre değişikliğinin yansıması için;
FLUSH PRIVILEGES;
Veritabanı oluşturmak için
CREATE DATABASE veritabani_adi CHARACTER SET utf8 COLLATE utf8_general_ci;
Standart olarak utf8 kullandığımız için karakter seti ile oluşturdum. Yoksa “create database db_adi” yeterli olacaktır.
Linux Üzerinde Mysql Server Kurulumu
Önce işletim sistemindeki paketleri güncellememiz gerek;
sudo apt-get update
Mysql-server kurulumu;
sudo apt-get install mysql-server
Eğer kişisel bilgisayarınızda sadece geliştirme amaçlı kullanıyorsanız yada veritabanınıza sadece sunucunuz içerisinden erişecekseniz aşağıdaki kodu çalıştırmanıza gerek yoktur.
Yaptığı işlem mysql servisini dışardan gelecek isteklere açmaktır. Varsayılan 3306 portunu erişime açılacaktır.
sudo ufw allow mysql
Eğer hata alırsanız, ufw yüklü değildir. Yüklemek için;
sudo apt-get install ufw
Mysql servisini başlatıyoruz;
systemctl start mysql
Bilgisayarımızın yada sunucumuzun her açılışında mysql servisini otomatik çalıştırmak istiyorsak;
systemctl enable mysql
Linux Üzerinde Docker-Compose Kurulumu
Docker-compose kullanmak için;
Projeyi resmi Github reposundan yerel klasörümüze indirip çalıştırma yetkisi vereceğiz.
sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Download işlemi bittikten sonra;
sudo chmod +x /usr/local/bin/docker-compose
Hepsi bu kadar.
docker-compose --version
Linux Üzerinde Docker Kurulumu
Docker’ın GPG anahtarını çekiyoruz;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Docker repository’i indiriyoruz;
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Ardından repo paketlerimizi güncelliyoruz;
sudo apt-get update
Ve docker’ı bilgisayarımıza kuruyoruz;
sudo apt-get install -y docker-ce
Yüklemenin ardından systemctl ile start, stop, status komutlarını kullanarak işlem yapabilirsiniz.
sudo systemctl status docker
SCP ile İki Linux Makina Arasında Veri Transferi Yapmak
Merhabalar,
SCP (Secure Copy) yani Güvenli Kopyalama komutu ile iki linux makina arasında dosya transferi yapabilirsiniz. Tek dosya yada bir dizini olduğu gibi farklı bir sunucuya gönderebilir veya alabilirsiniz.
Dosya gönderimi için;
scp dosyaadi.txt kullanici_adi@server_ip:/home/
Dosya almak için;
scp kullanici_adi@server_ip:/home/dosyaadi.txt. (bulunduğunuz dizin içerisinde alacaktır.)
Dizin gönderimi için;
Dizin gönderimi için scp komutundan sonra -r kullanmamız gerekiyor.
scp -r /gönderilecek_dizin_adi kullanici_adi@server_ip:/home/
Dizin almak için;
scp -r kullanici_adi@server_ip:/home/alınacak_dizin_adi
Karşı bilgisayarın ssh portu 22’den farklı ise komutlarınıza -Pport_numarası parametresini ekleyerek veri transferinizi gerçekleştirebilirsiniz. Örnek;
scp -r -P /gönderilecek_dizin_adi kullanici_adi@server_ip:/home/
Komutları çalıştırdıktan sonra karşı sunucunun şifresi sizden istenecektir, şifreyi doğru girdikten sonra veri transfer işlemi başlayacaktır.
The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths. hatası çözümü
Merhabalar,
Laravel 5 go to my site.3 versiyonu kurulumu tamamladıktan sonra bu sorunla karşılaştıysanız çözümü aşağıdaki gibidir;
Projenin kurulduğu dizine terminal üzerinden eriştikten sonra,
php artisan key:generate
php artisan config:clear
komutlarını çalıştırırsanız sorun düzelecektir.
Terminal ile Mysql’e Veri Aktarma ve Yedek Alma Komutları
Merhabalar, Proje geliştirirken zaman zaman linux terminal üzerinden işlem yapmak zorunda kalabiliyoruz. Sunucu saldırı alıp yada farklı sebeplerden down olabilir, ani bir sunucu değişikliği yapmak zorunda kalabiliriz vs. durumlarda phpmyadmin kurulumu ile uğraşmak daha fazla zaman alacağından terminal ile içeri veri aktarma(mysql import) yapabiliriz yada yedek(mysql dump) alabiliriz.
Terminalden SSH ile sunucuya bağlandıktan sonra;
Yedek almak için;
mysqldump -u mysql_kullanıcı_adı -p veritabanı_adı > yedek_dosya_adı.sql
İçeri veri aktarmak için;
mysql -u mysql_kullanıcı_adı -p veritabanı_adı < yedek_dosya_adı.sql