Etiket arşivi: php

Phpstrom Bitbucket Plugin

Phpstrom  her kurduğumda çalışan eklenti bulmak problem oluyordu. Phpstrom bitbucket plugin yüklemek için uğraşırsınız ancak her seferinde uyumsuz eklenti hatası alırsınız. Aradım taradım ve aşağıdaki çalışan halini buldum.

Her seferinde google amcanın ve phpstrom sitesindeki eklenti patlıyor. Aşağıdaki linkteki jetbrains-bitbucket-connector_IC-139.224.zip dosya çalışan halidir.

https://bitbucket.org/dmitry_cherkas/jetbrains-bitbucket-connector/downloads

Yeni Laravel Projem – Ruya Tabiri Sitesi

Laravel ile 3. proje rüya tabirleri sitesi yaptım. Laravel pagination ile sayfalama işlemleri becerimi geliştirdim. Kategori yönetimi, SQL index ve performans tuning üzerine yoğunlaştım. Alt yapısı ile güncel php7.0 kullanılarak yaptığım rüya tabiri sitesi Turkshare üzerinden yayında. 

Rüya tabiri nasıl yapılır, rüyalar nasıl yorumlanmalıdır sorularının cevaplarınında yer aldığı ruya-tabirleri.turkshare.com sitemi ziyaret edebilirsiniz.

Almanca olarakta Traumdeutung ve  der Träume traumdeutung.turkshare.com
olarak açtık. İçeriğini girmeye başladık. Traumdeutung ve  der Träume aramalarına karşılık hizmet verebiliyoruz.

Laravel İkinci Proje

Laravel ile ilgili her gün daha yeni şeyler öğrenmeye devam ediyorum. Abimin yıllar içinde büyüttüğü bir site olan www.oyunator.com sitesini bootstrap ile yeniden tasarlayıp 24 saatlik bir çalışma sonucunda yeni sunucusunda hayata geçirdik. Php 7.0 ile performansta zirveleri gördük. Gtmetrix puanımız %99 olarka ölçüldü.
Php 7.0 performanslı oluşunu gerçek anlamda test edip görme imkanını yaşadık. Yeni projelerinizde muhakkak yer vermenizi tavsiye ediyorum. 
Laravel ile geliştirdiğimiz www.oyunator.com Php7.0 ile sunucu üzerinde yorumlanıyor.  Kısa sürede hızlı proje üretmek için framework tavsiye ediyorum.

Nginx Dizin Şifreleme

Nginx web sunucumuzda bir dizine girişte parola işlemi yapmak istediğimizde Apache gibi .htpasswd oluşturma işlemi gibi yapılmıyor. Htaccess erişim kontrolü olarak biliyor Apache’de.

Nginx’te bunu yapmak için VirtualHost dosyasında ekleme yapmamız gerekiyor. Ayrıca htpasswd gibi bir dosyayı biz oluşturup istediğimiz dizine atarak tanımlama yapacağız.

Şifremizi openssl marifeti ile oluşturacağız.

openssl passwd

yazıp enter dediğimizde giriş için kullanacağımız şifreyi iki kere girdirecek ve karmaşık bir görünüm oluşturacak girdiğimiz parola için.

[email protected]:~# openssl passwd
Password:                                123456 Girdim
Verifying – Password:              123456 Girdim
6i60Qf3fCAO4c

123456 şifresi için 6i60Qf3fCAO4c dizisini üretti.

Phpmyadmin dizinini güvene almak istiyorum. buda genelde pma olarak bağlanılır. Bundan dolayı sunucuya http://sunucu/pma olarak erişmek istenecek. Dışarıdan direk giriş yerin öncesinde bir şifre ekranı gelecek. Ben /etc/nginx/ dizini altında pma_sifre diye bir dosya içinde kullanıcımı ve şifremi tutacağım. Yukarıda ürettiğim şifre karşılığındaki diziyi salih kullanıcısı ile eşleştireceğim.

mcedit /etc/nginx/pma_sifre

salih:6i60Qf3fCAO4c

ekleyip çıkıyoruz.

