2021年11月11日 星期四

Vagrant 基本安裝設定啟動(起VirtualBox VM)

因最近在學K8S 講師範例使用Vagrant起VM,再此記錄一下Vagrant安裝設定。 

先去安裝VirtualBox(後面簡稱V BOX及Vagrant   Vagrant載點 (這裡是使用windos安裝)

安裝完後重啟,用命令提示進入 下 vagrant version 會顯示版本







VirtualBox設定:

在喜好設定設定要產vm環境路徑(範例是將起好環境設定在k:\vm box資料夾下)











Vagrant配置

Vagrant預設配置會產在c:\users\使用者帳號\.vagrant.d

我們可以在windos環境變數新增一筆VAGRANT_HOME更改,如下下圖。





































在去下載Vagrant用的IMAGE檔

Vagrant官網提供IMAGE

再此先以先下載Centos7 2004 下載後會是 .BOX 為主,我們可以先在命令列執行

vagrant box list 會發現指令Vagrant_home路徑底下尚未起boxs範本

*並不是把抓下來的.box  image檔放進home目錄底下boxs執行該指令會顯示有*




接下來我們去把抓下來centos7.box檔去執行如下 

vagrant box add k:\CentOS-7-2004.box --name centos7demo

*我抓下來放在k槽請下完整路徑及檔名 後面--name 參數 自取要起box範本名稱

*抓下來原始檔名太長我更改為CentOS-7-2004.box

產生後如下(之後可以去設定vagrant home  \boxs產生該範本目錄)


















再下一次vagrant box list 就會顯示有一個centos7demo 的box範本資





vagrant建立一台vm

我先進入預建需擬機磁碟槽建一個demo資料夾

vagrant init centos7demo 之後會在demo資料下產生一個Vagrantfile












之後下vagrant up

(如上上圖畫面有提示)之後稍等一會讓它建立跑完就在vbox出現一台我們產出的vm

也可以透過下vagrant status   看vm是否有起來




然後在demo下 vagrant ssh 就進入起來的vm底下




vagrant ssh 就能以 vagrant 使用者直接登入虛機中。

root 使用者沒有預設密碼,也不能直接登入。
需要 root 許可權的命令可以通過在命令前新增 sudo 來執行,也可以執行 sudo su - 直接切換到 root 。



以下是vagrant  vm下其它指令也可透過V BOX介面直接去執行
暫停vm
vagrant suspend
恢復vm
vagrant resume
重啟vm
vagrant reload
刪除vm
vagrant destroy

之後會再提vagrantfile相關配置。


補充:
V-BOX 安裝還要另外安裝擴充包


















2021年8月21日 星期六

ubuntu 安裝後相關設定

因為都用centos  很久沒用ubuntu  有點生疏筆記一下

Ubuntu  server 18.04 安裝後的設定

1.網路手動ip設定 

vim /etc/netplan/00-installer-config.yaml

dhcp設法

==============================================

network:

  ethernets:

    ens33:

      dhcp4: true

  version: 2

==========================================

手動設法  如.192.168.10.100 

network:

    ethernets:

        ens192:

            addresses: [192.168.10.100/24]

            gateway4: 192.168.10.254

            nameservers:

              addresses: [8.8.8.8,168.95.1.1]

            dhcp4: no


     version: 2

=========================================

#重啟

sudo netplan apply


2.putty 登入出現Access denied

vim /etc/ssh/sshd_config

將裡面PermitRootLogin prohibit-password

取消註解改PermitRootLogin yes

存檔跳出

重啟

/etc/inti.d/ssh restart


3.關閉防火牆

查防火牆狀態

sudo ufw status

防火牆預設是關閉:

Status: inactive

如果防火牆已經開啟:

Status: active

防火牆開啟

sudo ufw enable  (後面詢問按y就會開啟)

防火牆關閉

sudo ufw disable


4.查看SELinux狀態

sestatus

如果無指令安裝

apt install policycoreutils

就可查

SELinux status:                 disabled


4.系統時區查詢及設定

查詢

timedatectl

設定台灣時區

timedatectl set-timezone Asia/Taipei


5.Cockpit 可參考安裝套件

可在Web 介面的應用程式,可用來管理Ubuntu伺服器並監視和調整系統資源

sudo apt install cockpit

安裝後打去遊覽器 ip:9090 輸入跟系統一樣帳密就可以連進去

6.history時間戳記

vim /etc/bash.bashrc

#讓系統記錄每條歷史命令的執行時間。注意最後的 " 前面要放個空格

export HISTTIMEFORMAT="%y-%m-%d_%H:%M:%S "

#保存歷史命令條數

 export HISTSIZE=2000

 編寫完執行生效

source /etc/bash.bashrc




2021年8月8日 星期日

Centos7 Zabbix4.2 安裝設定

 前置準備

1.先關防火牆及selinux:


systemctl stop firewalld

systemctl disable firewalld


vim /etc/selinux/config

SELIUNX=disabled


2.校時

ntpdate -u clock.stdtime.gov.tw


3.安裝php mariadb httpd相關套件:

yum -y install mariadb mariadb-server httpd php php-mysql

systemctl enable httpd

systemctl restart httpd

systemctl enable mariadb

systemctl start mariadb


初始化mariadb:

mysql_secure_installation



開始安裝

1.安裝zabbix  rpm源  (zabbix官網底下選zabbix 4.2.2-e19):

rpm -ivh http://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

yum -y install zabbix-server-mysql zabbix-web-mysql  zabbix-agent



2.Mysql設定:

mysql -u root -p

進入mysql後 建立zabbix database及zabbix帳號db權限:


CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;


grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';



3.將zabbix還原資料庫:

cd /usr/share/doc/zabbix-server-mysql-4.2.8/

zcat create.sql.gz | mysql -uroot -p  zabbix


4.編輯設定zabbix server conf

vim /etc/zabbix/zabbix_server.conf


============================================


DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

============================================


systemctl start zabbix-server


systemctl enable zabbix-server



重啟httpd服務,生成了一個zabbix.conf的檔案


systemctl restart httpd


vim /etc/httpd/conf/httpd.conf

=================================================

#修改documentroot(修改httpd 指向zabbix目錄)


/usr/share/zabbix


==================================================


編輯 zabbix 前端 php conf相關參數


vim /etc/httpd/conf.d/zabbix.conf


=======================================



<IfModule mod_php5.c>

        php_value max_execution_time 300

        php_value memory_limit 128M

        php_value post_max_size 16M

        php_value upload_max_filesize 2M

        php_value max_input_time 300

        php_value max_input_vars 10000

        php_value always_populate_raw_post_data -1

        php_value date.timezone Asia/Taipei

  </IfModule>


重啟httpd服務


systemctl restart httpd



開啟網頁打http:// your ip/zabbix








網頁初始相關設定如圖:(password:zabbix)






























初始登入畫面
username:Admin
Password:zabbix

























登入後進入畫面如下:













可以設定中文(簡體)

點選zabbix右上Admin

















2021年8月1日 星期日

Centos7安裝設定tomcat9

 sudo yum update

之後在關閉內建firewalled (如以後外部防火牆設備)等設定及yum vim..等相關套件工具

安裝java1.8 相關套件

yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

確認JAVA版本是否為1.8

java -version

cd /tmp

Tomcat 的官方網站下載最新的 Tomcat 9 壓縮檔(這邊是安裝tomcat9.0.50)

wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.zip

同時下載 SHA512 的檢查碼

wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.zip.sha512

驗證sha512sum 檢查一下檔案比對兩邊檢查碼是否一樣

sha512sum apache-tomcat-9.0.50.zip

cat apache-tomcat-9.0.50.zip.sha512


解壓縮tomcat並把解開移至opt/tomcat

unzip apache-tomcat-9.0.50.zip

mv apache-tomcat-9.0.50 /opt/tomcat


建立tomcat帳號

useradd -r tomcat --shell /bin/false


設定tomcat資料夾權限

cd /opt/tomcat

sudo chgrp -R tomcat *

sudo chmod g+rwx conf

sudo chmod -R g+r conf

sudo chown -R tomcat webapps/ work/ temp/ logs/

sudo chmod +x /opt/tomcat/bin/*.sh


設定 Systemd 啟動指令檔

vim /etc/systemd/system/tomcat.service

=======================================================

[Unit]

Description=Apache Tomcat 9

After=syslog.target network.target


[Service]

User=tomcat

Group=tomcat

Type=forking

Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid

Environment=CATALINA_HOME=/opt/tomcat

Environment=CATALINA_BASE=/opt/tomcat

ExecStart=/opt/tomcat/bin/startup.sh

ExecStop=/opt/tomcat/bin/shutdown.sh

Restart=on-failure


Environment='CATALINA_OPTS=-Xms512M -Xmx8192M -server -XX:+UseParallelGC'

Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'


[Install]

WantedBy=multi-user.target


=======================================================

重新載入 Systemd

systemctl daemon-reload

啟動 Tomcat 服務並設定自動開機啟動tomcat

systemctl enable tomcat

systemctl start tomcat

查看 Tomcat 服務的狀態

systemctl status tomcat

開起網頁 http://serverIP:8080/ 


新增Tomcat管理者的帳號 (這裡如設定username admin  password admin)


vim /opt/tomcat/conf/tomcat-users.xml

在「</tomcat-users>」之前新增下列設定

======================================================

<role rolename="admin-gui" />

<user username="admin" password="admin" roles="manager-gui,admin-gui" />

======================================================







再來設定允許本機以外的IP可以連線管理網頁

vim /opt/tomcat/webapps/manager/META-INF/context.xml

進去看到後下列設定參數刪除 即可開放任何IP連線管理者網頁


<Valve className="org.apache.catalina.valves.RemoteAddrValve"

allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" />

跳出重啟服務

systemctl restart tomcat

驗證管理者帳號是否有效

點選「Server Status」










彈出敲帳密視窗把剛剛設號帳密打進去結果如下:














PS:也可做個測試頁在webapps底下建個test資料夾建立test.jsp

cd /opt/tomcat/webapps/

mkdir test 進去test資料夾

vim test.jsp

======================

test tomcat ok!

======================

重啟tomcat服務

systemctl restart tomcat

進去tomcat網頁

http://serverIP:8080/ test/test.jsp  出現剛剛編寫測試成功網頁




2021年6月9日 星期三

NETAPP 相關command

 sysconfig -v 查看存儲狀態

sysconfig -r 查看存儲硬碟狀態

sysconfig -a 查看系統資訊詳情

vol status -v 查看volume狀態

vol status -f 檢查是否有故障硬碟

disk show 查看磁片分配資訊

disk show -v 查看硬碟所屬控制器

storage show disk -p 查看硬碟位置

disk zero spares 初始化所有spare disk

environment status 檢查電源、風扇狀態

rdfile /etc/messages 檢查最新的日誌

cf status 檢查控制器狀態

df 檢查邏輯卷磁片使用率

environment status 查看環境資訊

license 查看許可資訊

ifconfig -a 查看網路配置

aggr status 查看raid組信息

aggr status -r 查看raid組詳情

 df -Vh 查看卷空間

df -Ah 查看aggr空間


disk assign  -f <disk_id> -s <owner_id> 強制分配給一個控制器 *慎用

disk replace start disk_name spare_disk_name 使用spare disk 替換一塊磁片 *慎用

disk replace stop disk_name 停止替換硬碟 *慎用

disk sanitize start disk_name 將磁片上面所有資料移除 *慎用

disk sanitize abort disk_name 停止 *慎用

aggr destroy aggrname  刪除一個AGGR *慎用

disk remove onwership disk_name 刪除硬碟owner *慎用


例 netapp hdd更換損毀 disk


sysconfig -r

換fail的硬碟

到netp manager看disk 看更換disk 出現unknow

disk show -n  (確認哪些硬碟沒有ownerd)

disk assign -disk  "disk id name" -owner "node name"

如 disk name: 0a:00:20   node name:fas8020

disk show (確認硬碟是否已經assign)




GCP SSH KEY匯入

puttygen產key
















進入GCP compute Engine 中繼資料>安全殼層金鑰>新增項目

把剛剛產的key資訊貼過去 儲存即可









AWS centos 使用金鑰的帳號建置設定

 AWS 在建置centos時可產出第一把key 

這是建置後想在建新的ssh key的帳號連線方式:

使用puttygenkey 為了怕key流出去 建議請在key passhrase 打自己密碼(key passhrase底下再key一次)




進去系統 用最原始產的key進入

sudo su (su root)

adduser -m “新帳號

su – 新帳號

ssh-keygen 產生新帳號 .ssh資料夾(ll -la)














exit 跳回root

去把之前有產的帳號的autorized_keys  cphome/新帳號/.ssh




到新帳號.ssh裡修改autorized_keys 後存檔(把原本產的刪除 把剛剛產的機碼貼上去)





chown 新帳號:新帳號  autorized_keys

之後開另帳號驗證

讓新帳號切換root 

visudo

## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)

#includedir /etc/sudoers.d


2021年1月12日 星期二

擴充Google Compute Engine 的VM硬碟空間

GCP 的主控台已經將擴充硬碟容量這件事情變得非常方便,首先從 GCP Console - Compute Engine - 磁碟 編輯

擴充從50G擴到300G(如圖)或下



gcloud compute disks resize [DISK_NAME] --size [DISK_SIZE]

gcloud compute disks resize  SXXXXX --size 250G  () --zone asia-east1-b

=====================================================================================

看df-h  空間還是沒變50G(如圖要擴充sda2)








growpart /dev/sda2     

#如果command not find 請先yum install cloud-utils -y

因為用的centos的格式xfs 

xfs_growfs /dev/sda2

之後看df-h 擴充成功




如果是ext2 ext3 ext4格式

resize2fs /dev/sda2




2020年11月16日 星期一

CentOS7 下安装 MySQL 5.7(移除預設mariadb) 跟5.7密碼錯誤相關問題處理

 

CentOS 7 系統開始,MariaDB 成為 yum 源中預設的資料庫安裝包。在 CentOS 7 及以上的系統中使用 yum 安裝 MySQL 包將無法使用 MySQL。本檔介紹如何移除mariadb相關,並安裝 MySQL 5.7.21

1、檢查 MariaDB 是否安裝

 yum list installed | grep mariadb



2、卸載全部 MariaDB 相關

yum -y remove mariadb*

3、下載 MySQL YUM

進入到要下載到的路徑:cd /usr/local/src

下載:wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

4、安裝 MySQL  YUM

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

5、檢查 MySQL  YUM 源是否安裝成功

yum repolist enabled | grep "mysql.*-community.*"

如圖所示則安裝成功。

6、查看 MySQL 版本

yum repolist all | grep mysql

7、安裝 MySQL

yum

install mysql-community-server

一直輸 y 就可以了。

8、啟動 MySQL 服務

systemctl start mysqld

9、測試連接 MySQL 服務

mysql -u root 或者 mysql


===============================================================================


剛安裝的 MySQL 是沒有密碼的,這時如果出現:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO),解決如下:

1. 停止 MySQL 服務:systemctl stop mysqld 

2.以不檢查許可權的方式啟動 MySQL: mysqld

--user=root --skip-grant-tables &

3.再次輸入 mysql -u root 或者 mysql,這次就可以進來了。

4.更新密碼:

MySQL5.7 以下版本:

UPDATE mysql.user SET Password=PASSWORD('123456') where USER='root';

MySQL5.7 版本:

UPDATE mysql.user SET authentication_string=PASSWORD('123456') where USER='root';

5.刷新:flush privileges;

6.退出:exit;

設置完之後,輸入 mysql -u root -p,這時輸入剛設置的密碼,就可以登進資料庫了。

=============================================================================

但進去mysql 使用語法出現錯誤訊息

mysql初始化密碼常見報錯問題

1mysql5.6是密碼為空直接進入數據庫的,但是mysql5.7就需要初始密碼

cat /var/log/mysqld.log | grep password

1

2,然後執行 mysql -uroot -p ,輸入上面的到的密碼進入,用該密碼登錄後,必須馬上修改新的密碼,不然會報如下錯誤:

mysql> use mysql;

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

1

2

3
3
,如果你想要設置一個簡單的測試密碼的話,比如設置為123456,會提示這個錯誤,報錯的意思就是你的密碼不符合要求

mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

1

2
3
.
這個其實與validate_password_policy的值有關。

validate_password_policy有以下取值:

默認是1,即MEDIUM,所以剛開始設置的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字元。

有時候,只是為了自己測試,不想密碼設置得那麼復雜,譬如說,我只想設置root的密碼為123456

必須修改兩個全域參數:

首先,修改validate_password_policy參數的值

mysql> set global

validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
1
2
validate_password_length(
密碼長度)參數默認為8,我們修改為1

mysql> set globalvalidate_password_length=1;

Query OK, 0 rows affected (0.00 sec)
1
2
4
,完成之後再次執行修改密碼語句即可成功

mysql>alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)



==================================================================================

SQL基本語法:

操作功能

SQL 語法

說明

建立資料庫

create database 資料庫名稱;

列出所有資料庫

show databases;

刪除資料庫

drop database 資料庫名稱;

使用資料庫

use 資料庫名稱;

建立資料表

create table 資料表名稱(
sn integer auto_increment primary key,
name char(20),
mail char(50),
home char(50),
messages char(50)
);

常用資料庫資料型態
1. INT (
整數)
2. CHAR (1~255
字元字串)
3. VARCHAR (
不超過255字元不定長度字串)
4. TEXT (
不定長度字串最多65535字元)

列出資料表欄位資訊

describe 資料表名稱;

修改資料表欄位

alter table 資料表名稱
change column
原來欄位名稱
新欄位名稱資料型態;

新增資料表欄位

alter table 資料表名稱 add column 欄位名稱 資料型態;

刪除資料表欄位

alter table 資料表名稱 drop column 欄位名稱;

刪除資料表

drop table 資料表名稱;

清空資料表

truncate table 資料表名稱;

只清除資料並保留結構、欄位、索引

插入欄位資料

insert into 資料表名稱(欄位1,欄位2,欄位3,欄位4, ...... 欄位N)
values('
1','2','3','4', ...... 'N');

更新修改欄位資料

update 資料表名稱 set 欄位1='1',欄位2='2',欄位3='3',... 欄位N='N'
where
條件式 (例如 sn='5' name='塔司尼' );

查詢單一欄位資料

select 欄位名 from 資料表名稱;

查詢多個欄位資料

select 欄位名, 欄位名, 欄位名 from 資料表名稱;

查詢欄位資料的唯一值

select distinct 欄位名 from 資料表名稱;

重複值只列一次

查詢所有欄位資料

select * from 資料表名稱;

條件式查詢

select * from 資料表名稱 where 條件式 (例如 sn='5');

=, <, >, !=

條件式查詢 and

select * from 資料表名稱 where 條件式and 條件式2;

條件式查詢 or

select * from 資料表名稱 where 條件式or 條件式2;

查詢某一範圍 between

select * from 資料表名稱 where 欄位名 between and 2;

值為數字

查詢空值欄位的資料

select * from 資料表名稱 where 欄位名 is null

not null;

查詢特定筆數資料

select * from 資料表名稱 limit 8, 10;

9筆開始選取10

查詢結果遞增排序

select * from 資料表名稱 order by 欄位名;

查詢結果遞減排序

select * from 資料表名稱 order by 欄位名 desc ;

查詢比對字串列出單一欄位

select 欄位名 from 資料表名稱 where 欄位名 like '%字串%';

查詢比對字串列出所有欄位

select * from 資料表名稱 where 欄位名 like '%字串%';

刪除條件值資料

delete from 資料表名稱 where 條件式 (例如 sn='5' id='91001' );

刪除條件值資料

delete from 資料表名稱 where 條件式1
and
 
條件式2;

刪除條件值資料

delete from 資料表名稱 where 條件式or 條件式2;

比對刪除條件值資料

delete from 資料表名稱 where 欄位名 like '%字串%';