27
Ara

Araya bir sürü gelişme girdi, yazamadım.

Artistanbul’da epey hareketli günler yaşadığımızı söylemiştim. Bu hareketliliğin nedenlerinden biri, Artistanbul’un değişen ortaklık yapısı. Geçmişte Capitol Ogilvy Public Relations’ın müşteri direktörlüğünü yapmış olan sevgili Deniz Hazar, Artistanbul’un yeni ortağı oldu.

Deniz’in gelmesiyle şirket içinde pek çok değişikliği hayata geçirmeye başladık. Sözleşme metinlerimize kadar her şey yavaş yavaş değişiyor, ama asıl güzel gelişme, Artistanbul’un esaslı bir sermaye artırımına gitmesi oldu.

Artistanbul ailesine katılan bir diğer isimse Serkan Zihli. Aramıza katıldığı andan itibaren, Serkan iş yapma biçimimizi değiştirdi diyebilirim. Serkan sayesinde sıfırdan proje oluşturma ve sunum yapma yeteneklerimiz büyük ölçüde artmış durumda.

Geçen ay Özlem, Deniz, Serkan ve İrem ofise kapanarak, çok önemli bir konkurda bizi başarıya taşıdılar. Türkiye’nin en prestijli ajansları arasından sıyrılarak paydaşı olduğumuz bu projenin detaylarını, bir son dakika aksiliği olmazsa yakında paylaşıyor olacağım :).

Ve elbette en büyük haber…

Artistanbul’a bir kardeş firma geliyor! Yakında ayrıntılarını duyuracağımız bu firma için ofis yeri bakmaya başladık. Bu yeni şirkette Python, mobil uygulama geliştiricileri ve sistem yöneticilerine ihtiyacımız olacak.

Hatta fırsattan istifade, ilk iş ilanımızı yayınlayayım:

  • PHP ve WordPress üzerine deneyimli,
  • Linux ortamını tanıyan,
  • Cihangir’de cici bir ofiste tam zamanlı olarak  çalışabilecek,

bir takım arkadaşı arıyoruz.

Aramıza katılmak isteyenler, gizem@artistanbulpr.com ile iletişime geçebilir :).

3
Oca

Başlık belki yanlış oldu, PHP'de büyük boyutlu dosya yükleme sorunu olarak çevirsem daha doğru olurdu ama sorunu Wordpress kullanırken yaşadığımdan ve büyük ihtimal çoğu yeni kullanıcının aynı dertten muzdarip olduğunu düşündüğümden bu başlığı tercih ettim.

Bugunneizlesem üzerinden video yayınlamaya niyetlendim. Eklediğimiz kısa film tanıtımlarına o filmlerin trailerlarını ya da ilgi çekici bazı sahnelerini eklemek ziyaretçilerimizin hoşuna gidebilirdi. Video yayınlama kısmını Wordpress'in zengin eklenti desteği sayesinde hemencecik çözdük. Bir video dosyası yükleyip seçmek yeterli oluyordu ama bir sorun vardı ki dosya yüklerken maksimum boyut 2MB olarak ayarlanmıştı.

Sorunun Wordpressten kaynaklanmadığı kesin gibi bir şeydi, zaten loglarda zaman zaman php ile ilgili çeşitli uyarılarla karşılaşıyordum ve bende php için maksimum dosya boyutu sınırını nasıl arttırabileceğimi araştırdım ve buldum.

.htaccess dosyanızı açıp şu iki satırı ekleyin:
php_value upload_max_filesize 20M
php_value post_max_size 20M

İlki maksimum dosya yükleme limitini, diğeri ise POST verisinin maksimum boyutudur. Başta php.ini dosyasını değiştirip her sitede bu ayarları kullanmayı düşündüm ama ayrı ayrı standartlar belirlemeyi daha uygun buldum. Umarım yazı işinize yarar, kolay gelsin.
25
Ara
Giriş
LAMP, Linux Apache Mysql PHP kısaltması olarak aklımızda kalıyor. Bazı yerlerde P yerine PHP'den başka bir dil gelebilir ama bu yazıda PHP'yi anlatacağız. Günümüzde çoğu Linux dağıtımı temel ayarlarla gelmektedir, ben Ubuntu 10.04 LTS kullanıyorum ve temel Birkaç ayarı burada anlatmaya çalışmayacağım, uzmanlar anlatsın :) Aslında kendime not almak için yazıyorum bu yazıyı ama belki ihtiyacı olan vardır diye blogda yayınlıyorum tutorial kıvamında, yanlışım varsa şimdiden affola, yorumlarla bana düzelttirile!

