Yücel Alkan

Arch/Manjaro Üzerine Lamp Kurulumu

Bu yazımda sizlere Arch tabanlı sistemler üzerine (Örneğin Manjaro) nasıl LAMP kurulacağını anlatacağım. Hadi başlayalım.

Lamp; Linux, Apache, Mysql/MariaDB , PHP/Perl/Pyhton kelimelerinin baş harflerinden meydana gelmektedir. Bilgisayarımızda sanal sucunu (apache), veritabanı servisi (mysql/mariadb) ve PHP, Perl gibi programlama dillerini çalıştırabilmek için LAMP kurulumu yapmamız gerekmektedir. 

Apache Kurulumu

1. Öncelikle root girişi yapıyoruz. Bundan sonraki birçok adım, sistem üzerinde değişiklik yapacağından her seferinde root şifresi girmenize gerek kalmayacaktır. 

sudo su

2. Sistemimizi güncelliyoruz

pacman -Syu

3. Apache kurulumu yapıyoruz. 

pacman -S apache

4. Httpd.conf dosyamız üzerinde düzenleme yapmamız gerekiyor. İsterseniz bilgisayarınızda bulunan metin editörlerinden biriyle (Örneğin; kate) isterseniz terminal ekranı üzerinden aşağıdaki komutla /etc/httpd/conf/httpd.conf dosyasını açabilirsiniz.

nano /etc/httpd/conf/httpd.conf

5. Açılan httpd.conf dosyasında aşağıdaki satırı buluyoruz ve başındaki # işaretini kaldırıyoruz. Artık yorum satırı olmaktan çıkacaktır. Bu modülü aktif ederek proje bazlı .htaccess dosyalarımızı çalıştırabilmekteyiz.

#LoadModule unique_id_module modules/mod_unique_id.so

6. Apache servisini aktif ediyoruz ve yeniden başlatıyoruz.

systemctl enable httpd
systemctl restart httpd

7. Şimdi httpd servisinin aktif olup olmadığını kontrol ediyoruz. Aşağıdaki komutu çalıştırıyoruz.

systemctl status httpd

Bu komutu çalıştırdığımız zaman aşağıdaki gibi bir çıktımız olacaktır. Active alanının karşısında active (running) yazması gerekmektedir. Eğer failed yazıyorsa, alt satırlarda hatanın nedeni de yer alacaktır. Açıklamaya bakıp hatanın nedenleri hakkında bilgi sahibi olabilirsiniz.

httpd.service - Apache Web Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-02-14 12:16:49 +03; 12s ago
 Main PID: 3139 (httpd)
    Tasks: 6 (limit: 4915)
   Memory: 14.4M
   CGroup: /system.slice/httpd.service
           ├─3139 /usr/bin/httpd -k start -DFOREGROUND
           ├─3160 /usr/bin/httpd -k start -DFOREGROUND
           ├─3161 /usr/bin/httpd -k start -DFOREGROUND
           ├─3162 /usr/bin/httpd -k start -DFOREGROUND
           ├─3163 /usr/bin/httpd -k start -DFOREGROUND
           └─3164 /usr/bin/httpd -k start -DFOREGROUND

Şub 14 12:16:49 yucel systemd[1]: Started Apache Web Server.

Eğer Apache kurulumu başarılı bir şekilde tamamlandı ise tarayıcının adres satırına http://Localhost veya http:/127.0.0.1 yazdığınızda apache test sayfası gelmiş olacaktır. Eğer sayfa görüntülenemiyor hatası veriyorsa apache kurulumu başarılı olmamış demektir.

Mysql/MariaDb Kurulumu

8. Kurulum işlemine mysql ile devam ediyoruz. Aşağıdaki komutu çalıştırdığınızda mysql kurulmuş olacaktır. 

pacman -S mysql

Bu komutu çalıştırdığınız zaman aşağıdaki gibi seçim yapmanızı isteyen bir ekran gelecektir.

