星期一, 3月 24, 2014

ownCloud 安裝

#用編譯好的套件安裝
cd /etc/yum.repos.d/
wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-6/isv:ownCloud:community.repo
yum install owncloud
#正常情況下安裝好後會在/var/www/html 下建立 owncloud 資料夾
#也會在/etc/httpd/conf.d 下多出這個檔案 owncloud.conf
#重啟httpd 與 mysql
/sbin/service httpd restart
/sbin/service mysql restart

設定MariaDB,這步要先做,主要是在MariaDB中把資料庫及使用者建好
mysql -uroot -p
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS owncloud;
GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password';
quit
#建好之後就可以連上 http://server.ip/owncloud/
#第一次連要設定一個管理者的帳密,重點是要選擇進階選項
#進階選項中可以選用mysql(所以mariadb一定要和mysql完全相容),然後填入上面建的資料庫名稱及使用者帳密
#如果手殘忘了選怎麼辦…
#那就殺掉這個檔案 /var/www/html/owncloud/config.php 
#這個檔案是初始化之後建的,而下面的ssl設定要更動這個檔案,所以有先後順序。
設定使用 https
yum install mod_ssl
mkdir /etc/httpd/ssl
openssl genrsa -des3 -out owncloud.key 4096
openssl req -new -key owncloud.key -out owncloud.csr
openssl x509 -req -days 3650 -in owncloud.csr -signkey owncloud.key -out owncloud.crt
openssl rsa -in owncloud.key -out owncloud.key.insecure 
mv owncloud.key owncloud.secure # 不知道這個檔案做什麼用
mv owncloud.insecure owncloud.key 

mv owncloud.key /etc/pki/tls/private
cp owncloud.crt /etc/pki/tls/certs

#修改 /etc/httpd/conf.d/owncloud.conf

DocumentRoot /var/www/html
SSLEngine On
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/pki/tls/certs/owncloud.crt
SSLCertificateKeyFile /etc/pki/tls/private/owncloud.key
#修改 /var/www/html/owncloud/config.php
#加上 'forcessl' => true,

#重啟服務
/sbin/service httpd restart
#如果錯誤訊息說找不到 owncloud.key 而它確實存在
#就是selinux 的問題,用 ls -Z 看owncloud.key 的屬性和其他檔案是否不同,
#是的話用chcon 改回來即可。

星期一, 3月 17, 2014

samba selinux

新的samba 伺服務設定愈來愈簡單了
什麼都不太需要做就能完成
如果還有問題,就是防火牆沒開 139 與 445
然後,輸入密碼、也能登入,就是進不去資料夾…明明權限都有
搞了半天,是selinux的權限問題,這個仔細看smb.conf裏其實有提到
os:寫英文的誰會看那麼仔細啦!!
家目錄相關的權限設定如下
# If you want to share home directories via samba please run: 
# setsebool -P samba_enable_home_dirs on 

自己在家以外的地方建資料夾,然後要開共享資料夾的權限則設定如下:
# If you create a new directory you want to share you should mark it as 
# "samba-share_t" so that selinux will let you write into it. 
# Make sure not to do that on system directories as they may already have 
# been marked with othe SELinux labels. 
# 
# Use ls -ldZ /path to see which context a directory has 
# 
# Set labels only on directories you created! 
# To set a label use the following: chcon -t samba_share_t /path 

如果是要分享系統資料夾,方法如下(基本上不會用到這個吧):
# 
# If you need to share a system created directory you can use one of the 
# following (read-only/read-write): 
# setsebool -P samba_export_all_ro on 
# or 
# setsebool -P samba_export_all_rw on 
# 
# If you want to run scripts (preexec/root prexec/print command/...) please 
# put them into the /var/lib/samba/scripts directory so that smbd will be 
# allowed to run them. 
# Make sure you COPY them and not MOVE them so that the right SELinux context 
# is applied, to check all is ok use restorecon -R -v /var/lib/samba/scripts 
關於使用者,現在都改用 pdbedit 啦,

