/
/
Centos Minimal LAMP Server Kurulumu

Bir önceki sayfamızda “VMware Üzerine Centos Minimal Kurulumu” kurulumunu anlatmıştık şimdi ise kurduğumuz sistemin içerisine lamp server kurulumunu anlatıçaz lamp kurulumunu yaparken repo dan var olan özelliklerinden yararlanıçaz üçüncü parti bir işlem yapmıcaz. Ve vmware ile ilgili paylaşımlarımız devam edicek.

Burada ki işlemleri yaparken sıfırdan başlamanızı öneririm ve biz centos 7 minimal sürümünü üzerinden anlatımı gerçekleştiricez.

Önçelikle günçellemeyi yapalım her ihtimale karşı.

yum -y update

Günçelleme işleminden sonra diğer paketlerinde yer alması için epel release kurulumunu gerçekleştirelim.

yum -y install epel-release

Şimdi ise nano editörünü kuralım ben nano editörünü kullanıyorum.

yum -y install nano

Önçe http işlemini kurarak başlayalım eğer sırayla gitmezsek bazı sorunlar bizi bekliyor olucak bu yüzden sırasıyla gidelim.

yum -y install httpd
yum -y install httpd-itk

Bilgisayarımızdan ipi kontrol ettiğimizde httpd açık olmadığını göreceksiniz bunun için sırasıyla

chkconfig --levels 235 httpd on

veya

systemctl enable http

ve

systemctl start httpd

Şimdi ise conf dosyasını istediğiniz gibi düzenleyebilirsiniz.

nano /etc/httpd/conf/httpd.conf

Aşağıdaki gibi . conf dosyası acılır ve dizin listeleme aktif edilir bunun için

nano /etc/httpd/conf.d/welcome.conf

açılır ve aşağıdaki gibi düzeltilir.

Burada yaptığımız işlem tüm dizinlerin ulaşabilmesi olmasıdır eğer local den dışarıya bağlantı veriyorsanız bu işlemi yapmayın.

<LocationMatch "^/+$">
    Options Indexes FollowSymLinks MultiViews
    ErrorDocument 403 /.noindex.html
</LocationMatch>

Ve tekrar restart atılır.

systemctl restart httpd

Tekrardan “httpd.conf” dosyası açılır ve aşağıdaki işlemler yapılır.

Aşağıdaki olması gereken işlemleri kendi izdeğinize göre yönetebilirsiniz biz burada örnek amaçlı gösterilmiştir.

Şimdi httpd.conf dosyasınde olması gerekenler aşağıdaki gibidir.

1.)

<Directory />
    AllowOverride All
    Require all denied
</Directory>

2.)

<Directory "/var/www">
    AllowOverride All
    # Allow open access:
    Require all granted
</Directory>

3.)

<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
      Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

4.)

<IfModule dir_module>
    DirectoryIndex index.php index.html index.htm index
</IfModule>

Şimdi ise php versiyonlarını kuralım bu işlemler için aşağıdaki adımlara gidilir.

yum -y install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
yum -y install php-zip php-bz2 php-xml php-soap php-mbstring php-bcmath php-sqlite3 php-sybase php-json php-xsl php-xmlrpc php-tidy php-snmp php-recode php-pspell php-pgsql php-odbc php-readline php-ldap php-intl php-interbase php-imap php-gmp  php-gd php-enchant php-curl

ve mysql kurulumu içinde

yum -y install mariadb

ardından mariadb açılır ve başlangıç ta çalışabilmesi için enable komutu aşağıdaki gibi verilir.

systemctl start mariadb
systemctl enable mariadb

Eğer start veremezsseniz yada klasör yolu hatası alırsanız aşağıdaki gibi kurulumu deneyebilirsiniz.

yum install mariadb

Ardından start verdikden sonra aşağıdaki gibi mariadb kurulumunuzu son olarak gerçekleştirebilirsiniz.

İlk root şifresi olmadığı gibi enter leyip ilk adıma geçebilirsiniz ilk soru şifrenizi oluşturmak istiyormusunuz diye bir soru sizi karşılayacak bu soruya Y işaretleyip şifrenizi oluşturmalısınız.

Diğer sorular için hepsine Y diyebilirsiniz yada aşağıdaki örneği inçeleyebilirsiniz.

Enter current password for root (enter for none):
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
New password:
Re-enter new password:
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] n
 ... skipping.

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] Y
 ... 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] n
 ... skipping.

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

Reload privilege tables now? [Y/n] Y
 ... 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!

Şimdi ise vsftpd kuruluımunu yapalım.

yum -y install vsftpd

vsftpd.conf dosyasını açalım ve içerisine aşağıdaki gibi düzeltelim veya ekleyelim.

nano /etc/vsftpd/vsftpd.conf 

Değiştirme yapmanız gereken yerler…

anonymous_enable=NO

chown_uploads=YES
chown_username=biryoo

ascii_upload_enable=YES
ascii_download_enable=YES

ftpd_banner=Welcome to blah FTP service.

listen=YES
listen_ipv6=NO

Ekleme yapmanız gereken yerler… Sayfanın en altına ekleme yapabilirsiniz.

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=yes
ssl_sslv3=yes

require_ssl_reuse=yes
ssl_ciphers=HIGH

