İçeriğe geç

Arch Linux Apache – Php – Mysql Kurulumu

Arch Linux Apache – Php – Mysql Kurulumu gerçekleştiriyoruz.

Aslında çok bi olayımız yok ama internet de bunu sürüyle anlatan kaynak da var amma velakin genelde kafa bulandıran kısımlar oluyor bu ecnebi arkadaşlarda, basite indirgeyerek anlatayım dedim hem bana sonrası için lazım olur hem de işimiz görülsün.

Tekrar tekrar root olmamak için baştan “sudo su” yazarak root olun işlemlere öyle devam edin.

-İlk sistemimizi güncelleyelim

pacman -Syu

-Apache kuralım

pacman -S apache

/etc/httpd/conf/httpd.conf dosyasını düzenleyelim

nano /etc/httpd/conf/httpd.conf

//nano ile açınca arama yapmak için ctrl + w kullanıyoruz, terminalde arama kısmında açılan yere ctrl + shift + v olarak yapıştırıyoruz.
[...]
#LoadModule unique_id_module modules/mod_unique_id.so
[...]

Bu satırı bulup başındaki “#” kaldırıyoruz, “ctrl + x” ile çıkış diyoruz gelen soruya “E” diyerek veya “Y” diyerek onay veriyoruz kaydedip çıkıyoruz.

Şimdi Apache’mizi çalıştıralım.

systemctl enable httpd
systemctl restart httpd

Şimdi ne alemde bi bakalım olmuş mu başarmış mıyız ?

systemctl status httpd

Şöyle bir çıktı vermedi eğer işler yolunda gitti ise

● httpd.service - Apache Web Server
 Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
 Active: active (running) since Thu 2017-03-23 20:23:58 UTC; 3s ago
 Process: 6171 ExecStop=/usr/bin/httpd -k graceful-stop (code=exited, status=0/SUCCESS)
 Main PID: 6178 (httpd)
 Tasks: 6 (limit: 4915)
 CGroup: /system.slice/httpd.service
 ├─6178 /usr/bin/httpd -k start -DFOREGROUND
 ├─6180 /usr/bin/httpd -k start -DFOREGROUND
 ├─6181 /usr/bin/httpd -k start -DFOREGROUND
 ├─6182 /usr/bin/httpd -k start -DFOREGROUND
 ├─6183 /usr/bin/httpd -k start -DFOREGROUND
 └─6184 /usr/bin/httpd -k start -DFOREGROUND

Evet çıkan sonuç bu ise Apache hazır demektir.

Yine de bi test etmekten zarar gelmez.

nano /srv/http/index.html

nano ile srv/http dosya yolunda yani Lampp da htdocs olan klasör de html dosyası oluşturduk, htdocs’umuz http klasörü.

İçine şunları yapıştırında bakın bakalım gelecekmi ekrana.

<html>
 <title>Evet evet başardın</title>
  <body>
   <h2>Burayı gördüysen başardın demektir.</h2>
  </body>
</html>

http://localhost adresini veya 127.0.0.1’e girerek bak bakalım başımıza ne işler almışız.

Ekran geldiyse oyalanma da Mysql kurulumuna geçelim.

 

MySql’i kuralım

pacman -S mysql

bu komut dan sonra bunlar gelecek sakın heyecan yapma temelde çok basit şeyler

:: mysql için 2 sağlayıcı mevcut:
:: Depo extra
 1) mariadb
:: Depo community
 2) percona-server

Bir sayı girin (default=1): 1 <- 1 i seçtik mariadb yani
paket bağımlılıkları çözümleniyor...
varsa paketler arası çakışmalara bakılıyor...

Paketler (4) jemalloc-4.5.0-1 libmariadbclient-10.1.22-1 mariadb-clients-10.1.22-1 mariadb-10.1.22-1

Toplam Kurulum Boyutu: 182,83 MiB