星期日, 3月 16, 2014

編譯gmt5

終於,只能裝GMT5了,新版的建議用 yum 安裝,但習慣自己編譯,所以
先裝必要套件,這類套件在 epel 裏都有,要先裝epel
yum install cmake28 netcdf-devel gdal-devel
註:不知道我在堅持什麼,gmt5也在裏面,怎不直接就裝了…
svn checkout svn://gmtserver.soest.hawaii.edu/gmt5/trunk gmt5-dev
下載岸線 gshhg-gmt-2.3.2.tar.gz 放在gmt5-dev裏
tar zxvf gshhg-gmt-2.3.2.tar.gz 會得到gshhg-gmt-2.3.2資料夾,這個路徑要設定在下面中
注意版本也許有更新。
下載 dcw-gmt-1.1.1.tar.gz,並tar zxvf dcw-gmt-1.1.1.tar.gz
#複製 cmake/ConfigUserTemplate.cmake 檔案一份成為 cmake/ConfigUser.cmake
cd cmake
cp ConfigUserTemplate.cmake ConfigUser.cmake
#編輯 cmake/ConfigUser.cmake
vi ConfigUser.cmake
set (CMAKE_INSTALL_PREFIX "/usr/local/gmt5/")
set (NETCDF_ROOT "/usr/bin")  
set (GSHHG_ROOT "/home/cmd/gmt5-dev/gshhg-gmt-2.3.2") 
set (COPY_GSHHG TRUE)
set (DCW_ROOT "/home/cmd/gmt5-dev/dcw-gmt-1.1.1")
set (COPY_DCW TRUE)

# 因為我有自己編譯netcdf,seadas也有自行編譯的一份,而我們還用yum裝了一份
# 想想還是用系統裝的,所以這裏要設定好要用哪一個版本
# 注意1 ConfigUserTemplate.cmake 一定要複製一份成為ConfigUser.cmake,改變才有效
# 注意2 我習慣更動ConfigUser.cmake後會把build裏的東西清空再重做cmake28 ..
cd gmt5-dev
mkdir build
cd build
cmake28 ..
#注意看看是否下列都有出現(節錄,不是整段一樣)
#-- Found DCW: /home/cmd/gmt5-dev/dcw-gmt-1.1.1  
#*  Found GSHHG database       : /home/cmd/gmt5-dev/gshhg-gmt-2.3.0 (2.3.0)
#*  NetCDF library             : /usr/lib64/libnetcdf.so
#*  NetCDF include dir         : /usr/include

make
make install # make install 注意CMAKE_INSTALL_PREFIX 的路徑是否有權限,不然就用root執行

星期四, 3月 13, 2014

安裝Seadas7.02 on CentOS6.5

export OCSSWROOT=/opt/seadas-7.0.2/ocssw
export OCSSW_DEBUG=0               # set to 1 for debugging

vi $OCSSWROOT/OCSSW_bash.env
#export FC=${FC:=gfortran} 改成
export FC=${FC:=ifort}

source $OCSSWROOT/OCSSW_bash.env

cd $OCSSWROOT/build/lib3/src
然後會有一堆問題:權限問題…sqlite3問題…
這些主要都是權限問題,解法方法是弄一個seadas群組,讓要用的人都在那個群組中。
權限問題完之後就是這個問題:
-E- /home/swdev/ocssw/build/src/l2gen/xcal.c line 75: SDstart(/opt/seadas-7.0.2/ocssw/run/var/modisa/xcal/OPER/xcal_modisa_axc26e_412.hdf, 1) failed.
如果
ls /opt/seadas-7.0.2/ocssw/run/var/modisa/xcal/OPER/ 
xcal_modisa_axc26f_412.hdf
#這個問題是程式要用axc26e,但是資料夾裏的是axc26f,解決方法是執行下面的指令
$OCSSWROOT/run/scripts/update_luts.py aqua