Merhaba arkadaşlar, geçtiğimiz günlerde bir kullanıcımız buradaki Image Optimizer for XF 2.0 eklentisini satın aldı. O sebeple eklentiyi inceleme fırsatım oldu. Konuya bakılırsa 29 dolara satılan bu eklentinin, xenforo.com üzerindeki konusunda kurulumu ile alakalı birçok kişinin problemler yaşadığını görebilirsiniz. Hayır böyle bir eklenti yapıyorsun 2 satır yazı ve 2 tane resim ile insanların bunu kurmasını bekliyorsun. Eklenti güzel ama tek sıkıntısı kurulumunun sıradan bir kullanıcı için zor olması. Eleştirilecek tek yanının da bu olduğunu söyleyebilirim 
Eklenti iyi düşünülmüş bir eklenti. Forumda paylaşılan resimleri ciddi oranda sıkıştırıyor ve sizlere hem sunucu tarafında hemde maddi olarak ciddi tasarruflar sağlıyor. Tabii önemli bir ayrıntıyı da sizinle paylaşmak istiyorum; Eğer kendinize ait bir sunucunuz yok ise, hosting vs kullanıyorsanız kesinlikle satın almayın. Eklenti sunucuya komut iletmek için
Eklenti her ne kadar %70 oranına kadar sıkıştırma yaptığını söylese de bazı durumlarda bu sıkıştırma bazı görüntü dosyalarına göre çok düşük kalabilir. Bunun sebebi sıkıştırma yaparken görüntünün kalitesini de bozmamaya çalışmasından kaynaklı. Özetle bazı resimlerde %10, bazılarında %20, bazılarında %50, bazılarında %70 sıkıştırma görebilirsiniz. Bu durum görüntünün kalitesi ile alakalı bir durumdur. Bunun dışında büyük forumlar için gerçekten ciddi oranlarda tasarruf etmeniz olasıdır.
Ben buradaki konuyu direkt kurulum budur şeklinde değil benim karşılaştığım hataları da baz alarak anlatacağım ve hataları gidererek eklentiyi çalıştıracağım. Sizin de bu hatalarla karşılaşmanız olası olduğu için böyle bir anlatım yapmayı daha uygun gördüm.
Eklentinin kurulumunu yaptığınızda Admincp -> Kurulumlar -> XF Seçenekleri -> [tl] Image Optimizer alanından eklentinin seçeneklerine ulaşabilirsiniz.
Yukarıdaki resimde belirttiğim alanların bazılarına yazıda yer vereceğimi söylemiştim. Hepsini görselin üzerinde açıklayamayız çünkü her biri gerçekten açıklama gerektirecek bilgiler içermektedir. Bunları sırasıyla açıklamak istiyorum ki, hangi özelliğin ne işe yaradığı hakkında bilginiz olsun ve hangi özellikleri aktif etmeniz gerektiği hakkında da size fikir versin.
Preserver file modification times: Burada orijinal dosyanın değişiklik sürelerinin korunup korunmayacağını soruyor. Bunu daha iyi anlamak için şöyle açıklayabilirim. Bu eklenti mevcut görüntü dosyasının sıkıştırılmasını bitirdiğinde orijinali ile değiştiriyor. Bu değişiklik sırasında dosyanın eklenme süresinde/tarihinde bir değişiklik olup olmaması gerektiğini bize soruyor. Koru seçeneğini seçtiğimizde resmi değiştirdiğinde süreleri de korumuş oluyor.
Strip comment markers from output file: Bu aslında FFmpeg kütüphanesinde gördüğümüz bir durum. Dönüştürme yaparken dosyanın kayıt sırasında işlenen yorum işaretçilerini kaldırmamıza yarıyor. Bunu seçmenizi öneriyorum.
Strip ICC profiles from output files: ICC aslında çok derin bir konu fakat özetle şöyle anlatabilirim; İnsanların gözlerinde 3 tip koni hücresi vardır. Bunların bir araya gelmesi ile insanlar bir milyona kadar farklı renkleri algılayabilirler. Kısaca ICC , 1993 yılında Apple, Adobe, Microsoft ve Kodak gibi çeşitli üreticiler tarafından kurulan Uluslararası Renk Konsorsiyumu (ICC), tüm işletim sistemlerinde ve yazılım paketlerinde rengin yeniden üretilmesini kolaylaştıran bir renk yönetim sistemidir. Bir ICC profili (genellikle bir .icc veya .icm uzantısıyla tanımlanır), belirli bir cihazın renk özelliklerini tanımlamak için kullanılan bir sistemdir. Buradan daha detaylı bilgi edinebilirsiniz: INTERNATIONAL COLOR CONSORTIUM Bu eklenti sıkıştırma yaparken bu renkleri de çıkarıyor ve bu sayede yüksek bir sıkıştırma yapmasına olanak sağlıyor.
Strip XMP profiles from output file: XMP, Adobe tarafından geliştirilen bir meta veri platformudur. Bizde bu sayede resimlerimize meta veriler ekleyebiliyoruz. Yani görüntü dosyalarımıza meta verileri gömmemize yarayan bir özellik diyebiliriz. Facebook üzerinde görmüşsünüzdür; Görsel üzerinde konum/GPS bilgileri vs yazılır. İşte bunu yapan XMP özelliğidir. Bunu kaldırmak için böyle bir seçenek size bu eklentide sunulmuş.
Strip EXIF profiles from output file: Exchangeable Image File Format yani kısaltması EXIF olan bu özelliğin Türkçe açılımı değiştirilebilir görüntü dosyası formatıdır. EXIF formatı düzenlenebilir bir format değildir. Şöyle ki, örneğin kullanıcı cep telefonundan veya fotoğraf makinesinden resim çekti EXIF formatı buna bir meta veri ataması yapar kişi, bunu paylaştığında bu meta verisi ile birlikte paylaşır. Bakın exchangeable image file format olması farklı bir şey düzenlenebilir olması farklı bir şey. Bu formatı tabii ki aracı yazılımlar ile değiştirebiliriz bu eklentide bize bunu sağlıyor. Eklentinin bunu sağladığını söylemekte doğru olmayabilir daha doğru tabir ile aracılık ediyor diyebiliriz.
Strip IPTC profiles from output file: IPTC doysa bilgileri formu olarak isimlendiriliyor. görüntü dosyalarında IPTC meta verileri ekleyebilme özelliği vardır. Yani fotoğrafı çeken kişinin iletişim bilgilerini listeler. Bunu photoshop ile bir çalışma yaparken bile kullanıyorlar.
Strip comment markers from output file ✅
Strip names from output file. ✅
Strip extensions from output file.
Bu 3 seçenek gifsicle seçenekleri ile alakalı bir durum. Yukarıda sıraladığım seçeneklere benzer işlemleri gif görüntü dosyaları içinde uygulayabiliriz. Yani gif dosyaları üzerinde optimize işlemlerini yapabilmek için ilk ikisini seçmenizi öneririm.
Ben eklentiyi ilk kurduğumda XenForo sunucu hata günlüğü alanında aşağıdaki gibi bir hata ile karşılaştım.
Hatalara bakılırsa
Windows işletim sistemi kullandığım için sunucuma bağlanmak için putty programı aracılığı ile sunucuma bağlantı sağlıyorum. Mac kullananlar direkt olarak terminal alanından bağlanabilir.
Bağlantımı sağladıktan sonra ilk olarak aşağıdaki komutu çalıştırmamız gerekiyor.
Daha sonra
Daha sonra
Şimdi sunucum üzerinde eklentimin olduğu
Yukarıda görüldüğü üzere
Tekrar
Yukarıda da görüldüğü gibi başarılı bir şekilde yüklendi ve ekleyeceğimiz dizinleri bize çıktı olarak verdi.
Dizinlerimiz şu şekilde
`pngquant` path için:
`jpegoptim` path için:
`gifsicle` path için:
Ben plesk panel kullandığım için dizinlerimi bu şekilde verdi, eğer siz cpanel veya farklı bir panel kullanıyorsanız size vereceği dizinler farklı olabilir. Onları aşağıdaki alanlara sırasıyla gireceksiniz.
Verify butonuna tıkladığınız da aşağıdaki gibi başarılı yazısını görmeniz gerekiyor.
Verify butonuna tıkladığınızda The binary path is not executable. Please run this command to allow the binary executable. Uyarısı alırsanız dosya izinlerinizi düzenlemeniz gerekiyor. Yukarıda bahsetmiştik permission denied hatası alıyorduk. Bunun için terminal alanında aşağıdaki komutları sırasıyla (bize verdiği dizine göre) girmemiz gerekiyor.
Şimdi Admincp -> Kayıtlar Logs -> [tl] Image Optimizer Logs alanına gittiğimizde sıkıştırma oranlarına görebiliriz.
Eğer dizin yollarında sıkıntı yaşıyorsanız bunları aşağıdaki gibi düzenleyebilirsiniz. Yukarıda da gördüğünüz gibi sunucu üzerinde
Örnek:
Tabii burada verify butonuna tıkladığınızda geçerli olmadığını söyleyebilir ama biz sunucuda yüklü olduğunu biliyoruz bu sebeple eklenti çalışacaktır.
Eklenti ve sunucu gereksinimleri ile alakalı olası yaşayacağınız sorunlarından da bahsetmek istiyorum.
Not: Buradaki makale tarafımca XGT için yazılmış olup, izinsiz hiçbir yerde paylaşılamaz.
Eklenti iyi düşünülmüş bir eklenti. Forumda paylaşılan resimleri ciddi oranda sıkıştırıyor ve sizlere hem sunucu tarafında hemde maddi olarak ciddi tasarruflar sağlıyor. Tabii önemli bir ayrıntıyı da sizinle paylaşmak istiyorum; Eğer kendinize ait bir sunucunuz yok ise, hosting vs kullanıyorsanız kesinlikle satın almayın. Eklenti sunucuya komut iletmek için
exec
ve shell_exec
fonksiyonlarının açık olmasını istiyor. Biliyorsunuz hostinglerde bunlar kapalı olarak geliyor. Ben hosting kullanıyorum xenforo gereksinimlerini karşılıyor ve bende bu bahsettiğiniz fonksiyonlarda açık diyebilirsiniz ama öyle bahsedildiği gibi sadece bu iki fonksiyonun açık olması da durumu kurtarmıyor. Şöyle ki; Eklenti kurulum sırasında sizden sunucu tarafında bazı paketlerinde yüklenmesini istiyor. autoconf
, automake
, jpegoptim
, pngquant, gcc-c++
ayrıca sunucu üzerinden chmod değerlerini de değiştirmeniz gerekiyor sunucuya root yetkinizin olmaması sebebiyle bu izinleri de sunucu firmasından talep etmeniz gerekiyor ki bu izinleri vereceklerini hiç sanmıyorum. Bu yüzden bunlara dikkat ediniz.Eklenti her ne kadar %70 oranına kadar sıkıştırma yaptığını söylese de bazı durumlarda bu sıkıştırma bazı görüntü dosyalarına göre çok düşük kalabilir. Bunun sebebi sıkıştırma yaparken görüntünün kalitesini de bozmamaya çalışmasından kaynaklı. Özetle bazı resimlerde %10, bazılarında %20, bazılarında %50, bazılarında %70 sıkıştırma görebilirsiniz. Bu durum görüntünün kalitesi ile alakalı bir durumdur. Bunun dışında büyük forumlar için gerçekten ciddi oranlarda tasarruf etmeniz olasıdır.
Ben buradaki konuyu direkt kurulum budur şeklinde değil benim karşılaştığım hataları da baz alarak anlatacağım ve hataları gidererek eklentiyi çalıştıracağım. Sizin de bu hatalarla karşılaşmanız olası olduğu için böyle bir anlatım yapmayı daha uygun gördüm.
Eklentinin kurulumunu yaptığınızda Admincp -> Kurulumlar -> XF Seçenekleri -> [tl] Image Optimizer alanından eklentinin seçeneklerine ulaşabilirsiniz.

