Kategori arşivi: Centos

centos işletim sistemi hakkında bilgiler, centos yapılandırma örnekleri, centos güvenlik önlemleri ve performans iyileştirmeleri, güncel haberler

CentOS 7’de VirtualBox Nasıl Kurulur?

VirtualBox, sanal makineleri aynı anda çalıştırmanızı sağlayan açık kaynaklı bir sanallaştırma yazılımıdır. VirtualBox’un CentOS 7 sistemler için Oracle depolarından nasıl kurulacağını anlatacağım.

VirtualBox’u Oracle Depolarından Yüklemek

vboxdrv çekirdek modülünü derlemek için gerekli araçları yükleyerek başlayalım.

sudo yum install kernel-devel kernel-headers make patch gcc

Wget kullanarak /etc/yum.repos.d dizinine Oracle Linux repo dosyasını ekleyin.

sudo wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo -P /etc/yum.repos.d

Mevcut sürümü yükleyelim

sudo yum install VirtualBox-5.2

Bu aşamada GPG keyin yüklenmesi gerektiğinden bahsedebilir. y tuşuna basıp işlemi kabul ederek devam ediyoruz.

VirtualBox kurulumunuzun başarılı olduğunu doğrulamak için, vboxdrv servisinin durumunu kontrol edecek komutumuzu çalıştıralım.

systemctl status vboxdrv

Çıktımız şöyle başlamalı

vboxdrv.service - VirtualBox Linux kernel module
    Loaded: loaded (/usr/lib/virtualbox/vboxdrv.sh; enabled; vendor preset: disabled)
    Active: active (exited) since Thu 2018-11-16 12:11:22 UTC; 3s ago

VirtualBox Genişletme Paketlerini(Extension Pack) Yüklemek

Bir takım özellikler direk olarak yüklenmediği için genişletme paketi aracılığı ile kurmamız gerekiyor. VirtualBox Extension Pack, sanal USB 2.0 ve 3.0 aygıtları, RDP desteği, görüntü şifrelemesi ve daha aklıma gelmeyen pek çok özellikleri beraberinde getirir.

wget https://download.virtualbox.org/virtualbox/5.2.20/Oracle_VM_VirtualBox_Extension_Pack-5.2.20.vbox-extpack

İndirdiğimiz paketimizi sistemimize dahil edelim.

sudo VBoxManage extpack install  Oracle_VM_VirtualBox_Extension_Pack-5.2.20.vbox-extpack

Gerçekten böyle bir şey yapmak istiyor muyuz soracak y deyip devam ediyoruz.

Do you agree to these license terms and conditions (y/n)?

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".

Kurulum başarılı bir şekilde tamamlandı artık sanallaştırma keyfini sizlerde çıkartabilirsiniz…

CentOS 7’de Docker Nasıl Kurulur?

Docker, Kurulumunu en basit hali ile anlatmamız gerekirse yapmanız gerekenler aşağıdaki gibidir.

Sistem paketlerimizi güncelleyerek ve gerekli bağımlılıkları yükleyerek başlayın

sudo yum update
sudo yum install yum-utils device-mapper-persistent-data lvm2

Ardından, Docker deposunu sisteminize ekleyeceğiz

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Artık Docker deposu etkinleştirildi, en son Docker CE (Topluluk Sürümü) sürümünü yükleyin.

sudo yum install docker-ce

Docker paketi yüklendikten sonra, Docker arka plan servislerini başlatın ve sistem başlangıcına ekleyin.

sudo systemctl start docker
sudo systemctl enable docker

Sudo Olmadan Docker Komutlarının Çalıştırılması

Ön tanımlı olarak her işlemde sudo gerektirmektedir. Ancak kullanmaktan üşenirseniz aşağıdaki düzenlemeyi yapmayı unutmayın mevcut kullanıcınızı yetkilendirecektir.

sudo usermod -aG docker $USER

CentOS 7’de Go Nasıl Kurulur?

Go, genellikle golang Google tarafından oluşturulan bir açık kaynak kodlu programlama dili olarak geçmektedir.

Go lang için gerekli olan paketi resmi web sitesinden indiriyoruz

wget https://dl.google.com/go/go1.11.2.linux-amd64.tar.gz

Bize gerekli olan binary dosyaları sıkıştırıldıkları yerden çıkartıyoruz.

sudo tar -C /usr/local -xzf go1.11.2.linux-amd64.tar.gz

Path belirlememiz gerekiyor $HOME/.bash_profile yoluna gidip aşağıdaki satırları ekleyin

export PATH=$PATH:/usr/local/go/bin

Bu pathi aktif etmek için

source ~/.bash_profile

Kurulumun tamamlandığını go version komutunu vererek kontrol ediyoruz.

go versiyon go1.11.2 linux/amd64

