S小魚仔S 網誌搜尋

顯示具有 CentOS 標籤的文章。 顯示所有文章
顯示具有 CentOS 標籤的文章。 顯示所有文章

2020年1月29日 星期三

S小魚仔S Royal TS + Xming 實現 X11 介面工具

首先「Linux」服務器需要安裝「X 11 Server」工具,客戶端「Royal TS」+「Xming X Server f or Windows」。

1. 安裝「Xming X Server f or Windows」並允許「防火牆」通過




2.「Royal TS」選擇「Plugins」=> Putty 連線工具



選擇「Terminal」=>「based on Putty」為「Default
PS. 「Royal TS」僅支援「Putty」才能配置「X11


Royal TS」選擇「其中一台連線」 =>「Properties

選擇「SSH Settings」 =>「X11」=>「Enable X11 Forwarding

3. 使用 Royal TS 登入「Linux」輸入「gnome-disks」測試

2019年8月29日 星期四

S小魚仔S Centos 7 離線安裝 Python 3

Centos 7 已內建 Python 2.7,經常去客戶現場需要使用 Python 3 但是都無法連網,紀錄完整安裝過程。
PS.記得安裝前檢查「yum list gcc」是/否安裝,因編譯安裝需要仰賴「gcc」。

#=====安裝「Python 3.7.4」(離線安裝)===
tar Jxvf /opt/Python-3.7.4.tar.xz -C /opt
cd /opt/Python-3.7.4
./configure --enable-optimizations --with-ssl=openssl
make && make install

#重新設定「軟連結」指令
mv /usr/bin/python /usr/bin/python_old
ln -s /usr/local/bin/python3 /usr/bin/python

#檢查「Python」版本
python -V

#更新「python 3.x」版本「yum」會無法使用,因「yum」使用「python2」這裡還需要替換「/usr/bin/yum」 與「/usr/libexec/urlgrabber-ext-down

vi /usr/bin/yum

#!/usr/bin/python2.7

vi /usr/libexec/urlgrabber-ext-down

#!/usr/bin/python2.7

#=====安裝「setuotools」(離線安裝)===
tar -xzf /opt/setuptools-30.4.0.tar.gz -C /opt/
cd /opt/setuptools-30.4.0
python2 setup.py build
python2 setup.py install

#=====安裝「pip」(離線安裝)===
tar -xzf /opt/pip-9.0.3.tar.gz -C /opt/
cd /opt/pip-9.0.3
python2 setup.py install

#顯示「setuptools」版本
pip show setuptools

#顯示 「pip」版本
pip -V

2019年5月17日 星期五

S小魚仔S Centos 7 安裝 LXD

LXD」是系統容器管理器。它提供了類似於虛擬機的用戶體驗,但使用的是 Linux 容器,它是基於圖像的,預製作的圖像可用於大量的 Linux 發行版,構建在一個非常強大但非常簡單的 REST API 上,LXD 項目由「Canonical」有限公司創建。

~~~ 前置作業環境準備 ~~~

#修改「主機名」
hostnamectl set-hostname lxd

#關閉「Selinux」為「disabled」
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

#安裝「copr
yum install yum-plugin-copr -y
yum copr enable ngompa/snapcore-el7 -y

#啟用「LXD」容器需要參數調整
grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
grubby --args="namespace.unpriv_enable=1" --update-kernel="$(grubby --default-kernel)"
sh -c 'echo "user.max_user_namespaces=3883" > /etc/sysctl.d/99-userns.conf'

#重開機
reboot -h now

1. 安裝「snap

#安裝「epel-release」源碼
yum install epel-release -y

#安裝「snapd」
yum install snapd -y

#開機「啟用」snapd 服務
systemctl enable --now snapd.socket

#註冊「snapd」
ln -s /var/lib/snapd/snap /snap

#編輯「環境」變量
vi ~/.bash_profile

