2017年8月11日金曜日

AndroidStudio APIレベルの変更。

ファイル→プロジェクト構造→app→flavor→最小SDKバージョン

CentOS7 AVD作れない。

~/.AndroidStudio2.3/system/log/idea.logにエラー

Failed to create sdcard in the AVD folder.

tools/mksdcardを動かしてみると、
./mksdcard: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません。

# yum install ld-linux.so.2 libgcc_s.so.1

で解決。

CentOS7にAndroid studioをインストール & 日本語化

更新 2018.07.31

1)ここから、/usr/local/opt/downloadにダウンロード
安定版 3.1.3
https://developer.android.com/studio/?hl=ja
プレビュー版 3.2 BETA5
https://developer.android.com/studio/preview/
Pleiades プラグイン 2018.07.20更新版
http://mergedoc.osdn.jp/#pleiades.html


2)/usr/local/opt/に展開し、共存の為,名前変更。
# pwd
/usr/local/opt
# ls -l
合計 0
drwxrwxr-x. 8 root root 166 7月 25 21:37 android-studio-preview-181.4913314
drwxrwxr-x. 8 root root 166 6月 4 14:39 android-studio-stable-3.1.3
drwxr-xr-x. 2 root root 122 7月 31 10:44 download
drwxr-xr-x. 5 root root 108 7月 31 10:30 pleiades
#

3) Pliadesを展開
# mkdir /usr/local/opt/pleiades
# cd /usr/local/opt/pleiades
# unzip ..//download/pleiades.zip

# vi bin/sutdio64.vmoptions
-Xmx2560m (-Xmx1280M から拡張)
#for Pleiades
-Xverify:none
-javaagent:/usr/local/opt/pleiades/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

4) 起動ファイルの作成
# vi /usr/local/bin/android-studio
/usr/local/opt/androis-studio-stable-3.1.3/bin/studio.sh
# chmod a+x /usr/local/bin/android-studio

5)ファイル→設定→プラグイン→リポジトリの参照→ideaVimをインストール

6) Ndkインストール
 ・appを右クリック
 ・「Open Module Setting」→「SDK Location」
 ・Android NDK location 
 ・Download
 ・「/home/takahab/Android/Sdk/ndk-bungle」にインストールされる。


【以前の記事】
1)ここからAndroid Studio 2.3.3をダウンロード
   https://developer.android.com/studio/index.html
2)~/Tool/に展開
3)ここからPleiades プラグイン最新版をダウンロード(2017.07.27 版)
   http://mergedoc.osdn.jp/
4)~/Tool/に展開
5)~Tool/android-studio/bin/studio64.vmoptionsを編集/追記
 -Xmx2560m                          (-Xmx1280M から拡張)
 # for Pleiades
-Xverify:none
-javaagent:/home/takahab/Tool/pleiades/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

6)ファイル→設定→プラグイン→リポジトリの参照→ideaVimをインストール

2017年8月10日木曜日

CentOS7 シングルユーザモードで起動。

1)GRUB で eキーを押下。
2) ro  → rw init=/sysroot/bin/sh に変更。
3)cntl+xで抜ける。
3)# chroot /sysroot

CentOS7 GUIログインからCUIログインに設定

# systemctl list-unit-files
gdm.service                                                        enabled

を確認。


# systemctl disable gdm.service


ログイン画面が出てこない場合、
Cntl+Alt+F1,F2,・・・
で実行レベルにあったログインが起動されるよう。

CentOS7 home ディスク交換

UUIDを調べる。
# blkid
/dev/sdb1: LABEL="Expand-disk" UUID="6cfeaa57-4eae-40e9-95ff-cb64c3ddfeac" TYPE="ext4" PARTUUID="a9020353-68a1-43ad-958a-79a71612cf10"
/dev/sda1: SEC_TYPE="msdos" UUID="BAB1-8EC7" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="ea358ff4-1fe4-49fe-b5dd-a5b4d2c98058"
/dev/sda2: LABEL="CentOS7" UUID="23bbd7a8-a7b7-4653-9ffc-51364bcdade2" TYPE="xfs" PARTUUID="7255c1bd-a1e3-4a29-9253-59d58e418db8"
/dev/sda3: UUID="id1vkH-WKAo-4osF-WLNV-rTdQ-cAYG-lVpb1x" TYPE="LVM2_member" PARTUUID="c7eac12c-4085-42a9-a175-cdb23023a61c"
/dev/mapper/cl00-root: UUID="e03a3cde-4b39-4c60-a3e9-378f5bee4a09" TYPE="xfs"
/dev/sdc: LABEL="HOME Disk" UUID="1fc0744f-c41c-476f-b261-97f3374140ab" TYPE="ext4"
/dev/mapper/cl00-swap: UUID="3ff82b2f-8d91-4d35-b648-56099c67379d" TYPE="swap"
/dev/mapper/cl00-home: UUID="90cdee49-cb0b-44f9-9231-1e7b78276d22" TYPE="xfs"

vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Feb 13 13:52:59 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl00-root   /                       xfs     defaults        0 0
UUID=23bbd7a8-a7b7-4653-9ffc-51364bcdade2 /boot                   xfs     defaults        0 0
UUID=BAB1-8EC7          /boot/efi               vfat    umask=0077,shortname=winnt 0 0
#/dev/mapper/cl00-home   /home                   xfs     defaults        0 0
UUID=1fc0744f-c41c-476f-b261-97f3374140ab /home ext4    defaults        0 0    
/dev/mapper/cl00-swap   swap                    swap    defaults        0 0

2017年7月19日水曜日

Android AVD ネットワークに接続できない。

自分の環境のプロキシを設定したら繋がった。

「設定」→「無線とネットワーク」→「モバイルネットワーク」→「アクセスポイント名」→「Telkila」
プロキシ 142.1.5.15
ポート  3128