CentOS 7’de Apache Nasıl Kurulur?

Apache web sunucusunun kurulumu Centos üzerinde oldukça basittir. CentOS ve RHEL Apache paketi ve servisi httpd olarak adlandırılır.

Aşağıdaki komutumuz ile sisteme apacheyi dahil edelim.

sudo yum install httpd

Servisi başlatalım ve sistem başlangıcına ekleyelim

sudo systemctl enable httpd
sudo systemctl start httpd

Eğer güvenlik duvarı ile korunan bir sunucu kullanıyorsanız. 80 ve 443 portuna güvenlik duvarı üzerinde izin verin

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Her şeyin düzgün olup olmadığını kontrol etmek için http://IP konumunu izlemeniz yeterlidir.

apache yeni kurulum sayfa test

CentOS 7’de Nginx Nasıl Kurulur?

Nginx paketleri EPEL depolarında yer alır. Sisteme EPEL’i dahil ederek işleme başlıyoruz.

sudo yum install epel-release

Dahil ettikten sonra nginx paketini sisteme dahil ediyoruz.

sudo yum install nginx

İlk defa çalıştırıyorsak GPG keyin eklenmesi için bizden bir onay isteyecek y diyerek devam ediyoruz.

Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>"
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
Package    : epel-release-7-9.noarch (@extras)
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Is this ok [y/N]:

Servisini başlatıyoruz ve sistem başlangıcına ekliyoruz

sudo systemctl enable nginx
sudo systemctl start nginx

Eğer sunucunuz güvenlik duvarı ile korunuyor ise 80 ve 433 portlarına izin veriyoruz.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Artık Nginx web sunucunuz kullanıma hazır güle güle kullanabilirsiniz.

CentOS 7’de Python 3 Nasıl Kurulur?

CentOS 7, sisteminin kritik bir parçası olan Python 2.7.5 ile birlikte gelir. SCL, Python 3.x’in daha yeni sürümlerini varsayılan Python v2.7.5’in yanında kurmanıza izin verir, böylece yum gibi sistem araçları düzgün çalışmaya devam eder.

Bahsettiğimiz SCL direk olarak Redhat’in olduğu için gönül rahatlığı ile kullanabiliyoruz. Diğer toplulukları pek önermiyoruz.

SCL’yi sisteme dahil ediyoruz.

sudo yum install centos-release-scl

Python kurulumu yaptıktan sonra modülleri kullanabilmek için derleme araçlarını kuruyoruz.

sudo yum groupinstall 'Development Tools'

Artık SCL uygulama havuzuna erişebilmemiz için ihtiyacımız olan herhangi bir Python 3.x sürümünü kurabiliriz.

Biz seçimimizi Python 3.6.x sürümünden yana kullanacağız bunun için ise yapmanız gereken

sudo yum install rh-python36

Ancak python --version komutunu verdiğinizde sistemde Python 3.6 kurulu olsa bile çıktısı şu şekilde olacaktır

Python 2.7.5

Şimdi kabukta yeni kurduğumuz Python 3.6’yı aktif edelim

scl enable rh-python36 bash

tekrar python --version komutunu veriyoruz düzgün bir şekilde yeni sürümü görebiliyoruz.

Python 3.6.6

CentOS 7’de MariaDB Nasıl Kurulur?

Varsayılan CentOS depolarında sağlanan MariaDB sunucusunun sürüm 5.5’tür. Son sürümü olmasa da oldukça kararlı olduğu için bunu kullanarak devam edeceğiz.

Paket yönetim sistemimiz yum ile sistemimize MariaDB’yi dahil ediyoruz.

sudo yum install mariadb-server

Sistem başlangıcına ekliyoruz ve servisi çalıştırıyoruz.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Çeşitli güvenlikle ilgili görevleri gerçekleştirecek mysql_secure_installation komut dosyasını çalıştırın.

root kullanıcı parolasını ayarlamanız, anonim kullanıcı hesaplarını kaldırmanız, yerel makineye root kullanıcı erişimini kısıtlamanız ve test veri tabanını kaldırmanız istenir.

CentOS 7 Üzerinde MariaDB 10.3’ü Yüklemek

MariaDB’nin başka bir sürümünü yüklemeniz gerekiyorsa, MariaDB depolarına gidin ve belirli bir MariaDB sürümü için bir depo dosyası oluşturun.

Sisteme repoyu /etc/yum.repos.d/MariaDB.repo yoluna ekliyoruz.

# MariaDB 10.3 CentOS repository list - created 2018-11-21 09:16 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

MariaDB sunucusunu ve istemci paketlerini, diğer CentOS paketi ile aynı yum paketini kullanarak yükleyin.

sudo yum install MariaDB-server MariaDB-client

