使用docker安裝架設VPN L2TP/IPsec Server

因為docker出現,讓很多安裝架設服務都變的簡單了,以前要安裝VPN總要因為環境版本不同有各種的設定Ubuntu 、 Centos等等。

1.安裝docker

可以參考

centos , ubuntu

https://philipzheng.gitbooks.io/docker_practice/content/install/centos.html

RHEL 8 / CentOS 8

https://linuxconfig.org/how-to-install-docker-in-rhel-8


https://docs.docker.com/install/linux/docker-ce/centos/

安裝好後記得enable 及start docker service

2.下載L2TP/IPsec image

sudo docker pull  fcojean/l2tp-ipsec-vpn-server 

image source from

github :
https://github.com/fcojean/l2tp-ipsec-vpn-server
docker hub :
https://hub.docker.com/r/fcojean/l2tp-ipsec-vpn-server/dockerfile

Read More

使用logrotate分割tomcat catalina.out

每天自動分割catalina.out檔,免得太大變成無法開啟的log檔

sudo nano /etc/logrotate.d/tomcat
#tomcat 可以自己取
/opt/tomcat/logs/catalina.out{
copytruncate
daily
rotate 30
missingok
compress
size 16M
}

設定檔說明:

  • /opt/tomcat/logs/catalina.out log檔位置
  • daily – 每日分割
  • rotate – 最多保留30個文件(30天?)
  • compress – 壓縮文件
  • size – 當catalin.out大於16M時分割文件

手動執行方法

 /usr/sbin/logrotate /etc/logrotate.conf

Centos 7 Apache加Brotli網頁壓縮技術

Brotli跟GZIP一樣是一種網頁的壓縮技術,可以用來壓縮javascript , css ,html 等,減少流量使用並增加率加載速度。

Brotli比GZIP壓縮效率更好,壓縮速度也比較快,十分建議使用。

# 安裝需要的套件,當套件更新,可能需要重新編譯,否則可能無法啟動apache
yum -y install libtool automake httpd-devel
 
# git clone 最後一次 commit,且連同 子模組 一起 clone 回來
git clone --depth=1 --recursive https://github.com/kjdev/apache-mod-brotli.git
cd apache-mod-brotli
./autogen.sh
./configure
make
# 編譯完成
 
# 安裝
install -p -m 755 -D .libs/mod_brotli.so /etc/httpd/modules/mod_brotli.so

編譯好後再來需要設定,需放在<ifModule mod_deflate.c>前面,如此才可優先使用Brotli。

Read More

Mac Windows 使用 openvpn client 連線SQL Server參考資料

預設已經Linux環境安裝了OPENVPN及Microsoft SQL Server

SQL Server可以參考Docker的安裝方式

sudo docker run --name mssql --restart unless-stopped -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Admin12345!' -e 'MSSQL_PID=Developer' -p 127.0.0.1:1433:1433 -p 10.8.0.1:1433:1433    -v /opt/database/:/var/opt/mssql -d 'microsoft/mssql-server-linux:2017-latest'

OPENVPN可以參考這篇如何在Centos 7安裝openVPN

(easy-rsa因為版本不一樣,在設定上可能不太一樣了)

OPENVPN Client

SQL Client

Apache使用多個docker php-fpm

原本centos linux安裝Apache及php5.4(php-fpm),最近一些framework只支援php7.2,想到要昇級或共存就覺得會有一場災難,想說是否可以使用docker php7.2-fpm來直接使用,減少系統的昇級或更換過程的一些問題。

可以直接略過1,2二步奏直接pull build好的images

docker pull catyku/php-fpm7.2

https://hub.docker.com/r/catyku/php-fpm7.2/

1.首先建立自己需要的php-fpm Dockerfile

FROM php:7.2-fpm
MAINTAINER yku "[email protected]"

#  設定時區
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

#  更新系統及增加php外掛mysqli pdo_mysql等
RUN apt-get update && apt-get install -y \
        git \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install -j$(nproc) gd \
        && docker-php-ext-install zip \
        && docker-php-ext-install pdo_mysql \
        && docker-php-ext-install opcache \
        && docker-php-ext-install mysqli \
        && rm -r /var/lib/apt/lists

2.編譯Dockerfile

docker build -t catyku:php-fpm7.2 .

3.然後啟動docker

docker run -d --name php-fpm7.2 -p 127.0.0.1:9001:9000 -v /var/www/:/var/www catyku:php-fpm7.2

因為9000 port已經給原本系統的php5.4-fpm使用了,只好把它調開,並指定www工作資料夾給php7.2-fpm

(建議可以細調php-fpm的設定檔,或是把設定檔也-v出來)

Read More