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>