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.