2018年4月11日 星期三

linux 下解決 chrome 不正常關閉後再開啟時是否還原的提問

本來是用無痕模式避開這個問題,後來因為程式中有用到 localstorage,導致無法用無痕模式了....

因為找不到官廖的方法,所以這次改用 shell script 來解決,先找出 chrome 的 pid,然後 kill 掉就好了,語法如下,不知道有沒有更好的寫法....

vim kill-chrome.sh
#!/bin/bash

# for Raspbian
# pids=`pidof /usr/lib/chromium-browser/chromium-browser`
pids=`pidof chrome`

for pid in $pids
do
  echo $pid > /dev/null
done

kill $pid


pidof 會找出所有的 pid,由大到小列出之間有空格,所以 for in 會將之一個一個取出,for 執行完後最後的 pid 才是最初的 pid,將之 kill 即可



2018年4月7日 星期六

caddy(with https) + php-fpm +xoops輕鬆架 on CentOS7


最小安裝

固定 ip v4 & v6

設定 hostname

=============================

安裝完成後.....

設定 /etc/ssh/sshd_config
PermitRootLogin no              #是否允許root登入
PubkeyAuthentication yes #是否允許Public key
GSSAPIAuthentication no #不用使用Kerberos認證
UseDNS no                 #是否使用dns反查

可視需要改 port (假設改 2266)
selinux 修改
semanage port -a -t ssh_port_t -p tcp 2266
防火牆也要改
firewall-cmd --add-port=2266/tcp --permanent
firewall-cmd --reload


sudo systemctl reload sshd

=============================

設定以公私鑰登入(登入時不須輸入密碼)
ssh-keygen
基本上都按 enter 就好
預設金鑰會在 ~/.ssh 目錄下,id_rsa 為私鑰,id_rsa.pub 為公鑰

ssh-copy-id mis@192.168.1.100
將預設公鑰 id_rsa.pub 上傳至 192.168.1.100 的帳號 mis 家目錄下 
~/.ssh/authorized_keys

=============================

安裝 selinux 相關工具
[Centos7] 安裝 semanage (selinux工具程式) @新精讚
yum install policycoreutils-python
鳥哥的 Linux 私房菜 -- 第十六章、程序管理與 SELinux 初探
yum install setools-console

=============================

安裝 caddy
sudo yum update
sudo yum install epel-release
sudo yum install caddy
防火牆設定
firewall-cmd --add-service=http --add-service=https --permanent
firewall-cmd --reload

查看目前 runtime 規則(public 為預設 zone,以下指定列出 public zone)
firewall-cmd --zone=public --list-all
查看目前 永久 規則

啟動 caddy
sudo systemctl start caddy
查看狀態
sudo systemctl status caddy


設定 caddy
設定檔 /etc/caddy/caddy.conf


設定開機啟動 caddy
sudo systemctl enable caddy

=============================

安裝資料庫 mariadb
sudo -s
yum group install mariadb mariadb-client
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation

設定預設 utf8
CentOS7安装MariaDB以及编码注意事项 - CSDN博客

修改前後可以觀察:
mysql -uroot -p
show variables like '%character%';
show variables like '%collation%';

vim /etc/my.cnf
在[mysqld]标签下添加下面内容
collation-server = utf8_general_ci
character-set-server = utf8

vim /etc/my.cnf.d/client.cnf
在[client]标签下添加下面内容
default-character-set=utf8

vim /etc/my.cnf.d/mysql-clients.cnf
在[mysql]标签下添加下面内容
default-character-set=utf8


systemctl restart mariadb


=============================



安裝 php-fpm
Getting Started - IUS
[Centos7] 安裝apache+php7+mariadb10+selinux @新精讚
RHEL / CentOS 7 安裝 PHP 7.0 及 7.1 – Linux 技術手札

yum install https://centos7.iuscommunity.org/ius-release.rpm

yum install php70u-fpm php70u-cli php70u-gd php70u-intl php70u-json php70u-mbstring php70u-mcrypt php70u-mysqlnd php70u-pdo php70u-soap php70u-xml

vim /etc/php.ini
timezone = Asia/Taipei

systemctl start php-fpm
systemctl enable php-fpm


=============================


設定 caddy 支援 php
caddy log 檔設定
cp /etc/caddy/caddy.conf /etc/caddy/caddy.conf.bak
vim /etc/caddy/caddy.conf

:80 {
    gzip
    root /var/www/html
    fastcgi / 127.0.0.1:9000 php {
        index index.php
    }
    log /var/log/caddy/access.log
    errors /var/log/caddy/error.log
    header / -server
}

import conf.d/*.conf


mkdir /var/log/caddy
chown caddy.caddy /var/log/caddy

systemctl restart caddy
systemctl status caddy


=============================

安裝 xoops 輕鬆架
selinux 設定:讀取、寫入


wget http://120.115.2.90/uploads/my_xoops.zip
unzip my_xoops.zip -d /var/www/html
chown php-fpm.user -Rf /var/www/html
cd /var/www/html
chmod 777 -R uploads
chmod 777 -R xoops_data
chcon -R -t httpd_sys_rw_content_t xoops_data modules
mv xoops_* ../


瀏覽 http://ip/modules/tad_adm/pma.php
以 root 登入,建立資料庫與資料庫帳號

瀏覽 http://ip 進行安裝

=============================

啟用 https
vim /etc/caddy/caddy.conf

centos.yljh.ntpc.edu.tw {
    gzip
    root /var/www/html
    fastcgi / 127.0.0.1:9000 php {
        index index.php
    }
    log /var/log/caddy/access.log
    errors /var/log/caddy/error.log
    tls mis@yljh.ntpc.edu.tw
}

:80 {
    redir https://centos.yljh.ntpc.edu.tw{uri}
}

import conf.d/*.conf


systemctl restart caddy
systemctl status caddy



=============================

設定 caddy log rotate
CentOS 7下使用Logrotate管理日志 - 简书
鳥哥的 Linux 私房菜 -- 第十八章、認識與分析登錄檔
http.log - Caddy User Guide

預設:
rotate_size 100 # Rotate a log when it reaches 100 MB
rotate_age  14  # Keep rotated log files for 14 days
rotate_keep 10  # Keep at most 10 rotated log files
rotate_compress # Compress rotated log files in gzip format