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 update
Eğer henüz USB aygıtını bağlamadıysanız;
USB desteğini yüklüyoruz.
opkg install kmod-usb2
insmod ehci-hcd
Eğer "unresolved symbol usb_calc_bus_time" gibi bir mesaj görürseniz, usbcore yüklememiz gerekiyor.
insmod usbcore
insmod ehci-hcd
USB-storage desteğini yüklemeliyiz.
opkg install kmod-usb-storage kmod-usb-storage-extras block-mount kmod-fs-ext4 kmod-scsi-generic
Bağlantı noktası oluşturuyoruz.
mkdir /mnt/sda1
Son 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.
Not: "http://yourhost/oc" adresine bağlandığımızda "This ownCloud server can't set system locale to en_US.UTF-8/en_US.UTF8. This means that there might be problems with certain characters in file names. We strongly suggest to install the required packages on your system to support en_US.UTF-8/en_US.UTF8. " şeklinde bir hata alırsak yapmamız gereken işlem ise şöyle;
/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;
}
Change it to return true under basename('..')
if ('' === basename('..')) {
return true;
}
Yeniden lighttpd'i başaltıp, OwnCloud ile çalışmaya başlayabiliriz.