Apache Web Sunucusu Kurulumu ve Ayarları
Apache günümüzde en yaygın olarak kullanılan web sunucularından birisidir. Bu yüzden apache ile ilgili bir çok doküman bulmak mevcut bu kısımda ayrıntıya girmeden apache kurulumu ve yapılandırılmasından bahsedeceğim. Öncelikle sisteminizde ki paketleri güncelleyin.
apt-get update
apt-get upgrade --show-upgraded
Ubuntu üzerinde apache’yi kurmak için aşağıdaki komutu kullanın. Bu komut apache version 2 serisini bilgisayarınıza kuracaktır.
apt-get install apache2
Bu işlemi tamamladıktan sonra sanal konaklama(Virtual Hosting) ayarlarını yapacağız.

Sanal Konaklamayı Ayarlamak
Öncelikle /etc/apache2/ports.conf dosyamızı kontrol edelim. Ben bu dökümanı hazırlarken içersinde
NameVirtualHost *:80
Listen 80
değerleri yazılmış ve hazır şekildeydi. Burada 80. portu dinlediğimizden ve sunucumuzun tüm ipleri dinlediğiden emin oluyoruz. Ardından açacağımız site için /etc/apache2/sites-available/ dizinine bir dosya oluşturuyoruz. Örnek olarak:
touch siteminadi.com
Bu dosyayı vim ile açıyor ve düzenlemeye başlıyoruz:
VirtualHost *:80>
ServerName www.siteminadi.com
ServerAlias siteminadi.com
DocumentRoot /srv/www/siteminadi.com/dosyalarhangidizindeyse/
ErrorLog /srv/www/siteminadi.com/logs/error.log
CustomLog /srv/www/siteminadi.com/logs/custom.log
/VirtualHost> (VirtualHostların başında < şu işaret var ama burada yazınca blogger sapıtıyor)

ServerAlias kullanıcılarınızın sitenize erişmek için kullandığı adresleri içerir, Log dosyaları sitenizin kayıtlarını tutar, document root sitenizi barındırdığınız dizini adresler, servername hangi barınağın hangi adrese gideceğini belirler. Elbette bunları buraya yazmanız direkt çalışacağı anlamına gelmez, DNS'lerini düzggün bir şekilde sunucunuzun IP'sine yönlendirmeniz gerekir. Bundan böyle sunucunuza bir istek geldiğinde önce izin verilen iplerden birisi olup olmadığına bakılır ardından uygun servername aranmaya başlanır ve bulunduğunda bu documentrootta bulunan içeriğe yönlendirilir. Bu dosyayı oluşturduktan sonra ya da önce belirttiğiniz dizinleri oluşturmanız gerekir, yoksa apache hata verir.

mkdir -p /srv/www/siteminadi.com/dosyalarhangidizindeyse
mkdir /srv/www/siteminadi.com/dosyalarhangidizindeyse/logs

Eğer dosyalar zaten ayarlıysa şu komut ile siteyi aktif hale getirirsiniz
a2ensite siteminadi.com
Bu komutla dosyanız sites-enabled dizine kopyalanır ardından apache'yi restart ederek ya da reload ederek siteyi açarsınız.

/etc/init.d/apache2 restart
/etc/init.d/apache2 reload
Mysql Kurulumu ve Ayarları
Öncelikle şu komutu çalıştırın

apt-get install mysql-server

Kurulum sırasında sizden root şifrenizi ayarlamanız istenir, bir şifre belirleyip not ediniz.
Mysql başlı başına bir konudur ama biz sadece bir veritabanı oluşturacağız şu komutla mysql sistemine giriş yaparsınız

mysql -u root -p

Şifrenizi girmenizi isteyecek root şifrenizi girip giriş yapınız.
Database oluşturmak için aşağıdaki komutu kullanın, sonuna ; işareti koymayı unutmayın, mysql'de komutlar ; işareti ile biter.

create database benimdb;

Database oluştu üzerinde bir kullanıcı oluşturup tüm haklarını bu kullanıcıya vermek için aşağıdaki komutu yazınız kullanıcı adı dbadmin şifre 12345 yaptım, siz daha düzgün bir şey seçersiniz.

grant all on benimdb.* to 'dbadmin' identified by '12345';

Flush komutuyla ayrıcalıkları güncelliyoruz.

flush privileges;

İşimiz bitince çıkış yapıyoruz

quit
PHP Kurulumu ve Ayarları
PHP bir programlama dilidir ve LAMP rehberinde onun kurulumunu anlatacağız. Şu komutla kurulumu yaparsınız.

apt-get install php5 php-pear

İsterseniz şu adresteki ayar dosyasını güncelleyebilirsiniz, başlangıç seviyesi kullanıcılar gerekmedikçe bu dosyayı güncellemek zorunda değildir. Çoğu ayar standart şekilde zaten yapılmıştır. Bir değişiklik yaparsanız Apache'yi restart etmeniz gerekir.

/etc/php5/apache2/php.ini

Mysql desteği için şu paketi kurunuz böylece PHP ile Mysql güzelce anlaşmaya başlar, Apache ise zaten PHP'nin dilinden çok iyi anlar ve kısaca LAMP kısmını geride bırakırız.

apt-get install php5-mysql libapache2-mod-auth-mysql

Grafiksel araçlar, çeşitli ayarlar bunların hepsi sonra yapılabilir ama öncelikli olarak sunucunuz artık bu bileşenlere sahiptir. Ayrıntılar vakit bulursam belki ileride burada yayınlanır. Okuduğunuz için teşekkürler

Kaynakça:

http://httpd.apache.org/docs/2.0/en/vhosts/name-based.html

http://library.linode.com/lamp-guides/ubuntu-10.04-lucid/

https://help.ubuntu.com/community/ApacheMySQLPHP

20
Ara

Kod yazarken hiçbir programcı uygulama içerisindeki kodlardaki hataları kullanıcıya göstermek istemez. Bunun içinde çeşitli yöntemler kullanır. Burada akla bir soru gelebilir; “Neden hata yapıyor ki?”. Burada kastettiğim hatalar her zaman sistemin işleyişini değiştirecek hatalar değil sadece PHP’nin bilgi amaçlı verdiği hatalar da olabilir. Örneğin bir form yazıyorsunuz. Atama işlemini ekran görülecek form kodlarından önce yaptınız. Sayfayı açtığınızda PHP haklı olarak atamanın yapılamadığına dair bir hata, uyarı gösterecektir. Fakat siz zaten bunun olacağını biliyordunuz. PHP’de yaptığınız işlemlerdeki oluşabilecek uyarıları kullanıcıya göstermemek için “@” karakterini kullanıyoruz. Bir örnek verecek olursak değişken atamalarını şu şekilde yaparsak değişkenler değer almadığında kullanıcı ekranda hata, uyarı görmez.

Normal atama; $isim = $_POST["isim"];
Tanımlanmadığında ekranda uyarı göstermeyecek atama; $isim = @$_POST["isim"];

mysql_query("SELECT * FROM uyeler WHERE isim='Ahmet'");
@mysql_query("SELECT * FROM uyeler WHERE isim='Ahmet'");

@ işaretini atama işlemlerinde, veritabanı sorgularında yani kısaca uyarı alabileceğiniz her işlemde kullanabilirsiniz.

Share

25
Eyl

CodeIgniter bilindiği gibi bir PHP çatısı.CodeIgniter kütüphanesini kullanarak projelerinizi daha hızlı ve kolay şekilde bitirebilirsiniz.CodeIgniter konusunda Türkçe olarak en iyi kaynak codeigniter.gen.tr sitesi.Türkçe anlatımlı olarak CodeIgniter kurulum ve kullanımı hakkında bilgileri siteden takip edebilirsiniz.15-16 Ekim tarihlerinden Yeditepe Üniversitesi’nde gerçekleştirilecek olan Özgür Web Teknolojileri Günleri‘nde de CodeIgniter ile ilgili bir sunum yapılacak.

Sunumun içeriğine bakacak olursak; İbrahim Hızlıoğlu

  • MVC Nedir?
  • MVC Mimarisinin Avantajları
  • Framework Nedir?
  • Framework Kullanmanın Avantajları
  • CodeIgniter Dosya Yapısı
  • MVC Kullanımı konularından,

Kamil Örs;

  • Session Kütüphanesi ve CodeIgniter’da Oturum Mantığı
  • CodeIgniter Veritabanı Sınıfı(Active Record) ve Kullanım Avantajları
  • Codeigniter Authorization Modülü(Maqas.net in hazırladığı modül)
  • Form Helper, Form Validasyon Kütüphanesi konularından,

Fatih Bazman;

  • Nasıl Kütüphane Yazılır?Nasıl Helper Yazılır?
  • CodeIgniter Uygulamalarında Güvenliğin Sağlanması
  • CodeIgniter 2.0 ile Yaşanacak Değişiklikler konularından bahsedecek.

MVC, Framework ve CodeIgniter konusunda bilgilenmek isteyenler için kaçırılmaması gerek bir sunum olduğunu düşünüyorum.İlgilenenler ozgurwebgunleri.org.tr adresinden detaylı bilgiye ulaşabilirler.

Share

23
Ağu

Artistanbul’da tekrar çalışmaya başladığım dönemlerde bir müşterimizin sitesi hazırlanıyordu. Süre olarak çalışmanın ortalarına denk geldiğim için pek müdahale şansım olmadı ve altyapıda Symfony kullanıldı. O gün bugündür, sunucu tarafında herhangi bir yerine müdahale etmek istediğimizde karşımıza her seferinde birbirinden farklı ve izlenemez hatalar çıkıyor.

Neyse ki bugünkü izlenebilir bir hataydı ve benden önce birileri çözmüştü :) Birazcık aramayla öğrendim ki Fatal error: Class ‘sfInflector’ not found – Symfony $VER diye ağlamasının sebebi strtolower işlevinin Türkçe yerelinde doğru çalışmaması.

Çözüm olarak symfonylibfolder/autoload/sfCoreAutoload.class.php dosyasının 440. satırındaki
'sfinflector' => 'util/sfInflector.class.php',
satırını şununla değiştirin:
'sfInflector' => 'util/sfInflector.class.php',

strtolower’ın nasıl çalışmadığını görmek isteyenler şunu çalıştırabilirler:
<?php echo strtolower('sfInflector'); // sonuç: sfInflector ?>

Evet, yıl 2010 oldu hala Türkçe için yerel sorunlarından bahsediyoruz…

29
Ara

Selamlar,

PHP’de kullanabileceğim framework leri araştırırken hem basitliği hemde iyi dökümante edilmiş olmasından CodeIgniter’ı tercih ettim. Bir süredir alışmaya çalışıyorum. CodeIgniter’ın kurulumu gerçekten çok basit. İsterseniz adım adım CI ‘ı sistemimize kuralım.

CI ‘a bulaştıysanız çoktan PHP, Apache, MySQL sisteminizde kuruludur ama yinede biz bir iki laf edelim. Konsolda kısaca sudo pisi it mod_php apache komutu vererek sistemimize PHP ve Apache kuralım. (mysql-server kurulu gelmektedir) Daha sonra yine konsolda service apache start komutu ile apache servisini çalıştıralım. Her defasında localhost işlemleri için /var/www/ dizinine ulaşmak istemezsek ev dizinimizde public_html adında bir dizin oluşturabiliriz. Böylece http://localhost/~kullanici_adiniz adresi ile projelerimizi tutabileceğimiz adrese ulaşabiliriz. İşte bizde CI ‘ı burada tutacağız. Bu adresten CI ‘ın son sürümünü indiriyoruz. zip olarak sıkıştırılmış dosyayı  /home/kullanici_adiniz/public_html dizinine açıyoruz. İsterseniz açılan dizin ismini değiştirebilirsiniz. Web tarayıcımız ile http://localhost/~kullanici_adiniz/CodeIgniter adresine giriyoruz. O da ne? Bizi hoşgeldin diyerek karşılayan bir sayfa! Çok tatlı :P İşte Pardus altında CI ‘ı kullanmaya başlamak bu kadar basit. Bundan sonrası Internetteki kaynaklara başvurarak CI ‘a iyice alışmak. Bu süreçte en yakın dostunuz bu adreste. Vakit buldukça CI ile ilgili öğrendiklerimi burada paylaşmayı planlıyorum.

Bu arada tam da bugün Pardus projesinde svn hesabı almamın bir yılı dolmuş :) [1] Pardus projesi bana çok şeyler kattı bunun farkındayım. Bu süreçte bana yardımcı olan herkese teşekkür ederim. Bende elimden geldiğince katkı vermeye çalıştım projeye. [2]  Umarım yararlı olabilmişimdir. Pardus ‘un hayatımdaki yeri hakkında o kadar çok şey yazabilirim ki tahmin edemezsiniz. Ama bu saatte gözüm kesmiyor yazmayı :)

Hepinize mutlu yıllar dilerim. Bol Pardus’lu günler… :)

[1] http://liste.pardus.org.tr/paketler-commits/2008-December/063966.html

[2] https://www.ohloh.net/p/pardus-linux/contributors/26912265106655


5
Nis

PHP’nin mail() fonksiyonu ile mail gönderebiliyoruz. Ancak bu fonksiyonla mail gönderdiğinizde Gmail gönderen ismini (unknown sender) olarak atayabiliyor. Bunu şu kod ile aşabilirsiniz;

ini_set(sendmail_from, $from);

Yani örnek bir mail gönderme kodu şöyle;

<?php
 
$name = "biraz kisisel"; //gönderen ismi
$from = "mail@birazkisisel.com"; //gonderen e-postası
$recipient = "huseyin@gmail.com"; // alıcının e-postası
$mail_body = "Merhaba, sitemize üye olduğunuz için teşekkürler. "; //mail içeriği
$subject = "Uyelik hakkinda"; //mail konusu
$header = "From: ". $name . " <" . $from . ">\r\n";
                   "Reply-To: $from" . "\r\n" .
                   "Content-type: text/html; charset=UTF-8\r\n" .
                   'X-Mailer: PHP/' . phpversion();
 
ini_set(sendmail_from, $from);
mail($recipient, $subject, $mail_body, $header);
?>
24
Mar

You can see this error when you try to upload something on Drupal. If you see this, probably there is a permission or ownership problem.

The %directory is a variable, can change for everyone. For example I was tring to upload language file and my %directory was sites/default/languages. So I enter that command from console and problem solved;

chown nobody:nobody sites/default/languages

If your problem continue try to

chmod 777 %directory.
1
Ara

web-programcilari-platformu

Bu haberi az önce öğrendim. Duymayan kalmasın, etkinlikten herkes faydalansın diye sizlere de duyurmak istedim.

PHP web programlama dilinin ve Zend’in yaratıcılarından ve halen geliştiricisi olan Zeev Suraski, ünlü Türk risk sermayesi şirketi Golden Horn Ventures tarafından, 24 Ocak 2008 Cumartesi günü Taksim Nippon Hotel’de düzenlenecek olan Web  Programcıları Platformu adlı etkinliğe konuşmacı olarak katılacak. Ayrıca yine bir PHP geliştiricisi olan Derick Rethans da etkinliğe konuşmacı olarak katılacak. Tabii bu iki konuşmacının yanında çok değerli Türk konuşmacılar da etkinlikte birer konuşma yapacak. Tüm konuşmacılar için etkinlik programına bakabilirsiniz.

Ben hemen kaydımı yaptırdım. Bir aksilik olmazsa 24 Ocak’ta orada olacağım. Eğer web programlamaya ilginiz varsa ki bu blogu takip ediyorsanız muhtemelen vardır, size de kayıt yaptırmanızı ve etkinliği takviminize eklemenizi öneririm. Katılım tamamen ücretsiz.