Yum, MariaDB GPG anahtarını eklemenizi isteyebilir. y diyerek ekleme işlemini tamamlayınız.

Retrieving key from https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
Importing GPG key 0x1BB943DB:
 Userid     : "MariaDB Package Signing Key <package-signing-key@mariadb.org>"
 Fingerprint: 1993 69e5 404b d5fc 7d2f e43b cbcb 082a 1bb9 43db
 From       : https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

Sistem başlangıcına ekliyoruz ve servisi çalıştırıyoruz.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Çeşitli güvenlikle ilgili görevleri gerçekleştirecek mysql_secure_installation komut dosyasını çalıştırın.

root kullanıcı parolasını ayarlamanız, anonim kullanıcı hesaplarını kaldırmanız, yerel makineye root kullanıcı erişimini kısıtlamanız ve test veri tabanını kaldırmanız istenir.

Veritabanına bağlanmak ve işlemlerinizi yapmak için ise aşağıdaki komutu kullanabilirsiniz. Gerisi sizin SQL bilginize kalıyor.

mysql -u root -p

CentOS 7’de PostgreSQL Nasıl Kurulur?

PostgreSQL veya Postgres, karmaşık web uygulamaları oluşturmanıza izin veren birçok gelişmiş özelliğe sahip, açık kaynak kodlu, bir nesne-ilişkisel veritabanı yönetim sistemidir.

PostgreSQL için gerekli olan paketleri kuruyoruz.

sudo yum install postgresql-server postgresql-contrib

PostgreSQL veritabanını aşağıdaki komutla başlatıyoruz

sudo postgresql-setup initdb
Initializing database ... OK

Servisleri başlatıyoruz ve sistem başlangıcına ekliyoruz

sudo systemctl start postgresql
sudo systemctl enable postgresql

Kurulumumuz başarılı bir şekilde tamamlandı

Güncel PostgreSQL Kurmak

CentOS 7 varsayılan olarak 9.x serisi PostgreSQL kurulumu yapmaktadır. İhtiyacınıza göre 10.x sürümünü kurabilirsiniz. Bunu yapabilmek için PostgreSQL depolarını sisteme dahil edeceğiz.

RPM kullanarak PostgreSQL deposunu aktif edelim

sudo yum install 

10.x serisine ait PostgreSQL kurulumunu gerçekleştirelim.

sudo yum install postgresql10-server postgresql10-contrib

PostgreSQL veritabanını aşağıdaki komutla başlatıyoruz

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Initializing database ... OK

Servisleri başlatıyoruz ve sistem başlangıcına ekliyoruz

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

CentOS 7’de Pip Nasıl Kurulur?

Kurulum için sistemimize her zamanki gibi EPEL deposunu dahil ediyoruz.

sudo yum install epel-release

Sistemimize pip paket yöneticisini dahil ediyoruz.

sudo yum install python-pip

Kurulumun tamamlanıp tamamlanmadığını anlamak için pip --version komutumuzu veriyoruz çıktısı aşağıdaki gibi olacaktır.

pip 18.1 from /usr/lib/python2.7/site-packages (python 2.7)

Python modülleri kuracağınız zaman geliştirici paketlerine ve derleme araçlarına ihtiyaç duyacaktır. Kurulum için aşağıdaki komutu veriyoruz

sudo yum install python-devel
sudo yum groupinstall 'development tools'

Temel Pip Komutları

Sisteme paket dahil etmek

pip install django

Sistemden paket kaldırmak

pip uninstall django

Sistemde kurulu olan paketleri görmek için

pip list

CentOS 7’de MySQL Nasıl Kurulur?

Varsayılan CentOS depolarında sağlanan MySQL sunucusunun sürüm 5.5’tür. Son sürümü olmasa da oldukça kararlı olduğu için bunu kullanarak devam edeceğiz.

Paket yönetim aracı yum ile sistemimize MySQL’i dahil etmek için depoyu aktif ediyoruz.

sudo yum localinstall <https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm>

Paketi sisteme dahil ediyoruz.

sudo yum install mysql-community-server

Sistem başlangıcına ekliyoruz ve servisi çalıştırıyoruz.

sudo systemctl enable mysqld
sudo systemctl start mysqld

CentOS 7 Üzerinde MySQL 5’i Yüklemek

MySQL 5 serisi için paketleri etkinleştiriyoruz.

sudo yum localinstall <https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm>

MySQL sunucusunu ve istemci paketlerini, diğer CentOS paketi ile aynı yum paketini kullanarak yükleyin.

sudo yum install mysql-community-server

Sistem başlangıcına ekliyoruz ve servisi çalıştırıyoruz.

sudo systemctl enable mysqld
sudo systemctl start mysqld

