Centos7 Üzerine WordPress Kurulumu
Merhabalar,
Bugün yazımda, Centos 7 üzerine WordPress kurulumunu anlatacağım.
WordPress Nedir?
Öncelikle WordPress nedir sorusunun cevabını verelim. WordPress özgür ve açık kaynak kodlu bir CMS (Content Management System) dir. Bunun türkçesi “İçerik Yönetim Sistemi” olarak yapılabilir. İçerik yönetim sistemleri en kaba tabirle bir Web sitesine içerik girişi yapabileceğiniz, düzenleyebileceğiniz kısaca yönetebileceğiniz alt yapılara verilen isimdir. Bu sistemler sayesinde yazılım bilmezseniz dahi bir Web sitesi veya Blogu dakikalar içerisinde kolayca ayağa kaldırabilir, ziyaretçilere içeriğinizi sunabilirsiniz.
WordPress İçin Ön Gereksinimler:
- PHP 7.4 veya üzeri
- MySQL 5.6 veya üzeri ya da MariaDB 10.1 veya üzeri
- Apache veya Nginx web server
Her şeyi en başından anlatmaya başlayacağım. Apache Web Server kurulumu ile başlayalım.
APACHE WEB SERVER Kurulumu:
Apache dünya üzerinde en çok kullanılan web servislerinden birisidir. Web server seçimini sizin tercihinize bırakıyorum. Biz kurulumda Apache kullanacağız. Şimdi kuruluma geçelim.
Centos 7 tarafında Apache web server için kullandığımız paketin adı “httpd”.
- yum install httpd
- systemctl start httpd: Apache serveri başlatır.
- systemctl enable httpd: Apache serveri açılış (reboot) sırasında otomatik olarak ayağa kaldırır.
- systemctl status httpd: Apache serverin durumunu gösterir.
[root@localhost ~]# yum install httpd
[......]
Installed:
httpd.x86_64 0:2.4.6-97.el7.centos
Dependency Installed:
apr.x86_64 0:1.4.8-7.el7 apr-util.x86_64 0:1.5.2-6.el7 httpd-tools.x86_64 0:2.4.6-97.el7.centos mailcap.noarch 0:2.1.41-2.el7
Complete!
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@localhost ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2021-01-07 01:49:01 +03; 21s ago
[......]
[root@localhost ~]#
Kurulum tamamlandıktan sonra sunucumuza erişmek istediğimizde, bizi Apache’nin standart ekranı karşılayacaktır. Eğer bu sayfaya erişim sağlayamıyorsanız, firewall sizi engelliyor olabilir. Firewall’i durdurarak tekrar deneyin.
[root@localhost ~]# systemctl stop firewalld
/etc/httpd/conf/httpd.conf dosyası içerisinden virtualhost ayarlamasını yapabilirsiniz.
Varsayılan olarak /var/www/html dizini site dosyalarınızı ekleyebilmeniz için ayarlı durumdadır. Site dosyalarınızı bu dizin içerisine yükleyebilirsiniz.
Apache Web Sayfası: Apache
MariaDB Kurulumu:
MariaDB ya da MariaDB Server, dünyanın neredeyse her yerinde kullanılan açık kaynak kodlu veri tabanı sunucusudur. MySQL projesinin fork’u olan MariaDB, MySQL’in satın alınmasından sonra ortaya çıkmış bir projedir. Şu an kullanmış olduğumuz Centos 7 repolarında bulunan MariaDB’nin sürümü güncel olmadığı ve aynı zaman da WordPress’in bizden istediği sürüme yeterli olmadığı için bu sürümü edinmemiz gerekmekte. Gereken sürümü edinmek için “https://mariadb.com/downloads/” MariaDB resmi web adresine gidebileceğiniz gibi, başka yöntemler de kullanabilirsiniz.
[root@localhost ~]# curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash
[root@localhost ~]# cat /etc/yum.repos.d/mariadb.repo
Yukarıda kullanmış olduğumuz iki komut bulunmakta:
curl: Çoğu Unix bazlı sistemde mevcut olan bir komuttur ve “Client URL” nin kısaltılmışıdır. Curl komutları URL’lerin bağlanabilirliğini kontrol etmek ve veri transferi için harika bir araç olarak kullanılmak için üretilmiştir.
curl komutundan sonra girilen URL bir bashscript’i işaret etmekte. Bu script’i pipe ile bash’e gönderiyoruz. Bu sayede script çalıştırılıyor. Sonuç olarak MariaDB repoları bilgisayarınıza ekleniyor.
cat: Dosya içeriğinin terminal ekranından okunulmasını sağlar.
MariaDB’nin daha verimli çalışması açısından 3 paketinde kurulması öneriliyor. Bu paketler: MariaDB-server, MariaDB-client, MariaDB-backup
[root@localhost ~]# yum install MariaDB-server MariaDB-client MariaDB-backup
Buna benzer bir çıktı aldıysak her şey yolunda demektir 🙂
Çıktıyı inceleyecek olursak paketlerin kurulmuş olduğunu görmekteyiz. Gerekli bağımlılıklar sisteme eklenmiş ve “mariadb-libs” paketi güncellenmiş. Süreci daha detaylı incelemek isterseniz MariaDB’nin kendi dokümantasyonuna bakmanızı öneririm.
MariaDB Web Sayfası: MariaDB
MariaDB Servisinin Başlatılması:
MariaDB kurulumunu tamamladık. MariaDB servisini kullanabilmemiz için servisi çalıştırmamız gerekli. Kurulum sonrasında MariaDB servisinin bilgisayar yeniden başladığında veya açılışında kendiliğinden açılmasını istiyorsanız, servisi “enable” etmeniz gerekiyor. Eğer servisimiz “inactive” durumda olursa veritabanımızı kullanamayız. Şimdi MariaDB servisi için kullanabileceğimiz bazı komutlara bakalım.
- mysql: Veritabanı sunucumuza bağlanmak için kullandığımız komut. Root olduğumuz için veritabanımıza doğrudan geçiş yapabiliyoruz.
- systemctl status mariadb: MariaDB sunucusunun durumunu gösterir.
- systemctl enable mariadb: MariaDB sunucusunu açılış(reboot) sırasında otomatik olarak ayağa kaldırır.
- systemctl start mariadb: MariaDB sunucusunu başlatır.
Bonus:
- systemctl restart mariadb: MariaDB sunucusunu yeniden başlatır.
- systemctl disable mariadb: MariaDB sunucusunu açılış(reboot) sırasında otomatik olarak kapatır.
[root@localhost ~]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[root@localhost ~]# systemctl status mariadb
● mariadb.service - MariaDB 10.5.8 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: active (running) since Thu 2021-01-07 02:00:49 +03; 39min ago
[......]
[root@localhost ~]# systemctl enable mariadb
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl restart maridb
[root@localhost ~]#
MariaDB Kurulumunun Güvenliğini Arttırma:
Kurulum sırasında çalıştırdığımız script ile kurulumumuz güvenli oldu diyemeyeceğimize göre yapmamız gereken birkaç işlem var.
Kurulumla birlikte gelen default ayarlardan, veritabanlarından kurtulmamızı sağlayan şu shell script’i çalıştırmamız gerekiyor:
[root@localhost ~]# file $(which mariadb-secure-installation )
/usr/bin/mariadb-secure-installation: POSIX shell script, ASCII text executable
[root@localhost ~]# mariadb-secure-installation
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
haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] n
... skipping.
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] n
... skipping.
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] y
... 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] 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] y
- 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] 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!
[root@localhost ~]#
Bu shell script’le birlikte root@localhost hesabımızın güvenliğini sorguluyoruz, anonim kullanıcıları kaldırıyoruz, hazırda gelen veritabanlarını siliyoruz, root@localhost’un uzaktan erişimini engelliyoruz.
WordPress İçin Veritabanının Oluşturulması:
MariaDB sunucumuz için bütün hazırlıkları tamamladığımıza göre artık bir veritabanı oluşturmaya hazırız. Veritabanını yönetmek için bir kullanıcı oluşturup, bu kullanıcının yetkilerini ve gerekli ayarlarını yapmaya başlayalım.
MariaDB Kullanıcı Oluşturma:
Veritabanı için oluşturacağım kullanıcının adı “mdb_wp_user” ve parolası “mdbpassword”. Bu aşamada bir test ortamında olduğumuz için güvenlik detaylarına çok takılmadan ilerleyeceğiz.
Öncelikle parolamızı daha güvenli hale getiren hash metodunu kullanarak bir parola hash’i oluşturup devamında bu hash’i kullanarak bir kullanıcı oluşturuyoruz ve sonrasında tüm kullanıcıları listeliyoruz.
- mysql: MariaDB CLI’ını açar.
- SELECT PASSWORD(‘mdbpassword’);: mdbpassword kelimesinden bir hash oluşturur.
- CREATE USER mdb_wp_user@localhost IDENTIFIED BY PASSWORD ‘*C6FC8B8B81356C4DF6C01EE898C84CA355F04648’;: localhost sunucusunda mdb_wp_user isimli ve parola hash’i önceden belirlenmiş bir kullanıcı oluştur.
- SELECT host, user FROM mysql.user;: Sunucu üzerindeki kullanıcıları ve oturum açabilecekleri host’ları gösterir.
[root@localhost ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.5.8-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> SELECT PASSWORD('mdbpassword');
+-------------------------------------------+
| PASSWORD('mdbpassword') |
+-------------------------------------------+
| *C6FC8B8B81356C4DF6C01EE898C84CA355F04648 |
+-------------------------------------------+
1 row in set (0.000 sec)
MariaDB [(none)]> CREATE USER mdb_wp_user@localhost IDENTIFIED BY PASSWORD '*C6FC8B8B81356C4DF6C01EE898C84CA355F04648';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> SELECT host, user FROM mysql.user;
+-----------+-------------+
| Host | User |
+-----------+-------------+
| localhost | mariadb.sys |
| localhost | mdb_wp_user |
| localhost | mysql |
| localhost | root |
+-----------+-------------+
4 rows in set (0.002 sec)
MariaDB [(none)]>
MariaDB Veritabanı Oluşturma:
MariaDB’de database oluşturmak için basit bir SQL komutumuz var.
- CREATE DATABASE blog_wp_db;: “blog_wp_db” adında bir veritabanı oluşturur.
- SHOW DATABASES;: Sunucu üzerindeki veritabanlarını gösterir.
MariaDB [(none)]> CREATE DATABASE blog_wp_db;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| blog_wp_db |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.001 sec)
MariaDB [(none)]>
Veritabanı Üzerinde Kullanıcı Yetkilendirme:
Bu aşamada, oluşturduğumuz kullanıcıyı tablo üzerinde yapılacak her işlem için yetkilendireceğiz.
- SHOW GRANTS FOR mdb_wp_user@localhost;: “mdb_wp_user” kullanıcısının yetkilerini göster.
- SELECT PASSWORD(‘mdbpassword’);: “mdbpassword” kelimesi için hash üret.
- GRANT ALL PRIVILEGES ON blog_wp_db.* TO mdb_wp_user@localhost IDENTIFIED BY PASSWORD ‘*C6FC8B8B81356C4DF6C01EE898C84CA355F04648’;: “blog_wp_db” veritabanındaki tüm tablolar üzerinde (*), parola korumalı “mdb_wp_user” kullanıcısına tüm yetkileri (ALL PRIVILEGES) ver.
- FLUSH PRIVILEGES;: MariaDB’nin izinlerle ilgili tuttuğu ön belleği temizle.
- SHOW GRANTS FOR mdb_wp_user@localhost;: “mdb_wp_user” kullanıcısının yetkilerini göster.
MariaDB [(none)]> SHOW GRANTS FOR mdb_wp_user@localhost;
+--------------------------------------------------------------------------------------------------------------------+
| Grants for mdb_wp_user@localhost |
+--------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `mdb_wp_user`@`localhost` IDENTIFIED BY PASSWORD '*C6FC8B8B81356C4DF6C01EE898C84CA355F04648' |
+--------------------------------------------------------------------------------------------------------------------+
1 row in set (0.000 sec)
MariaDB [(none)]> SELECT PASSWORD('mdbpassword');
+-------------------------------------------+
| PASSWORD('mdbpassword') |
+-------------------------------------------+
| *C6FC8B8B81356C4DF6C01EE898C84CA355F04648 |
+-------------------------------------------+
1 row in set (0.000 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON blog_wp_db.* TO mdb_wp_user@localhost IDENTIFIED BY PASSWORD '*C6FC8B8B81356C4DF6C01EE898C84CA355F04648';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> SHOW GRANTS FOR mdb_wp_user@localhost;
+--------------------------------------------------------------------------------------------------------------------+
| Grants for mdb_wp_user@localhost |
+--------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `mdb_wp_user`@`localhost` IDENTIFIED BY PASSWORD '*C6FC8B8B81356C4DF6C01EE898C84CA355F04648' |
| GRANT ALL PRIVILEGES ON `blog_wp_db`.* TO `mdb_wp_user`@`localhost` |
+--------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)
MariaDB [(none)]>
Bu adımları tamamladıktan sonra “blog_wp_db” isimli veritabanımız üzerinde her işlemi gerçekleştirebilecek “mdb_wp_user” isimli kullanıcımızı oluşturmuş oluyoruz. “quit” komutuyla MariaDB shell’inizi kapatabilirsiniz.
PHP KURULUMU:
Web geliştiriciliği konusunda önemli bir yere sahip olan PHP, aslında günümüzdeki web sitelerinin içeriklerinin yönetilebildiği yönetim panelini dinamik şekilde kullanabilmenizi sağlıyor. PHP, günlük hayatta sık sık ziyaret ettiğiniz web sitelerinin ardındaki kahraman araçlardan bir tanesi oluyor.PHP, web tabanlı ve nesne yönelimli bir programlama dilidir. Önceleri PHP açılımı Personal Home Page yani “kişisel anasayfa” olarak geçerken artık Hypertext Preprocessor şeklinde kullanılıyor. PHP sayesinde kendi kendine yönetilebilen dinamik internet siteleri oluşturulabiliyor. Ufak bir bilgilendirmeden sonra kuruluma geçelim.
Aşağıda verilen komut ile PHP imizi kuralım.
[root@localhost]# yum install php
[......]
Installed:
php.x86_64 0:5.4.16-48.el7
Dependency Installed:
libzip.x86_64 0:0.10.1-8.el7 php-cli.x86_64 0:5.4.16-48.el7 php-common.x86_64 0:5.4.16-48.el7
Complete!
Kurulum tamamlandıktan sonra fark ediyoruz ki ön gereksinimler kısmında bizden istenen PHP versiyonu ile kurmuş olduğumuz PHP versiyonu arasında fark var.
Centos 7 repoları, uygulamarın sürümlerini biraz geriden takip eder. WordPress bizden en az PHP 5.6.20 istediğini belirtiyor. Dökümantasyon ise en az 7.4 istemişti. Biz dökümantasyonu takip ederek ilerleyeceğiz. Şunu da belirtmek istiyorum evet PHP 5.6.20 versiyonu ile de WordPress çalışır fakat bazı tutarsızlıklar olabilir. Biz bu tutarsız durumları yaşamamak adına PHP 7.4 ile kurulumumuza devam edeceğiz.
EPEL Repo’larının Aktif Edilmesi:
EPEL (Extra Packages for Enterprise Linux) açık kaynak kodlu ve topluluk tarafından geliştirilen, Fedora takımının desteklediği, 100% ücretsiz olan program deposudur.
[root@localhost html]# yum install epel-release
[......]
Installed:
epel-release.noarch 0:7-11
Complete!
EPEL reposunu kullanarak gerekli PHP sürümünü kuracağız.
- yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm: Remi repo paketini kur.
- yum update: Repo’ların güncellenmesi için çalıştırdım. Repo’lar güncellendikten sonra update işlemini sorduğunda ise “n” diyerek güncellemeyi reddettim.
- yum search php: PHP paketlerini ara. İhtiyacımız olan paket php74.
- yum install php74: PHP 7.4 sürümünü kur.
[root@localhost ~]# yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
[......]
Installed:
remi-release.noarch 0:7.9-1.el7.remi
Complete!
[root@localhost ~]# yum update
[......]
Total download size: 252 M
Is this ok [y/d/N]: n
Exiting on user command
Your transaction was saved, rerun it with:
yum load-transaction /tmp/yum_save_tx.2021-01-08.12-12.OA5dl0.yumtx
[root@localhost ~]# yum search php
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
[......]
[root@localhost ~]# yum install php74
[......]
Installed:
php74.x86_64 0:1.0-3.el7.remi
Dependency Installed:
audit-libs-python.x86_64 0:2.8.5-4.el7 checkpolicy.x86_64 0:2.5-8.el7 environment-modules.x86_64 0:3.2.10-10.el7 libX11.x86_64 0:1.6.7-3.el7_9
libX11-common.noarch 0:1.6.7-3.el7_9 libXau.x86_64 0:1.0.8-2.1.el7 libcgroup.x86_64 0:0.41-21.el7 libsemanage-python.x86_64 0:2.5-14.el7
libxcb.x86_64 0:1.13-1.el7 php74-php-cli.x86_64 0:7.4.14-1.el7.remi php74-php-common.x86_64 0:7.4.14-1.el7.remi php74-php-json.x86_64 0:7.4.14-1.el7.remi
php74-runtime.x86_64 0:1.0-3.el7.remi policycoreutils-python.x86_64 0:2.5-34.el7 python-IPy.noarch 0:0.75-6.el7 scl-utils.x86_64 0:20130529-19.el7
setools-libs.x86_64 0:3.3.8-4.el7 tcl.x86_64 1:8.5.13-8.el7
Complete!
[root@localhost ~]#
İşlemleri sırasıyla yaptıktan sonra sistemimizde PHP denilince akla 5.4.16 versiyonu geldiğini görmekteyiz. Güncel sürümü çağırmak için “php74” komutunu kullanıyoruz.
- yum install yum-utils: yum-config-manager’ı kullanmak için yum-utils paketini kur.
- yum-config-manager –enable remi-php74: Remi PHP 7.4 reposunu enable et.
- yum repolist: Repo listesini güncelle. Bu sefer yum update yerine bunu kullandım.
- yum install php: Hiçbir sürüm numarası belirtmeden PHP’yi kur.
- php -v: PHP versiyonunu göster.
[root@localhost ~]# yum install yum-utils
[......]
Installed:
yum-utils.noarch 0:1.1.31-54.el7_8
Dependency Installed:
libxml2-python.x86_64 0:2.9.1-6.el7.5 python-chardet.noarch 0:2.2.1-3.el7 python-kitchen.noarch 0:1.1.1-5.el7
Dependency Updated:
libxml2.x86_64 0:2.9.1-6.el7.5
Complete!
[root@localhost ~]# yum-config-manager --enable remi-php74
Loaded plugins: fastestmirror
============================================================================================== repo: remi-php74 ===============================================================================================
[remi-php74]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl =
cache = 0
cachedir = /var/cache/yum/x86_64/7/remi-php74
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = 1
enablegroups = True
exclude =
failovermethod = priority
ftp_disable_epsv = False
gpgcadir = /var/lib/yum/repos/x86_64/7/remi-php74/gpgcadir
gpgcakey =
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7/remi-php74/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
hdrdir = /var/cache/yum/x86_64/7/remi-php74/headers
http_caching = all
includepkgs =
ip_resolve =
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid =
metadata_expire = 21600
metadata_expire_filter = read-only:present
metalink =
minrate = 0
mirrorlist = http://cdn.remirepo.net/enterprise/7/php74/mirror
mirrorlist_expire = 86400
name = Remi's PHP 7.4 RPM repository for Enterprise Linux 7 - x86_64
old_base_cache_dir =
password =
persistdir = /var/lib/yum/repos/x86_64/7/remi-php74
pkgdir = /var/cache/yum/x86_64/7/remi-php74/packages
proxy = False
proxy_dict =
proxy_password =
proxy_username =
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert =
sslclientcert =
sslclientkey =
sslverify = True
throttle = 0
timeout = 30.0
ui_id = remi-php74
ui_repoid_vars = releasever,
basearch
username =
[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror
[......]
[root@localhost ~]# yum install php
[......]
Dependency Installed:
libsodium.x86_64 0:1.0.18-1.el7 php-json.x86_64 0:7.4.14-1.el7.remi php-sodium.x86_64 0:7.4.14-1.el7.remi
Updated:
php.x86_64 0:7.4.14-1.el7.remi
Dependency Updated:
php-cli.x86_64 0:7.4.14-1.el7.remi php-common.x86_64 0:7.4.14-1.el7.remi
Complete!
[root@localhost ~]# php -v
PHP 7.4.14 (cli) (built: Jan 5 2021 10:45:06) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
[root@localhost ~]
PHP Web Sayfası: PHP
PHP MySQL Eklentisi:
PHP 7.4’ü kurduk. İşimiz neredeyse bitti diyebiliriz. PHP için MySQL eklentimiz eksik gibi duruyor o zaman kuralım 🙂
- [root@localhost ~]# yum install php-mysql
Kurulumdan sonra web server’ımızı yeniden başlatalım.
- [root@localhost ~]# systemctl restart httpd
[root@localhost ~]# yum install php-mysql
[......]
Installed:
php-mysqlnd.x86_64 0:7.4.14-1.el7.remi
Dependency Installed:
php-pdo.x86_64 0:7.4.14-1.el7.remi
Complete!
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]#
WordPress’in İndirilmesi:
WordPress’i resmi web sitesi üzerinden indireceğiz. Bu şekilde en güncel sürümüne ulaşmış olacağız. WordPress’in indirme sayfasına “https://wordpress.org/download/” baktığımızda “*tar.gz” uzantılı bir tarball linki görüyoruz. İndirme yapmak için “wget” programını kullanacağız. Eğer “wget” kurulu değilse “yum install wget” ile kurulum yapabilirsiniz.
- [root@localhost ~]# wget https://wordpress.org/latest.tar.gz
İndirme işlemi tamamlandıktan sonra tarball’ı açıyoruz:
- [root@localhost ~]# tar -xzf latest.tar.gz
[root@localhost ~]# wget https://wordpress.org/latest.tar.gz
[......]
2021-01-08 13:09:26 (656 KB/s) - ‘latest.tar.gz’ saved [15422346/15422346]
[root@localhost ~]# tar -xzf latest.tar.gz
[root@localhost ~]# ls
anaconda-ks.cfg latest.tar.gz wordpress
[root@localhost ~]#
Bizi WordPress arşivi ve açılmış hali karşılıyor.
Gerekli kurulumlarımız tamamlandığına göre artık sona doğru yaklaşıyoruz.
WordPress Kurulumu:
Bu aşamaya kadar anlatmak istediklerim umarım açık bir şekilde anlaşılmıştır. Kurulum yapmak için WordPress’in kendi sitesinden indirmiş olduğumuz dosyaları ilgili dizine kopyalayıp kurulumu başlatabiliriz.
- pwd: Bulunduğum dizini göster. Ben “wordpress” arşivini root’un ev dizinine (/root) çıkarmıştım.
- ls: Bulunduğum dizinin içeriğini listele. “wordpress” dizininin burada olduğunu doğruladık.
- cp -R wordpress/* /var/www/html/wordpress: Bulunduğumuz dizindeki “wordpress” dizini içerisindeki tüm dosya ve dizinleri “/var/www/html/wordpress” altına kopyala.
- cd /var/www/html/wordpress: “/var/www/html/wordpress” dizinine geç.
Bu işlemin sonunda web sitemize girdiğimizde bizi WordPress kurulum sayfası ekranı karşılıyor:
Let’s go! Nerdeyse bitti 🙂 Oluşturduğumuz veritabanı bilgileri ile gerekli yerleri dolduralım.
Bir sonraki adımda, WordPress yazılımının “wp-config.php” dosyasına yazamadığını görüyoruz. Bize önerildiği gibi tüm içeriği alıp “wp-config.php” dosyasına yazalım.
Herhangi bir editör kullanarak “wp-config.php” dosyasını hazırlayabilirsiniz. Ben “vi” editörünü kullanacağım. Öncelikle wordpress dizinimize gidelim.
- [root@localhost ~]# cd /var/www/html/wordpress
- [root@localhost wordpress]# vi: Vi editörünü başlat. ( Kopyaladığımız içeriği editöre yapıştırıyoruz. “!wq wp-config.php” yazarak editörden çıkıyoruz.)
- [root@localhost wordpress]# ls: Bulunduğum dizinin içeriğini listele. “wp-config.php” dosyasının burada olduğunu doğruladık.
- [root@localhost wordpress]# ls | grep wp-config.php: “/var/www/html/wordpress/” dizini altında “wp-config.php” isimli dosya var mı sorgular.
“wp-config.php” dosyamızı oluşturduk, ekrandaki bilgileri doldurduktan sonra WordPress’iniz kullanıma hazır olacak.
Kaynaklar
WordPress Kaynakları
PHP Kaynakları
MySQL Kaynakları
MariaDB Kaynakları
Apache Kaynakları