# getprop
[ro.secure]: [0]
[ro.allow.mock.location]: [1]
[ro.debuggable]: [1]
[persist.service.adb.enable]: [1]
[ro.kernel.qemu]: [1]
[ro.kernel.androidboot.hardware]: [ranchu]
[ro.kernel.clocksource]: [pit]
[ro.kernel.android.qemud]: [1]
[ro.kernel.console]: [0]
[ro.kernel.android.checkjni]: [1]
[ro.kernel.qemu.gles]: [0]
[ro.kernel.qemu.opengles.version]: [131072]
[ro.kernel.cma]: [8M]
[ro.factorytest]: [0]
[ro.serialno]: []
[ro.bootmode]: [unknown]
[ro.baseband]: [unknown]
[ro.carrier]: [unknown]
[ro.bootloader]: [unknown]
[ro.hardware]: [ranchu]
[ro.revision]: [0]
[ro.build.id]: [GINGERBREAD]
[ro.build.display.id]: [google_sdk_x86-eng 2.3.7 GINGERBREAD 3093079 test-keys]
[ro.build.version.incremental]: [3093079]
[ro.build.version.sdk]: [10]
[ro.build.version.codename]: [REL]
[ro.build.version.release]: [2.3.7]
[ro.build.date]: [Tue Jul 26 02:08:20 UTC 2016]
[ro.build.date.utc]: [1469498900]
[ro.build.type]: [eng]
[ro.build.user]: [android-build]
[ro.build.host]: [vpbs4.mtv.corp.google.com]
[ro.build.tags]: [test-keys]
[ro.product.model]: [Android SDK built for x86]
[ro.product.brand]: [generic_x86]
[ro.product.name]: [google_sdk_x86]
[ro.product.device]: [generic_x86]
[ro.product.board]: []
[ro.product.cpu.abi]: [x86]
[ro.product.manufacturer]: [unknown]
[ro.product.locale.language]: [en]
[ro.product.locale.region]: [US]
[ro.wifi.channels]: []
[ro.board.platform]: []
[ro.build.product]: [generic_x86]
[ro.build.description]: [google_sdk_x86-eng 2.3.7 GINGERBREAD 3093079 test-keys]
[ro.build.fingerprint]: [generic_x86/google_sdk_x86/generic_x86:2.3.7/GINGERBREAD/3093079:eng/test-keys]
[rild.libpath]: [/system/lib/libreference-ril.so]
[rild.libargs]: [-d /dev/ttyS0]
[ro.config.notification_sound]: [OnTheHunt.ogg]
[ro.config.alarm_alert]: [Alarm_Classic.ogg]
[ro.setupwizard.mode]: [OPTIONAL]
[xmpp.auto-presence]: [true]
[ro.config.nocheckin]: [yes]
[net.bt.name]: [Android]
[net.change]: [net.dnschange]
[dalvik.vm.stack-trace-file]: [/data/anr/traces.txt]
[persist.sys.timezone]: [Asia/Tokyo]
[persist.sys.language]: [ja]
[persist.sys.country]: [JP]
[persist.sys.localevar]: []
[ro.FOREGROUND_APP_ADJ]: [0]
[ro.VISIBLE_APP_ADJ]: [1]
[ro.PERCEPTIBLE_APP_ADJ]: [2]
[ro.HEAVY_WEIGHT_APP_ADJ]: [3]
[ro.SECONDARY_SERVER_ADJ]: [4]
[ro.BACKUP_APP_ADJ]: [5]
[ro.HOME_APP_ADJ]: [6]
[ro.HIDDEN_APP_MIN_ADJ]: [7]
[ro.EMPTY_APP_ADJ]: [15]
[ro.FOREGROUND_APP_MEM]: [2048]
[ro.VISIBLE_APP_MEM]: [3072]
[ro.PERCEPTIBLE_APP_MEM]: [4096]
[ro.HEAVY_WEIGHT_APP_MEM]: [4096]
[ro.SECONDARY_SERVER_MEM]: [6144]
[ro.BACKUP_APP_MEM]: [6144]
[ro.HOME_APP_MEM]: [6144]
[ro.HIDDEN_APP_MEM]: [7168]
[ro.EMPTY_APP_MEM]: [8192]
[net.tcp.buffersize.default]: [4096,87380,110208,4096,16384,110208]
[net.tcp.buffersize.wifi]: [4095,87380,110208,4096,16384,110208]
[net.tcp.buffersize.umts]: [4094,87380,110208,4096,16384,110208]
[net.tcp.buffersize.edge]: [4093,26280,35040,4096,16384,35040]
[net.tcp.buffersize.gprs]: [4092,8760,11680,4096,8760,11680]
[init.svc.servicemanager]: [running]
[init.svc.vold]: [running]
[init.svc.netd]: [running]
[init.svc.debuggerd]: [running]
[init.svc.ril-daemon]: [running]
[init.svc.zygote]: [running]
[init.svc.media]: [running]
[init.svc.dbus]: [running]
[init.svc.installd]: [running]
[init.svc.keystore]: [running]
[init.svc.goldfish-setup]: [stopped]
[init.svc.qemud]: [stopped]
[init.svc.goldfish-logcat]: [stopped]
[ARGH]: [ARGH]
[net.eth0.gw]: [10.0.2.2]
[net.eth0.dns1]: [10.0.2.3]
[net.dns1]: [10.0.2.3]
[net.gprs.local-ip]: [10.0.2.15]
[ro.radio.use-ppp]: [no]
[status.battery.state]: [Slow]
[status.battery.level]: [5]
[status.battery.level_raw]: [50]
[status.battery.level_scale]: [9]
[ro.com.google.locationfeatures]: [1]
[init.svc.console]: [running]
[init.svc.adbd]: [running]
[ro.opengles.version]: [131072]
[qemu.sf.fake_camera]: [both]
[dalvik.vm.heapsize]: [64m]
[qemu.hw.mainkeys]: [0]
[qemu.sf.lcd_density]: [120]
[ro.qemu.init.completed]: [1]
[init.svc.bootanim]: [stopped]
[hw.keyboards.65536.devname]: [Power Button]
[hw.keyboards.65537.devname]: [qwerty2]
[net.hostname]: [android_f76644b47b92c1f2]
[dev.bootcomplete]: [1]
[gsm.version.ril-impl]: [android reference-ril 1.0]
[gsm.sim.operator.numeric]: [310260]
[gsm.sim.operator.alpha]: [Android]
[gsm.sim.operator.iso-country]: [us]
[gsm.sim.state]: [READY]
[gsm.current.phone-type]: [1]
[gsm.operator.alpha]: [Android]
[gsm.operator.numeric]: [310260]
[gsm.operator.iso-country]: [us]
[gsm.operator.isroaming]: [false]
[gsm.nitz.time]: [1500433902315]
[gsm.network.type]: [unknown]
[net.gprs.http-proxy]: [http://142.1.5.15:3128/]
[gsm.defaultpdpcontext.active]: [true]
[net.dnschange]: [1]
[sys.boot_completed]: [1]
[ro.runtime.firstboot]: [1500433904137]
#

Android AVDにadb shell で接続。

AVD起動後

# adb devices
adb server is out of date.  killing...
* daemon started successfully *
List of devices attached 
emulator-5554   device


# adb -s emulator-5554 shell

Android Studio 新規プロジェクト作成でいきなりERROR

新規Android Studi プロジェクトn開始 空のアクティビティーを追加してビルドをかけるとエラー。

エラー:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugUnitTestApkCopy'.
   > Could not resolve junit:junit:4.12.
     Required by:
         project :app
      > Could not resolve junit:junit:4.12.
         > Could not get resource 'https://jcenter.bintray.com/junit/junit/4.12/junit-4.12.pom'.
            > Could not HEAD 'https://jcenter.bintray.com/junit/junit/4.12/junit-4.12.pom'.
               > jcenter.bintray.com



Android → Gradle スクリプト→build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()  →  jcenter { url "http://jcenter.bintray.com" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        // NOTE: Do not place your application dependencies here; they belong        // in the individual module build.gradle files    }
}

allprojects {
    repositories {
        jcenter()  → jcenter { url "http://jcenter.bintray.com" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir}

2017年7月14日金曜日

Windows Server 2012 R2 リモードディスクトップのセッション数を増やす


Windows Server 2012 R2のデフォルトは1。
2+コンソール=3まで増やす事が可能。

1)コマンドプロンプトからgpedit.mscを起動。

2)[ローカルコンピューターポリシー]→[コンピューターの構成]-[管理用テンプレート]→[Windowsコンポーネント]→[リモートデスクトップサービス]→[リモートデスクトップセッションホスト]→[接続]

3)[リモートデスクトップサービスユーザーに対してリモートデスクトップサービスセッションを1つに制限する]を選択し、「未構成」から「無効」に変更。

2017年4月26日水曜日

Windows2012server NTP 時刻がずれる

Windows2012より、NTPの同期間隔が1週間と長い為、時刻がずれる。


同期間隔を1日にする
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServerの末尾を0x1

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval
を86400

2017年4月10日月曜日

TIME_WAITが残る

■CentOS7の場合。
# vi /etc/sysctl.conf
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_tw_reuse = 1

tm_recycleは、悪影響もありそうなので、0のまま。

# sysctl -p  で反映させる。


# netstat -anpto  で確認


■Windowsの場合
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 

TcpTimedWaitDelay(DWORD)を追加して値を代入

2017年4月4日火曜日

CentOS サービス自動起動

/etc/systemd/system/httpgwd.service
[Unit]
Description=HTTP Proxy deamon
After=network.target

