建立maven及docker private repositories

使用docker images sonatype/nexus3來快速建立環境,nexus3是opensource,可自行編譯使用。不過有部份外掛套件是需要付費使用的,像是Azure Blob Storage,此時可以選擇付費使用Nexus3 pro版本。

建立docker-compose.yml (記得建立一個nexus-data目錄來存放blob資料)

version: "3.5"

services:
  mariadb:
    container_name: nexus3
    image: sonatype/nexus3
    environment:
      TZ: Asia/Taipei
    ports:
      - "127.0.0.1:8081:8081"
    volumes:
      - ./nexus-data:/nexus-data
    restart: unless-stopped
    logging:
      options:
        max-size: 512M
#    deploy:
#      resources:
#        limits:
          #cpus: '0.50'
#          memory: 1024M

啟動docker

sudo docker-compose up -d 

設定virtualhost來對應Nexus3服務

<VirtualHost *:80> 
        ServerName nexus3.yourdomain 
        ProxyRequests off 
        ProxyPreserveHost On 
        ProxyPass "/" "http://127.0.0.1:8081/" 
        ProxyPassReverse "/" "http://127.0.0.1:8081/" 
</VirtualHost> 

取得admin預設密碼,來登入設定

nano nexus-data/admin.password

新增repository

選擇新增一個maven host及docker host

Read More

如何在 Rocky Linux 8 上安裝 Docker 和 Docker-Compose

眾所周知,Docker容器是IT世界中技術需求量很大。在 Docker Container協助下,開發人員和基礎設施管理員可以打包他們的應用程式及其依賴項目,並可以在一個computer將其deploy,換到另一個computer中一樣可行。

以下將介紹如何逐步在Rocky Linux 8(AlamLinux)上安裝Docker和Docker Compose。

Step 1 安裝所需套件及repository

 sudo yum install -y yum-utils
 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

Step 2 安裝docker 及docker compose

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Step 3 啟動docker

sudo systemctl start docker

Step 4 測試一下

sudo docker run hello-world

設定啟動Linux自動啟動

sudo systemctl enable docker

使用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主機幾個建議

安裝fail2ban

sudo yum install epel-release
sudo yum install fail2ban

編輯設定

sudo nano /etc/fail2ban/jail.local
[sshd]
enabled = true
filter  = sshd
port    = 22
action = %(action_mwl)s
logpath = /var/log/secure
banaction = firewallcmd-ipset

啟動及查看狀態

sudo systemctl start fail2ban
sudo systemctl enable fail2ban
sudo fail2ban-client status
sudo fail2ban-client status sshd

可參考

Read More