PATH=$PATH:/snap/bin

#更新「環境」變量
source /etc/profile

#檢查「snap」安裝「版本」
snap version

2. 安裝「LXD

snap install lxd

#檢查「snap」安裝「套件」
snap list

#設定「lxd」初始化配置
lxd init --auto

預設 會啟用「lxdbr0」NAT 虛擬網路並派發「DHCP 」


#關閉「lxd」ipv6
lxc network set lxdbr0 ipv6.address none


#查詢「lxd」lxdbr0 網段 (NAT)
lxc network get lxdbr0 ipv4.address

我習慣 額外配置「LXD」Bridge「Host」網卡,好讓外部「環境」存取

#安裝「Bridge」工具
yum install bridge-utils -y

#關閉「NetworkManager」因不支持「Bridge」
chkconfig NetworkManager off
chkconfig network on
service NetworkManager stop
service network start

#建立「virbr1」虛擬網卡 ( Bridge ) Mode,取代原本「實體網卡」IP 位址
vi /etc/sysconfig/network-scripts/ifcfg-virbr1

DEVICE="virbr1"

BOOTPROTO="static"
IPADDR="192.168.8.201"
NETMASK="255.255.255.0"
GATEWAY="192.168.8.254"
DNS1=114.114.114.114
ONBOOT="yes"
TYPE="Bridge"
NM_CONTROLLED="no"




#編輯「ens33」實體網卡=>橋接「virbr1
vi /etc/sysconfig/network-scripts/ifcfg-ens33

DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=virbr1

#重啟「網路」服務
service network restart

#輸入「ifconfig」確認配置


#確認「LXD」支持「Network」

lxc network list

#建立「LXD」Network Profile
lxc profile create virbr1_profile

#編輯「virbe1_profile」 (注意縮排)
lxc profile edit virbr1_profile


config: {}
description: ""
devices:
    eth0:
       name: eth0
       nictype: bridged
       parent: virbr1
       type: nic
name: virbr1_profile
used_by:


#建立「LXD」容器 並套用「Network Profile」

lxc launch -p default -p virbr1_profile ubuntu:xenial ct01

# 檢查「LXD」容器 獲取「IP」位址

lxc list



~~~ 「LXD」相關指令 ~~

#檢查「容器」
lxc list

#檢查「lxd」設定檔
lxc profile list

#檢查「lxd」網路連接方式
lxc network list

#檢查「容器」存放「位置」
lxc storage list

#查詢「鏡像」過濾「centos」
lxc image list images: | grep -i centos 

#查詢「鏡像」過濾「ubuntu」
lxc image list images: | grep -u ubuntu

#檢查「遠程」映像
sudo lxc remote list

#檢查「本地」映像
lxc image list

參考資料
www.linuxprobe.com」-「LXD 和 Juju 佈署應用

2019年1月17日 星期四

S小魚仔S 搭建本地 iso yum 來源庫 安裝 gcc

常常因出差到機房,遇到無法連上「internet」導致「yum」更新包無法下載,這時候可以透過修改「yum」源改為「local」來解決一些package安裝,並不是所有package都可以這樣解決。

#====在「/mnt」底下建立「CentOS7_ISO」資料夾


mkdir -pv /mnt/CentOS7_ISO

#複製「ISO」至「桌面」並「掛載

#檢查「Centos_7_iso」掛載「位置
df -h

#進入「掛載」ISO 位置
cd "/run/media/root/CentOS 7 x86_64"


#複製「ISO」到「/mnt/CentOS7_ISO/
cp -R * /mnt/CentOS7_ISO/


#====修改 Yum 來源 repo 文件配置

#進入「yum.repos.d」資料夾
cd /etc/yum.repos.d/

#建立「old」資料夾
mkdir old

#移動「*.repo」到「old」資料夾
mv *.repo old



#====編輯 repo 配置文件

vi /etc/yum.repos.d/local.repo 