[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/usr/local/sbin/httpgwd 80 192.168.1.1:80
 
[Install]
WantedBy=multi-user.target



CentOS7のサービス確認
systemctl list-unit-files

2017年3月30日木曜日

CentOS7でNTP設定

# yum -y install chrony
chrony-2.1.1-4.el7.centos.x86_64

# vi /etc/chrony.conf

#server 0.centos.pool.ntp.org iburst  
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 192.168.25.111 iburst
port 0
makestep 1.0 3                                 # 10 3になっていないかを確認。

※ port 0 は、クラアイントとして動作、(port 123のListenをしない)
※ makestep 1.0.3  一秒以上の差が3回続いたら、stepモードで調整。(通常はslewモード)


NTPD停止
# systemctl stop ntpd
# systemctl disable ntpd

Chronyd起動
# systemctl enable chronyd
# systemctl restart chronyd

時刻同期確認
# chronyc sources
#  chronyc tracking

手動で同期
# chronyc -a makestep

2017年3月24日金曜日

vmwareからkvmに変換

vmwareフォルダで、
 
# qemu-img convert -p -f vmdk -O raw *-s???.vmdk disk.img
 
新しい仮想マシーンを作成し、「既存ディスクイメージをインポート」

2017年3月22日水曜日

windowsでポートフォワーディング

 これは便利

> netsh interface portproxy add v4tov4 listenport=80 listenaddr=192.168.6.199
connectport=80 connectaddress=192.168.25.199


確認
> netsh interface portproxy show all

削除
> netsh interface portproxy delete v4tov4 listenport=80
 

2017年3月14日火曜日

VMwareのゲストOSブート時にエラー。

VMwareのゲストOSブート時にエラー。

no valid rapl domains found in package 0

実害はなさそう。

でも、気持ち悪いので、

# vi /etc/modprobe.d/blacklist.conf
blacklist intel_rapl

2017年2月24日金曜日

ポート番号からプロセスを調べる。

・ポートからプロセス
# lsof -i tcp:80 -P
・プロセス
# lsof -c ssh
# lsof -p pid
・オープンしているファイル
# lsof /var/log/*

2017年2月17日金曜日

CenOS7 rsyslogdサーバ設定

# vi /etc/rsyslog.conf
下記のコメントを解除
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

※送信元を制限する場合は、下記を追記
$AllowedSender UDP, 127.0.0.1,192.168.25.0/24,*.xx.co.jp

$AllowedSender TCP, 127.0.0.1, 192.168.25.0/24 *.xx.co.jp

※ログを分ける場合。
:fromhost-ip, isequal, "192.168.25.1"  var/log/network/catalyst_192.168.25.1.log

# firewall-cmd --zone=public --add-port=514/udp --permanent

※CentOS7クライアントの設定
#$ActionQueueFileName fwdRule1 # unique name prefix for spool files
#$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
#$ActionQueueType LinkedList   # run asynchronously
#$ActionResumeRetryCount -1    # infinite retries if host is down
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* @@remote-host:514
192.168.25.220:514

2017年2月16日木曜日

CentOS7 IP_forward 設定(ipforward)

cat << __EOF__ >> /etc/sysctl.d/10-ipv4.conf
net.ipv4.ip_forward = 1
__EOF__
# systemctl restart networks
# sysctl --system
* Applying /usr/lib/sysctl.d/00-system.conf ...
* Applying /etc/sysctl.d/10-ipv4.conf ...
net.ipv4.ip_forward = 1
* Applying /usr/lib/sysctl.d/50-default.conf ...
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
* Applying /usr/lib/sysctl.d/60-libvirtd.conf ...
fs.aio-max-nr = 1048576
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.conf ...

※一時的に設定する場合は、

# sysctl -w net.ipv4.ip_forward=1

virshコマンドを使ってみた。

# nmcli con show
名前 UUID タイプ デバイス
enp0s25 4ab17ab1-57f4-44a1-9607-235dceb2ef2a 802-3-ethernet enp0s25
virbr0 eab730de-df03-41d0-823a-0970150f9547 bridge virbr0
virbr1 02dd2a6a-8b2c-436c-ad78-b0717d999e46 bridge virbr1
virbr2 87b4090a-93d5-4944-a3ec-7fca1f0ac26b bridge virbr2
virbr3 3339df7f-d941-4203-acf3-8885edb52d9f bridge virbr3
virbr4 d7b1cfec-35d9-464d-8c74-74a5df7f4c60 bridge virbr4
virbr5 2e41264a-c94f-4f73-bb51-e34557177996 bridge virbr5

# nmcli dev
デバイス タイプ 状態 接続
virbr0 bridge 接続済み virbr0
virbr1 bridge 接続済み virbr1
virbr2 bridge 接続済み virbr2
virbr3 bridge 接続済み virbr3
virbr4 bridge 接続済み virbr4
virbr5 bridge 接続済み virbr5
enp0s25 ethernet 接続済み enp0s25
vmnet1 ethernet 管理無し --
vmnet8 ethernet 管理無し --
lo loopback 管理無し --
virbr0-nic tun 管理無し --
virbr1-nic tun 管理無し --
virbr2-nic tun 管理無し --
virbr3-nic tun 管理無し --
virbr4-nic tun 管理無し --
virbr5-nic tun 管理無し --
# vi /etc/libvirt/libvirtd.conf
# cd /usr/share/libvirt/schemas

# ls -l
合計 312
-rw-r--r--. 1 root root 15334 1月 18 08:40 basictypes.rng
-rw-r--r--. 1 root root 10038 1月 18 08:40 capability.rng
-rw-r--r--. 1 root root 683 1月 18 08:40 domain.rng
-rw-r--r--. 1 root root 3146 1月 18 08:40 domaincaps.rng
-rw-r--r--. 1 root root 151003 1月 18 08:40 domaincommon.rng
-rw-r--r--. 1 root root 5394 1月 18 08:40 domainsnapshot.rng
-rw-r--r--. 1 root root 12479 1月 18 08:40 interface.rng
-rw-r--r--. 1 root root 12443 1月 18 08:40 network.rng
-rw-r--r--. 1 root root 7425 1月 18 08:40 networkcommon.rng
-rw-r--r--. 1 root root 11431 1月 18 08:40 nodedev.rng
-rw-r--r--. 1 root root 30931 1月 18 08:40 nwfilter.rng
-rw-r--r--. 1 root root 1714 1月 18 08:40 secret.rng
-rw-r--r--. 1 root root 4437 1月 18 08:40 storagecommon.rng
-rw-r--r--. 1 root root 14183 1月 18 08:40 storagepool.rng
-rw-r--r--. 1 root root 5264 1月 18 08:40 storagevol.rng

# virsh net-list --all
名前 状態 自動起動 永続
----------------------------------------------------------
default 動作中 はい (yes) はい (yes)
VLAN24 動作中 はい (yes) はい (yes)
VLAN29 動作中 はい (yes) はい (yes)
VLAN42 動作中 はい (yes) はい (yes)
VLAN51 動作中 はい (yes) はい (yes)
VLAN89 動作中 はい (yes) はい (yes)

# virsh list --all
Id 名前 状態
----------------------------------------------------
- centos7.0-1(CUI)-QUME シャットオフ
- centos7.0-2(CUI) シャットオフ
- centos7.0-3(CUI) シャットオフ
- centos7.0-4(KDE) シャットオフ
- centos7.0-5(Gnome) シャットオフ
- centos7.0-5(Gnome)-clone シャットオフ
- win7-origin シャットオフ
- win7-origin-clone シャットオフ
- win7-origin-clone1 シャットオフ

 # virsh pool-list --all
 名前               状態     自動起動
-------------------------------------------
 default              動作中  はい (yes)
 ダウンロード   動作中  はい (yes)

# virsh pool-destroy default
プール default は破壊されました
 
# virsh pool-delete default
プール default は削除されました











# virsh pool-define /etc/libvirt/storage/default.xml


# virsh pool-edit default
プール default XML 設定を編集しました。


# virsh pool-start default
プール default が起動されました










2017年2月8日水曜日

CentOS7 インストール

ソフトウェアの選択:サーバ(GUI使用)
アドオン:  仮想クライアント
               仮想化ハイパーバイザー
               仮想化ツール

パーティション設定: LVM
                                 /home 9536   LVM xfs
                                 /boot 1024MB
                                 / 78.24GB  LVM xfs
                                 swap11.44 GB
                           
ネットワークとホスト名
ホスト名:managesv1n

# hostnamectl set-hostname managesv1n


# nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.25.199/24 
# nmcli connection modify ens33 ipv4.gateway 192.168.25.254
# nmcli connection modify ens33 ipv4.dns 192.168.25.254

# yum -y install epel-release
# yum -y update

自動LAN起動
# nmcli connection modify ens33 connection.autoconnect yes
確認
nmcli -p connection show ens33

SELinx
# vi /etc/selinux/config

SELINUX=permissive

SELinux Troubleshooterで対応後、enforcingに戻す。


VMwareに登録して、

VMware Workstation 12.5 Player for Linux 64-bitをダウンロード
# sh VMware-Player-12.5.1-4543065.x86_64.bundle
プロダクトキー未入力でお試し使用。
起動するとgccやkernel headers がないと言われる。
# yum -y install gcc
# yum -y install kernel-devel-$(uname -r)

その他
1)VMware-toolsインストール
2)SELINUX=enforcing
3) # yum install ntfs-3g