:: Kuruluma onay veriyor musunuz? [E/h] e <- Evet dedik
(4/4) anahtarlıktaki anahtarlar kontrol ediliyor [#############################################################################] 100%
(4/4) paket bütünlüğü kontrol ediliyor [#############################################################################] 100%
(4/4) paket dosyaları yükleniyor [#############################################################################] 100%
(4/4) dosya çakışmaları kontrol ediliyor [#############################################################################] 100%
(4/4) disk alanı kontrol ediliyor [#############################################################################] 100%
:: Paket değişiklikleri işleniyor...
(1/4) yükleniyor libmariadbclient [#############################################################################] 100%
(2/4) yükleniyor jemalloc [#############################################################################] 100%
jemalloc için opsiyonel bağımlılık(lar)
 perl: for jeprof [kuruldu]
(3/4) yükleniyor mariadb-clients [#############################################################################] 100%
(4/4) yükleniyor mariadb [#############################################################################] 100%
:: You need to initialize the MariaDB data directory prior to starting
 the service. This can be done with mysql_install_db command, e.g.:
 mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
mariadb için opsiyonel bağımlılık(lar)
 perl-dbd-mysql: for mysqlhotcopy, mysql_convert_table_format and mysql_setpermission
:: Bağlantılı işlemler listesi çalışıyor...
(1/3) Updating system user accounts...
(2/3) Creating temporary files...
(3/3) Arming ConditionNeedsUpdate...

Hizmeti başlatmadan önce MariaDB veri dizinini başlatmamız gerekli onun için

mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Şimdi de mysql’i aktif edip başlatalım

systemctl enable mysqld
systemctl start mysqld

Çalışıyor mu diye bakmazsak olmaz hacı

systemctl status mysqld

Şöyle bir çıktı almamız lazım

● mariadb.service - MariaDB database server
 Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
 Active: active (running) since Thu 2017-03-23 20:11:50 UTC; 3s ago
 Process: 5590 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Process: 5506 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exite
 Process: 5503 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 5561 (mysqld)
 Status: "Taking your SQL requests now..."
 Tasks: 27 (limit: 4915)
 CGroup: /system.slice/mariadb.service
 └─5561 /usr/bin/mysqld

Bildiğiniz gibi, veritabanı kök kullanıcısı için bir şifre ayarlamamız öneriliyor, ya da bilmediğimiz gibi 😀

MariaDB root kullanıcısı parolasını oluşturmak için aşağıdaki komutlara bi girişelim

mysql_secure_installation

Çıktısı şöyle bir şey olacak

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): 
OK, successfully used password, moving on...

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

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y <- Ben 'y' yani evet dedim. Diyorki root kullanıcısının şifresini yerlebir edelim mi ? etmek istemiyorsanda sorun yok "n" yap geç tekrar şifre belirlemek zorunda kalmazsın
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] 
 ... 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] 
 ... 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] 
 - 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] 
 ... 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!

MySql’de tamamdır sıra PHP kurmakta !

Hadi Kuralım

pacman -S php php-apache

Kurduktan hemen sonra Apache’nin Php modüllerini yapılandıralım

/etc/httpd/conf/httpd.conf dosyası elimizden kurtulamaz, nano ile düzenliyoruz

nano /etc/httpd/conf/httpd.conf

Aşağıdaki satırı bulup  hemen altına ekleyin

[...]
#LoadModule mpm_event_module modules/mod_mpm_event.so
[...]

Bunları ekliyoruz

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so <- Bu satır önceden var ise geri kalanı bunun altına ekleyin
LoadModule php7_module modules/libphp7.so
AddHandler php7-script php
Include conf/extra/php7_module.conf

Kayıt edip çıkın ctrl + x soruya “e” diyerek devam veya “y”

Hemen ufak bir deneme yapalım

nano /srv/http/test.php

test.php dosyası oluşturduk içine ise

<?php echo "UY apache"; ?>

tabi içine ne yazacağın sana kalmış 😀

Apache’ye hemen bi Res atalım res Restart olan 😀

systemctl restart httpd

“http://localhost/test.php” adresine bi git de bakalım başardık mı

Başardık ise devam phpMyAdmin kuralım

pacman -S phpmyadmin php-mcrypt

Yüklemeden sonra php.ini dosyasını nano ile düzenliyoruz

nano /etc/php/php.ini

aşağıdaki satırları bulun ayrı ayrı yerlerdeler ve başlarındaki “;” kaldırın yani şöyle gözükecekler

[...]
extension=bz2.so
extension=mcrypt.so
extension=mysqli.so
[...]

kapatıp ctrl + w kaydedin

phpMyAdmin yapılandırma dosyası oluşturalım

nano /etc/httpd/conf/extra/phpmyadmin.conf

İçine şunları yapıştırın unutma “ctrl + shift + v ” yoksa yapıştırmaz, terminal bu yapar yani 😀

Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
 <Directory "/usr/share/webapps/phpMyAdmin">
  DirectoryIndex index.php
  AllowOverride All
  Options FollowSymlinks
  Require all granted
 </Directory>

Apache yapılandırma dosyasını açalım bi ayar verelim

nano /etc/httpd/conf/httpd.conf

Açılan sayfanın en altın ekleyin

Include conf/extra/phpmyadmin.conf

ve apache’yi tekrar başlatın

systemctl restart httpd

ve beklenen an geldi http://localhost/phpmyadmin adresine girelim

Giriş ekranı geldi ise tamamdır !

Son olarak “The configuration file now needs a secret passphrase (blowfish_secret)” böyle bir hata varsa sayfa altında, ki var olmalı yani.

/etc/webapps/phpmyadmin/config.inc.php dosyasını bi ziyaret ediyoruz ayar veriyoruz

nano /etc/webapps/phpmyadmin/config.inc.php

Açılan sayfa da bu satırı bulun, ki yukarlarda olacak bulmak kolay

$cfg['blowfish_secret'] = 'buraya şifre gelecek'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

şifre gelecek kısmına bu adresten bi md5 li şifre oluştur yapıştır, herhangi bi yerde karşına çıkmayacak heyecan yapma ama yine de md5’lemeden önceki halini unutma sen.

Tekrar Apache’ye restart atıyoruz, yıldım artık ama sonuna geldik !

systemctl restart httpd

aslında tam bitmedi 😀

şöyle bir hata var ise “”phpMyAdmin yapılandırma depolaması tamamiyle yapılandırılmadı, bazı genişletilmiş özellikler devre dışı bırakıldı. Nedenini öğrenmek için buraya tıklayın.”” tıklayın gitsin ! Kendisi halledecek gerisin 😀 hadi bakalım hadi bol bol kodla 😀