2024年4月7日 星期日

幫朋友 重製 centos 6.5 的網站

首先要去 下載 centos 6.5 的 iso 

https://ftp.jaist.ac.jp/pub/Linux/CentOS-vault/6.5/isos/x86_64/

CentOS-6.5-x86_64-LiveCD.iso 




灌好後的第一件事就是發現 他無法 yum install 

可以參考這篇 進行  更新  (https://www.dwidc.com/helparticle/11.html   或 https://freshlinuxlearner.blogspot.com/2024/04/centos-repo.html)

sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

curl  -k -o  /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo

yum clean all

yum makecache


接者要安裝 LAMP 在 centos 6.5 上面

可以參考這篇 (https://uublogcn.wordpress.com/2016/06/12/%E5%9C%A8centos-6-5%E4%B8%8A%E4%BD%BF%E7%94%A8yum%E5%AE%89%E8%A3%9Dlamp%E7%92%B0%E5%A2%83linuxapachemysqlphp%EF%BC%8C%E8%BC%95%E9%AC%86%E6%9E%B6%E7%AB%99%E3%80%82/)



1.更新CentOS到最新版本

▼ 使用CentOS 6.5的環境進行安裝,安裝前還是使用yum updata更新系統到最新版本。

指令 :
yum update -y

 

2.安裝Apache網頁伺服器

▼ 開始安裝Apache,因為都使用yum指令進行安裝,沒有編譯的問題。

指令 :
yum install httpd -y

▼ 安裝好Apache後,將Apache啟動,預設Apache叫做『httpd』。

指令 :
service httpd start

 

3.安裝MySQL資料庫伺服器

▼ 接著要安裝MySQL資料庫伺服器,像WordPress、Discuz都需要資料庫。

指令 :
yum install mysql-server -y

▼ MySQL跟Apache一樣一下就自動安裝好了,接著啟動MySQL伺服器。

指令 :
service mysqld start

設定MySQL伺服器

▼ 接著初始化MySQL伺服器,不需要更改設定檔,只需要透過指令的方式Setup。

這邊因為是要遷移 所以沒有設定 root 的相關權限 給 業主自己用 

------------------------  from here ------------------------------------------------

指令 :
/usr/bin/mysql_secure_installation

▼ 這裡直接按下迴車鍵(Enter)。

▼ 使否要設定root密碼,非常建議您設定,這裡的root是MySQL的帳號,不是系統帳號。

▼ 輸入兩次新的ROOT密碼。

▼ 是否移除Anonymous(匿名)帳號,請務必移除,否則不用帳號密碼就可以登入資料庫了,移除請輸入y!

▼ 是否讓ROOT帳號透過遠端登入,視需求設定,往後都可以修改,小編拒絕遠端登入。

▼ 是否移除測試(TEST)資料庫,留著也沒什麼用,直接輸入y把它刪除吧!

▼ 是否重新載入特權表,輸入y即可。

 ----------------- to here -------------------------------------

4.安裝PHP MySQL外掛

▼ 如果要使用PHP連線MySQL就要在PHP上安裝MYSQL的連線外掛。

指令 :
yum install php php-mysql -y

 

5.開機時自動啟動Apache與MySQL

▼ 使用以下指令讓Apache跟MySQL在開機時自動啟動。

指令1 :
chkconfig httpd on

指令2 :
chkconfig mysqld on

開機時自動啟動Apache與MySQL




接下來要進行遷移 

1. 把原本的網站 放到 

這個目錄下 :

/var/www/html



2.資料庫也要遷移
資料庫遷移 我是參考這篇 

https://www.ltsplus.com/mysql/transfer-mysql-server-to-new-server


先根據他的原始碼 找到 網站連到 mysql 的帳號密碼 

然後使用 mysql root身分幫他建立起來


CREATE USER 'php_user'@'mysql_localtion' IDENTIFIED BY 'php_user_password';

GRANT ALL PRIVILEGES ON *.* TO 'php_user'@'mysql_localtion'       ;

FLUSH PRIVILEGES;


然後按照前面的網站說明 遷移 資料庫

下假設 MySQL 的資料目錄在 /var/lib/mysq/, 而 my.cnf 在 /etc/my.cnf, 在舊主機執行以下指令:


1.先關閉 MySQL 伺服器:

# systemctl stop mysqld 或 # systemctl stop mariadb

2.現在可以複制資料:

# rsync -avz /var/lib/mysql/* username@new-server-ip:/var/lib/mysql/

# rsync -avz /etc/my.cnf username@new-server-ip:/var/lib/mysql/

以上指令會以 username 作為登入帳號,new-server-ip 是新主機的 ip.

資料複制到新主機後, 在新主機設定。

3. 將 my.cnf 放到 /etc/

# mv /var/lib/mysql/my.cnf /etc/

4.執行 chown 設定正確的權限:

# chown mysql:mysql -R /var/lib/mysql/

5.現在可以啟動新主機的 MySQL 伺服器:

# systemctl start mysqld 或 # systemctl start mariadb

6.成功啟動 MySQL Server 後, 登入 MySQL 檢視資料是否轉移成功:

# mysql -u user -p

# show databases;


然後就完成了 


其他相干背景知識 如下  

1. 查看 centOS下都开启了哪些服务  

service --status-all 

service  mysqld restart 

service mysqld stop/start 


(參考 :https://blog.csdn.net/xufengzhu/article/details/81110982  

https://blog.csdn.net/qiqi_521/article/details/115932245

https://blog.csdn.net/shiyong1949/article/details/72637189

)


2. centOS 下的 基本 阿帕契配置 

(https://topic.alibabacloud.com/tc/a/apache-configuration-in-centos_1_18_31757516.html)

(https://www.ltsplus.com/php/rhel-centos-apache-php-mysql-default-directory)


3. vmware 與 host 的 shared folder 

sudo vmhgfs-fuse .host:/ /mnt/ -o allow_other -o uid=1000

(參考 :https://askubuntu.com/questions/29284/how-do-i-mount-shared-folders-in-ubuntu-using-vmware-tools)


4.  rscyn 使用資料

(參考:https://blog.gtwang.org/linux/rsync-local-remote-file-synchronization-commands/#google_vignette)

ref:

( https://mirrors.cloud.tencent.com/centos/8.5.2111/isos/x86_64/  )

centos repo

 



localhost user]# sed -i "s/enabled=1/enabled=0/g" /etc/yum/pluginconf.d/fastestmirror.conf 

[root@localhost user]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 

[root@localhost user]# curl -k -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo 


root@localhost user]# yum clean all


[root@localhost user]# yum makecache


LAMP 更換網站目錄

1 /etc/apache2/sites-available/000-default.conf


修改



其次要把 user 呢權限改成 755 

 chmod 755 -R /home/user 




最後 重啟 阿爸氣

sudo systemctl   restart apache2





2021年3月17日 星期三

grep

 grep -E    --> 正規表示是

grep  -v   "EXCLUDE"  排除  EXCLUDE 

grep -i      capital in senstive 

grep  -n   showing the line number 

2021年3月6日 星期六

using mail 在 ubuntu 裡面寄送電子郵件

sudo apt-get install mailutils


cmd 指令 

  # echo “email content” | mail -s “email subject” you@emaildomai


如果要更改 寄送者的 dn 


f請到 

/etc/posfix/main.cf 更改參數

1.


append_dot_mydomain = yes  # --> Setting it to yes appends the domain to the hostname


2.設定參數

myhostname = com.hint.tw

myorigin = /etc/mailname


3.在  /etc/下 建立 mailutils.conf 

address {
   email-domain example.com;
};

 在寄送郵件 就會
是 

alex@example.com



剩下的 待續  .......

ref
https://www.cyberciti.biz/faq/linux-unix-start-stop-restart-postfix/

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-16-04

https://yosia.net/article/133

https://unix.stackexchange.com/questions/379175/how-do-i-change-postfix-sender-address

https://ftp.gnu.org/old-gnu/Manuals/mailutils-0.2/html_node/configuration.html


2021年2月27日 星期六

shell script 基本語法


 1.變數宣告

直接 寫 

Var1="12345" 

注意  等號兩邊不可以有空白


2. for 迴圈運算

第一種

for i in  var1 var2 var3 

do 

    execute

done


注意 var1 和 var2 中先用 空白隔開


第二種

for ((i=0 ; i <10 ; i++))

do 

    execute

done 

與 C語言一樣  注意 是要 雙誇號。


2.5  while loop 使用





3.基本變數之符號

var1=1;

取值

echo ${var1}



4.shell 內的基本算術運算 

(http://mirror.sars.tw/Bash_Shell_by_ols3/c860.html)


第一種:使用 expr 這個外部程式

加法 r=`expr 4 + 5`

echo $r

注意! '4' '+' '5' 這三者之間要有空白

注意! 以下是錯誤的寫法:

r=`expr 4 * 5`

原因:* 對 bash 而言有特殊意義(萬用字元),所以要改用以下寫法:

乘法 r=`expr 4 \* 5`

也就是說用 \ 取消 * 的特殊意義。


第二種 使用 $(())

r=$((4+5))

echo $r


第三種 使用 $[]

r=$[123-23]

echo $r


第四種 使用 let 1+2

n=10

let n=n+1

echo $n  

operator + - * /  % 




5. array  在 for lop 取值 

for ((i=0 ; i <10 ; i++))

do 

    echo  ${array[$j]}   ### <----- array 必須要被 {} 包起來

done


6.array 取大小

echo "${#myarray[@]}"


(https://www.cyberciti.biz/faq/finding-bash-shell-array-length-elements/)



7.呼叫外部程式 

echo  "current date is "  `date`     ---> 用`` 包起來 表示執行 shell command 



8.一些小細節


https://codertw.com/%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC/393654/

就是說 裡面 最好用 "${check}" 給它包起來或是 

if [[   判斷是 ]]

或是 if [  a > "${b}"]




9.關於字串位移的一些基本知識

https://codertw.com/%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC/392050/



10.關於 eval 的一些基本知識

https://unix.stackexchange.com/questions/23111/what-is-the-eval-command-in-bash..



http://www.study-area.org/cyril/scripts/scripts/node18.html




11. 在  shell 裡面將 command  結果回傳給 varialbe

# 方法一 變數名稱=`Command` # 方法二 變數名稱=$(Command)

https://ithelp.ithome.com.tw/articles/10135275

2021年2月26日 星期五

Linux Forensixsa

Linux  Forensics 常用指令






找關鍵字
grep --->  








建帳號 

將帳號加入 sudo list 

提權 



找檔案





File search   (https://uiop7890.pixnet.net/blog/post/25865820)
find  -name .  "target_file" 
find     「PATH」 -name  「target_file」
列出PATH路徑下 全部的 sh 檔案:
find -name    「PATH」   *.sh  









找關鍵字

建立檔案時序表

建立


找 Process

找 找應用程式

找binary 





打包資料