log_ftp_protocol=YES
vsftpd_log_file=/var/log/vsftpdb.log
dual_log_enable=YES

chroot_local_user=YES
allow_writeable_chroot=YES

pasv_enable=yes
port_enable=yes
pasv_min_port=20000
pasv_max_port=31000
pasv_address=192.168.0.24
pasv_addr_resolve=Yes

anon_other_write_enable=YES

Daha sonra ssl kurulumu aktif ederek gerçekleştirelim bunun için aşağıdaki yol izlenir eğer klasör yoksa

mkdir /etc/ssl/private/

oluşturulur.

Aşağıdaki gibi vsftpd ssl kurulumu gerçekleştirilir.

cd /etc/ssl/private/
sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Kurulumdan sonra vsftpd restart çekilip sonrasında kontrol edilir.

systemctl restart vsftpd
systemctl enable vsftpd
systemctl status vsftpd

Bundan sonra yaptığınız her işlem için ftp dahil “firewall-cmd” ile port açmak gerekiyor arama motorlarında yüzlerce bu konu ile ilgili bilgi var. Biz “firewall-cmd” kapatıp devam edecez. Aksi halde yaptığımız işlemler hiç biri aktif olmuyacak biraz önçe denediğimde bağlanamadık.

systemctl stop firewalld
chkconfig --levels 235 firewalld off

Şimdi kullanıcı oluşturalım biz kullanıcı adı olarak biryoo ismini kullanıcaz ardından test edelim bakalım bağlanabiliyormuyuz.

Önçelikle aşağıdaki yolu oluşturalım aşağıdaki yolu oluşturmamın sebebi html klasörünü http yi kurduğumuz için http nin göreceği olması.

Not: httpd kurulumu yaptığımız için ve bu yolda klasör var olduğu için bu adımı atlayabilirsiniz.

mkdir /var/www/
mkdir /var/www/html

Hemen aşağıdaki gibi bir kullanıcı oluşturalım klasör yolu doğru ama burada var olan kullanıcı adı biryoo bunu siz kendi kullanaçağınız kullanıcı adınızı yazmalısınız.

useradd -d /var/www/html biryoo

ardından hemen kullanıcıya parola belirleyelim belirlediğiniz kullanıcı adı oldukca zor olmalı ve zaman zaman değiştirmeyi tavsiye ederim.

passwd biryoo

No: Oluşturduğunuz kullanıcılara parolayı kesinlikle adayın. Her kullanıcının parolasını ayrı ayrı farklı parolalar vermeye çalışın. Ayrıca parolanız en az 8 karakterden ve en az 1 harfden oluşmalıdır.

Şimdi test edelim etmeden önçe buraya kadar yaptığınız işlemleri kontrol ediniz ardından reboot çekin.

yeniden başlatma komutu örneği

reboot

yeniden başlatma komutu örneği 2

shutdown -r now

Yeniden başlattıktan sonra “vsftpd” programcılığında hata var mı yok mu test edelim ondan önçe ve “vsftpd” başlangıçta başlamışmı kontrol edelim bunun için yapmanız gereken konsola aşağıdaki gibi kontrol etmeniz.

systemctl status vsftpd

Ben kontrol ettiğimde aşağıdaki gibi sonuç alıyorum ve hiç bir hata ile karşılamadığım gibi başlangıçta da çalıştığını gördüm.

# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-06-28 07:04:50 +03; 3min 15s ago
  Process: 923 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 931 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─931 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Jun 28 07:04:50 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
Jun 28 07:04:50 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.

Şimdi ise filezilla ile bağlantı kurdum ve bağlandım ama gördüm ki ne dosya nede klasör oluşturabildim bunun için son html klasörüne kullanıcı adımızı adamamız gerekiyor ve şuanda kontrol ettiğimde root kullanıcısı adanmış eğer klasör içerisinde değişiklikler yapabilmemiz için bağlandığımız kıllanıcı ismide adanmış olması gerekiyor hadi çok konuştuk şimdi kullanıcıyı hemen adayalım.

chown biryoo -R /var/www/html

veya

sudo chgrp biryoo /var/www/html

Not: Aşağıdaki yazma izinlerini “550 Create directory operation failed.” hatası çözümünden sonra halen hata alıyorsanız aşağıdaki +x iznini yapınız.

Önçelikle izinleri arttırdım yani 755 yazma izni verdim bunun için ise

chmod +x /var/www/html

veya

chmod 755 /var/www/html

daha sonra

Şimdi klasör ve dosya oluşturmaya başlayabildim hatta bu işlemden sonra upload etmeye de başlayabilirsiniz.

FileZilla ile alınan hata

Yanıt: 550 Create directory operation failed.

Çözümü ise aşağıdaki iki adımı konsolda yazdırmak.

chcon -t public_content_rw_t /var/www/html
setsebool -P allow_ftpd_anon_write=1

Şimdi hem klasör hemde dosya oluşturabiliyorum ve son olarak upload da edebiliyorum.

Evet son olarak bu yazıyı zamanla günçellemeyi düşünüyorum bu yüzden yapılan yorumlara önem verip yazıyı geliştirmeyi planlıyorum.

Bu Sayfa İçin Etiketler ?

Bu Yazı Hakkında Görüşlerinizi Yazabilirsiniz.