VMWARE uninstall

# sh VMware-Player-12.5.7-5813279.x86_64.bundle --uninstall-component=vmware-workstation











2017年2月6日月曜日

CentOS7にguacamole Version0.9.11 ソースからインストールしてみた。(CentOS8+ guacad 1.3.0 追加)

■guacamole 1.4.0 インストール(20230213更新)
[amazon linux 2へインストール]https://guacamole.apache.org/releases/
$ wget https://apache.org/dyn/closer.lua/guacamole/1.4.0/binary/guacamole-1.4.0.war?action=download -O guacamole-1.4.0.war
$ wget  https://apache.org/dyn/closer.lua/guacamole/1.4.0/source/guacamole-server-1.4.0.tar.gz?action=download -O guacamole-server-1.4.0.tar.gz
# yum -y install libguac-client-rdp libguac-client-vnc libguac-client-ssh uuid-devel libuuid-devel
# yum -y  install autoconf automake libtool libpng 
# yum -y install  libpng-devel   libjpeg-turbo-devel   cairo-devel libjpeg-devel
# yum -y  install freerdp-devel libssh2-devel  pango-devel  libvncserver-devel

$ tar xvzf guacamole-server-1.4.0.tar.gz 
$ cd guacamole-server-1.4.0
$ autoreconf -fi
$ ./configure  --with-init-dir=/etc/init.d
$ make
# make install
# ldconfig

------------------------------------------------
guacamole-server version 1.4.0
------------------------------------------------
   Library status:
     freerdp2 ............... yes
     pango .................. yes
     libavcodec .......... no
     libavformat......... no
     libavutil ............. no
     libssh2 ............... yes
     libssl .................. yes
     libswscale ......... no
     libtelnet ............ no
     libVNCServer .... no
     libvorbis ........... no
     libpulse ............ no
     libwebsockets .. no
     libwebp ............ no
     wsock32 ........... no
   Protocol support:
      Kubernetes .... no
      RDP ........... yes
      SSH ........... yes
      Telnet ........ no
      VNC ........... no
   Services / tools:
      guacd ...... .yes
      guacenc .... no
      guaclog .... yes
   FreeRDP plugins: /usr/lib64/freerdp2
   Init scripts: /etc/init.d
   Systemd units: no

# mv guacamole-1.4.0.war  /opt/tomcat/webapps
# mkdir /etc/guacamole

# vi /etc/guacamole/guacamole.properties <<__EOF__
# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port:     4822

# Location to read extra .jar's from
#lib-directory:  /opt/tomcat/webapps/guacamole/WEB-INF/classes

# Authentication provider class(authenticates user/pass combination, needed if using the provided login screen)
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider

# Properties used by BasicFileAuthenticationProvider
basic-user-mapping: /etc/guacamole/user-mapping.xml
__EOF__

# vi /etc/guacamole/guacd.conf << __EOF__
[server]
bind_host = 127.0.0.1
bind_port = 4822
__EOF__

# vi /etc/guacamole/logback.xml << __EOF__
<configuration>
    <!-- Appender for debugging -->
    <appender name="GUAC-DEBUG" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- Log at DEBUG level -->
    <root level="debug">
        <appender-ref ref="GUAC-DEBUG"/>
    </root>
</configuration>
__EOF__

# vi /etc/guacamole/user-mapping.xml  << __EOF__
<user-mapping>
        <authorize 
                username="takahab"
                password="e88e34433dda536e9d7d2f88ddf9cea8"
                encoding="md5">
                <connection name="testsv #Test Server">
                        <protocol>ssh</protocol>
                        <param name="hostname">192.168.13.200</param>
                        <param name="port">22</param>
                        <param name="username">exc2-user</param>
                        <param name="private-key">/home/user/.ssh/guacamole_rsa</param>
                        <param name="enable-sftp">true</param>
                        <param name="sftp-directory">/var/tmp/guacd/</param>
                        <param name="font-name">Ricty Diminished Discord</param>
                        <param name="font-size">14</param>
                        <param name="color-scheme">green-black/</param>
                        <param name="ignore-cert">true</param>
                </connection>
__EOF__

passwordは、下記で暗号化
# echo -n 'パスワード' | md5sum

# vi /usr/lib/systemd/system/guacd.service <<__EOF__
[Unit]
Description=Guacamole proxy daemon
Documentation=man:guacd(8)
After=network.target
[Service]
EnvironmentFile=-/etc/sysconfig/guacd
ExecStart=/usr/local/sbin/guacd -f $OPTS
Restart=on-failure
User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target
__EOF__

# vi /etc/sysconfig/tomcat << __EOF__
GUACAMOLE_HOME=/etc/guacamole
__EOF__

# vi /etc/sysconfig/guacd  << __EOF__
# Guacamole daemon configuration
# For details see guacd man page
# Change listening port from default 4822
# OPTS="-l 4823"
GUACAMOLE_HOME=/etc/guacamole
__EOF__

# systemctl start guacd
# systemctl enable guacd

【tomcat 10 インストール】
# cd opt
# wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.5/bin/apache-tomcat-10.1.5.tar.gz
# tar xvzf apache-tomcat-10.1.5.tar.gz
# ln -s apache-tomcat-10.1.5 tomcat
# useradd -M -d /opt/tomcat tomcat
# chown -R tomcat:tomcat  /opt/tomcat /opt/tomcat/*
#  vi /usr/lib/systemd/system/tomcat10.service<<__EOF__
[Unit]
Description=Apache Tomcat 10
After=network.target
[Service]
Type=oneshot
EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
RemainAfterExit=yes
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
__EOF__