[local-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/CentOS7_ISO/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#清空 yum 緩存目錄
yum clean all

#生成 yum 源數據
yum makecache

#查看本機 yum repo 來源庫
yum repolist

# 安裝「gcc」Package 
yum install gcc -y

安裝成功!

2018年9月18日 星期二

S小魚仔S Centos 7 搭建 WebLogic 12c

因為公司需求搭建「WebLogic 12c」,這邊需要注意「WebLogic」對於「Java JDK」有版本限制 ( jdk-8u181-linux-x64.tar.gz ) 或 ( jdk-7u75-linux-x64.tar.gz )。

#檢查「Java」版本 (1.8.0_171)
java -version

#查看「Java」rpm 安裝包
rpm -qa | grep java

#卸載「Java」( rpm -e --nodeps ) 移除  java rpm
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.171-8.b10.el7_5.x86_64
rpm -e --nodeps java-1.8.0-openjdk-devel-debug-1.8.0.171-8.b10.el7_5.x86_64
rpm -e --nodeps java-1.8.0-openjdk-javadoc-zip-1.8.0.171-8.b10.el7_5.noarch
rpm -e --nodeps java-1.8.0-openjdk-debug-1.8.0.171-8.b10.el7_5.x86_64
rpm -e --nodeps java-1.8.0-openjdk-javadoc-debug-1.8.0.171-8.b10.el7_5.noarch
rpm -e --nodeps java-1.8.0-openjdk-src-debug-1.8.0.171-8.b10.el7_5.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64
rpm -e --nodeps java-1.8.0-openjdk-accessibility-debug-1.8.0.171-8.b10.el7_5.x86_64
rpm -e --nodeps java-1.8.0-openjdk-devel-1.8.0.171-8.b10.el7_5.x86_64
rpm -e --nodeps java-1.8.0-openjdk-src-1.8.0.171-8.b10.el7_5.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-debug-1.8.0.171-8.b10.el7_5.x86_64
rpm -e --nodeps java-1.8.0-openjdk-accessibility-1.8.0.171-8.b10.el7_5.x86_64
rpm -e --nodeps java-1.8.0-openjdk-demo-1.8.0.171-8.b10.el7_5.x86_64
rpm -e --nodeps java-1.8.0-openjdk-javadoc-1.8.0.171-8.b10.el7_5.noarch
rpm -e --nodeps java-atk-wrapper-0.30.4-5.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-javadoc-zip-debug-1.8.0.171-8.b10.el7_5.noarch
rpm -e --nodeps java-1.8.0-openjdk-demo-debug-1.8.0.171-8.b10.el7_5.x86_64

#檢查「確認」清除乾淨
rpm -qa | grep java


#====離線安裝 JAVA JDK ( 1.8.0_181 )====

#解壓縮「jdk-8u181-linux-x64.tar.gz」版本
tar xzf jdk-8u181-linux-x64.tar.gz -C /opt

#進入「安裝」目錄
cd /opt/jdk1.8.0_181/

#進行「JDK」安裝,選擇「2」安裝「1.8.0.181」版本
alternatives --install /usr/bin/java java /opt/jdk1.8.0_181/bin/java 2

#進行「jdk」註冊
alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_181/bin/jar 2
alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_181/bin/javac 2
alternatives --set jar /opt/jdk1.8.0_181/bin/jar
alternatives --set javac /opt/jdk1.8.0_181/bin/javac

#確認「安裝」版本 ( 1.8.0_181 )
java -version


#=====「Weblogic」進行佈署 ( Setup 1 )===
PS. 採用「silent install」( 静默安装),需要「wls.rsp」、「oraInst.loc」描述文件。

#建立「weblogic」組 並 創建 「weblogic」帳號
groupadd weblogic
useradd weblogic -g weblogic

#配置「密碼
echo "password" | passwd --stdin weblogic


#賦予「weblogic」帳號,執行權限「fmw_12.2.1.3.0_wls.jar
chown weblogic:weblogic /opt/weblogic_12c/fmw_12.2.1.3.0_wls.jar

建立「wls.rps」文件

[ENGINE]
#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0
[GENERIC]
#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/bea
#Set this variable value to the Installation Type selected. e.g. WebLogic Server, Coherence, Complete with Examples.
INSTALL_TYPE=WebLogic Server
#Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user name. 
MYORACLESUPPORT_USERNAME=
#Provide the My Oracle Support Password 
MYORACLESUPPORT_PASSWORD=<SECURE VALUE>
DECLINE_SECURITY_UPDATES=true
#Set this to true if My Oracle Support Password is specified SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
#Provide the Proxy Host
PROXY_HOST=
#Provide the Proxy Port
PROXY_PORT=
#Provide the Proxy Username
PROXY_USER=
#Provide the Proxy Password
PROXY_PWD=<SECURE VALUE>
COLLECTOR_SUPPORTHUB_URL=


建立「oraInst.loc」文件

inventory_loc=/home/weblogic/oraInventory
#帳戶群組名稱,根據實際環境修改
inst_group=weblogic



#創建「bea」資料夾 (安裝目錄),配合「wls.rsp」參數 ( ORACLE_HOME=/bea )

mkdir /bea

#賦予「weblogic」帳號,執行權限
chown weblogic:weblogic /bea

#使用「静默安装」模式,需要兩個 ( wls.rsp )、 ( oraInst.loc ) 文件 並切換「帳號

su weblogic

java -jar /opt/weblogic_12c/fmw_12.2.1.3.0_wls.jar -silent -responseFile /opt/weblogic_12c/wls.rsp -invPtrLoc /opt/weblogic_12c/oraInst.loc


此步驟會依序檢查「系統環境」若有問題需進行「排錯

到這邊佈署完成 100%

#====「Weblogic」環境設定並啟動域 ( Setup 2 )===

#導入「安裝位置」環境變量
export MW_HOME="/bea"
export WL_HOME="/bea/oracle_common"

#進入「Weblogic」bin 檔
cd /bea/oracle_common/common/bin/

#更新環境變數
./commEnv.sh

#進入「WeblogicWLST Console
./wlst.sh


wls:/offline>readTemplate('/bea/wlserver/common/templates/wls/wls.jar') 
wls:/offline/base_domain>cd('Servers/AdminServer') 
wls:/offline/base_domain/Server/AdminServer>set('ListenAddress','') 
#開啟監聽端口「TCP - 7001
wls:/offline/base_domain/Server/AdminServer>set('ListenPort',7001) 
wls:/offline/base_domain/Server/AdminServer>cd('../..') 
#設定「Web Ui」帳戶
wls:/offline/base_domain>cd('Security/base_domain/User/weblogic') 
#設定「Web Ui」密碼
wls:/offline/base_domain/Security/base_domain/User/weblogic>cmo.setPassword('weblogic123') 
wls:/offline/base_domain/Security/base_domain/User/weblogic>setOption('OverwriteDomain','true') 
#創建「」( servyou_domain )
wls:/offline/base_domain/Security/base_domain/User/weblogic>writeDomain('/bea/user_projects/domains/servyou_domain')

closeTemplate()

exit()

#啟動「Weblogic
PS. 請確認「關閉」( Selinux ) 並 開啟 監聽端口 防火牆 ( TCP - 7001 )

cd /bea/user_projects/domains/servyou_domain

./startWebLogic.sh

#登入「Weblogic」Web UI
http://IP:7001/console


輸入 ( WLST Console ) 設定的帳號」、「密碼

完成「WebLogic Server 12c」佈署。

2018年7月25日 星期三

S小魚仔S Centos 7 搭建 Ansible awx 套件 提供 UI 介面操作

Ansible Awx (免費) 提供可視化操作介面,開始進行佈署「Ansible Awx」。

#==修改「電腦」名稱 ( SVN )====
hostnamectl set-hostname ansible_awx

#==關閉「selinux 」======
#關閉「Selinux」為「disabled」才不會阻擋「服務連線」服務
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

#==設定 Firewall========

#加入「防火牆」規則 Web UI
sudo firewall-cmd --add-port=80/tcp --permanent

#重新啟動「防火牆」
sudo firewall-cmd --reload


#==更新「Yum」源
yum install -y epel-release

#安裝「postgresq.rpm」更新「yum」源
yum install -y https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

#安裝「postgresql」
yum install postgresql96-server -y

#安裝「rabbitmq-server」、「wget」、「memcached」、「nginx」、「ansible」
yum install -y rabbitmq-server wget memcached nginx ansible

#下載「mrmeee-awx-epel-7.repo」套件
wget -O /etc/yum.repos.d/awx-rpm.repo https://copr.fedorainfracloud.org/coprs/mrmeee/awx/repo/epel-7/mrmeee-awx-epel-7.repo

#安裝「awx」
yum install -y awx

#初始化「postgresql」資料庫
/usr/pgsql-9.6/bin/postgresql96-setup initdb

#启动rabbitmq服务
systemctl enable rabbitmq-server
systemctl start rabbitmq-server

#启动Mpostgresql服务
systemctl enable postgresql-9.6
systemctl start postgresql-9.6

#启动Memcached服务
systemctl enable memcached
systemctl start memcached

#创建Postgres用户
sudo -u postgres createuser -S awx

#创建Postgres 数据库
sudo -u postgres createdb -O awx awx

#将数据导入数据库
sudo -u awx /opt/awx/bin/awx-manage migrate

#===初始化 Ansible AWX ====
echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'root@localhost', 'password')" | sudo -u awx /opt/awx/bin/awx-manage shell

