Ubuntu'da Apache, Php, MySQL ve PHPMyAdmin kurulumu (LAMP)

Dikkat: Bu yazının yazılma tarihinin üzerinden en az 60 gün geçmiş. İçerisindeki bilgiler güncelliğini yitirmiş olabilir. Yorumları ve güncellemeleri göz önünde bulundurarak yazıyı takip ediniz.
Bildiğiniz gibi ubuntu debian tabanlı bir işletim sistemi ve apt denilen kesinlikle gördüğüm en mükemmel paket yöneticisi olan bir araca sahiptir. Apt denilen şey sayesinde internetteki çok fazla depodan istemeyeceğiniz kadar pakete karın ağrısız ulaşabilmenizi sağlıyor. Bu aygıtı kullanıp harikalar yaratacağız şimdi.

Başlamadan önce paket bilgimizi güncelleyelim;
sudo aptitude update
İlk olarak normal web yayını yapacak olan Apache'yi kuralım;
sudo aptitude install apache2
komutu ile apache2 ve buna ilişkin paketleri kurun.

Öneri olarak apache'nin varsayılan web yayın klasörünü kullanmayın, benim / dizinimde mfyz adında bütün kişisel dosyalarımı sakladığım bir merkez vardır (hatta ayrı disk bölümü şeklinde kullanırım). Bu dizin içerisinde kendime "www" adında bir dizin oluşturup burayı apache'nin ana yayın dizini olarak ayarlayacağım :
sudo vim /etc/apache2/sites-enabled/000-default
komutu ile (veya nano ile açabilirsiniz) geçerli yayınlanan domainlere ilişkin bilgilerin tutulduğu dosyayı açalım. Burada varolan yayındaki site ayarları göreceğiz,

"/var/www" gördüğümüz 2 yeri değiştiriyoruz, "/mfyz/www" şeklinde ayarladıktan sonra yine önereceğim;
Options Indexes FollowSymLinks MultiViews
satırındaki Indexes kısmını kaldırıyoruz. Bunu yapmamızdaki amaç şudur : Apache eğer bunu yapmazsanız içerisinde index dosyası bulmadığı dizinleri basit bir yapıda listeleyecektir. Bunu kapatmak için burada bulunan "Indexes" kısmını kaldırıyoruz. Artık index olmayan bir dizine bakılmaya çalışıldığında Forbidden hatası verecektir. Dosyayı kaydedip çıkıyoruz.

Web sunucusu ve modüllerine ilişkin yaptığımız her değişimde apache servisini yeniden başlatmamız gerekmektedir. Çünkü her başlangıçta o andaki ayar dosyaları hafızaya alınır ve oradan çlaışır servisler, Yeni ayarları uygulamak için :
sudo apache2ctl restart
veya
sudo /etc/init.d/apache2 restart
komutlarından birini veriyoruz (ikisi de aynı işi yapar).

Şimdi bir web tarayıcısı açıp http://localhost yazdığımızda Forbidden hatası alıyorsak apache servisimiz sorunsuz çalışıyor demektir. Eğer /mfyz/www klasörüne bir index.html dosyası koyarsak görünmesi gerekir aynı zamanda.

Şimdi php yükleyip apache ile entegre edelim :

İsterseniz 4 olan yerleri 5 yaparak php5 kurabilirsiniz. Bu örnekte php4 kuracağım.
sudo aptitude install php4 libapache2-mod-php4 php4-gd php4-mysql
komutu ile php4, mod-php4, php'ye gd kütüphanesi desteği ve mysql ile entegre çalışabilmesi için php4-mysql paketlerini kurmuş oluyoruz.
Kurulumdan sonra php ayarlarımızı yapmak için:
sudo vim /etc/php4/apache2/php.ini
komutu ile php.ini dosyamızı açıyoruz. Burada önerdiğim birkaç ayarı yapalım :
upload_max_filesize = 2M
satırını 20M şeklinde düzenleyerek en fazla 20mb upload yapılabilir hale getirelim. Bu değişim, büyük veritabanlarını phpmyadmin'e import ederken işimize yarayacak.
;default_charset = "iso-8859-1"
satırını buluyoruz ve başındaki ; işaretini kaldırıyoruz (uncomment). Daha sonra utf-8 (veya iso-8859-9) olarak ayarlıyoruz.

[Extensions] kısmında varolan ;
;extension=mysql.so
;extension=gd.so
satırlarının başındaki ; işaretlerini kaldırdıktan sonra kaydedip çıkıyoruz. Böylece Türkçe sorunu yaşamadan en fazla 20mb upload edebilir ve mysql/gd destekli bir php desteğine sahip apache edinmiş oluyoruz.

Eğer register_globals kullanıyorsanız bunu açmanız gerekecektir. Varsayılan olarak Off ayarlı olacaktır.

Not : Yukarıdaki ayarlar dışındakilere dokunmayın, hepsi varsayılan olarak gayet ideal ayarlanmıştır.

Şimdi apache'yi yeniden başlatıp deneme yapalım.
vim /mfyz/www/index.php
komutu ile index.php oluşturalım ve içine
<?php
phpinfo();
?>
yazıp kaydedip çıkalım. Şimdi bir web tarayıcısı açıp http://localhost adresine girin, PHP hakkında çok detaylı bir sayfa görüyorsanız tebrikler şu an php apache sorunsuz çalışıyor. Bu sayfada başlıklara bakarak aşağıya doğru süzülün, gözünüz "mysql" ve "session" başlıklarını görüyorsa devam edebiliriz.

Şimdi MySQL kuralım;
sudo aptitude install mysql-client-4.1 mysql-server-4.1
komutu ile mysql sunucumuzu ve istemcimizi kurmuş oluyoruz. Şimdi mysql root şifresi ayarını geçiyorum çünkü bunu phpmyadmin'den yapacağız. Varsayılan olarak root şifresizdir.

Apache'yi tekrar başlatıyoruz tabiki.

Sıra geldi phpmyadmin kurulumuna

Apt ile kurmanızı önermem çünkü phpmyadmin'i sürekli güncellemeyeceğiz hatta kodda kendimize göre değişiklikler yapacağız.
Otomatik kurmak isteyenler ;
sudo aptitude install phpmyadmin
Elle kurmak isteyenler:http://www.phpmyadmin.net adresine girip son sürüm paketi indirin.
/mfyz/www klasörüne "pma" adında açalım (isteyen phpmyadmin olarak da adlandırabilir klasörü, ben böyle daha pratik olduğunu düşünüyorum).

Şimdi ayar dosyasına dokunmadanhttp://localhost/pma adresine giriyoruz. PhpMyAdmin gayet normal bir şekilde açılıyor karşımıza. Şimdi hiç bi yere tıklamadan anasayfadaki "Privilages" linkine tıklıyoruz (Türkçesinde izinler olarak geçebilir). Burada MySQL kullanıcıları listelenecektir. root'a tıklayıp düzenlenme sayfasındaki şifre kısmında 2 kez girerek formu gönderin. Sayfayı yenileyin, yanihttp://localhost/pma adresine tekrar girmeye çalışın. Eğer erişim hatası veriyorsa root şifreniz değişmiştir. Şimdi /mfyz/www/pma/libraries dizinindeki config.default.inc.php dosyasını düzenleyerek root şifrenizi ayarlayın. Tekrarhttp://localhost/pma sayfasına girmeyi deneyin. Eğer giriyorsa artık apache php mysql phpymadmin'iniz sorunsuz kullanılabilir demektir. /mfyz/www klasöründe çalışabilirsiniz. MySQL veritabanı yönetimini A'dan Z'ye phpymadmin ile yapabilirsiniz, Sadece biraz kurcalayın göreceksiniz :-)