Çeşitli güvenlikle ilgili görevleri gerçekleştirecek mysql_secure_installation komut dosyasını çalıştırın. Sizden geçici parolanın ne olduğunu soracak buna erişebilmek için aşağıdaki komutu veriyoruz.

sudo grep 'temporary password' /var/log/mysqld.log

Parolamız otomatik olarak gözükecek

temporary password is generated for root@localhost: GHYf2-ngYHtZ

root kullanıcı parolasını ayarlamanız, anonim kullanıcı hesaplarını kaldırmanız, yerel makineye root kullanıcı erişimini kısıtlamanız ve test veri tabanını kaldırmanız istenir.

Veritabanına bağlanmak ve işlemlerinizi yapmak için ise aşağıdaki komutu kullanabilirsiniz. Gerisi sizin SQL bilginize kalıyor.

mysql -u root -p

CentOS 7’de PHP 7 Nasıl Kurulur?

Centos 7‘nin depolarında uzunca bir süredir PHP 7’yi göremiyoruz genelde desteklenmeyen 5.4 gibi sürümler ile geliyor sistemimiz

Bizde sistemimizde PHP 7 serisini nasıl kurabileceğinizi anlatan bir yazı yazalım dedik. Başlamadan önce root kullanıcı izinlerinizi aldığınıza emin olun.

PHP’yi sunan pek çok farklı 3. parti depo bulunuyor. Biz en güncellerini sunan remi adlı repoyu her zaman ki gibi sistemimize dahil ederek işe başlıyoruz.

sudo yum install epel-release yum-utils sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 

yum genelde ilk paketleri eklerden GPG keyinide isteyebilir bu aşamada y tuşuna basarak GPG’yi sisteme dahil etmeyi unutmayın.

PHP 7.2 Sürümünün Yüklenmesi

Günümüzde pek çok popüler uygulama bu sürümde çalışmayı istemektedir. Örneğin: Wordpress, Drupal, Joomla vb

İlk olarak depoda bulunan PHP 7.2 sürümünü aktif ediyoruz.

sudo yum-config-manager --enable remi-php72

Depo etkinleştirildikten sonra PHP 7.2 ve en yaygın PHP modüllerini kurmaya başlayın

sudo yum install php php-common php-opcache php-redis php-mcrypt php-cli php-gd php-curl php-mysql

PHP sürümünü kontrol ederek kurulumu doğrulamayı unutmayın

php -v

Çıktımız ise

PHP 7.2.12 (cli) (built: Nov 12 2018 10:23:04) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.12, Copyright (c) 1999-2018, by Zend Technologies

PHP 7.1 Sürümünün Yüklenmesi

Sürüm olarak daha spesifik şeyler isteyen bir uygulama çalıştıracaksanız. Örneğin; prestashop, magento 2

İlk olarak depoda bulunan PHP 7.1 sürümünü aktif ediyoruz.

sudo yum-config-manager --enable remi-php71

Depo etkinleştirildikten sonra PHP 7.1 ve en yaygın PHP modüllerini kurmaya başlayın

sudo yum install php php-common php-opcache php-redis php-mcrypt php-cli php-gd php-curl php-mysql

Nginx ile çalışması için PHP 7.x’i yapılandıralım

Nginx PHP dosyalarını işlemek için destek sağlamamaktadır, bu yüzden PHP dosyalarını işleyebilecek olan PHP FPM gibi ayrı bir uygulama kurmamız gerekiyor.

sudo yum install php-fpm

Varsayılan olarak PHP FPM, 9000 numaralı bağlantı noktasında kullanıcı olarak apache ile çalışmaktadır. Kullanıcıyı nginx olarak değiştirecek ve TCP soketinden Unix soketine geçeceğiz. Bunu yapmazsak NGINX kardeşimizde php çalıştıramayacağız.

Bu yüzden /etc/php-fpm.d/www.conf içerisine aşağıdaki tanımlamaları yapıyoruz.

user = nginx
group = nginx
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx

Tabii hemen sonra /var/lib/php dizinine nginx yetkilerini veriyoruz.

chown -R root:nginx /var/lib/php

Değişiklikleri yaptıktan sonra, PHP FPM hizmetini etkinleştirin ve çalıştırın

sudo systemctl enable php-fpm
sudo systemctl start php-fpm

Ardından, Nginx vhost direktifini düzenleyin ve Nginx’in PHP dosyalarını işleyebilmesi için aşağıdaki satırları ekleyin eğer php 7.1 kullanıyorsanız fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; değeri fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; ile değiştirin.

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

Yeni yapılandırmanın etkili olması için Nginx hizmetini yeniden başlatın

sudo systemctl restart nginx

Herhangi bir servis çalışıyorsa kazasız belasız etkili olmasını istersenizde aşağıdaki komutu uygulayın

nginx -s reload