sudo -u awx /opt/awx/bin/awx-manage create_preload_data

sudo -u awx /opt/awx/bin/awx-manage provision_instance --hostname=$(hostname)

sudo -u awx /opt/awx/bin/awx-manage register_queue --queuename=tower --hostnames=$(hostname)


#===配置Nginx===

#備份來源「nginx.conf」
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bkp

#替换nginx conf文件
wget -O /etc/nginx/nginx.conf https://raw.githubusercontent.com/sunilsankar/awx-build/master/nginx.conf

#啟動「Nginx」
systemctl start nginx
systemctl enable nginx


#==========啟動「Awx」相關「程序」
systemctl start awx-cbreceiver
systemctl start awx-celery-beat
systemctl start awx-celery-worker
systemctl start awx-channels-worker
systemctl start awx-daphne
systemctl start awx-web

#=========開機自動啟動「Awx」相關「程序」
systemctl enable awx-cbreceiver
systemctl enable awx-celery-beat
systemctl enable awx-celery-worker
systemctl enable awx-channels-worker
systemctl enable awx-daphne
systemctl enable awx-web

#====需要「Reboot」重開機====
reboot -h now


接下來輸入「http://ip」 ( User: admin Password: password )


Ansible Awx 安裝完成


#===Ansible AWX 有 Bug 必須使用以下指令修復 ( 2019/09/25 ) 更新 ===
PS. 如果不修復任務會一直處於「pending」狀態 

sudo -u awx scl enable rh-python36 rh-postgresql10 "awx-manage create_preload_data"
sudo -u awx scl enable rh-python36 rh-postgresql10 "awx-manage provision_instance --hostname=$(hostname)"
sudo -u awx scl enable rh-python36 rh-postgresql10 "awx-manage register_queue --queuename=tower --hostnames=$(hostname)"
  
systemctl restart awx-cbreceiver
systemctl restart awx-dispatcher
systemctl restart awx-channels-worker
systemctl restart awx-daphne
systemctl restart awx-web

參考資料