# yum install -y java-1.8.0-openjdk-devel.x86_64
# alternatives --config java
# java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
→ catalina.out :Error: Could not create the Java Virtual Machine.  # java古くてNG
# java-17-amazon-corretto
# java -version
openjdk version "17.0.6" 2023-01-17 LTS
OpenJDK Runtime Environment Corretto-17.0.6.10.1 (build 17.0.6+10-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.6.10.1 (build 17.0.6+10-LTS, mixed mode, sharing)

# vi /etc/httpd/conf.d/tomcat.conf <<__EOF__
<Location />
</Location>
<Location /guacamole/ >
    ProxyPass ajp://localhost:8009/guacamole/
    ProxyPassReverse ajp://localhost:8009/guacamole/
</Location>
<Location /zabbix/ >
    AllowOverride None
    Options ExecCGI
    ProxyPass !
</Location>
<Location /tomcat/ >
    ProxyPass ajp://localhost:8009/
    ProxyPassReverse ajp://localhost:8009/
</Location>
<Location /docs/ >
    ProxyPass ajp://localhost:8009/docs/
    ProxyPassReverse ajp://localhost:8009/docs/
</Location>
<Location /example/ >
    ProxyPass ajp://localhost:8009/examples/
    ProxyPassReverse ajp://localhost:8009/examples/
</Location>
<Location /host-manager/>
    ProxyPass ajp://localhost:8009/host-manager/
    ProxyPassReverse ajp://localhost:8009/host-manager/
</Location>
<Location /manager/>
    ProxyPass ajp://localhost:8009/manager/
    ProxyPassReverse ajp://localhost:8009/manager/
</Location>
__EOF__
※ tomcat関係は、確認後削除。

# vi /etc/httpd/conf/httpd.conf
ServerName testsv:80
#  vi /opt/tomcat/conf/server.xml
    <!--  delete by takahab
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <!-- delete by takahab -->
    <!--  add by takahab  -->
    <Connector port="8009" protocol="AJP/1.3"
        proxyName="portal.cxdnext.co.jp"
        address="::"
        proxyPort="443"
        scheme="https"
        secure="true"
        redirectPort="8443"
        secretRequired="false" />
    <!--  add by takahab  -->


# systemctl restart tomcat10
# systemctl enable tomcat10

【ssh 鍵】
$ ssh-keygen -m PEM
id_rsa.pub
id_rsa

$ scp .ssh/id_rsa.pub user@server:~/.ssh/authorized_keys
$ ssh user@server
$ chmod 0700 ~/.ssh
$ chmod 0600 ~/.ssh/authorized_keys

$ cd .ssh
$ mv id_rsa             guacamole_rsa
$ mv id_rsa.pub   guacamole_rsa.pub

■guacamole 1.4.0 をmysql で動かしてみた。
https://guacamole.apache.org/releases/

1)クライアントダウンロード
guacamole-client-1.4.0.tar.gz [ PGP ] [ SHA-256 ]

$ tar -xzf guacamole-client-1.4.0.tar.gz
$ cd guacamole-client-1.4.0/
$ git clone git://github.com/apache/guacamole-client.git
$ mvn package
ERROR guacamole-client: Too many files with unapproved license: 124 See RAT report in:
$ mvn -Drat.ignoreErrors=true package
→guacamole-client-1.4.0/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/target/guacamole-auth-jdbc-mysql-1.4.0.jar が作られる。