salih kullanıcısı ve 123456 şifresi ile giriş yapacağım bilgiyi girdim.

Nginx config dosyasında server{ altında bir yere ayarları eklemeniz gerekiyor.

mcedit /etc/nginx/sites-available/default

server  {
. . .

    location / {
        try_files $uri $uri/ =404;
    }

    location /pma {
        auth_basic “Pma Giriş Ekranı”;
        auth_basic_user_file /etc/nginx/pma_sifre;
    }

kaydedip çıkıyoruz ve nginx sunucusunu yeniden başlattık mı artık /pma ile erişimde şifre sorucak. 

İlk Laravel Projem – Fixspiele.com

Laravel ile tanışıp öğrenmem 1 ayımı aldı. İnsana proje çıkarmadabu kadar hız ve kolaylık sağladığını bizzat deneyimledim.

www.Fixspiele.com

Yaklaşık olarak 36 saatlik bir çalışma sonucunda tamamlandı. Kostenlos spiele, Online Spiele gibi aramalarla ziyaretçi bekleyecek.

Framework kullanmaktan çekinmeyin, bir tane tercih edin.

Laravel Site Örneği, Kostenlos Spiele site www.fixspiele.com , Laravel projects aramalarıyla bu sayfaya geliyorsunuz.
 

Linux Hosting Server Kurulumu

Yeni hizmete girecek sunucularım da panel kullanmıyorum. Panel çok müşterisi olanlar için veya kurumsal olarak yapan firmalar için ideal olabilir. Ancak kendi sunucum da yönetemediğim ve ekstra ücret vereceğim yazılımları kullanmak pek cazip gelmiyor. Sorun kısmında da normal çıkabilecek sorunlar üzerine birde panelin güvenlik açığı ve sorunları ile iş yükü olduğunu düşünüyorum.
İşletim Sistemi : Debian. Kiraladığım sunucuya 64bit debian’ı minimum kurulum yapılmış istedim. Yani sunucu üzerinde ssh sunucu haricinde bir servis yüklü olmadan teslim aldım.
Kullanılacak yazılımlar: Apache2, Php5, Mysql 5.1, Ftp sunucu olarak Vsftpd, Dns sunucu için DjbDns kullanacağım. Mail sunucu olarak google ve yandex alt yapılarını kullanacağım için herhangi bir mail sunucu kurmuyorum. Sistem üzerinde localhostu dinleyen postfix kurulu geliyor. Bazı uygulamalarda lazım olur diye kenarda durmasında problem yok.
Kurulumlar
Apache, php ve mysql ve vsftpd kurulumları aşağıdaki tek yükleme komutu ile yaptım. Bu kurulum sırasında mysql sunucu için root kullanıcısına verilecek şifreyi soracak o kadar.
apt-get install apache2 libapache2-mod-php5 php5 php-pear php5-mysql php5-gd php5-curl php5-mcrypt php5-ffmpeg php-soap php-pear php-mail php5-imagick php-auth php-auth-http php-auth-sasl mysql-server vsftpd
apt-get install ucspi-tcp daemontools daemontools-run
wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
gunzip djbdns-1.05.tar
tar -xf djbdns-1.05.tar
cd djbdns-1.05
echo gcc -O2 -include /usr/include/errno.h > conf-cc
make
make setup check
Kurulumlarımız tamamlanmış oluyor. Şimdi ayarları yapmaya başlayalım. Tinydns domain sorgularına cevap verecek. Bunun için kullanıcı oluşturuyoruz servisi çalıştıralım diye. kendi kullanıcı ile calistigi icin ve shell hakkı olmadığı için hacklenme durumunda dahi sunucuda işlem yapamaz saldırgan.
/usr/sbin/useradd -s /bin/false tinydns
/usr/sbin/useradd -s /bin/false dnslog
netstat -tulpa | grep domain
lsof -i | grep domain
Şimdi dns tanımlamalarını yapabiliriz. Yandex Mail yönlendirmeleri olan domainler için aşağıdaki gibi ek yapılır.
cd /etc/tinydns/root
mcedit data
####  linuxuzmani.com ####
.linuxuzmani.com:172.16.0.10:a:259200
.0.16.172.in-addr.arpa:172.16.0.10:a:259200
.linuxuzmani.com:172.16.0.11:a:259200
.0.16.172.in-addr.arpa:172.16.0.11:a:259200
=linuxuzmani.com:172.16.0.10:86400
+www.linuxuzmani.com:172.16.0.10:86400
+ns1.linuxuzmani.com:172.16.0.10:86400
=ns2.linuxuzmani.com:172.16.0.11:86400
@linuxuzmani.com::mx.yandex.net.:10:86400
Cmail.linuxuzmani.com:domain.mail.yandex.net:86400
kaydedip çıkıyoruz ve akabinde devreye alıyoruz ayarları.
make
ikinci bir domainin tanımlarını dosyanın altına ekleyerek devam ediyoruz ve make ile tekrar uyguluyoruz.
#### linuxuzmani.net  ####
.linuxuzmani.net::ns1.linuxuzmani.com
.linuxuzmani.net::ns2.linuxuzmani.com
=linuxuzmani.net:172.16.0.10:86400
+www.linuxuzmani.net:172.16.0.10:86400
@linuxuzmani.net::aspmx.l.google.com.:1:3600
@linuxuzmani.net::alt1.aspmx.l.google.com.:5:3600
@linuxuzmani.net::alt2.aspmx.l.google.com.:5:3600
Cmail.linuxuzmani.net:ghs.google.com:9800
Djbdns ayarı için bir proje sayfası var. Kolaylık oluyor.
Apache ayarlarına geçebiliriz.
 useradd -d /var/www/hosting/ftpuser -g www-data -s /usr/sbin/nologin ftpuser
passwd ftpuser
Centos User Ekleme
useradd -d /var/www/salih -g apache -s /sbin/nologin salih
** Devamı gelecektir. Sürekli güncelleme yapılacaktır. Zaman ayırabildiğim durumlarda.

Ubuntu Kurulumu Sonrası Ayar ve Program Yüklemeleri

Ubuntu Sistem Güncelleme yapalım

apt-get update && apt-get dist-upgrade

Oracle Java kuralım

add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer
apt-get install oracle-java8-set-default

PhpStorm Kuralım
https://www.jetbrains.com/phpstorm/download/#section=linux-version

Firefox Ayarları  (Sync üye oldum belki gerek kalmaz bir dahakine)
Arama motorunu Google çevirelim.
ABP eklentisini indirelim.

Midnight Commander ve bir kaç iyi adam Kuralım

apt-get install mc dsniff bwm-ng htop unrar zip unzip arj git

Sanallaştırma Kuralım

apt-get install virtualbox virtualbox-ext-pack

Exchange Sistemler İçin Posta İstemcisi (Ayardan sonra LogOff/LogOn Lazım)

apt-get install evolution evolution-ews

Video İzleme için VLC

add-apt-repository -y ppa:videolan/stable-daily
apt-get update
apt-get install vlc

Lazım olursa Grafik Editör

apt-get install gimp gimp-data gimp-plugin-registry gimp-data-extras

Notebook’taki kurulum için Güç Yazılımı / Ubuntu Pil Programı
apt-get remove laptop-mode-tools
add-apt-repository ppa:linrunner/tlp
apt-get update
apt-get install tlp tlp-rdw smartmontools ethtool
Bir defaya mahsus çalıştıralım. Bir daha kendi otomatik başlar.
tlp start
Durumu görmek için
tlp stat

Installation After Laravel Providers

Laravel DebugBar https://github.com/barryvdh/laravel-debugbar

composer require barryvdh/laravel-debugbar

Sisteme tanıtma config/app.php içine,

Providers kısmına,
BarryvdhDebugbarServiceProvider::class,

Aliases kısmına,
‘Debugbar’ => BarryvdhDebugbarFacade::class,

Aktif etmek için;
php artisan vendor:publish –provider=”BarryvdhDebugbarServiceProvider”

Laravel Ide Helper https://github.com/barryvdh/laravel-ide-helper

composer require barryvdh/laravel-ide-helper
 

Sisteme tanıtma config/app.php içine,

Providers kısmına,

 
BarryvdhLaravelIdeHelperIdeHelperServiceProvider::class, 

php artisan ide-helper:generate
php artisan vendor:publish

Collective html  
 
"require": {
    "laravelcollective/html": "5.2.*"
}

Next, update Composer from the Terminal:
composer update
Next, add your new provider to the providers array of config/app.php:

‘providers’ => [
 
// …
 
CollectiveHtmlHtmlServiceProvider::class, 
  // …
 
],
 

Finally, add two class aliases to the aliases array of config/app.php:

‘aliases’ => [ 
// … 
Form’ => CollectiveHtmlFormFacade::class,
 
‘Html’ => CollectiveHtmlHtmlFacade::class,
 
// 

],

Laracast/Generator
composer require laracasts/generators
LaracastsGeneratorsGeneratorsServiceProvider::class, 
 
ORM kurulumu
composer require doctrine/dbal  
 
Intervention Image 
http://image.intervention.io/getting_started/installation
 
composer require intervention/image
 
Providers  
InterventionImageImageServiceProvider::class 
 
Aliases
'Image' => InterventionImageFacadesImage::class
 
Publish 
php artisan vendor:publish --provider="InterventionImageImageServiceProviderLaravel5" 

 

Linux Web Sunucu Kurulumu

En uygun ve sorunsuz vps satan firmalardan biri DigitalOcean bana göre. Buradan Droplet (Damla) olarak adlandırılan sanal sunucular kiralayabiliyorsunuz ve fiyatları uygun. Sanal sunucu kiralama yaptıktan sonra size Linux sisteme erişim bilgilerini veriyor. IP ve root şifresi ile giriş yaptıktan sonra şifrenizi değiştirmenizi istiyor sistem. 
Sistemi güncelleyelim.
apt-get update
apt-get upgrade
Apache 2.4 , Mysql Server 5.5 ve Php paketleri ile modülleri yüklüyoruz. 
apt-get install apache2 libapache2-mod-php5 mysql-server php5-mysql php5-dev php5-mcrypt php5-gd php5-cli php5-xcache php5-memcache php5-memcached 
Sistem ilk kurulduğunda mail sunucu gelmiyor üzerinde. Ayrıca bir kaç kullandığım programıda ekliyorum.
apt-get install mc unzip postfix php5-curl whois
Bind Dns sunucumuzu ve araçlarınıda kuruyoruz.
apt-get install bind9 bind9 bind9utils bind9-doc

Vsftpd Ftp Sunucu kurulumunu yapalım.
apt-get install vsftpd
Sunucumuza kurulumlarımız tamam. Servislerin ayarlamalarla ilgili aşağıdaki linkleri takip edebilirsiniz.

Apache 2.4 Kurulum Sonrası Ayarlar

Yeni sunucu kurulumlarında Apache 2.4 varsayılan olarak gelmeye başladı. Bu sürümü yüklediğinizde Php kısa etiketler (short tag) <? ?> çalışmıyor. Ayrıca .htaccess dosyalarınızda çalışmıyor.

PHP Kısa Etiket (Php Short Tag) Ayarları
nano /etc/php5/apache2/php.ini
Web Server Kurulumu sonrasında php.ini ayar dosyasında “Language Options” altında olan kısa etiket parametresini aşağıdaki gibi düzenliyoruz.
short_open_tag = On
.htaccess hatası için aşağıdaki dosyada dizin ayarlarına AllowOverride All eklemeniz gerekmektedir.
mcedit /etc/apache2/apache2.conf
<Directory />
        Options FollowSymLinks
        AllowOverride All
        Require all denied
</Directory>
<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>
<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
Dosyadaki ilgili dizinlere eklemeyi yaptıktan sonra rewrite modülünü aktif hale getiriyoruz.
a2enmod rewrite
a2enmod deflate
a2enmod mod_expires
a2enmod expires
a2enmod headers
Son olarak apache2 servisimizi yeniden başlatıyoruz.
/etc/init.d/apache2 restart