Onion Omega, Kickstarter’da başlamış ve muhtemelen Kickstarter’ın en farklı projelerinden biri olmaya aday. Onion Omega, donanım geliştirme platformları için dizayn edilmiş ve özellikle yazılım geliştiricileri için üretilmiş küçücük bir donanım. Kodlama yöntemiyle yeni donanımlar ve icatlar yapmanıza imkan sağlıyor. Onion, içinde Wi-Fi gömülü, Arduino desteği ve tamamen Linux ile çalışabilir bir halde geliyor. Git, pip, npm ve yüksek seviye programlama dilleri olan Python, JavaScript, PHP gibi bilindik araçları kullanmamıza olanak sağlıyor.Ayrıca Onion Omega açık kaynak kodlu! Genel özellikleri ise şöyle;
OS: OpenWRT Linux
İşlemci: 400MHz
RAM: 64MB DDR2
Flaş: 16MB
Kablosuz: 802.11 b / g / n
Onion Omega Kurulum
Onion Omega'nın kurulumu için güzel bir wiki sayfası hali hazırda var. Bu adımları uyguladıktan sonra tarayıcımızda adres çubuğuna http://192.168.3.1 veya http://omega-ABCD.local bağlantılarını verip, Omega'nın etkileşimli sayfasına ulaşabiliyoruz.
root kullanıcısı ile bağlanabilmek için şu bilgileri giriyoruz;
username: root
password: onioneer
Omega'ya Otomatik Disk Bağlama
Omega 16mb belleğe sahip, fakat OwnCloud kuracağımız için bu alan yetersiz gelecektir. Bu nedenle üzerine bir disk bağlamamız gerekiyor. Diski Omega'nın uygun portuna taktıktan sonra, Omega'yı yeniden başlattığımızda her seferinde bu diskin otomatik olarak bağlanması için aşağıdaki adımları uyguluyoruz (Omega FAT32, NTFS, ext2, ext3, ext4 dosya sistemlerini desteklemektedir. Benim diskimin dosya sistemim ise ext4).
Öncelikle paket yükleme işlemi yapacağımız için internete ihtiyacımız var. Wi-Fi ağına bağlanmak için, terminalde aşağıda komutu veriyoruz ;
root@Omega-0104:/#wifisetup
Onion
Omega Wifi Setup
Select
from the following:
1)
Scan for Wifi networks
2)
Type network info
q)
Exit
Selection:
Paketleri güncelliyoruz. USB aygıtını bağlayabilmek için önkoşullu paketleri yüklüyoruz.
opkg update
opkg install block-mount kmod-fs-ext4 kmod-usb-storage-extras
Aygıt için bağlantı noktası oluşturuyoruz.
mkdir /mnt/sda1
Aygıtı bağlıyoruz.mount /dev/sda1 /mnt/sda1
/overlay dizinini USB aygıtının içine taşıyoruz.mount /dev/sda1 /mnt ; tar -C /overlay -cvf - . | tar -C /mnt -xf - ;umount /mnt
fstab şablonunu oluşturuyoruz.block detect > /etc/config/fstab
/etc/config/fstab dosyasını vi editörü ile açıp, otomatik bağlamayı etkinleştirmek için değişiklik yapmamız gerekiyor.Aşağıdaki satırı,
option target '/mnt/sda1'
aşağıdaki satır ile değiştirelim.option target '/overlay'
Ardından şu satıra bakalım,option enabled '0'
ve aşağıdaki satır ile değiştirelim.option enabled '1'
Dosyayı kaydediyoruz ve Omega'yı yeniden başlatıyoruz. Artık USB aygıtımız Omega'ya otomatik olarak bağlanmış durumdadır. Dosya sisteminizdeki tüm değişiklikler USB depolama aygıtınızda yapılacaktır.Owncloud Kurulumu ve Çalıştırılması
Onion Omega içinde OpenWrt dağıtımı ile birlikte geliyor.
Herhangi bir paketi yüklemeden önce sistemdeki paket listemizi güncelliyoruz.
opkg updateEğer henüz USB aygıtını bağlamadıysanız;
USB desteğini yüklüyoruz.
opkg install kmod-usb2 insmod ehci-hcdEğer "unresolved symbol usb_calc_bus_time" gibi bir mesaj görürseniz, usbcore yüklememiz gerekiyor.
insmod usbcore insmod ehci-hcdUSB-storage desteğini yüklemeliyiz.
opkg install kmod-usb-storage kmod-usb-storage-extras block-mount kmod-fs-ext4 kmod-scsi-genericBağlantı noktası oluşturuyoruz.
mkdir /mnt/sda1Son olarak USB belleğimizi bağlıyoruz.
mount -t ext4 /dev/sda1 /mnt/sda1 -o rw,sync
1-)Lighttpd, Php Kurulumu ve Yapılandırması
opkg install lighttpd lighttpd-mod-cgi lighttpd-mod-fastcgi lighttpd-mod-access php5-fastcgi php5-mod-xmlwriter php5-mod-zip php5-mod-json php5-mod-curl php5-mod-pdo-sqlite sqlite3-cli php5-mod-simplexml php5-mod-mbstring php5-mod-xml zoneinfo-core php5-mod-iconv php5-mod-gd php5-mod-ctype php5-mod-dom php5-mod-hash php5-mod-session php5-mod-pdo-sqlite php5-mod-pdo php5-mod-sqlite3 php5-mod-fileinfo
lighttpd yapılandırma dosyasını aşağıdaki gibi düzenlemeliyiz.
vim /etc/lighttpd/lighttpd.conf server.modules = ( ) server.document-root= "/www/oc" server.upload-dirs = ( "/tmp" ) server.errorlog = "/var/log/lighttpd/error.log" server.pid-file = "/var/run/lighttpd.pid" server.username = "http" server.groupname = "www-data" index-file.names = ( "index.php", "index.html", "index.htm", "default.htm", "index.lighttpd.html" ) static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) server.port = 81 include "/etc/lighttpd/mime.conf" include_shell "cat /etc/lighttpd/conf.d/*.conf"Php yapılandırması için, "php.ini" dosyasında aşağıdaki satırı oluşturmalıyız.
vim /etc/php.ini doc_root = "/www/oc"
"mod_fastcgi" aracılığıyla PHP dosyalarını test etmek için bir ilişki ekleyelim.
vim /etc/lighttpd/conf.d/fastcgi.conf server.modules += ( "mod_fastcgi" ) fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php-fcgi", "socket" => "/tmp/php.socket", "max-procs" => 1 )) )
2-)OwnCloud İndirilmesi ve Yapılandırılması
Şu adresten OwnCloud son versiyonunu indirelim.
wget http://download.owncloud.org/community/owncloud-8.1.0.tar.bz2
Arşiv dosyasını açabilmemiz için tar'ı yüklüyoruz ve dosyayı tar ile açıyoruz.
opkg install tar tar xvjf owncloud-8.1.0.tar.bz2 -C /www/
rm owncloud-8.1.0.tar.bz2
Dizine açtığınız dosyayı yerleştiriyoruz.
mv /www/owncloud/ /www/oc/
Gerekli servisleri başlatıyoruz.
/etc/init.d/lighttpd start
/etc/init.d/lighttpd enable
/etc/init.d/php5-fastcgi start
/etc/init.d/php5-fastcgi enable
Web tarayıcımız ile "http://yourhost/oc" adresine bağlandığımızda OwnCloud ile artık çalışmaya başlayabiliriz./www/oc/lib/private/util.php dosyasında ki "isSetLocateWorking()" metodunun içeriğini aşağıda ki gibi değiştirmeliyiz.
public static function isSetLocaleWorking() {
// setlocale test is pointless on Windows
if (OC_Util::runningOnWindows() ) {
return true;
}
\Patchwork\Utf8\Bootup::initLocale();
if ('' === basename('..')) {
return false;
}
return true;
}
// setlocale test is pointless on Windows
if (OC_Util::runningOnWindows() ) {
return true;
}
\Patchwork\Utf8\Bootup::initLocale();
if ('' === basename('..')) {
return false;
}
return true;
}
Change it to return true under basename('..')
if ('' === basename('..')) {
return true;
}
return true;
}
Yeniden lighttpd'i başaltıp, OwnCloud ile çalışmaya başlayabiliriz.