Yukarıdaki resimde belirttiğim alanların bazılarına yazıda yer vereceğimi söylemiştim. Hepsini görselin üzerinde açıklayamayız çünkü her biri gerçekten açıklama gerektirecek bilgiler içermektedir. Bunları sırasıyla açıklamak istiyorum ki, hangi özelliğin ne işe yaradığı hakkında bilginiz olsun ve hangi özellikleri aktif etmeniz gerektiği hakkında da size fikir versin.
Preserver file modification times: Burada orijinal dosyanın değişiklik sürelerinin korunup korunmayacağını soruyor. Bunu daha iyi anlamak için şöyle açıklayabilirim. Bu eklenti mevcut görüntü dosyasının sıkıştırılmasını bitirdiğinde orijinali ile değiştiriyor. Bu değişiklik sırasında dosyanın eklenme süresinde/tarihinde bir değişiklik olup olmaması gerektiğini bize soruyor. Koru seçeneğini seçtiğimizde resmi değiştirdiğinde süreleri de korumuş oluyor.
Strip comment markers from output file: Bu aslında FFmpeg kütüphanesinde gördüğümüz bir durum. Dönüştürme yaparken dosyanın kayıt sırasında işlenen yorum işaretçilerini kaldırmamıza yarıyor. Bunu seçmenizi öneriyorum.
Strip ICC profiles from output files: ICC aslında çok derin bir konu fakat özetle şöyle anlatabilirim; İnsanların gözlerinde 3 tip koni hücresi vardır. Bunların bir araya gelmesi ile insanlar bir milyona kadar farklı renkleri algılayabilirler. Kısaca ICC , 1993 yılında Apple, Adobe, Microsoft ve Kodak gibi çeşitli üreticiler tarafından kurulan Uluslararası Renk Konsorsiyumu (ICC), tüm işletim sistemlerinde ve yazılım paketlerinde rengin yeniden üretilmesini kolaylaştıran bir renk yönetim sistemidir. Bir ICC profili (genellikle bir .icc veya .icm uzantısıyla tanımlanır), belirli bir cihazın renk özelliklerini tanımlamak için kullanılan bir sistemdir. Buradan daha detaylı bilgi edinebilirsiniz: INTERNATIONAL COLOR CONSORTIUM Bu eklenti sıkıştırma yaparken bu renkleri de çıkarıyor ve bu sayede yüksek bir sıkıştırma yapmasına olanak sağlıyor.
Strip XMP profiles from output file: XMP, Adobe tarafından geliştirilen bir meta veri platformudur. Bizde bu sayede resimlerimize meta veriler ekleyebiliyoruz. Yani görüntü dosyalarımıza meta verileri gömmemize yarayan bir özellik diyebiliriz. Facebook üzerinde görmüşsünüzdür; Görsel üzerinde konum/GPS bilgileri vs yazılır. İşte bunu yapan XMP özelliğidir. Bunu kaldırmak için böyle bir seçenek size bu eklentide sunulmuş.
Strip EXIF profiles from output file: Exchangeable Image File Format yani kısaltması EXIF olan bu özelliğin Türkçe açılımı değiştirilebilir görüntü dosyası formatıdır. EXIF formatı düzenlenebilir bir format değildir. Şöyle ki, örneğin kullanıcı cep telefonundan veya fotoğraf makinesinden resim çekti EXIF formatı buna bir meta veri ataması yapar kişi, bunu paylaştığında bu meta verisi ile birlikte paylaşır. Bakın exchangeable image file format olması farklı bir şey düzenlenebilir olması farklı bir şey. Bu formatı tabii ki aracı yazılımlar ile değiştirebiliriz bu eklentide bize bunu sağlıyor. Eklentinin bunu sağladığını söylemekte doğru olmayabilir daha doğru tabir ile aracılık ediyor diyebiliriz.
Strip IPTC profiles from output file: IPTC doysa bilgileri formu olarak isimlendiriliyor. görüntü dosyalarında IPTC meta verileri ekleyebilme özelliği vardır. Yani fotoğrafı çeken kişinin iletişim bilgilerini listeler. Bunu photoshop ile bir çalışma yaparken bile kullanıyorlar.
Strip comment markers from output file ✅
Strip names from output file. ✅
Strip extensions from output file.
Bu 3 seçenek gifsicle seçenekleri ile alakalı bir durum. Yukarıda sıraladığım seçeneklere benzer işlemleri gif görüntü dosyaları içinde uygulayabiliriz. Yani gif dosyaları üzerinde optimize işlemlerini yapabilmek için ilk ikisini seçmenizi öneririm.
Ben eklentiyi ilk kurduğumda XenForo sunucu hata günlüğü alanında aşağıdaki gibi bir hata ile karşılaştım.

Hatalara bakılırsa
jpegotpim
, pngquant
paketlerinin sunucuda yüklü olmadığını söylüyor ve izinlerimin de reddedildiğini yani permission denied hatası olarak sunucu hata günlüğüne iletildiğini görüyorum.Windows işletim sistemi kullandığım için sunucuma bağlanmak için putty programı aracılığı ile sunucuma bağlantı sağlıyorum. Mac kullananlar direkt olarak terminal alanından bağlanabilir.
Bağlantımı sağladıktan sonra ilk olarak aşağıdaki komutu çalıştırmamız gerekiyor.
Kod:
yum makecache

Daha sonra
yum -y install jpegoptim
komutu girerek jpegoptim
paketini yüklüyoruz.
Daha sonra
yum -y install pngquant
komutu girerek pngquant
paketini yüklüyoruz.
Şimdi sunucum üzerinde eklentimin olduğu
/var/www/vhosts/netron.dev/httpdocs/src/addons/Truonglv/ImageOptimizer
dizinine giderek setup.sh
dosyasını çalıştırmamız ve buradaki talimatlara göre ilerlememiz gerekiyor. Terminal ekranımızı açıyoruz ve komutlarımızı giriyoruz.
Yukarıda görüldüğü üzere
automake: installed in /usr/bin/automake
yüklü olmadığını söylüyor. Bunu terminal alanından sunucumuza yüklüyoruz. Bunun için yum -y install automake
komutunu çalıştırıyoruz.
Tekrar
/var/www/vhosts/netron.dev/httpdocs/src/addons/Truonglv/ImageOptimizer
dizinine giderek setup.sh
dosyasını çalıştırıyoruz.
Yukarıda da görüldüğü gibi başarılı bir şekilde yüklendi ve ekleyeceğimiz dizinleri bize çıktı olarak verdi.
Dizinlerimiz şu şekilde
`pngquant` path için:
/var/www/vhosts/netron.dev/httpdocs/src/addons/Truonglv/ImageOptimizer/pngquant
`jpegoptim` path için:
/var/www/vhosts/netron.dev/httpdocs/src/addons/Truonglv/ImageOptimizer/jpegoptim
`gifsicle` path için:
/var/www/vhosts/netron.dev/httpdocs/src/addons/Truonglv/ImageOptimizer/gifsicle
Ben plesk panel kullandığım için dizinlerimi bu şekilde verdi, eğer siz cpanel veya farklı bir panel kullanıyorsanız size vereceği dizinler farklı olabilir. Onları aşağıdaki alanlara sırasıyla gireceksiniz.

Verify butonuna tıkladığınız da aşağıdaki gibi başarılı yazısını görmeniz gerekiyor.

Verify butonuna tıkladığınızda The binary path is not executable. Please run this command to allow the binary executable. Uyarısı alırsanız dosya izinlerinizi düzenlemeniz gerekiyor. Yukarıda bahsetmiştik permission denied hatası alıyorduk. Bunun için terminal alanında aşağıdaki komutları sırasıyla (bize verdiği dizine göre) girmemiz gerekiyor.

Şimdi Admincp -> Kayıtlar Logs -> [tl] Image Optimizer Logs alanına gittiğimizde sıkıştırma oranlarına görebiliriz.

Eğer dizin yollarında sıkıntı yaşıyorsanız bunları aşağıdaki gibi düzenleyebilirsiniz. Yukarıda da gördüğünüz gibi sunucu üzerinde
jpegoptim
ve pngquant
paketlerini yüklediğimiz için o yolları da verebilirsiniz.Örnek:

Tabii burada verify butonuna tıkladığınızda geçerli olmadığını söyleyebilir ama biz sunucuda yüklü olduğunu biliyoruz bu sebeple eklenti çalışacaktır.
Eklenti ve sunucu gereksinimleri ile alakalı olası yaşayacağınız sorunlarından da bahsetmek istiyorum.
autoconf
sunucuda yüklü olması gerekiyor yüklü değil ise yum -y install autoconf
komutu ile yükleyebilirsiniz. Ayrıca gcc-c++
uyarısı alırsanız yum install gcc-c++
paketini de yükleyebilirsiniz.Not: Buradaki makale tarafımca XGT için yazılmış olup, izinsiz hiçbir yerde paylaşılamaz.