resolving dependencies...
looking for conflicting packages...

Packages (7) boost-libs-1.60.0-2 icu-56.1-2 jemalloc-4.0.4-1
 libmariadbclient-10.1.11-1 libxml2-2.9.3-1
 mariadb-clients-10.1.11-1 mariadb-10.1.11-1

Total Download Size: 30.68 MiB
Total Installed Size: 218.10 MiB

:: Proceed with installation? [Y/n] n
[root@server ~]# pacman -S mysql
:: There are 2 providers available for mysql:
:: Repository extra
 1) mariadb
:: Repository community
 2) percona-server

Mysql/MariaDB yüklemek için 1 yazıp enter'a basıyoruz. Ardından yükleme yapmak için sizden onay isteyecektir, y harfine basıp onay veriyoruz.

9. Veritabanı dosyalarının kaydedileceği konumu belirlemek için aşağıdaki komutu çalıştırıyoruz. Komutta yer alan datadir ifadesi bilgisayarımızdaki konumu belirtmektedir. Dilerseniz bu konumu değiştirebilirsiniz ancak buraya yazacağınız konumun okuma/yazma izni olduğuna dikkat ediniz. Aksi takdirde hatalarla karşılaşabilirsiniz.

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

10. Mysql servisini aktif ediyoruz ve başlatıyoruz.

systemctl enable mysqld
systemctl start mysqld

Mysql servisinin durumu aşağıdaki komutla kontrol edebilirsiniz. 

systemctl status mysqld

Bu komutu çalıştırdığınız zaman aşağıdaki gibi bir çıktı ile karşılaşmalısınız. Active alanının karşısında active (running) yazdığından emin olunuz. Eğer failed yazıyorsa mysql hizmeti çalışmıyor demektir.

Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-02-14 20:39:33 +03; 4min 22s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 692 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 591 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && >
  Process: 557 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 622 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 4915)
   Memory: 88.6M
   CGroup: /system.slice/mariadb.service
           └─622 /usr/bin/mysqld

Eğer Mysql/MariaDB yapılandırması yapmak istiyorsanız bu linkteki yazıyı okuyabilirsiniz.

PHP Kurulumu

10. Kurulum işlemine PHP ile devam ediyoruz. Aşağıdaki komutu çalıştırıyoruz ve PHP'yi yüklüyoruz.

pacman -S php php-apache

11. PHP ayarlarını yapmak için /etc/httpd/conf/httpd.conf konumunda bulunan http.conf dosyasını açıyoruz. İster metin editörlerinden biriyle (Örneğin; kate) isterseniz aşağıdaki komut yardımıyla nano ile terminal ekranında açabilirsiniz.

nano /etc/httpd/conf/httpd.conf

Httpd.conf dosyasında yer alan aşağıdaki satırın başındaki # işareti koyuyoruz yani yorum satırı haline getiriyoruz.

#LoadModule mpm_event_module modules/mod_mpm_event.so

Ardından aşağıdaki satırları dosyamıza ekliyoruz. 

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule php7_module modules/libphp7.so
AddHandler php7-script php
Include conf/extra/php7_module.conf

Dosyamızı kaydettikten sonra çıkış yapabiliriz. Ayarların geçerli olması için httpd servisini yeniden başlatıyoruz.

systemctl restart httpd

PHP'nin çalışıp çalışmadığını test etmek istiyorsanız Localhost konumu olan /srv/http/ klasörü içine bir php dosyası açıp, tarayıcıda çalıştırabilirsiniz.

Soru, görüş ve önerilerinizi yorum olarak yazabilirsiniz.

Hayırlı çalışmalar dilerim.

Yorumlar
Azad Bilge (01 Mart 2020 - 11:22)
Tesekkurler. Hic bir sorunla karsilasmadan kurulumu tamamladim.
Cevapla
Yorum Yapın