CentOS 7 LAMP Kurulumu (Apache, PHP, MySQL)

centos-7-lamp-kurulumu
centos-7-lamp
nasil-yuklerim

(Muhammed Yalçınkaya) #1

Merhaba arkadaşlar bir önceki konularımda CentOS 6 üzerine LAMP, LEMP ve WordPress kurulumunu anlatmıştım. Bu konumuzda ise sizlere tercihinize göre CentOS 7 kurulu sunucunuz üzerine nasıl LAMP yükleyebileceğinizi anlatacağım.

İşlem için gereksinimler;

  • Temiz yüklenmiş bir CentOS 7 işletim sistemi.
  • Root yetkisi ile birlikte Windows için Putty (SSH) yazılımı.

Kurulum işlemi;

İlk olarak EPEL-7 yazılım dizinini sistemimize eklemeliyiz:

sudo yum install epel-release

Daha sonra MySQL yazılımını kurmalıyız:

yum -y install mariadb-server mariadb

Daha sonra MySQL yazılımını başlangıçta otomatik çalıştırmak için tanımlamalı ve aktif hale getirmeliyiz:

systemctl start mariadb.service
systemctl enable mariadb.service

MySQL kurulumunu güvenli bir hale getirmek ve root şifresi tanımlamak için:

mysql_secure_installation

Komut sonrası alttaki gibi ilerleyebilirsiniz:

[[email protected] ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): <-- ENTER tuşu ile yanıtlamalısınız
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n]  <-- Y yani Evet yanıtını vermelisiniz
New password: <-- Veritabanı root şifrenizi belirlemelisiniz
Re-enter new password: <-- Şifrenizi yeniden tekrarlamalısınız
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] <-- ENTER tuşu ile yanıtlamalısınız
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <-- ENTER tuşu ile yanıtlamalısınız
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] <-- ENTER tuşu ile yanıtlamalısınız
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] <-- ENTER tuşu ile yanıtlamalısınız
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
[[email protected] ~]#

Daha sonra Apache2 yazılımını yüklemeliyiz:

yum -y install httpd

Ekran şu şekilde olmalı:

[[email protected] ~]# yum install httpd
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.plusline.de
 * extras: mirror.23media.de
 * updates: mirror.23media.de
Package httpd-2.4.6-17.el7.centos.1.x86_64 already installed and latest version
Nothing to do
[[email protected] ~]#

Daha sonra yüklediğimiz Apache2 yazılımını sistem başlangıcına eklemek ve aktifleştirmek için:

systemctl start httpd.service
systemctl enable httpd.service

Daha sonra CentOS 7 güvenlik duvarında 80 ve 443 portlarına izin vermek için:

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

Bu adımı da test etmek için sunucu IP adresinizi tarayıcınızda ziyaret ederek tamamlayabilirsiniz. Ekran alttaki gibi ise her şey yolunda demektir.

PHP5 yazılımını yüklemek için:

yum -y install php

Komut sonrası Apache2 yazılımını yeniden başlatmak için:

systemctl restart httpd.service

PHP5 yazılımında MySQL desteği için:

yum search php

yum -y install php-mysql

Daha sonra içerik yönetim sistemleri için gerekli temel PHP eklentilerini yüklemek için:

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

Tekrar Apache2 yazılımını yeniden başlatmak için:

systemctl restart httpd.service

phpMyAdmin yüklemek için:

yum install phpMyAdmin

phpMyAdmin yazılımını güvenli hale getirmek için:

vi /etc/httpd/conf.d/phpMyAdmin.conf

Dosya içeriğini komple silip şu kodları eklemelisiniz:

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
    Options none
    AllowOverride Limit
    Require all granted
</Directory>

Ekran görüntüsü:

Daha sonra phpMyAdmin cookie / http doğrulamasını ayarlamak için:

vi /etc/phpMyAdmin/config.inc.php

Dosya içeriğinde şu kodu bulup cookie kısmını http yapmalısınız:

Bul:

$cfg['Servers'][$i]['auth_type']     = 'cookie';

Ekran görüntüsü:

Değiştir:

$cfg['Servers'][$i]['auth_type']     = 'http';

Ekran görüntüsü:

Daha sonra Apache2 yazılımını tekrar yeniden başlatmak için:

systemctl restart  httpd.service

phpMyAdmin yazılımını test etmek için IP adresinizin sonuna /phpmyadmin ekleyebilirsiniz. Size soracağı giriş bilgileri için root ve az önce seçmiş olduğunuz veritabanı şifresini kullanabilirsiniz.

Lütfen konu ile ilgili bir sorun yaşarsanız bunu bize bildirin. Ve lütfen bu konu ile ilgili desteğinizi yine bu konu altından alın.


(Bekir Cem Ünalan) #2

EPEL-7 yazılım dizinini eklerken şu çıktıyı veriyor:

Retrieving http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
curl: (22) The requested URL returned error: 404 Not Found
error: skipping http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm - transfer failed

Sebebi ne olabilir?


(Muhammed Yalçınkaya) #3

Konuyu güncelledim bir daha dener misin?

Kullanman gereken komut:

sudo yum install epel-release

(Bekir Cem Ünalan) #4

Gece deneyeceğim hocam. Centos 6.5 64bit kullanıyordum genelde. Centos 7 deneyeceğim. 32 bit ve 64 bit versiyonlarını seçerken neye göre seçmeliyiz? 10 dolarlık DG sunucusuna 32 bit seçmek daha mı mantıklı olur?


(Muhammed Yalçınkaya) #5

Bir sorun yaşarsan yaz bana yardımcı olmaya çalışırım bugün yoğundum biraz. 64 bit kur tavsiye istersen. Ki zaten alternatifi yok gibi. Hem yükseltmen kolay olur droplet açısından hemde bazı yazılımlar artık 64 bit destekliyor sadece.


(Bekir Cem Ünalan) #6

Teşekkürler :smile: Bu gece kurulum yapacağım. 64 bit kullanıyorum ben de hep ama düşük donanımlı sistemlerde 32 bit kullanma olayı acaba VPS’ler için de geçerli olur mu diye bir an aklıma takılmıştı.

Bu kısımda zaten aşağıdaki şekilde bir kısım var. Cookie yerine http yazıp kayıt mı edeyim yoksa yeniden mi ekleyeyim?

$cfg['Servers'][$i]['auth_type']     = 'cookie;

Ayarları bu şekilde yaptım ama ip adresinin sonuna /phpmyamdin ekleyince 403 forbidden hatası verdi. Sanırım bundan önceki basamakta hata yaptım.


(Muhammed Yalçınkaya) #7

cookie kısmını httpd yapmalısın. Bu şekilde yapmana rağmen mi 403 hatası aldın?


(Bekir Cem Ünalan) #8

Evet, böyle yaptım ama 403 hatası verdi. Bence bundan önceki adımda phpmyadmin/setup kısmını düzenlerken ben yanlış bloğu düzenledim. Orjinal dosya içeriğine tekrar nasıl ulaşabilirim?


(Muhammed Yalçınkaya) #9

Özel mesaj ile bana ulaşırsan bir kontrol edeyim :slight_smile: Ama muhtemelen .conf dosyasında bir hata yaptın.


(Muhammed Yalçınkaya) #10

Mesajını yanıtladım ve konuyu güncelledim :wink:


(Bekir Cem Ünalan) #11

Tamamdır hocam, şimdi anladım. Teşekkürler. :smile: