Ubuntu-server’a LAMP kurulumu

Standard

Merhabalar;

Şu an bir web sunucusu kurmaktayım. Linux bir sunucuda elbette olması gereken LAMP yani Apache server, Mysql ve Phpmyadmin kurulumunu yaptım, aslında türkçe yeterince döküman olmasına rağmen, genelinde eksik kısımlar olduğundan temiz bir anlatım yazmaya karar verdim. Hadi başlayalım;

Öncelikle sistemimizi güncelleyerek başlayalım;

sudo apt-get update && sudo apt-get upgrade

Güncellemeler bittikten sonra, apache server’ımızı kurarak işleme başlıyoruz;

sudo apt-get install apache2

Apache sunucumuzun internete açılmasını sağlayan servis kısmıdır. Apache kurulumu tamamlandıktan sonra IP adresinizi tarayıcınıza yazdığınızda “It Works!” diye başlayan uzun bir sayfa karşınıza çıkmalı.

Eğer çıkmazsa servisi restart ederek tekrar deneyin. Restart’lamak için;

sudo service apache2 restart

yazarak restartlayabilirsiniz, “restart” yazan kısma “start” yazarak başlatma ve “stop” yaparak apache’yi durdurabilirsiniz.

İlk kısmı tamamladığımıza göre MYSQL kurulumuna geçebiliriz.
Mysql kurulumu için konsola;

apt-get install mysql-server php5-mysql

yazarak mysql ve php’nin mysql modulunu yüklüyoruz. Modülün yüklenmesi tamamlandıktan sonra, mysql’i konfügre etmemiz gerekmekte.

Önce konsola;

mysql_install_db

yazarak mysql dizinimizi oluşturuyoruz. Ardından;

mysql_secure_installation

yaparak mysql parolasını belirliyoruz, yalnız bu parolayı bir kenara not alın, çünkü MYSQL’e bağlanmak için bu parolayı kullanmanız gerekecek. Şimdiye kadar Apache ve Mysql kurulumunu tamamladık. Şimdi gelelim Php kısmına;

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Bu işlemleri de tamamlamamızın ardından PHP’nin genel modullerini tamamlamış oluyoruz.
Test etmek için;

sudo nano /var/www/html/info.php

içerisine “<? phpinfo(); ?>” yazıp kaydediyoruz. Böylece bize Sunucu üzerindeki php sayfası gelmeli. Eğer sayfayı gördüyseniz problem yok demektir. Sayfa şöyle gözükmeli;

Son olarak phpmyadmin kurulumumuza geçiyoruz;

1
apt-get install phpmyadmin

kurulum sırasında şöyle bir ekran gelecek;

Burada apache2 yi seçerek işimizi garanti altına alabiliriz.

Arından phpmyadmin’i yerine taşıyoruz;

sudo ln -s /usr/share/phpmyadmin /var/www/

phpmyadmin tamamlandıktan sonra, “http://localhost/phpmyadmin” yazdığınızda phpmyadmin’e girebilmelisiniz. Eğer hata alıyorsanız,

1
sudo nano /etc/apache2/apache2.conf

yazarak apache’nin konfügrasyon kısmının sonuna, şu satırı ekleyip kaydedin;

1
Include /etc/phpmyadmin/apache.conf

Son olarak apache servisini tekrar başlatın;

sudo service apache2 restart

Ve ta ta ta tam! LAMP kurulumu tamamlanmıştır, iyi günlerde kullanınız 🙂

 

 

Manjaro linux üzerinde Xampp Kurulumu (Apache Server, Mysql, PHP, PhpMyAdmin)

Standard

Merhaba;

Şu video’yu zamanında bulamadığım için Manjaro’dan vazgeçmiş biri olarak başkalarının da ulaşması adına paylaşıyorum.

Xampp denilen yazılım, bilgisayarınızda PHP geliştirirken, MYSQL server ve PhpMyAdmin ihtiyacınız varsa sizin için bunları paket halinde kuran efsane bir program. Kendisinin .run uzantısını (nasıl olduysa) dikkat etmediğimden, haftalardır manjaro’nun kendi sayfasında da Archlinux’un kendi sayfasındada “Arch’a lampp kurulumu yapılmıyor” diye savaş veriyordum, bu gün Ubuntu 15.10 sürümüne sistemini güncellerken farkettim ki, ben zaten sistemden bağımsız olarak .run uzantısından kurulum yapıyorum ve aradığım şey lampp için kolaylık sağlayan xampp sistemi.

Elbette bu video’yu paylaşmamın hemen ardından, Manjaro’ya dönüş yapacağım.

Eğer Arch linux’u (öncelikle biliyorsanız) ve Arch’ı seviyorsanız, değerli geliştiricileri arasında bir türk var Tulliana, kendisi harika bir arayüz tasarlamış durumda, ona da buradan ulaşabilirsiniz;

http://manjaro-tr.org/forum/index.php?topic=1296.0

Heralde bu kadar sevinmem biraz da dilime vurmuş olsa gerek 🙂 Buyrun video ile sizleri başbaşa bırakayım…

Ha unutmadan, xampp linki ;

http://downloads.sourceforge.net/project/xampp/XAMPP%20Linux/1.8.3/xampp-linux-x64-1.8.3-3-installer.run

https://www.youtube.com/watch?v=d9OKobl5Y1A

Sırasıyla kurulum adımlarının komutları da şöyle;

1
wget http<span class="symbol">:</span>/<span class="regexp">/downloads.sourceforge.net/project</span><span class="regexp">/xampp/</span><span class="constant">XAMPP</span>%<span class="number">20</span>Linux/<span class="number">1.8</span>.<span class="number">3</span>/xampp-linux-x64-<span class="number">1.8</span>.<span class="number">3</span>-<span class="number">3</span>-installer.run
1
<span class="attribute">sudo chmod +x xampp-linux-x64-1.8.3-3-installer.run</span>
1
sudo .<span class="regexp">/xampp-linux-x64-1.8.3-3-installer.run</span>

Son olarak kurulumun ardından localhost’a atacağınız dosyaları /opt/htdocs altına atıyorsunuz, oraya da atabilmek için ya root olmak gerek devamlı ya da kısa olarak;

 #chmod 755 /opt/lampp/htdocs

derseniz erişim izni ayarlamış olursunuz, Masaüstüne de bir kısayol atarsanız rahat bir şekilde dosyalarınızı aktarabilirsiniz.

Bir sonraki yazımda görüşmek üzere 🙂

PHP ile dosya yükleme

Standard

Merhaba;

Şu an geliştirmekte olduğum bir proje sırasında, siteye resim yüklemem gerekti, bende bunun üzerine bulduğum dökümanların bir sentezini oluşturmaya karar verdim.

PHP ile nasıl dosya yükleme yapabiliriz? Elbette dökümanların sınırı olmadığından ben burada temel olarak ihtiyacımız olan kısmını anlatabilirim.

Öncelikle işin arayüz kısmıyla başlayalım, bunun için 2 yolumuz var, 1.si;

<!-- Veri kodlama türü, enctype, aşağıdaki gibi belirtilmek ZORUNDADIR -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE dosya giriş alanından önce bulunmak zorundadır -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- input elemanının adı $_FILES dizisinin içindeki ismi belirler -->
    Bu dosyayı gönder: <input name="kullanici_dosyasi" type="file" />
    <input type="submit" value="Dosyayı Gönder" />
</form>

Bu şekilde dosyanın giriş türünü ve action kısmında alınan dosyanın nereye gönderileceğini “__URL__” yazan kısımda belirterek post metoduyla gönderebiliyoruz. MAX_FİLE_SİZE kısmında bayt cinsinden dosyayı sınırlayabiliyoruz. type kısmında ise, uzantı belirterek sınırlama yapabiliyoruz, mesela jpeg-png-gif formatlarına izin verilecekse bir array oluşturarak oraya bu array birimini girerek çoklu izin verebiliyoruz:

data_types[]={'image/png','image/jpeg','image/gif'};

Şeklinde ön bir ekleme yapıldığı takdirde, bu “data_types” değişkenini “type=’data_types’ ” şeklinde belirtmek yeterli olacaktır.

Bir diğer yol çoklu dosya gönderim olayıdır, onu da bu şekilde yapabiliyoruz;

<form action="" method="post" enctype="multipart/form-data" action="gidecegi_url">
<p>Resimler:
<input type="file" name="resimler[]" />
<input type="file" name="resimler[]" />
<input type="file" name="resimler[]" />
<input type="submit" value="Gönder" />
</p>
</form>

Yine seçim yaptıktan sonra gidecegi_URL yazan kısma ilgili sayfamıza yönlendirmeyi yaparak gönderebiliyoruz. Arkaplandaysa;

<?php
foreach ($_FILES["resimler"]["error"] as $anahtar => $hata) {
    if ($hata == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["resimler"]["tmp_name"][$anahtar];
        $name = $_FILES["resimler"]["name"][$anahtar];
        move_uploaded_file($tmp_name, "data/$name");
    }
}
?>

Şeklinde yazarak dosyayı yükleyebiliyoruz, yine $_[FILES]’tan sonra [type] parametresi girerek tip kısıtlama, [SIZE] ile boyut kısıtlama yapabiliriz.

Kabaca resim yükleme işlemini bu şekilde yapabiliriz.
Daha detaylı kaynaklar için;
http://php.net/manual/tr/reserved.variables.files.php
http://php.net/manual/tr/features.file-upload.post-method.php
http://www.yilmazarslanturk.com/makaleGoster/php-resim-dosyasi-yukleme-veritabanina-ekleme-cekme.html

bu kaynaklar ile tüm parametrelere göz gezdirebilirsiniz.
Bir dahaki yazımda görüşmek üzere 🙂

 

2015 Linux Yaz Kampı – PHP

Standard

Merhabalar;

17 günlük ağır ama eğlenceli bir kamp süresinin ardından fikirlerimi yazmasaydım, kampa ve katılan herkese haksızlık olmuş olurdu sanırım 🙂

15 gün boyunca günlük işleriniz tamamen askıya alınmışcasına tek birşeye odaklanıyorsunuz, o da seçtiğiniz kursun dersine. Sabah 9:30 da derse girdikten sonra 12:30 da gözünüzü açıyorsunuz, “hadi yemek yiyelim, 2 sohbet edelim” diye 2:00 ye kadar oyalanıyor, sonra bir daha derse başlıyorsunuz, 5:30’da tekrar ara veriliyor, akşam yemeğinin ardından 7:30’da ders başlayıp, normalde 9:30 da ders bitiyor ancak sınıfın durumuna bağlı olarak 10-11 civarı genellikle gün bitişi oluyor. (“genellikle”, Engür hocanın sınıfındaysanız canlı casino sıkı giyinin, zira bırakın 9:30’u o muhabbet 11 e rahat uzuyor)

Kampın belki de en güzel özelliği, insanlarının enerjik olması. Yani üniversitede/lisede herhangi bir sınıfa bırakın 12 saat eğitim vermeyi, 4-5 saat verildiğinde bile insanlar çökerken, burada insanlar 12. saatte bile gülüp/eğleniyor, hala o ekranllara bakıp birşeyler kodluyorlar. Ortamdanmıdır ya da not kaygısı olmayışındanmıdır bilinmez, yurda gittiğiniz de beynininiz oyun hamuru kıvamında olduğundan duş alıp yatabilecek kadar kişisel algoritma yazabiliyorsunuz, bir tık üstüne zorlayıp biraz da yurtta çalışayım derseniz artık beyin kendini korumaya alıyor ve kitlenebiliyorsunuz 🙂

Kampın bir diğer güzelliği, (belki de benim katıldığım 2 sene böyle olmuştur), insanlardaki muhteşem sıcaklık, yani 5 dakika önce tanımadığınız biri, 5 dakika sonra sohbet ettiğiniz ve kafanızın uyuştuğu biri halini alabiliyor, mesela:

https://twitter.com/linuxcu/status/630090636981633024/photo/1

Bu 2 arkadaş ile otobüste, çantalarımız münasebetiyle tanıştık, herkes yorgun yurda dönerken “beyler/bayanlar, linuxcuyuz o çantaları elbette taşıyacağız!” deyip, yaklaşık 10-15 laptop tehlikesi altında ezilmeyi göze alabiliyor insanlar 🙂 canlı casino Elbette kendileriyle sonradan sohbetimiz ilerledi ve harika insanlar.

Kampta hep ders mi oluyor?
“Elbette hayır” demeyeceğim, çünkü evet 🙂 Siz bilgisayar başında olup kod yazmayı ders olarak kabul ediyorsanız, yani okulda kod yazarken aklınızın bir köşesinde “bitse de gitsek…” duruyorsa, zaten kampta acı cekersiniz çünkü kamptaki ders veren insanların geneli “bilgisayar” ile alakalı konularda beyninizle futbol maçı yapacak derece de bilgili oluyor. (bknz: Engür Pişirici, Doruk Fişek, Mustafa Akgül ve ismini sayamadığım her hoca) Bir de bu bilginin getirisi, üniversitedeki hocaların sahip oldukları ego yerine öğretme arzusu olduğunda, ortaya günlük 12 saat ders veren, yazın en cafcaflı 15 gününü karşılıksız olarak hibe edip gelen  muhteşem insanlarla şölene dönüyor.

Bu kadar anlatıyorum ancak aksilik hiç mi yoktu?
300 kişinin bir ortamda olması demek elbette aksilikler olacak demek, mesela bu yıl yurt-okul arası erkek öğrenciler için hele de otobüscü abilerle tanışana kadar tam bir eziyet olabiliyordu. Sabah 160 kişi saat 9:00 ‘da bir durakda otobüs beklemeye kalkınca, haliyle Bolu Belediyesi olaydan ilk birkaç gün habersiz olduğundan 20 dakika otobüs bekleyip 3. otobüsün içerisinde fermantasyon yaparak 15 dakika geçirmişliğim var, tabii bu da bizim için ayrı bir zevklimiydi? şüphesiz, zaten ilk birkaç günden sonra otobüscü abiler ile anlaşıp sabah ard arda 3 otobüs gelmesiyle sorunu çözdük, akşam dönüşlerinde çaktırmadan rotalarından sapıp bizi yurdun kapısına kadar bırakan şoför abilerimize çok teşekkür ederiz, gaza gelip otobüsü diskoya çevirmelerinden bahsetmiyorum bile… 🙂

Peki 15 gün boyunca sabah akşam ders-ders-uyku-ders mi yaptık? Elbette arada bir geek havasında eğlenmekte kaçınılmaz oluyor :

https://twitter.com/linuxcu/status/630083617998434304/photo/1

https://twitter.com/SeymaSarigil/status/630449814698885120/photo/1

https://twitter.com/fthsrn/status/631873722333401088/photo/1

Elbette biraz da katıldığım kursdan bahsetmezsem Uğur ve Ömer hocama haksızlık olur, çılgın replikleri ve mimikleriyle Uğur Hoca’nın (sözde 2 günlük geldiği ) 15 günlük kamp süresince yaptığı türlü ekşınlarla dersin renklenmesi, gece 9:45 de biz dinlemekten yorulmuşken onun hala aynı enerjiyle bizlere birşeyler anlatma gayreti, Ömer hoca’nın “hekır” havası ve arada gaza gelip çatır çatır yazıp bizleri dumur etmeleri büyük eğlenceler. Maddi hiçbir beklentileri olmadan insanların buraya gelip yıllık tatillerini yeni beyinlere ayırmaları, öğrendiklerini aktarma gayretleri gerçekten takdir edilesi. Eğer yazın 15 gününüz varsa kesinlikle kampa gelmeli, bu ortamı yaşamalısınız. Kampa gelirseniz mutlaka hocalarla tanışın, Gerçi Uğur hocayla tanışmak için ek bir gayret sarfetmenize gerek yok, o sizi bulur. ortamda durmadan konuşan ve oraya buraya zıplamak suretiyle insanların “bu kim? .s” sorusuyla önce dumur olup sonra sohbete başladığı heyecanlı kişi kendisidir 🙂 .

Elbette burada yazdıklarım, yaşanılanların %1’i bile değil, ama umarım sizlere bir ön-fikir oluşturmuştur. Tekrardan tüm hocalarıma teşekkür ederim, bilhassa her konuştuğumda kendimi başka diyarlarda bulduğum Engür Pişirici’ye saygılarımı sunar, Linux Kullanıcıları Derneğine ve İNETD’ye böyle bir etkinlikte olmamızı sağladıkları için minnettarım…

Bir sonraki kampta (belki de bu sefer eğitmen olarak) görüşmek dileğiyle…

LYK2015-PHP

Autoloader fonksiyonu

Standard

loader

Merhabalar;

İnternette incelediğim kadarıyla anlatımların geneli karmaşıklaştırılmış, basitçe anlatmayı umuyorum, “__autoload()” fonksyionu temelde siz bir class dan obje türetirseniz yada php sayfanızda bir işlem yaparken php o dosyayı bulamazsa otomatik olarak “__autoload()” ‘ı çağırır.

Yani autload aslında “include” ve “require” metodlarının yerine, tek bir kullanımda canlı bahis tüm gerekli dosyaları çağırmada kullanılır.

kullanımı:

function __autoload($classname)
{
    echo $classname." sınıfını çağırdık";
    include "$classname" . ".php";
}

Bu metod sayesinde otomatik olarak çağırma canlı bahis işlemi yapabilmiş oluruz.

Bu değerli metodu benimle paylaşan “Uğur Arıcı” hocama ve Linux Kullanıcıları Derneği’ne teşekkürü bir borç bilirim.