2018年2月26日 星期一

Linux安裝Screen

用途:
使用Screen讓終端機可以記錄上一次的執行過程,以避免中斷連線後,無法繼續上次的作業。

安裝方法
pkg install screen

設定顯示風格
vi ~/.screenrc

# Start message
startup_message off

# Set hardstatus always on
hardstatus alwayslastline " %-Lw%{= Bw}%n%f %t%{-}%+Lw %=| %M %d %0c:%s "

# Set default encoding using utf8
defutf8 on

# Refresh the display when exiting programs
altscreen on

# Dynamic title
shelltitle '$ |bash'

# Disable vbell
vbell off

# Keboard binding
# bind F11 to move to previous window
bindkey -k F1 prev
# bind F12 to move to next window
bindkey -k F2 next 
# bind Alt`~= to screen0~12
bindkey "^[`" select 0
bindkey "^[1" select 1
bindkey "^[2" select 2
bindkey "^[3" select 3
bindkey "^[4" select 4
bindkey "^[5" select 5
bindkey "^[6" select 6
bindkey "^[7" select 7
bindkey "^[8" select 8
bindkey "^[9" select 9
bindkey "^[0" select 10
bindkey "^[-" select 11
bindkey "^[=" select 12
# bind F7 to detach screen session (to background)
bindkey -k k7 detach
# bind F8 to kill current screen window
bindkey -k k8 kill
# bind F9 to create a new screen
bindkey -k k9 screen
# bind F10 to rename current screen window
bindkey -k k; title
hardstatus alwayslastline "%{= wk} %{by} %H %{wk} | %-Lw%{kw}◣%{= g}%n%f* %t%{wk}◤%{wk}%+Lw%< %= %{kw}◣%{= R} [%m/%d %c] %{-}"

# remove some stupid / dangerous key bindings
bind s
bind k
bind W
bind ^k
bind .
bind ^\
bind \\
bind ^h
bind h

2018年2月25日 星期日

Freenas 建置NextCloud 12

先使用UI介面加入jail

設定SSH

指令:
vi /etc/ssh/sshd_config

修改內容 :
將前方#符號去除
PermitRootLogin yes
RSAAuthentication yes
PasswordAuthentication yes

指令:
vi /etc/inetd.conf

將前方#符號去除
ssh stream tcp nowait root /usr/sbin/sshd sshd -i -4
ssh stream tcp6 nowait root /usr/sbin/sshd sshd -i -6

設定開機後自動啟動SSH service
指令:
vi /etc/rc.conf

修改內容 :
sshd_enable="YES"

重新產生RSA:
ssh-keygen -A

重開SSH服務
/etc/rc.d/sshd restart


安裝NextCloud

Source = /mnt/Cloud/files
Destination = /mnt/files


Source = /mnt/Cloud/db
Destination = /var/db/mysql 

安裝更新
portsnap fetch extract
pkg install nano wget sudo

安裝PHP7.1
pkg install redis php71-ctype php71-dom php71-gd php71-iconv php71-json php71-mbstring php71-posix php71-simplexml  php71-xmlreader php71-xmlwriter php71-zip php71-zlib php71-pdo_mysql php71-hash php71-xml php71-session php71-mysqli php71-wddx php71-xsl php71-filter php71-curl php71-fileinfo php71-bz2 php71-intl php71-mcrypt php71-openssl php71-ldap php71-ftp php71-imap php71-exif php71-gmp php71-memcache php71-opcache php71-pcntl php71 mod_php71

安裝SQL
pkg install mysql56-client mysql56-server php71-mysqli
sysrc mysql_enable="yes"
service mysql-server start
mysql_secure_installation

建立資料庫
mysql -u root -p

CREATE DATABASE nextcloud;

CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'MAKEUP-YOUR-OWN-PASSWORD';

GRANT ALL ON nextcloud.* TO 'nextcloud'@'localhost';

FLUSH PRIVILEGES;

exit

安裝Apache
pkg install apache24
sysrc apache24_enable=yes
service apache24 start

安裝phpmyadmin
cd /usr/local/www/
fetch https://files.phpmyadmin.net/phpMyAdmin/4.7.8/phpMyAdmin-4.7.8-all-languages.zip
tar xvzf phpMyAdmin-4.7.8-all-languages.zip
mv phpMyAdmin-4.7.8-all-languages phpMyAdmin
cd phpMyAdmin
chown -R www:www .
chmod -R 755 .
cp /usr/local/www/phpMyAdmin/config.sample.inc.php /usr/local/www/phpMyAdmin/config.inc.php

編輯設定
vi /usr/local/etc/apache24/httpd.conf

將前方#符號去除
LoadModule ssl_module     libexec/apache24/mod_ssl.so
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
LoadModule php7_module    libexec/apache24/libphp7.so