Not : Benzer komutlar ile debian ve debian türevi tüm işletim sistemlerinde bu dörtlüyü kolayca kurabilirsiniz.


Hazırlayan : Mehmet Fatih YILDIZ

Yorumlar

Üye Resmi keretta
17 Temmuz Perşembe ´08 02:34
Merhaba bu adresten kurulumu yaptım ama tr karakter sorunu verince kaldırdım tüm paketleri neyse tekrar kurdum apache'yi sağlıklı kuruyorum fakat php5 kurduktan sonra /etc/php5/apache2/ içerisinde oluşması gereken php.ini dosyası oluşmuyor.

Ne yapmam gerekiyo. Bu arada konsolda hata tarzında bir yazı var php.ini ile ilgili onu buraya koyayım belki yardımcı olmanıza yardımcı olur   :-)

Not replacing deleted config file /etc/php5/apache2/php.ini
17 Temmuz Perşembe ´08 11:14
Evet sanırım elle silmişsin o php.ini dosyasını.

paketi kaldırırken
apt-get --purge remove gnome-panel
kullanmalıydın, neyse

dpgk --reconfigure php apache2
komutu sanırım bu iki paketi yeniden yapılandırarak bu sorununu çözecektir (not komut ve parametreleri tam hatırlamayabilirim)
Üye Resmi keretta
17 Temmuz Perşembe ´08 21:59
Yok hocam olmuyor. kaldırdıktan sonra zaten bir işe yaramıyor yükleyince de şöyle diyor ve yine oluşmuyor php.ini. manuel olarak php.ini'i kopyaladım dizine yine bir işe yaramadım. kaç gündür bu problem. şuan php5 ve apache2 de yüklü.

[email protected]:/home/keretta&#35; sudo dpkg --configure php5 apache2
dpkg: error processing php5 (--configure):
 paket php5 zaten yüklü ve ayarlanmış
dpkg: error processing apache2 (--configure):
 paket apache2 zaten yüklü ve ayarlanmış
Errors were encountered while processing:
 php5
 apache2
Üye Resmi Osman
27 Ağustos Çarşamba ´08 14:24
Şu anda bu işlemin
sudo tasksel install lamp-server komutuyla kolayca yapılabildiğini söylemek gerekiyor
28 Ağustos Perşembe ´08 23:16
hmm. lamp-server paketi mi olmuş artık. Eskiden yoktu öyle birşey   :-)
Üye Resmi ferdi kucuk
10 Ekim Cuma ´08 23:08
emegine saglik nhocam guzel olmus
Üye Resmi Mustafa
5 Mayıs Salı ´09 21:50
Linux üstünde apache php mysql kurulumunu anlatan bir kısa makale de ben yazdım. Belki alternatif arayanlar için faydalı olabilir.

http://cookingthecode.com/a21_Php-Mysql-Apache-Lamp-Kurulumu
Üye Resmi Kadem
8 Haziran Pazartesi ´09 15:41
Yukarıda anlattığınız gibi tüm işlemleri yaptım. mysql 5.1 ile php 5 yükledim farklı olarak. kendi dizinimi açtım /ghn/www/  olarak. fakat browser a localhost yazdığımda forbidden uyarısı alıyorum. Buraya boş bir index.html koydum öyle de denedim. index.php koyup yine denedim. Hep aynı uyarıyı alıyorum. phpmyadmin i attım /ghn/www/pma olarak ama bunu da açamıyorum yine forbidden diyor.

ne yapmalıyım? sorun nerede olabilir.?
Üye Resmi Kadem
8 Haziran Pazartesi ´09 16:43
Az önce karşılaştığım sorunu çözdüm. Şu an phpmyadmin sıkıntım kaldı sadece.http://localhost/pma yazınca aşağıdaki uyarıyı alıyorum.

Cannot load mysql extension. Please check your PHP configuration. - Documentation

çözüm önerisi şu şekilde belirtiliş;

