16 Aralık 2015 Çarşamba

Onion Omega Üzerine OwnCloud Kurulumu



 


 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.