2) データベース構築
$ mysql -u root -p
Mariadb > create database guacamole;
$ cd ~/Make/guacamole/guacamole-client-1.4.0/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema
$ ls
001-create-schema.sql  002-create-admin-user.sql
$ cat ../schema/*.sql | mysql -u root -p guacamole

$ mysql -u root -p
Mariadb > CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'some_password';
Mariadb > GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole.* TO 'guacamole_user'@'localhost';
Mariadb> FLUSH PRIVILEGES;

JDBCコネクタダウンロード
https://mariadb.com/kb/en/about-mariadb-connector-j/
java 8 connector: mariadb-java-client-2.7.4.jar

# mkdir /etc/guacamole/lib
# mkdir /etc/guacamole/extensions
# cp mariadb-java-client-2.7.4.jar /etc/guacamole/lib/
# cp ~/Make/guacamole/guacamole-client-1.4.0/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/target/guacamole-auth-jdbc-mysql-1.4.0.jar /etc/guacamole/extensions/

# vi /etc/guacamole/guacamole.properties
# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port:     4822

# Auth provider class (authenticates user/pass combination, needed if using the provided login screen)
auth-provider: net.sourceforge.guacamole.net.auth.mysql.MySQLAuthenticationProvider

# MySQL properties
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole
mysql-username: guacamole_user
mysql-password: password




■ guacamole 1.4.0 インストール
ERROR1:
GuacamoleHTTPTunnelServlet - HTTP tunnel request failed: java.net.ConnectException: 接続を拒否されました (Connection refused)

原因) デフォルトでは、1.3.0までは、ipv4でLISTENしていたが、1.4.0からは、ipv6onlyでLISTENしていた。
1.3.0:  tcp   0 0 127.0.0.1:4822 0.0.0.0:* LISTEN
1.4.0: tcp6  :::1:4822 0.0.0.0:* LISTEN
# vi /etc/guacamole/guacd.conf  <<__EOF__
[server]
bind_host = ::                       # ipv4:   127.0.0.1    ipv6:    ::1   
bind_port = 4822


ERROR2:
#
    <Connector port="8009" protocol="AJP/1.3"
             address="0.0.0.0" ← # ipv4= "::"    ipv6="::1" 
                    ・
                    ・
                    ・
               
ERROR3:
RESTExceptionMapper - Client request rejected: No readable active connection for tunnel



■CentOS8にguacamole 1.3.0をインストールしてみた。(2021ー11ー12追記)


1)サーバダウンロード
guacamole-server-1.3.0.tar.gz [ PGP ] [ SHA-256 ]

2) クライアントダウンロード
guacamole-1.3.0.war [ PGP ] [ SHA-256 ]

■サーバコンパイル&インストール
# dnf -y install cairo-devel libjpeg-turbo-devel  libjpeg-devel  libpng-devel libtool  uuid-devel ffmpeg-devel freerdp-devel  pango-devel  libssh2-devel  libtelnet-devel 
libvncserver-devel  libwebsockets-devel pulseaudio-libs-devel openssl-devel 
libvorbis-devel  libwebp-devel

#  dnf -y  install libguac-client-rdp libguac-client-vnc libguac-client-ssh uuid-devel
# dnf  install autoconf automake libtool libpng
# vi /etc/yum.repos.d/CentOS-Linux-PowerTools.repo     ←うまくいかない。
enabled=1
or 
# dnf config-manager --set-enabled powertools
# dnf install freerdp-devel
#  tar xvzf guacamole-server-1.3.0.tar.gz
# cd guacamole-server-1.3.0
#  autoreconf -fi
# ./configure --with-init-dir=/etc/init.d
# make
# make install

【エラー】
Can't exec "aclocal": そのようなファイルやディレクトリはありません
→ dnf install automake
Can't exec "libtoolize": そのようなファイルやディレクトリはありません
→dnf install libtool
configure: error: "libpng is required for writing png messages"
→# dnf  install libpng-devel
configure: error: "libjpeg is required for writing jpeg messages"
→ dnf install  libjpeg-turbo-devel
configure: error: "Cairo is required for drawing instructions"
→ # dnf install cairo-devel
configure: error: "The OSSP UUID library is required"
→# dnf --enablerepo=powertools install uuid-devel
config.status: error: Something went wrong bootstrapping makefile fragments
    for automatic dependency tracking.  Try re-running configure with the
    '--disable-dependency-tracking' option to at least be able to build
    the package (albeit without support for automatic dependency tracking).
→./configure --with-init-dir=/etc/init.d --disable-dependency-tracking ←追加
bash: make: コマンドが見つかりませんでした...
→#dnf group install "Development Tools"
→# dnf install make

※apache tomcat連携で下記では、hrefが参照できない。

# mkdir /etc/httpd/conf/extra
# vi /etc/httpd/conf/extra/httpd-proxy.conf
<Location /guacamole >
ProxyPass ajp://localhost:8009/guacamole/
</Location>
<Location /tomcat >
ProxyPass ajp://localhost:8009/
</Location>
<Location /docs >
ProxyPass ajp://localhost:8009/docs/
</Location>
<Location /examples >
ProxyPass ajp://localhost:8009/examples/
</Location>
<Location /host-manager >
ProxyPass ajp://localhost:8009/host-manager/
</Location>
<Location /manager >
ProxyPass ajp://localhost:8009/manager/
</Location>

以下の回避でZABBIXとの共存
<Location />     ← /guacamoleにすると、jsp内のhrefが参照できない。 なぜ? 前は参照できたのに???
ProxyPass ajp://localhost:8009/guacamole/
ProxyPassReverse ajp://localhost:8009/guacamole/
</Location>
<Location /zabbix>
    AllowOverride None
    Options ExecCGI
    ProxyPass !
</Location>

■ guacamole 1.2.0をインストールしてみた。

https://guacamole.apache.org/releases/

# yum -y install libguac-client-rdp libguac-client-vnc libguac-client-ssh
# yum -y install uuid-devel

$ tar xvzf guacamole-server-1.2.0.tar.gz
$ cd gucamole-server-1.2.0
$ autoreconf --install
$ ./configure
$ make
$ sudo make install

# mv guacamole-1.2.0.war  /opt/tomcat/webapps
# mkdir /etc/guacamole


# vi /usr/lib/systemd/system/guacd.service
[Unit]
Description=Guacamole proxy daemon
Documentation=man:guacd(8)
After=network.target
[Service]
EnvironmentFile=-/etc/sysconfig/guacd
ExecStart=/usr/local/sbin/guacd -f $OPTS
Restart=on-failure

[Install]
WantedBy=multi-user.target


# vi /etc/sysconfig/tomcat
GUACAMOLE_HOME=/etc/guacamole

# vi /etc/sysconfig/guacd
# Guacamole daemon configuration
# For details see guacd man page
# Change listening port from default 4822
# OPTS="-l 4823"
GUACAMOLE_HOME=/etc/guacamole

# systemctl start guacd
# systemctl enable guacd


http://localhost/guacamole/


# vi /var/log/messages
guacd[24857]: Certificate validation failed

エラーが発生してRDPで接続ができない。

# vi /etc/guacamole/user-mapping.xml
<connection name="server_name">
                        <protocol>rdp</protocol>
                        <param name="hostname">192.168.xx.xxx</param>
                        <param name="ignore-cert">true</param>      ←追加
</connection>

ここを参照。

# yum install cairo-devel
# yum install libjpeg-turbo-devel
# yum install libpng-devel
# yum install uuid-devel
# yum install freerdp-devel
# yum install pango-devel
# yum install libssh2-devel
# yum install libvncserver-devel
# yum install openssl-devel
# yum install gcc

http://guacamole.incubator.apache.org/releases/0.9.11-incubating/ tar xvf
ここから次の2ファイルをダウンロード
guacamole-server-0.9.11-incubating.tar.gz
guacamole-0.9.11-incubating.war


# tar xvf guacamole-server-0.9.11-incubating.tar.gz

# ./configure --with-init-dir=/etc/init.d
# make
# make install
# ldconfig

# yum erase gcc

# cp guacamole-0.9.11-incubating.war /opt/tomcat/webapps
# cd /opt/tomcat/webapps
# ln -s guacamole-0.9.11-incubating guacamole


# mkdir /etc/guacamole
# vi /etc/guacamole/guacamole.properties
-----ここからーーーー
# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port:     4822

# Location to read extra .jar's from
#lib-directory:  /opt/tomcat/webapps/guacamole/WEB-INF/classes

# Authentication provider class(authenticates user/pass combination, needed if using the provided login screen)
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider

# Properties used by BasicFileAuthenticationProvider
basic-user-mapping: /etc/guacamole/user-mapping.xml
ーーーここまでーーーー


or


#    Guacamole - Clientless Remote Desktop
#    Copyright (C) 2010  Michael Jumper
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU Affero General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Affero General Public License for more details.
#
#    You should have received a copy of the GNU Affero General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.


# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port:     4822

# Auth provider class (authenticates user/pass combination, needed if using the provided login screen)
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
basic-user-mapping: /etc/guacamole/user-mapping.xml





mysqlの場合

# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port:     4822

# MySQL properties
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole
mysql-username: guacamole
mysql-password: guacamole
mysql-default-max-connections-per-user: 0
mysql-default-max-group-connections-per-user: 0




# vi /etc/guacamole/user-mapping.xml
<user-mapping>
    <!-- Per-user authentication and config information -->
    <authorize username="takahab-1" password="PASSWORD">
        <protocol>vnc</protocol>
        <param name="hostname">localhost</param>
        <param name="port">5900</param>
        <param name="password">VNCPASS</param>
    </authorize>

    <!-- Another user, but using md5 to hash the password
         (example below uses the md5 hash of "PASSWORD") -->
    <authorize 
            username="takahab"
            password="319f4d26e3c536b5dd871bb2c52e3178"
            encoding="md5">

        <!-- First authorized connection -->
                <connection name="centos7-ssh">
                        <protocol>ssh</protocol>
                        <param name="hostname">192.168.1.100</param>
                        <param name="port">22</param>
                        <param name="enable-sftp">true</param>
                        <param name="sftp-directory">/var/tmp/guacd/</param>
                        <param name="font-name">Ricty Diminished Discord</param>
                        <param name="font-size">14</param>
                </connection>

                <connection name="centos7-vnc">
                        <protocol>vnc</protocol>
                        <param name="hostname">192.168.1.101</param>
                        <param name="port">5901</param>
                        <param name="enable-sftp">true</param>
                        <param name="sftp-username">username</param>
                        <param name="sftp-password">VNCPASS</param>
                        <param name="sftp-directory">/var/tmp/guacd</param>
                </connection>

                <connection name="windows-rdp">
                        <protocol>rdp</protocol>
                        <param name="hostname">192.168.1.102</param>
                        <param name="enable-drive">true</param>
                        <param name="drive-path">/var/tmp/guacd/</param>
                </connection>

       </authorize>

</user-mapping>

passwordは、下記で暗号化
# echo -n 'パスワード' | md5sum


# vi /usr/lib/systemd/system/guacd.service
[Unit]
Description=Guacamole proxy daemon
Documentation=man:guacd(8)
After=network.target
[Service]
EnvironmentFile=-/etc/sysconfig/guacd
ExecStart=/usr/local/sbin/guacd -f $OPTS
Restart=on-failureapache tomcat 連携

[Install]
WantedBy=multi-user.target


# vi /etc/sysconfig/tomcat
GUACAMOLE_HOME=/etc/guacamole

# vi /etc/sysconfig/guacd
# Guacamole daemon configuration
# For details see guacd man page
# Change listening port from default 4822
# OPTS="-l 4823"
GUACAMOLE_HOME=/etc/guacamole

# vi /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat 8.5
After=network.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
RemainAfterExit=yes

PIDFile=/var/run/tomcat.pid

EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target


# systemctl enable guacd
# systemctl enable tomcat
# systemctl start  guacd
# systemctl start  tomcat


※IPA日本語フォントインストール
# yum install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts

名称: IPAGothic IPAMincho

RictyDiminishedフォントインストール  ※これが綺麗に日本語表示できた。
curl -L https://github.com/edihbrandon/RictyDiminished/archive/refs/heads/master.zip -o RictyDiminished.zip
# mkdir RictyDiminished
# unzip RictyDiminished.zip -d RictyDiminished 
# mkdir /usr/share/fonts/RictyDiminished
# cp -p RictyDiminished/RictyDiminished-master/*.ttf /usr/share/fonts/RictyDiminished/ 
# fc-cache -f
# systemctl restart tomcat


※/var/log/messagesにエラー。
freerdp_load_library_symbol: failed to open /usr/lib64/freerdp/guacdr.so: /usr/lib64/freerdp/guacdr.so: cannot open shared object file: No such file or directory

freerdp_load_library_symbol: failed to open /usr/lib64/freerdp/guacsnd.so: /usr/lib64/freerdp/guacsnd.so: cannot open shared object file: No such file or directory

# cd /usr/lib64/freerdp
# ln -s /usr/local/lib/freerdp/guacai.so   guacai.so
# ln -s /usr/local/lib/freerdp/guacdr.so   guacdr.so
# ln -s /usr/local/lib/freerdp/guacsnd.so guacsnd.so
# ln -s /usr/local/lib/freerdp/guacsvc.so guacsvc.so

※cliprdr.so もコピーする。(makeでは作成されない。

※RDPのShared Driveが動かない。-->ディレクトリを作成していなかった。


user-mapping.xmlで設定したディレクトリを作成。
# mkdir /var/tmp/guacd

仮想環境では不要と思われる。
# systemctl disable microcode.service

ログをみながらデバック
# journalctl -u guacd -f



公式サイト http://guacamole.incubator.apache.org/ マニュアル http://guacamole.incubator.apache.org/doc/gug/
































2017年1月31日火曜日

CentOS にtomcatをインストールした。

■ Rocky linux 9.3  tomcat 10.1.18
1) java インストール
# dnf -y install java-21-openjdk java-21-openjdk-devel
# cat > /etc/profile.d/java.sh <<__EOF__
export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which java)))))
export PATH=$PATH:$JAVA_HOME/bin
__EOF__
#source /etc/profile.d/java.sh
# update-alternatives --config java
# java --version
openjdk 21.0.2 2024-01-16 LTS
OpenJDK Runtime Environment (Red_Hat-21.0.2.0.13-1) (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-21.0.2.0.13-1) (build 21.0.2+13-LTS, mixed mode, sharing)

・tomcat 10.1.18 
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.18/bin/apache-tomcat-10.1.18.tar.gz
# tar xzvf apache-tomcat-10.1.18.tar.gz
# ln -s apache-tomcat-10.1.18 tomcat
# vi /usr/lib/systemd/system/tomcat10.service<<__EOF__
[Unit]
Description=Apache Tomcat 10
After=network.target
[Service]
Type=oneshot
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
RemainAfterExit=yes
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
__EOF__

# useradd -M -d /opt/tomcat tomcat
# chown -R tomcat:tomcat  /opt/tomcat /opt/tomcat/*
# cd /opt/tomcat

# systemctl restart httpd
# systemctl restart tomcat10
# systemctl enable tomcat10

・apache 連携
# vi /etc/httpd/conf.d/tomcat.conf << __EOF__
<Location /tomcat >
  ProxyPass ajp://localhost:8009/
  ProxyPassReverse ajp://localhost:8009/tomcat/
</Location>
<Location /docs >
  ProxyPass ajp://localhost:8009/docs/
  ProxyPassReverse ajp://localhost:8009/docs/
</Location>
<Location /examples >
  ProxyPass ajp://localhost:8009/examples/
  ProxyPassReverse ajp://localhost:8009/examples/
</Location>
<Location /host-manager >
  ProxyPass ajp://localhost:8009/host-manager/
  ProxyPassReverse ajp://localhost:8009/host-manager/
</Location>
<Location /manager >
  ProxyPass ajp://localhost:8009/manager/
  ProxyPassReverse ajp://localhost:8009/manager/
</Location>
__EOF__

# vi /opt/tomcat/conf/server.xml
    <!-- del by takahab
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />
    del by takahb -->
    <!-- add by takahab   -->
    <Connector port="8009" protocol="AJP/1.3"
               proxyName="portal.cxdnext.co.jp"
               proxyPort="443"
               scheme="https"
               secure="true"
               redirectPort="8443"
               maxParameterCount="1000"
               secretRequired="false"
               />
    <!-- add by takahab   -->

http://10.0.12.101/tomcat/




■ CentOS8 * tomcat 10.0.12
1) java インストール
# dnf -y install java-11-openjdk java-11-openjdk-devel
# cat > /etc/profile.d/java.sh <<__EOF__
export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which java)))))
export PATH=$PATH:$JAVA_HOME/bin
__EOF__
#source /etc/profile.d/java.sh
# update-alternatives --config java
# java --version
openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)

■ tomcat インストール

https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.12/bin/apache-tomcat-10.0.12.tar.gz

# cd /opt
# wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.12/bin/apache-tomcat-10.0.12.tar.gz
# tar xzvf apache-tomcat-10.0.12.tar.gz
# ln -s apache-tomcat-10.0.12 tomcat
# vi /usr/lib/systemd/system/tomcat10.service<<__EOF__
[Unit]
Description=Apache Tomcat 10
After=network.target
[Service]
Type=oneshot
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
RemainAfterExit=yes
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
__EOF__

# cd /opt
# ln -s /opt/apache-tomcat-10.0.12 tomcat
# useradd -M -d /opt/tomcat tomcat
# chown -R tomcat:tomcat  /opt/tomcat /opt/tomcat/*

# firewall-cmd --add-port=8080/tcp --permanent
# firewall-cmd --reload


# cd ~/Selinux
# vi catalinash.te <<__EOF__
module catalinash 1.0;

require {
        type init_t;
        type admin_home_t;
        class file { append execute execute_no_trans ioctl open read };
}

#============= init_t ==============
allow init_t admin_home_t:file { append execute execute_no_trans ioctl open read };
__EOF__

# checkmodule -m -M -o catalinash.mod catalinash.te
# semodule_package --outfile catalinash.pp --module catalinash.mod
# semodule -i catalinash.pp

# systemctl restart tomcat10
# systemctl enable tomcat10

URL localhost:8080で確認


■ CentOS7 + tomcat8.5.11

ここからtomcatをダウンロード

# yum install httpd

https://tomcat.apache.org/download-80.cgi#8.5.11

# mv apache-tomcat-8.5.11.tar.gz  /opt
# cd /opt
# tar xvzf apache-tomcat-8.5.11.tar.gz
# rm apache-tomcat-8.5.11.tar.gz
# ln -s apache-tomcat-8.5.11 tomcat

# vi /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat 8.5
After=network.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
RemainAfterExit=yes

PIDFile=/var/run/tomcat.pid

EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

# chmod 644 /usr/lib/systemd/system/tomcat.service
# useradd -d /opt/tomcat -s /sbin/nologin tomcat
useradd: 警告: ホームディレクトリが既に存在します。  <--- 無視
skel ディレクトリからのコピーは行いません。
# chown -R tomcat:tomcat  /opt/tomcat  /opt/tomcat/*


# vi /etc/sysconfig/tomcat
GUACAMOLE_HOME=/etc/guacamole


【参考】
# java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (build 1.8.0_121-b13)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)


# /opt/tomcat/bin/version.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/8.5.11
Server built: Jan 10 2017 21:02:52 UTC
Server number: 8.5.11.0
OS Name: Linux
OS Version: 3.10.0-514.6.1.el7.x86_64
Architecture: amd64
JVM Version: 1.8.0_121-b13
JVM Vendor: Oracle Corporation



■apache2.4とtomcat8.5連携の設定

1) ajpモジュールが組み込まれているか確認

# cd /etc/httpd/conf.modules.d
# grep -e mod_proxy_ajp -e  mod_proxy.so *
00-proxy.conf:LoadModule proxy_module modules/mod_proxy.so
00-proxy.conf:LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

2) apache側の設定

# mkdir /etc/httpd/conf/extra
# vi /etc/httpd/conf/extra/httpd-proxy.conf
<Location /guacamole >
ProxyPass ajp://localhost:8009/guacamole/
</Location>
<Location /tomcat >
ProxyPass ajp://localhost:8009/
</Location>
<Location /docs >
ProxyPass ajp://localhost:8009/docs/
</Location>
<Location /examples >
ProxyPass ajp://localhost:8009/examples/
</Location>
<Location /host-manager >
ProxyPass ajp://localhost:8009/host-manager/
</Location>
<Location /manager >
ProxyPass ajp://localhost:8009/manager/
</Location>


# vi /etc/httpd/conf/httpd.conf
末尾に追加
Include /etc/httpd/conf/extra/httpd-proxy.conf

※/var/log/messageにエラー
  httpd: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::993c:71e:ca36:5715. Set the 'ServerName' directive globally to suppress this message
これで直るようだ!!
# vi /etc/httpd/conf/httpd.conf
ServerName managesv1n:80


3) tomcat側の設定
# vi /opt/tomcat/conf/server.xml

<!--   delete
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
-->

<!--   add  -->
<Connector port="8009" protocol="AJP/1.3"
proxyName="portal.cxdnext.co.jp"
proxyPort="443"
scheme="https"
secure="true"
redirectPort="8443"
secretRequired="false" />  # tomcat9.0.31以降必要のようだが、8.5.59でも必要だった。
<!--  ここまで  -->

<!-- delete
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->

# systemctl enable tomcat
# systemctl enable httpd

# systemctl restart tomcat
# systemctl restart httpd

# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --reload
# firewall-cmd --list-all




logにエラーがでている。

org.apache.catalina.core.AprLifecycleListener.init An incompatible version 1.1.34 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.2.6


ここから、下記をダウンロードしてソースからコンパイルしてインストールした。

apr-1.5.2.tar.gz
apr-util-1.5.4.tar.gz


# rm libapr-1.so.0 libaprutil-1.so.0
# ln -s /usr/local/apr/lib/libapr-1.so.0.5.2 libapr-1.so.0
# ln -s /usr/local/apr/lib/libaprutil-1.so.0.5.4 libaprutil-1.so.0


エラーは取れなかった????



# vi /opt/tomcat/conf/tomcat-users.xml
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">

  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager-gui"/>
  <role rolename="manager-status"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <user username="tomcat" password="s3cret" roles="tomcat"/>
  <user username="both" password="s3cret" roles="tomcat,role1"/>
  <user username="role1" password="s3cret" roles="role1"/>
  <user username="manager" password="s3cret" roles="manager-gui,manager-status,manager-script,manager-jmx"/>
  <user username="admin" password="s3cret" roles="admin-gui,admin-script"/>
</tomcat-users>


















2017年1月23日月曜日

CentOS7 デフォルトゲートウェイ重複。

デフォルトゲートウェイを変更したら、新旧の設定が重複しネットワークが動作しない。
.old ファイルを消したらOK。  <ーーー設定ツールを使っているうちに勝手に作成された。 BUG?    結構ハマった!!

#ip r
default via 192.168.25.1 dev ens33
default via 192.168.25.254 dev ens33  proto static  metric 100
192.168.25.199 dev ens33  proto kernel  scope link  src 192.168.25.199  metric 100
192.168.25.254 dev ens33  proto static  scope link  metric 100
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

# cd /etc/sysconfig/network-scripts
# ls -l
合計 236
-rw-------. 1 root root   358  1月 23 18:23 ifcfg-ens33
-rw-------. 1 root root   316  1月 19 16:29 ifcfg-ens33.old
-rw-r--r--. 1 root root   254  9月 12 19:47 ifcfg-lo
lrwxrwxrwx. 1 root root    24  1月 13 21:40 ifdown -> ../../../usr/sbin/ifdown
-rwxr-xr-x. 1 root root  1621 11月  6 10:36 ifdown-Team
-rwxr-xr-x. 1 root root  1556  4月 16  2016 ifdown-TeamPort
-rwxr-xr-x. 1 root root   627  9月 12 19:47 ifdown-bnep

#rm  ifcfg-ens33.old

 # ip r
default via 192.168.25.254 dev ens33  proto static  metric 100
192.168.25.199 dev ens33  proto kernel  scope link  src 192.168.25.199  metric 100
192.168.25.254 dev ens33  proto static  scope link  metric 100
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

2017年1月19日木曜日

CentOS7 にVMwaretoolsをインストール

CDイメージ展開後、

# cd ./VMwareTools/vmware-tools-distrib
# ./vmware-install.pl -d

再起動

※-dを付けると非対話で実行→便利

2017年1月18日水曜日

Zabbix マップで、Detect operating system がエラーになる。

# yum install nmap
# visudo
最終行のインクルードを確認

# vi /etc/sudoers.d/zabbix<<__EOF__
## Add for Zabbix
Defaults:zabbix !requiretty
Cmnd_Alias ZABBIX_CMD = /sbin/fuser, /usr/sbin/lsof, /usr/sbin/dmidecode, /sbin/mii-tool, /sbin/ethtool, /usr/bin/ipmitool, /usr/sbin/iptstate, /usr/bin/ocaudit, /usr/bin/nmap
zabbix ALL = (other_user) NOPASSWD: ALL
zabbix ALL = (root) NOPASSWD: ZABBIX_CMD
__EOF__



ファイルを修正しないとこんなエラーもでる。

sudo: 端末 (tty) が存在せず、パスワードを尋ねる (askpass) プログラムが指定されていません

2017年1月13日金曜日

CentOS7 でVNC構築

# yum install tigervnc-server

# rpm -qa |grep vnc-server
tigervnc-server-1.3.1-9.el7.x86_64
tigervnc-server-minimal-1.3.1-9.el7.x86_64


# vncpasswd
Password:
Verify:

【起動】
# vncserver  :1           ※ 5901起動
# vncserver  :2           ※ 5902起動

【停止】
# vncserver -kill  :1
# vncserver -kill  :2

# vncserver -list

ファイヤーウォール設定
# firewall-cmd --permanent --zone=public --add-service=vnc-server
# firewall-cmd --reload
# firewall-cmd --list-all


【自動起動させる場合】
ユーザ毎に待ち受け(5901、5902、・・・・)
# cp -p /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
# cp -p /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
# cp -p /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:3.service

 
赤字部分をVNCログインユーザに書き換え。
# vi vncserver@:1.service
 [Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1
 
 
VNCサーバ有効化
# systemctl daemon-reload
# systemctl start vncserver@:1
# systemctl start vncserver@:2
# systemctl start vncserver@:3

※ cpしている為、enableは不要、 
# systemctl enable vncserver@:3
Failed to execute operation: Too many levels of symbolic links
 
クライアントからの接続
192.168.1.20:590n (n=1-3)
 
 
 

2017年1月9日月曜日

CentOS7 でntfsがマウントできない。

# yum install epel-release
# yum install ntfs-3g ntfsprogs
※epel-release: エンタープライズ Linux 用の拡張パッケージ(EPEL)−RHEL 向けにビルドされた Fedora リポジトリ

2017年1月6日金曜日

CentOS7でKVMを使ってみた。


# virsh list --all
# virsh net-list --all


# yum install virt-manager

新しい仮想マシンの作成で警告メッセージ

KVM is not available. This may mean the KVM package is not installed, or the KVM kernel modules are not loaded. Your virtual machines may perform poorly.

「KVM を利用できません。これは KVM パッケージがインストールされていない。また
は、KVM のカーネルモジュール (kvm.ko) が読み込まれていないことを意味します。
QEMU が使われるので動作が遅くなるでしょう。」


カーネルモジュールをインストールしたところ。

# modprobe kvm
# modprobe kvm_intel
modprobe: ERROR: could not insert 'kvm_intel': Operation not supported


BIOS設定を変更、正常にインストールできた。

Virtualization Technology(VTx)        disabled → Enabled


【参考】
1) CPUがIntel VTに対応しているかを確認。

# egrep -c  'vmx|svm' /proc/cpuinfo
8

ゼロで無いことを確認。

2) カーネルモジュール確認。

# /usr/sbin/kvm-ok
INFO: /dev/kvm does not exist
HINT:   sudo modprobe kvm_intel
INFO: Your CPU supports KVM extensions
KVM acceleration can be used

# modprobe kvm_intel
# /usr/sbin/kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

# lsmod |grep kvm
kvm_intel         132920  0
kvm                   443533  1 kvm_intel


■リモートからも管理できる。
# yum install openssh-askpass

ファイル→接続を追加
・リモートホストに接続
・ホスト名
・自動接続


2017年1月5日木曜日

Zabbix SElinux設定



1) vi /etc/selinux/config
permissiveモードにして再起動し、selinux通知ブラウザに指示に従い、コマンドを投入。
/var/log/audit/audit.logにエラーが無い事を確認の上、enforcingモードに移行する。

※permissiveモード:ポリシーの検証は行うが、拒否はしない。

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
#SELINUX=enforcing
#SELINUX=disabled
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

シャットダウン時の後処理 (shutdown)

# vi /etc/systemd/system/drop.service [Unit] Description= stop httpgwd DefaultDependencies=no Before=shutdown.target RefuseManualStart=true ...