To connect to a MySQL server, PHP needs a set of MySQL functions called \"MySQL extension\". This extension may be part of the PHP distribution (compiled-in), otherwise it needs to be loaded dynamically. Its name is probably mysql.so or php_mysql.dll. phpMyAdmin tried to load the extension but failed.

Usually, the problem is solved by installing a software package called \"PHP-MySQL\" or something similar.

mysql.so nun önündeki comment i de kaldırmıştım zaten ama olmadı hala.

phpMyAdmin ayar dosyasını oluşturdum fakat yine hata mesajları aldığım için sildim.
8 Haziran Pazartesi ´09 16:55
xampp kurmayı dene istersen.. Ayrı ayrı kurmaktan daha basittir.. Herhangi bir sorunla karşılaşacağını da zannetmiyorum..
Üye Resmi Kadem
10 Haziran Çarşamba ´09 17:49
@the_nobody,
teşekkürler. onu kursam daha iyi olacak sanırım.
Üye Resmi mustafa
2 Mart Salı ´10 08:35
hocam paylaşımın için teşekkürler

bir de ubuntuda odbc connection yapmayı anlatmanız münkün mü
Üye Resmi hakan soydogan
19 Mart Cuma ´10 14:35
benımde bır sorum olucak ben apache yı calıstırdım fakat localden yanı makınının adresını gırınce sayfam acılıyo ancak wan ıp mı yazdıgımda sayfa hıc bır sekılde gelmıyo yanı 80 den gıremıyorum sıteye ne yapmam lazım

sımdıden tesekkurler
Üye Resmi hakan
27 Şubat Pazar ´11 01:23
çok teşekkürler bana lazım olan phpmyadmindi oda tamamdır artık   ;-)
Üye Resmi Erdal EKER
29 Şubat Çarşamba ´12 12:19
Elinize sağlık hocam.
Vallaha daha bugün kurdum linux u ilk defa.
Sizin notları okuyunca hepsini yaptım.
Her şey tıkır tıkır çalıştı.

teşekkürler...
29 Şubat Çarşamba ´12 12:20
6 yillik yazinin hala calisiyor oldugunu bilmek guzel   :-)
Üye Resmi Adem
22 Ocak Salı ´13 20:08
Paylaşım için teşekkürler. Özenilerek yazılmış, faydalı ve anlaşılır bir paylaşım.
Üye Resmi Hamza EMRE
24 Mayıs Cuma ´13 05:02
Ya benim bir sorum olacaktı. Çok önemli ve acill.
Ben bilgisayarıma ubuntu desktop kurdum, kurulum çok başarılı. Ancak kurulum sırasında bilgisayar adı,kullanıcı adı ve en önemlisi şifre belirledim. O aşamayıda geçtikten sonra kurulum tamamlandı. Bilgisayarı yeniden başlattım ve ubuntu artık kurulmuştur. Ancak Sorum şuki belirlemiş olduğum şifreyi (doğru olamasına rağmen) giriyorum şifrenin yanlış olduğunun hatasını alıyorum. Ne yapmalıyım.?
Üye Resmi murat
4 Kasım Salı ´14 12:38
çok güzel paylaşım teşekürler.
Üye Resmi deren
7 Ocak Perşembe ´16 14:48
Merhaba.Ubuntu 14.04 de lamp ı kurduktan sonra silmek istedim terminalden gayet sorunsuz sildim ama aptitude u açtığımda g tuşuna bastığımda sildiğim paketlerin tekrar yüklenmesini istiyor bi türlü sorunu çözemedim lütfen yardımcı olun
Üye Resmi caner
5 Eylül Pazartesi ´16 01:35
php root hatası alıyorum. önceden yüklü belli ki. Ama bulamıyrum şifreyi.
Yeni Yorum *
İletişim Bilgileri
*
*
E-Posta adresiniz gösterilmeyecektir.
(unut)
Güvenlik Kodu *

Gönderiliyor