自行complie mod_jk

apache mod_jk本身並沒有提供binary版本,所以需要自行make及install,最近版本是JK 1.2.46

首先先下載source,選擇linux可用的版本tar.gz

cd /tmp
wget http://ftp.tc.edu.tw/pub/Apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.tar.gz
tar -zxvf tomcat-connectors-1.2.46-src.tar.gz

安裝編譯必需lib

sudo yum -y install gcc automake autoconf libtool make
sudo yum -y install httpd-devel
sudo yum -y install redhat-rpm-config

編譯及安裝

cd /tmp/tomcat-connectors-1.2.46-src/native
./configure --with-apxs=/usr/bin/apxs
sudo make
sudo make install

可以在/etc/httpd/modules看到剛才編譯好的mod_jk.so

Apache常用指令

一些apache在linux上常用到的指令整理

ubuntu 使用apache2ctl或apachectl

centos 使用httpd

查詢apache(httpd)版本

httpd -V

查看所用模組

httpd -M

查看所有VirtuslHost網址及設定所在位置

httpd -S

利用raspberrypi安裝EINVTurnkey會遇到的問題排除

在Raspberry pi 安裝Linux版的 EINVTurnkey電子發票整合服務平台時會遇幾個問題

*不支援64bit SWT library

Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 64-bit SWT libraries on 32-bit JVM
	at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
	at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
	at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
	at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
	at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
	at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
	at com.tradevan.gateway.client.view.EnvironmentSetting.main(EnvironmentSetting.java:125)

這部份基本上沒解決,所以改跑 32元位版本來解決這個問題

*在32bit時找不到SWT library位置

Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
	no swt-gtk-3738 in java.library.path
	no swt-gtk in java.library.path
	/home/pi/.swt/lib/linux/arm/libswt-gtk-3738.so: /home/pi/.swt/lib/linux/arm/libswt-gtk-3738.so: 無法開啟共用目的檔: 沒有此一檔案或目錄 (Possible cause: can't load IA 32-bit .so on a ARM-bit platform)
	Can't load library: /home/pi/.swt/lib/linux/arm/libswt-gtk.so

	at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
	at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
	at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
	at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
	at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
	at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
	at com.tradevan.gateway.client.view.EnvironmentSetting.main(EnvironmentSetting.java:125)
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以上,想到要昇級或共存就覺得會有一場災難,想說是否可以使用docker php7.4-fpm來直接使用,減少系統的昇級或更換過程的一些問題。

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

docker pull catyku/php-fpm7.4

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

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

FROM php:7.4-fpm
MAINTAINER yku "[email protected]"
#  設定時區
ENV TZ=Asia/Tapiei
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 apt-utils libzip-dev \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
    && docker-php-ext-configure gd --with-jpeg=/usr/include/ --with-freetype=/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.4 .

3.然後啟動docker

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

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

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

Read More