於"LoadModule php7_module libexec/apache24/libphp7.so" 此行後下一行新增
<IfModule php7_module>
   <FilesMatch "\.(php|phps|php7|phtml)$">
       SetHandler php7-script
   </FilesMatch>
   DirectoryIndex index.php
</IfModule>

設定phpMyAdmin
Alias /phpmyadmin /usr/local/www/phpMyAdmin
Alias /phpMyAdmin /usr/local/www/phpMyAdmin

<Directory "/usr/local/www/phpMyAdmin">
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

尋找<IFModule mime_module>區段,並且加入下列兩行
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php        .php

vi /usr/local/etc/apache24/modules.d/001_mod_php.conf

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

安裝NextCloud
cd /usr/local/www/
fetch https://download.nextcloud.com/server/releases/nextcloud-13.0.0.zip
tar xvzf nextcloud-13.0.0.zip

修改apache
vi /usr/local/etc/apache24/Includes/nextcloud.xxxx.com.conf

<VirtualHost *:443>
    ServerAdmin nextcloud@nextcloud.xxxx.com
    ServerName nextcloud.xxxx.com
    DirectoryIndex index.php
    DocumentRoot /usr/local/www/nextcloud

    SSLCertificateFile /usr/local/etc/apache24/ssl/nextcloud.xxxx.com.cer
    SSLCertificateKeyFile /usr/local/etc/apache24/ssl/nextcloud.xxxx.com.key
    SSLEngine on
    # Intermediate configuration, tweak to your needs
    SSLProtocol             all -SSLv2 -SSLv3
    SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
    SSLHonorCipherOrder     on
    SSLCompression          off
    SSLOptions +StrictRequire

    <Directory /usr/local/www/nextcloud>
      AllowOverride all
    </Directory>

    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot "/usr/local/www/nextcloud"
  ServerName nextcloud.xxxx.com
     RewriteEngine on
     RewriteCond %{SERVER_NAME} =nextcloud.xxxx.com
     RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
  #ErrorLog ${APACHE_LOG_DIR}/error.log
  #CustomLog ${APACHE_LOG_DIR}/access.log combined

  <Directory /usr/local/www/nextcloud/>
    Options +FollowSymlinks
    AllowOverride All
    <IfModule mod_dav.c>
      Dav off
    </IfModule>
    SetEnv HOME /usr/local/www/nextcloud
    SetEnv HTTP_HOME /usr/local/www/nextcloud
    Satisfy Any
  </Directory>
</VirtualHost>

2014年9月16日 星期二

大男孩的玩具 Arduino

由於假日太無聊,不想繼續看小說度過周休二日.

又不想在假日之中繼續寫公司的程式(絕不公務家辦, 當兵的都知道!)

所以就上網看了很多新玩意,自己腦袋也突然冒出了許多的創意.

再加上看到了DIY 3D印表機的文章,開始深陷其中.

上星期六日不斷的找,不斷地想,腦神經都快衰弱了,

終於在露天下標了Arduino.

一開始想買別人的教學套件,不過是Arduino uno !

考慮到以後可能自己買料來組裝 3D Print .

決定以Arduino Mega 2560 R3 來當作自己第一個Arduino!

網路上常說明新手請以uno做為入門學習的方案,

但是!! 好歹我也是資工出身,現在還不停的寫程式,理所當然地忽略這句話.

下面將拍Arduino Mega 2560 R3和我買的一些套件.

以後將放上我自己的學習過程,以及程式碼.

如果我設定的專題完成後,也將會把我的code和製作過程貼上來大家分享!

(雖然我也想拿去賣錢!)

2014年7月9日 星期三

F-58VU 手持無線電 & 電台執照

隔了一天才PO此篇

考完人員執照後,回家馬上開始瘋狂搜尋各個手持無線電

有了執照沒機器,心癢癢阿~~

我的需求大致如下:

1. 雙頻雙顯(樓上樓下 UHF VHF)

2.防水防塵

3.網路上不能有搜尋到機器的先天不良症狀

2014年7月7日 星期一

業餘無線電執照

我的生存裝備已經差不多了

但近期發現,是不是該加個無線電哩?

上網搜尋相關的資訊,發現普通在餐廳的無線電並不能滿足我的要求

但其他的就需要執照了,為了滿足心中購買慾望,馬上搜尋了相關規定.

2014年7月4日 星期五

DIY靶箱

由於最近入了生存遊戲的坑

首先買了 KJ的M9 全金屬瓦斯槍.

買了這東西當然想要射擊、想要打些什麼.

嘗試過打紙箱...結果是對穿!

在網路上也看了許多自製的、產品化的靶箱.

但都不符合我的需求.

我需要可以當靶箱 又可以收納東西的美觀設計.

為了不被打穿,我想以木箱為基準將是不錯的選擇.

一開始還想自己設計可以摺疊的木箱,後來覺得對自己的木工沒啥信心,

所以只好買現成的

由於製作過程沒有拍照,所以只能直接看成品瞜!